PostgreSQL Source Code
git master
|
Go to the source code of this file.
Typedefs | |
typedef struct BulkWriteState | BulkWriteState |
typedef PGIOAlignedBlock * | BulkWriteBuffer |
Functions | |
BulkWriteState * | smgr_bulk_start_rel (Relation rel, ForkNumber forknum) |
BulkWriteState * | smgr_bulk_start_smgr (struct SMgrRelationData *smgr, ForkNumber forknum, bool use_wal) |
BulkWriteBuffer | smgr_bulk_get_buf (BulkWriteState *bulkstate) |
void | smgr_bulk_write (BulkWriteState *bulkstate, BlockNumber blocknum, BulkWriteBuffer buf, bool page_std) |
void | smgr_bulk_finish (BulkWriteState *bulkstate) |
typedef PGIOAlignedBlock* BulkWriteBuffer |
Definition at line 28 of file bulk_write.h.
typedef struct BulkWriteState BulkWriteState |
Definition at line 1 of file bulk_write.h.
void smgr_bulk_finish | ( | BulkWriteState * | bulkstate | ) |
Definition at line 130 of file bulk_write.c.
References Assert, DEBUG1, DELAY_CHKPT_START, PGPROC::delayChkptFlags, elog, BulkWriteState::forknum, GetRedoRecPtr(), MyProc, BulkWriteState::smgr, smgr_bulk_flush(), smgrimmedsync(), SmgrIsTemp, smgrregistersync(), BulkWriteState::start_RedoRecPtr, and BulkWriteState::use_wal.
Referenced by _bt_load(), btbuildempty(), end_heap_rewrite(), gist_indexsortbuild(), RelationCopyStorage(), and spgbuildempty().
BulkWriteBuffer smgr_bulk_get_buf | ( | BulkWriteState * | bulkstate | ) |
Definition at line 347 of file bulk_write.c.
References BulkWriteState::memcxt, MemoryContextAllocAligned(), and PG_IO_ALIGN_SIZE.
Referenced by _bt_blnewpage(), _bt_uppershutdown(), btbuildempty(), gist_indexsortbuild(), gist_indexsortbuild_levelstate_flush(), raw_heap_insert(), RelationCopyStorage(), and spgbuildempty().
BulkWriteState* smgr_bulk_start_rel | ( | Relation | rel, |
ForkNumber | forknum | ||
) |
Definition at line 87 of file bulk_write.c.
References INIT_FORKNUM, RelationGetSmgr(), RelationNeedsWAL, and smgr_bulk_start_smgr().
Referenced by _bt_load(), begin_heap_rewrite(), btbuildempty(), gist_indexsortbuild(), and spgbuildempty().
BulkWriteState* smgr_bulk_start_smgr | ( | struct SMgrRelationData * | smgr, |
ForkNumber | forknum, | ||
bool | use_wal | ||
) |
void smgr_bulk_write | ( | BulkWriteState * | bulkstate, |
BlockNumber | blocknum, | ||
BulkWriteBuffer | buf, | ||
bool | page_std | ||
) |
Definition at line 323 of file bulk_write.c.
References PendingWrite::blkno, PendingWrite::buf, buf, MAX_PENDING_WRITES, BulkWriteState::npending, PendingWrite::page_std, BulkWriteState::pending_writes, and smgr_bulk_flush().
Referenced by _bt_blwritepage(), btbuildempty(), end_heap_rewrite(), gist_indexsortbuild(), gist_indexsortbuild_levelstate_flush(), raw_heap_insert(), RelationCopyStorage(), and spgbuildempty().