|
PostgreSQL Source Code git master
|
#include "storage/sharedfileset.h"

Go to the source code of this file.
Data Structures | |
| struct | TapeShare |
Typedefs | |
| typedef struct LogicalTapeSet | LogicalTapeSet |
| typedef struct LogicalTape | LogicalTape |
| typedef struct TapeShare | TapeShare |
Functions | |
| LogicalTapeSet * | LogicalTapeSetCreate (bool preallocate, SharedFileSet *fileset, int worker) |
| void | LogicalTapeClose (LogicalTape *lt) |
| void | LogicalTapeSetClose (LogicalTapeSet *lts) |
| LogicalTape * | LogicalTapeCreate (LogicalTapeSet *lts) |
| LogicalTape * | LogicalTapeImport (LogicalTapeSet *lts, int worker, TapeShare *shared) |
| void | LogicalTapeSetForgetFreeSpace (LogicalTapeSet *lts) |
| size_t | LogicalTapeRead (LogicalTape *lt, void *ptr, size_t size) |
| void | LogicalTapeWrite (LogicalTape *lt, const void *ptr, size_t size) |
| void | LogicalTapeRewindForRead (LogicalTape *lt, size_t buffer_size) |
| void | LogicalTapeFreeze (LogicalTape *lt, TapeShare *share) |
| size_t | LogicalTapeBackspace (LogicalTape *lt, size_t size) |
| void | LogicalTapeSeek (LogicalTape *lt, int64 blocknum, int offset) |
| void | LogicalTapeTell (LogicalTape *lt, int64 *blocknum, int *offset) |
| int64 | LogicalTapeSetBlocks (LogicalTapeSet *lts) |
|
extern |
Definition at line 1062 of file logtape.c.
References Assert, LogicalTape::buffer, LogicalTape::buffer_size, LogicalTape::curBlockNumber, elog, ERROR, fb(), LogicalTape::firstBlockNumber, LogicalTape::frozen, ltsInitReadBuffer(), ltsReadBlock(), LogicalTape::nbytes, LogicalTape::nextBlockNumber, LogicalTape::pos, TapeBlockGetTrailer, TapeBlockPayloadSize, and LogicalTape::tapeSet.
Referenced by tuplesort_gettuple_common().
|
extern |
Definition at line 733 of file logtape.c.
References LogicalTape::buffer, and pfree().
Referenced by agg_refill_hash_table(), mergeruns(), and tuplesort_gettuple_common().
|
extern |
Definition at line 680 of file logtape.c.
References elog, ERROR, fb(), and ltsCreateTape().
Referenced by hashagg_spill_init(), and selectnewtape().
|
extern |
Definition at line 981 of file logtape.c.
References Assert, LogicalTape::buffer, LogicalTape::buffer_size, BufFileExportFileSet(), LogicalTape::curBlockNumber, LogicalTape::dirty, fb(), LogicalTape::firstBlockNumber, LogicalTape::frozen, ltsReadBlock(), ltsWriteBlock(), LogicalTape::nbytes, LogicalTape::nextBlockNumber, LogicalTape::offsetBlockNumber, palloc(), pfree(), LogicalTape::pos, TapeBlockGetNBytes, TapeBlockGetTrailer, TapeBlockIsLast, TapeBlockSetNBytes, LogicalTape::tapeSet, VALGRIND_MAKE_MEM_DEFINED, and LogicalTape::writing.
Referenced by mergeruns(), and worker_freeze_result_tape().
|
extern |
Definition at line 609 of file logtape.c.
References BufFileAppend(), BufFileOpenFileSet(), BufFileSize(), fb(), filename, LogicalTape::firstBlockNumber, TapeShare::firstblocknumber, ltsCreateTape(), LogicalTape::max_size, MaxAllocSize, MAXPGPATH, Min, LogicalTape::offsetBlockNumber, and pg_itoa().
Referenced by leader_takeover_tapes().
|
extern |
Definition at line 928 of file logtape.c.
References Assert, LogicalTape::buffer, fb(), ltsInitReadBuffer(), ltsReadFillBuffer(), LogicalTape::nbytes, LogicalTape::pos, and LogicalTape::writing.
Referenced by getlen(), and hashagg_batch_read().
|
extern |
Definition at line 846 of file logtape.c.
References Assert, LogicalTape::buffer, LogicalTape::buffer_size, LogicalTape::curBlockNumber, LogicalTape::dirty, fb(), LogicalTape::frozen, i, ltsReleaseBlock(), ltsWriteBlock(), LogicalTape::max_size, LogicalTape::nbytes, LogicalTape::nprealloc, pfree(), LogicalTape::prealloc, LogicalTape::prealloc_size, TapeBlockSetNBytes, LogicalTape::tapeSet, VALGRIND_MAKE_MEM_DEFINED, and LogicalTape::writing.
Referenced by hashagg_spill_finish(), mergeruns(), and tuplesort_rescan().
|
extern |
Definition at line 1133 of file logtape.c.
References Assert, LogicalTape::buffer, LogicalTape::buffer_size, LogicalTape::curBlockNumber, elog, ERROR, fb(), LogicalTape::frozen, ltsInitReadBuffer(), ltsReadBlock(), LogicalTape::nbytes, LogicalTape::nextBlockNumber, LogicalTape::pos, TapeBlockGetTrailer, TapeBlockPayloadSize, and LogicalTape::tapeSet.
Referenced by tuplesort_restorepos().
|
extern |
Definition at line 1181 of file logtape.c.
References fb().
Referenced by hash_agg_update_metrics(), tuplesort_free(), and tuplesort_updatemax().
|
extern |
Definition at line 667 of file logtape.c.
References BufFileClose(), fb(), and pfree().
Referenced by hashagg_reset_spill_state(), and tuplesort_free().
|
extern |
Definition at line 556 of file logtape.c.
References BufFileCreateFileSet(), BufFileCreateTemp(), fb(), filename, SharedFileSet::fs, MAXPGPATH, palloc(), palloc_object, and pg_itoa().
Referenced by hash_agg_enter_spill_mode(), inittapes(), and leader_takeover_tapes().
|
extern |
|
extern |
Definition at line 1162 of file logtape.c.
References Assert, LogicalTape::buffer, LogicalTape::buffer_size, LogicalTape::curBlockNumber, fb(), ltsInitReadBuffer(), LogicalTape::offsetBlockNumber, and LogicalTape::pos.
Referenced by tuplesort_markpos().
|
extern |
Definition at line 761 of file logtape.c.
References Assert, LogicalTape::buffer, LogicalTape::buffer_size, LogicalTape::curBlockNumber, LogicalTape::dirty, elog, ERROR, fb(), LogicalTape::firstBlockNumber, ltsGetBlock(), ltsWriteBlock(), LogicalTape::nbytes, LogicalTape::offsetBlockNumber, palloc(), LogicalTape::pos, TapeBlockGetTrailer, TapeBlockPayloadSize, LogicalTape::tapeSet, and LogicalTape::writing.
Referenced by hashagg_spill_tuple(), markrunend(), writetup_cluster(), writetup_datum(), writetup_heap(), writetup_index(), writetup_index_brin(), and writetup_index_gin().