|
PostgreSQL Source Code git master
|


Go to the source code of this file.
Typedefs | |
| typedef struct BulkWriteState | BulkWriteState |
| typedef PGIOAlignedBlock * | BulkWriteBuffer |
| typedef struct SMgrRelationData * | SMgrRelation |
Functions | |
| BulkWriteState * | smgr_bulk_start_rel (Relation rel, ForkNumber forknum) |
| BulkWriteState * | smgr_bulk_start_smgr (SMgrRelation 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 21 of file bulk_write.h.
| typedef struct SMgrRelationData* SMgrRelation |
Definition at line 31 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 | ( | SMgrRelation | smgr, |
| ForkNumber | forknum, | ||
| bool | use_wal | ||
| ) |
Definition at line 100 of file bulk_write.c.
References CurrentMemoryContext, GetRedoRecPtr(), palloc(), and smgrnblocks().
Referenced by RelationCopyStorage(), and smgr_bulk_start_rel().
| 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().