| /*------------------------------------------------------------------------- |
| * |
| * fileset.h |
| * Management of named temporary files. |
| * |
| * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group |
| * Portions Copyright (c) 1994, Regents of the University of California |
| * |
| * src/include/storage/fileset.h |
| * |
| *------------------------------------------------------------------------- |
| */ |
| |
| #ifndef FILESET_H |
| #define FILESET_H |
| |
| #include "storage/fd.h" |
| |
| /* |
| * A set of temporary files. |
| */ |
| typedef struct FileSet |
| { |
| pid_t creator_pid; /* PID of the creating process */ |
| uint32 number; /* per-PID identifier */ |
| int ntablespaces; /* number of tablespaces to use */ |
| Oid tablespaces[8]; /* OIDs of tablespaces to use. Assumes that |
| * it's rare that there more than temp |
| * tablespaces. */ |
| } FileSet; |
| |
| extern void FileSetInit(FileSet *fileset); |
| extern File FileSetCreate(FileSet *fileset, const char *name); |
| extern File FileSetOpen(FileSet *fileset, const char *name, |
| int mode); |
| extern bool FileSetDelete(FileSet *fileset, const char *name, |
| bool error_on_failure); |
| extern void FileSetDeleteAll(FileSet *fileset); |
| |
| #endif |