62#define MAX_PHYSICAL_FILESIZE 0x40000000
63#define BUFFILE_SEG_SIZE (MAX_PHYSICAL_FILESIZE / BLCKSZ)
309 if (
nfiles + 1 > capacity)
338 errmsg(
"could not open temporary file \"%s\" from BufFile \"%s\": %m",
386 if (!found && !missing_ok)
387 elog(
ERROR,
"could not delete unknown BufFile \"%s\"",
name);
470 errmsg(
"could not read file \"%s\": %m",
545 errmsg(
"could not write to file \"%s\": %m",
632 errmsg(
"could not read from file set \"%s\": read only %zu of %zu bytes",
634 errmsg(
"could not read from temporary file: read only %zu of %zu bytes",
773 errmsg(
"could not determine size of temporary file \"%s\" from BufFile \"%s\": %m",
874 errmsg(
"could not determine size of temporary file \"%s\" from BufFile \"%s\": %m",
911 elog(
ERROR,
"could not append BufFile with non-matching resource owner");
943 if ((
i != fileno || offset == 0) &&
i != 0)
950 errmsg(
"could not delete fileset \"%s\": %m",
968 errmsg(
"could not truncate file \"%s\": %m",
void PrepareTempTablespaces(void)
BufFile * BufFileOpenFileSet(FileSet *fileset, const char *name, int mode, bool missing_ok)
int BufFileSeekBlock(BufFile *file, int64 blknum)
void BufFileExportFileSet(BufFile *file)
size_t BufFileRead(BufFile *file, void *ptr, size_t size)
void BufFileReadExact(BufFile *file, void *ptr, size_t size)
static void FileSetSegmentName(char *name, const char *buffile_name, int segment)
static BufFile * makeBufFileCommon(int nfiles)
BufFile * BufFileCreateTemp(bool interXact)
static void BufFileLoadBuffer(BufFile *file)
static File MakeNewFileSetSegment(BufFile *buffile, int segment)
static void extendBufFile(BufFile *file)
#define MAX_PHYSICAL_FILESIZE
static void BufFileFlush(BufFile *file)
int BufFileSeek(BufFile *file, int fileno, pgoff_t offset, int whence)
void BufFileWrite(BufFile *file, const void *ptr, size_t size)
size_t BufFileReadMaybeEOF(BufFile *file, void *ptr, size_t size, bool eofOK)
BufFile * BufFileCreateFileSet(FileSet *fileset, const char *name)
void BufFileTruncateFileSet(BufFile *file, int fileno, pgoff_t offset)
void BufFileTell(BufFile *file, int *fileno, pgoff_t *offset)
int64 BufFileSize(BufFile *file)
static BufFile * makeBufFile(File firstfile)
static size_t BufFileReadCommon(BufFile *file, void *ptr, size_t size, bool exact, bool eofOK)
void BufFileClose(BufFile *file)
int64 BufFileAppend(BufFile *target, BufFile *source)
void BufFileDeleteFileSet(FileSet *fileset, const char *name, bool missing_ok)
static void BufFileDumpBuffer(BufFile *file)
#define Assert(condition)
int errcode_for_file_access(void)
int errmsg(const char *fmt,...)
#define ereport(elevel,...)
char * FilePathName(File file)
pgoff_t FileSize(File file)
void FileClose(File file)
int FileTruncate(File file, pgoff_t offset, uint32 wait_event_info)
File OpenTemporaryFile(bool interXact)
static ssize_t FileRead(File file, void *buffer, size_t amount, pgoff_t offset, uint32 wait_event_info)
static ssize_t FileWrite(File file, const void *buffer, size_t amount, pgoff_t offset, uint32 wait_event_info)
#define palloc_object(type)
#define repalloc_array(pointer, type, count)
#define palloc_array(type, count)
File FileSetOpen(FileSet *fileset, const char *name, int mode)
bool FileSetDelete(FileSet *fileset, const char *name, bool error_on_failure)
File FileSetCreate(FileSet *fileset, const char *name)
#define INSTR_TIME_SET_CURRENT(t)
#define INSTR_TIME_SET_ZERO(t)
#define INSTR_TIME_ACCUM_DIFF(x, y, z)
BufferUsage pgBufferUsage
char * pstrdup(const char *in)
void * repalloc(void *pointer, Size size)
void pfree(void *pointer)
#define CHECK_FOR_INTERRUPTS()
static PgChecksumMode mode
static rewind_source * source
ResourceOwner CurrentResourceOwner
instr_time temp_blk_write_time
instr_time temp_blk_read_time