PostgreSQL Source Code git master
|
Go to the source code of this file.
Data Structures | |
struct | SMgrRelationData |
Macros | |
#define | SmgrIsTemp(smgr) RelFileLocatorBackendIsTemp((smgr)->smgr_rlocator) |
Typedefs | |
typedef struct SMgrRelationData | SMgrRelationData |
typedef SMgrRelationData * | SMgrRelation |
#define SmgrIsTemp | ( | smgr | ) | RelFileLocatorBackendIsTemp((smgr)->smgr_rlocator) |
typedef SMgrRelationData* SMgrRelation |
typedef struct SMgrRelationData SMgrRelationData |
void AtEOXact_SMgr | ( | void | ) |
Definition at line 933 of file smgr.c.
References smgrdestroyall().
Referenced by AbortTransaction(), AutoVacLauncherMain(), BackgroundWriterMain(), CheckpointerMain(), CommitTransaction(), PrepareTransaction(), and WalWriterMain().
bool ProcessBarrierSmgrRelease | ( | void | ) |
Definition at line 943 of file smgr.c.
References smgrreleaseall().
Referenced by ProcessProcSignalBarrier().
void smgrclose | ( | SMgrRelation | reln | ) |
Definition at line 356 of file smgr.c.
References smgrrelease().
Referenced by DropRelationFiles(), fill_seq_with_data(), heapam_relation_copy_data(), heapam_relation_set_new_filelocator(), index_copy_data(), RelationCloseSmgr(), RelationSetNewRelfilenumber(), ScanSourceDatabasePgClass(), and smgrDoPendingDeletes().
void smgrcreate | ( | SMgrRelation | reln, |
ForkNumber | forknum, | ||
bool | isRedo | ||
) |
Definition at line 463 of file smgr.c.
References HOLD_INTERRUPTS, RESUME_INTERRUPTS, f_smgr::smgr_create, SMgrRelationData::smgr_which, and smgrsw.
Referenced by CreateAndCopyRelationData(), ExtendBufferedRelTo(), fill_seq_with_data(), heapam_relation_copy_data(), heapam_relation_set_new_filelocator(), index_build(), index_copy_data(), RelationCreateStorage(), smgr_redo(), and XLogReadBufferExtended().
void smgrdestroyall | ( | void | ) |
Definition at line 368 of file smgr.c.
References dlist_mutable_iter::cur, dlist_container, dlist_foreach_modify, HOLD_INTERRUPTS, RESUME_INTERRUPTS, smgrdestroy(), and unpinned_relns.
Referenced by AtEOXact_SMgr(), BackgroundWriterMain(), CheckpointerMain(), RequestCheckpoint(), and XLogDropDatabase().
void smgrdosyncall | ( | SMgrRelation * | rels, |
int | nrels | ||
) |
Definition at line 480 of file smgr.c.
References FlushRelationsAllBuffers(), HOLD_INTERRUPTS, i, MAX_FORKNUM, RESUME_INTERRUPTS, f_smgr::smgr_immedsync, SMgrRelationData::smgr_which, and smgrsw.
Referenced by smgrDoPendingSyncs().
void smgrdounlinkall | ( | SMgrRelation * | rels, |
int | nrels, | ||
bool | isRedo | ||
) |
Definition at line 520 of file smgr.c.
References CacheInvalidateSmgr(), DropRelationsAllBuffers(), HOLD_INTERRUPTS, i, MAX_FORKNUM, palloc(), pfree(), RESUME_INTERRUPTS, SMgrRelationData::smgr_rlocator, SMgrRelationData::smgr_which, and smgrsw.
Referenced by DropRelationFiles(), RelationSetNewRelfilenumber(), and smgrDoPendingDeletes().
bool smgrexists | ( | SMgrRelation | reln, |
ForkNumber | forknum | ||
) |
Definition at line 444 of file smgr.c.
References HOLD_INTERRUPTS, RESUME_INTERRUPTS, f_smgr::smgr_exists, SMgrRelationData::smgr_which, and smgrsw.
Referenced by autoprewarm_database_main(), bt_index_check_internal(), CreateAndCopyRelationData(), DropRelationsAllBuffers(), ExtendBufferedRelTo(), FreeSpaceMapPrepareTruncateRel(), fsm_readbuf(), heapam_relation_copy_data(), index_build(), index_copy_data(), pg_prewarm(), RelationTruncate(), smgr_redo(), smgrDoPendingSyncs(), visibilitymap_prepare_truncate(), vm_readbuf(), and XLogPrefetcherNextBlock().
void smgrextend | ( | SMgrRelation | reln, |
ForkNumber | forknum, | ||
BlockNumber | blocknum, | ||
const void * | buffer, | ||
bool | skipFsync | ||
) |
Definition at line 602 of file smgr.c.
References HOLD_INTERRUPTS, InvalidBlockNumber, RESUME_INTERRUPTS, SMgrRelationData::smgr_cached_nblocks, f_smgr::smgr_extend, SMgrRelationData::smgr_which, and smgrsw.
Referenced by _hash_alloc_buckets(), RelationCopyStorageUsingBuffer(), and smgr_bulk_flush().
void smgrimmedsync | ( | SMgrRelation | reln, |
ForkNumber | forknum | ||
) |
Definition at line 913 of file smgr.c.
References HOLD_INTERRUPTS, RESUME_INTERRUPTS, f_smgr::smgr_immedsync, SMgrRelationData::smgr_which, and smgrsw.
Referenced by smgr_bulk_finish().
void smgrinit | ( | void | ) |
Definition at line 170 of file smgr.c.
References HOLD_INTERRUPTS, i, NSmgr, on_proc_exit(), RESUME_INTERRUPTS, f_smgr::smgr_init, smgrshutdown(), and smgrsw.
Referenced by BaseInit().
uint32 smgrmaxcombine | ( | SMgrRelation | reln, |
ForkNumber | forknum, | ||
BlockNumber | blocknum | ||
) |
Definition at line 679 of file smgr.c.
References HOLD_INTERRUPTS, RESUME_INTERRUPTS, f_smgr::smgr_maxcombine, SMgrRelationData::smgr_which, and smgrsw.
Referenced by StartReadBuffersImpl().
BlockNumber smgrnblocks | ( | SMgrRelation | reln, |
ForkNumber | forknum | ||
) |
Definition at line 767 of file smgr.c.
References HOLD_INTERRUPTS, InvalidBlockNumber, RESUME_INTERRUPTS, SMgrRelationData::smgr_cached_nblocks, f_smgr::smgr_nblocks, SMgrRelationData::smgr_which, smgrnblocks_cached(), and smgrsw.
Referenced by ExtendBufferedRelLocal(), ExtendBufferedRelShared(), ExtendBufferedRelTo(), FreeSpaceMapPrepareTruncateRel(), fsm_readbuf(), gistBuildCallback(), pg_truncate_visibility_map(), RelationCopyStorage(), RelationCopyStorageUsingBuffer(), RelationGetNumberOfBlocksInFork(), RelationTruncate(), ScanSourceDatabasePgClass(), smgr_bulk_start_smgr(), smgr_redo(), smgrDoPendingSyncs(), table_block_relation_size(), visibilitymap_prepare_truncate(), vm_readbuf(), XLogPrefetcherNextBlock(), and XLogReadBufferExtended().
BlockNumber smgrnblocks_cached | ( | SMgrRelation | reln, |
ForkNumber | forknum | ||
) |
Definition at line 795 of file smgr.c.
References InRecovery, InvalidBlockNumber, and SMgrRelationData::smgr_cached_nblocks.
Referenced by DropRelationBuffers(), DropRelationsAllBuffers(), and smgrnblocks().
SMgrRelation smgropen | ( | RelFileLocator | rlocator, |
ProcNumber | backend | ||
) |
Definition at line 222 of file smgr.c.
References Assert(), RelFileLocatorBackend::backend, ctl, dlist_init(), dlist_push_tail(), HASH_BLOBS, hash_create(), HASH_ELEM, HASH_ENTER, hash_search(), HOLD_INTERRUPTS, i, InvalidBlockNumber, RelFileLocatorBackend::locator, MAX_FORKNUM, SMgrRelationData::node, SMgrRelationData::pincount, RelFileNumberIsValid, RelFileLocator::relNumber, RESUME_INTERRUPTS, SMgrRelationData::smgr_cached_nblocks, f_smgr::smgr_open, SMgrRelationData::smgr_targblock, SMgrRelationData::smgr_which, SMgrRelationHash, smgrsw, and unpinned_relns.
Referenced by CreateAndCopyRelationData(), CreateFakeRelcacheEntry(), DropRelationFiles(), fill_seq_with_data(), FlushBuffer(), FlushLocalBuffer(), IssuePendingWritebacks(), mdsyncfiletag(), ReadBufferWithoutRelcache(), RelationCopyStorageUsingBuffer(), RelationCreateStorage(), RelationGetSmgr(), RelationSetNewRelfilenumber(), ScanSourceDatabasePgClass(), smgr_redo(), smgrDoPendingDeletes(), smgrDoPendingSyncs(), XLogPrefetcherNextBlock(), and XLogReadBufferExtended().
void smgrpin | ( | SMgrRelation | reln | ) |
Definition at line 278 of file smgr.c.
References dlist_delete(), SMgrRelationData::node, and SMgrRelationData::pincount.
Referenced by RelationGetSmgr().
bool smgrprefetch | ( | SMgrRelation | reln, |
ForkNumber | forknum, | ||
BlockNumber | blocknum, | ||
int | nblocks | ||
) |
Definition at line 660 of file smgr.c.
References HOLD_INTERRUPTS, RESUME_INTERRUPTS, f_smgr::smgr_prefetch, SMgrRelationData::smgr_which, and smgrsw.
Referenced by PrefetchLocalBuffer(), PrefetchSharedBuffer(), and StartReadBuffersImpl().
|
inlinestatic |
Definition at line 117 of file smgr.h.
References smgrreadv().
Referenced by pg_prewarm(), and RelationCopyStorage().
void smgrreadv | ( | SMgrRelation | reln, |
ForkNumber | forknum, | ||
BlockNumber | blocknum, | ||
void ** | buffers, | ||
BlockNumber | nblocks | ||
) |
Definition at line 703 of file smgr.c.
References HOLD_INTERRUPTS, RESUME_INTERRUPTS, f_smgr::smgr_readv, SMgrRelationData::smgr_which, and smgrsw.
Referenced by smgrread(), and WaitReadBuffers().
void smgrregistersync | ( | SMgrRelation | reln, |
ForkNumber | forknum | ||
) |
Definition at line 879 of file smgr.c.
References HOLD_INTERRUPTS, RESUME_INTERRUPTS, f_smgr::smgr_registersync, SMgrRelationData::smgr_which, and smgrsw.
Referenced by smgr_bulk_finish().
void smgrrelease | ( | SMgrRelation | reln | ) |
Definition at line 332 of file smgr.c.
References HOLD_INTERRUPTS, InvalidBlockNumber, MAX_FORKNUM, RESUME_INTERRUPTS, SMgrRelationData::smgr_cached_nblocks, f_smgr::smgr_close, SMgrRelationData::smgr_targblock, SMgrRelationData::smgr_which, and smgrsw.
Referenced by smgrclose(), smgrreleaseall(), and smgrreleaserellocator().
void smgrreleaseall | ( | void | ) |
Definition at line 394 of file smgr.c.
References hash_seq_init(), hash_seq_search(), HOLD_INTERRUPTS, RESUME_INTERRUPTS, SMgrRelationHash, and smgrrelease().
Referenced by ProcessBarrierSmgrRelease(), and RelationCacheInvalidate().
void smgrreleaserellocator | ( | RelFileLocatorBackend | rlocator | ) |
Definition at line 425 of file smgr.c.
References HASH_FIND, hash_search(), SMgrRelationHash, and smgrrelease().
Referenced by LocalExecuteInvalidationMessage().
void smgrtruncate | ( | SMgrRelation | reln, |
ForkNumber * | forknum, | ||
int | nforks, | ||
BlockNumber * | old_nblocks, | ||
BlockNumber * | nblocks | ||
) |
Definition at line 823 of file smgr.c.
References CacheInvalidateSmgr(), DropRelationBuffers(), i, InvalidBlockNumber, SMgrRelationData::smgr_cached_nblocks, SMgrRelationData::smgr_rlocator, f_smgr::smgr_truncate, SMgrRelationData::smgr_which, and smgrsw.
Referenced by pg_truncate_visibility_map(), RelationTruncate(), and smgr_redo().
void smgrunpin | ( | SMgrRelation | reln | ) |
Definition at line 293 of file smgr.c.
References Assert(), dlist_push_tail(), SMgrRelationData::node, SMgrRelationData::pincount, and unpinned_relns.
Referenced by RelationCloseSmgr().
|
inlinestatic |
Definition at line 124 of file smgr.h.
References smgrwritev().
Referenced by FlushBuffer(), FlushLocalBuffer(), and smgr_bulk_flush().
void smgrwriteback | ( | SMgrRelation | reln, |
ForkNumber | forknum, | ||
BlockNumber | blocknum, | ||
BlockNumber | nblocks | ||
) |
Definition at line 753 of file smgr.c.
References HOLD_INTERRUPTS, RESUME_INTERRUPTS, SMgrRelationData::smgr_which, f_smgr::smgr_writeback, and smgrsw.
Referenced by IssuePendingWritebacks().
void smgrwritev | ( | SMgrRelation | reln, |
ForkNumber | forknum, | ||
BlockNumber | blocknum, | ||
const void ** | buffers, | ||
BlockNumber | nblocks, | ||
bool | skipFsync | ||
) |
Definition at line 739 of file smgr.c.
References HOLD_INTERRUPTS, RESUME_INTERRUPTS, SMgrRelationData::smgr_which, f_smgr::smgr_writev, and smgrsw.
Referenced by smgrwrite().
void smgrzeroextend | ( | SMgrRelation | reln, |
ForkNumber | forknum, | ||
BlockNumber | blocknum, | ||
int | nblocks, | ||
bool | skipFsync | ||
) |
Definition at line 631 of file smgr.c.
References HOLD_INTERRUPTS, InvalidBlockNumber, RESUME_INTERRUPTS, SMgrRelationData::smgr_cached_nblocks, SMgrRelationData::smgr_which, f_smgr::smgr_zeroextend, and smgrsw.
Referenced by ExtendBufferedRelLocal(), and ExtendBufferedRelShared().