PostgreSQL Source Code git master
|
#include "postgres.h"
#include <limits.h>
#include "access/htup_details.h"
#include "access/xact.h"
#include "access/xloginsert.h"
#include "catalog/catalog.h"
#include "catalog/pg_constraint.h"
#include "miscadmin.h"
#include "storage/sinval.h"
#include "storage/smgr.h"
#include "utils/catcache.h"
#include "utils/inval.h"
#include "utils/memdebug.h"
#include "utils/memutils.h"
#include "utils/rel.h"
#include "utils/relmapper.h"
#include "utils/snapmgr.h"
#include "utils/syscache.h"
Go to the source code of this file.
Data Structures | |
struct | InvalMessageArray |
struct | InvalidationMsgsGroup |
struct | InvalidationInfo |
struct | TransInvalidationInfo |
struct | SYSCACHECALLBACK |
struct | RELCACHECALLBACK |
Macros | |
#define | CatCacheMsgs 0 |
#define | RelCacheMsgs 1 |
#define | SetSubGroupToFollow(targetgroup, priorgroup, subgroup) |
#define | SetGroupToFollow(targetgroup, priorgroup) |
#define | NumMessagesInSubGroup(group, subgroup) ((group)->nextmsg[subgroup] - (group)->firstmsg[subgroup]) |
#define | NumMessagesInGroup(group) |
#define | MAX_SYSCACHE_CALLBACKS 64 |
#define | MAX_RELCACHE_CALLBACKS 10 |
#define | ProcessMessageSubGroup(group, subgroup, codeFragment) |
#define | ProcessMessageSubGroupMulti(group, subgroup, codeFragment) |
Typedefs | |
typedef struct InvalMessageArray | InvalMessageArray |
typedef struct InvalidationMsgsGroup | InvalidationMsgsGroup |
typedef struct InvalidationInfo | InvalidationInfo |
typedef struct TransInvalidationInfo | TransInvalidationInfo |
Variables | |
static InvalMessageArray | InvalMessageArrays [2] |
static TransInvalidationInfo * | transInvalInfo = NULL |
static InvalidationInfo * | inplaceInvalInfo = NULL |
int | debug_discard_caches = 0 |
static struct SYSCACHECALLBACK | syscache_callback_list [MAX_SYSCACHE_CALLBACKS] |
static int16 | syscache_callback_links [SysCacheSize] |
static int | syscache_callback_count = 0 |
static struct RELCACHECALLBACK | relcache_callback_list [MAX_RELCACHE_CALLBACKS] |
static int | relcache_callback_count = 0 |
#define NumMessagesInGroup | ( | group | ) |
#define NumMessagesInSubGroup | ( | group, | |
subgroup | |||
) | ((group)->nextmsg[subgroup] - (group)->firstmsg[subgroup]) |
#define ProcessMessageSubGroup | ( | group, | |
subgroup, | |||
codeFragment | |||
) |
#define ProcessMessageSubGroupMulti | ( | group, | |
subgroup, | |||
codeFragment | |||
) |
#define SetGroupToFollow | ( | targetgroup, | |
priorgroup | |||
) |
#define SetSubGroupToFollow | ( | targetgroup, | |
priorgroup, | |||
subgroup | |||
) |
typedef struct InvalidationInfo InvalidationInfo |
typedef struct InvalidationMsgsGroup InvalidationMsgsGroup |
typedef struct InvalMessageArray InvalMessageArray |
typedef struct TransInvalidationInfo TransInvalidationInfo |
void AcceptInvalidationMessages | ( | void | ) |
Definition at line 863 of file inval.c.
References debug_discard_caches, InvalidateSystemCaches(), InvalidateSystemCachesExtended(), LocalExecuteInvalidationMessage(), ReceiveSharedInvalidMessages(), and recursion_depth.
Referenced by apply_handle_commit_internal(), AtStart_Cache(), ConditionalLockDatabaseObject(), ConditionalLockRelation(), ConditionalLockRelationOid(), ConditionalLockSharedObject(), delay_execution_planner(), heap_inplace_update_and_unlock(), InitializeSessionUserId(), LockDatabaseObject(), LockRelation(), LockRelationId(), LockRelationOid(), LockSharedObject(), LogicalRepApplyLoop(), pgstat_init_function_usage(), ProcessCatchupInterrupt(), RangeVarGetRelidExtended(), relation_openrv(), relation_openrv_extended(), RelationBuildPartitionDesc(), RemoveRelations(), SearchSysCacheLocked1(), and write_relcache_init_file().
|
static |
Definition at line 441 of file inval.c.
References AddInvalidationMessage(), SharedInvalidationMessage::cat, CatCacheMsgs, SharedInvalCatalogMsg::catId, SharedInvalCatalogMsg::dbId, SharedInvalCatalogMsg::id, SHAREDINVALCATALOG_ID, and VALGRIND_MAKE_MEM_DEFINED.
Referenced by RegisterCatalogInvalidation().
|
static |
Definition at line 413 of file inval.c.
References AddInvalidationMessage(), Assert, CatCacheMsgs, SharedInvalidationMessage::cc, SharedInvalCatcacheMsg::dbId, SharedInvalCatcacheMsg::hashValue, SharedInvalCatcacheMsg::id, and VALGRIND_MAKE_MEM_DEFINED.
Referenced by RegisterCatcacheInvalidation().
|
static |
Definition at line 308 of file inval.c.
References Assert, InvalMessageArrays, InvalMessageArray::maxmsgs, MemoryContextAlloc(), InvalMessageArray::msgs, InvalidationMsgsGroup::nextmsg, repalloc(), and TopTransactionContext.
Referenced by AddCatalogInvalidationMessage(), AddCatcacheInvalidationMessage(), AddRelcacheInvalidationMessage(), and AddSnapshotInvalidationMessage().
|
static |
Definition at line 459 of file inval.c.
References AddInvalidationMessage(), SharedInvalRelcacheMsg::dbId, SharedInvalRelcacheMsg::id, InvalidOid, ProcessMessageSubGroup, SharedInvalidationMessage::rc, RelCacheMsgs, SharedInvalRelcacheMsg::relId, SHAREDINVALRELCACHE_ID, and VALGRIND_MAKE_MEM_DEFINED.
Referenced by RegisterRelcacheInvalidation().
|
static |
Definition at line 491 of file inval.c.
References AddInvalidationMessage(), SharedInvalSnapshotMsg::dbId, SharedInvalSnapshotMsg::id, ProcessMessageSubGroup, RelCacheMsgs, SharedInvalSnapshotMsg::relId, SHAREDINVALSNAPSHOT_ID, SharedInvalidationMessage::sn, and VALGRIND_MAKE_MEM_DEFINED.
Referenced by RegisterSnapshotInvalidation().
|
static |
Definition at line 518 of file inval.c.
References AppendInvalidationMessageSubGroup(), CatCacheMsgs, generate_unaccent_rules::dest, and RelCacheMsgs.
Referenced by AtEOSubXact_Inval(), AtEOXact_Inval(), and CommandEndInvalidationMessages().
|
static |
Definition at line 348 of file inval.c.
References Assert, generate_unaccent_rules::dest, InvalidationMsgsGroup::firstmsg, InvalidationMsgsGroup::nextmsg, and SetSubGroupToFollow.
Referenced by AppendInvalidationMessages().
void AtEOSubXact_Inval | ( | bool | isCommit | ) |
Definition at line 1235 of file inval.c.
References AppendInvalidationMessages(), Assert, CommandEndInvalidationMessages(), InvalidationInfo::CurrentCmdInvalidMsgs, GetCurrentTransactionNestLevel(), TransInvalidationInfo::ii, inplaceInvalInfo, LocalExecuteInvalidationMessage(), TransInvalidationInfo::my_level, TransInvalidationInfo::parent, pfree(), TransInvalidationInfo::PriorCmdInvalidMsgs, ProcessInvalidationMessages(), InvalidationInfo::RelcacheInitFileInval, SetGroupToFollow, and transInvalInfo.
Referenced by AbortSubTransaction(), and CommitSubTransaction().
void AtEOXact_Inval | ( | bool | isCommit | ) |
Definition at line 1126 of file inval.c.
References AppendInvalidationMessages(), Assert, InvalidationInfo::CurrentCmdInvalidMsgs, TransInvalidationInfo::ii, inplaceInvalInfo, LocalExecuteInvalidationMessage(), TransInvalidationInfo::my_level, TransInvalidationInfo::parent, TransInvalidationInfo::PriorCmdInvalidMsgs, ProcessInvalidationMessages(), ProcessInvalidationMessagesMulti(), RelationCacheInitFilePostInvalidate(), RelationCacheInitFilePreInvalidate(), InvalidationInfo::RelcacheInitFileInval, SendSharedInvalidMessages(), and transInvalInfo.
Referenced by AbortTransaction(), CommitTransaction(), and PostPrepare_Inval().
void AtInplace_Inval | ( | void | ) |
Definition at line 1188 of file inval.c.
References Assert, CritSectionCount, InvalidationInfo::CurrentCmdInvalidMsgs, inplaceInvalInfo, ProcessInvalidationMessagesMulti(), RelationCacheInitFilePostInvalidate(), InvalidationInfo::RelcacheInitFileInval, and SendSharedInvalidMessages().
Referenced by heap_inplace_update_and_unlock().
void CacheInvalidateCatalog | ( | Oid | catalogId | ) |
Definition at line 1530 of file inval.c.
References InvalidOid, IsSharedRelation(), MyDatabaseId, PrepareInvalidationState(), and RegisterCatalogInvalidation().
Referenced by finish_heap_swap().
Definition at line 1493 of file inval.c.
References CacheInvalidateHeapTupleCommon(), and PrepareInvalidationState().
Referenced by AlterDomainAddConstraint(), AlterDomainDropConstraint(), heap_delete(), heap_inplace_update_and_unlock(), heap_insert(), heap_multi_insert(), and heap_update().
|
static |
Definition at line 1361 of file inval.c.
References GETSTRUCT, InvalidOid, IsBootstrapProcessingMode, IsCatalogRelation(), IsSharedRelation(), IsToastRelation(), MyDatabaseId, OidIsValid, PrepareToInvalidateCacheTuple(), RegisterCatcacheInvalidation(), RegisterRelcacheInvalidation(), RegisterSnapshotInvalidation(), RelationGetRelid, and RelationInvalidatesSnapshotsOnly().
Referenced by CacheInvalidateHeapTuple(), and CacheInvalidateHeapTupleInplace().
Definition at line 1510 of file inval.c.
References CacheInvalidateHeapTupleCommon(), and PrepareInplaceInvalidationState().
Referenced by heap_inplace_lock().
void CacheInvalidateRelcache | ( | Relation | relation | ) |
Definition at line 1553 of file inval.c.
References InvalidOid, MyDatabaseId, PrepareInvalidationState(), RelationData::rd_rel, RegisterRelcacheInvalidation(), and RelationGetRelid.
Referenced by AlterPolicy(), ATExecAlterConstrRecurse(), ATExecDetachPartition(), ATExecGenericOptions(), CreatePolicy(), CreateStatistics(), DetachPartitionFinalize(), EnableDisableRule(), EnableDisableTrigger(), index_concurrently_set_dead(), index_constraint_create(), index_create(), index_drop(), QueueCheckConstraintValidation(), reindex_index(), relation_mark_replica_identity(), RelationSetNewRelfilenumber(), RemovePolicyById(), RemoveRewriteRuleById(), RemoveTriggerById(), rename_constraint_internal(), rename_policy(), RenameRewriteRule(), renametrig_internal(), SetRelationNumChecks(), StorePartitionBound(), and StorePartitionKey().
void CacheInvalidateRelcacheAll | ( | void | ) |
Definition at line 1576 of file inval.c.
References InvalidOid, PrepareInvalidationState(), and RegisterRelcacheInvalidation().
Referenced by AlterPublicationOptions(), CreatePublication(), InvalidatePublicationRels(), and RemovePublicationById().
void CacheInvalidateRelcacheByRelid | ( | Oid | relid | ) |
Definition at line 1609 of file inval.c.
References CacheInvalidateRelcacheByTuple(), elog, ERROR, HeapTupleIsValid, ObjectIdGetDatum(), ReleaseSysCache(), and SearchSysCache1().
Referenced by ATExecAlterConstraint(), ATExecAttachPartition(), DefineIndex(), DetachPartitionFinalize(), heap_drop_with_catalog(), InvalidatePublicationRels(), ReindexRelationConcurrently(), RemoveStatisticsById(), and StorePartitionBound().
void CacheInvalidateRelcacheByTuple | ( | HeapTuple | classTuple | ) |
Definition at line 1587 of file inval.c.
References GETSTRUCT, InvalidOid, MyDatabaseId, PrepareInvalidationState(), and RegisterRelcacheInvalidation().
Referenced by CacheInvalidateRelcacheByRelid(), copy_table_data(), CreateTriggerFiringOn(), index_update_stats(), RemoveRoleFromObjectPolicy(), SetRelationHasSubclass(), SetRelationRuleStatus(), and swap_relation_files().
void CacheInvalidateRelmap | ( | Oid | databaseId | ) |
Definition at line 1677 of file inval.c.
References SharedInvalRelmapMsg::dbId, SharedInvalRelmapMsg::id, SharedInvalidationMessage::rm, SendSharedInvalidMessages(), SHAREDINVALRELMAP_ID, and VALGRIND_MAKE_MEM_DEFINED.
Referenced by write_relmap_file().
void CacheInvalidateSmgr | ( | RelFileLocatorBackend | rlocator | ) |
Definition at line 1647 of file inval.c.
References RelFileLocatorBackend::backend, SharedInvalSmgrMsg::backend_hi, SharedInvalSmgrMsg::backend_lo, SharedInvalSmgrMsg::id, RelFileLocatorBackend::locator, SharedInvalSmgrMsg::rlocator, SendSharedInvalidMessages(), SHAREDINVALSMGR_ID, SharedInvalidationMessage::sm, and VALGRIND_MAKE_MEM_DEFINED.
Referenced by smgrdounlinkall(), smgrtruncate(), and vm_extend().
void CacheRegisterRelcacheCallback | ( | RelcacheCallbackFunction | func, |
Datum | arg | ||
) |
Definition at line 1746 of file inval.c.
References RELCACHECALLBACK::arg, arg, elog, FATAL, RELCACHECALLBACK::function, MAX_RELCACHE_CALLBACKS, relcache_callback_count, and relcache_callback_list.
Referenced by init_rel_sync_cache(), InitializeRelfilenumberMap(), InitPlanCache(), logicalrep_partmap_init(), logicalrep_relmap_init(), and lookup_type_cache().
void CacheRegisterSyscacheCallback | ( | int | cacheid, |
SyscacheCallbackFunction | func, | ||
Datum | arg | ||
) |
Definition at line 1704 of file inval.c.
References SYSCACHECALLBACK::arg, arg, elog, FATAL, SYSCACHECALLBACK::function, i, SYSCACHECALLBACK::id, SYSCACHECALLBACK::link, MAX_SYSCACHE_CALLBACKS, syscache_callback_count, syscache_callback_links, and syscache_callback_list.
Referenced by BuildEventTriggerCache(), find_oper_cache_entry(), GetConnection(), init_rel_sync_cache(), init_ts_config_cache(), initialize_acl(), InitializeAttoptCache(), InitializeLogRepWorker(), InitializeSearchPath(), InitializeShippableCache(), InitializeTableSpaceCache(), InitPlanCache(), lookup_proof_cache(), lookup_ts_dictionary_cache(), lookup_ts_parser_cache(), lookup_type_cache(), ParallelApplyWorkerMain(), pgoutput_startup(), ri_InitHashTables(), SetupApplyOrSyncWorker(), and superuser_arg().
void CallSyscacheCallbacks | ( | int | cacheid, |
uint32 | hashvalue | ||
) |
Definition at line 1765 of file inval.c.
References SYSCACHECALLBACK::arg, Assert, elog, ERROR, SYSCACHECALLBACK::function, i, SYSCACHECALLBACK::id, SYSCACHECALLBACK::link, syscache_callback_links, and syscache_callback_list.
Referenced by CatalogCacheFlushCatalog(), and LocalExecuteInvalidationMessage().
void CommandEndInvalidationMessages | ( | void | ) |
Definition at line 1334 of file inval.c.
References AppendInvalidationMessages(), InvalidationInfo::CurrentCmdInvalidMsgs, TransInvalidationInfo::ii, LocalExecuteInvalidationMessage(), LogLogicalInvalidations(), TransInvalidationInfo::PriorCmdInvalidMsgs, ProcessInvalidationMessages(), transInvalInfo, and XLogLogicalInfoActive.
Referenced by AtCCI_LocalCache(), and AtEOSubXact_Inval().
void ForgetInplace_Inval | ( | void | ) |
Definition at line 1211 of file inval.c.
References inplaceInvalInfo.
Referenced by heap_inplace_lock(), and heap_inplace_unlock().
int inplaceGetInvalidationMessages | ( | SharedInvalidationMessage ** | msgs, |
bool * | RelcacheInitFileInval | ||
) |
Definition at line 1015 of file inval.c.
References Assert, CatCacheMsgs, InvalidationInfo::CurrentCmdInvalidMsgs, inplaceInvalInfo, NumMessagesInGroup, palloc(), ProcessMessageSubGroupMulti, InvalidationInfo::RelcacheInitFileInval, and RelCacheMsgs.
Referenced by heap_inplace_update_and_unlock().
void InvalidateSystemCaches | ( | void | ) |
Definition at line 849 of file inval.c.
References InvalidateSystemCachesExtended().
Referenced by AcceptInvalidationMessages(), LogicalReplicationSlotHasPendingWal(), LogicalSlotAdvanceAndCheckSnapState(), ParallelWorkerMain(), and pg_logical_slot_get_changes_guts().
void InvalidateSystemCachesExtended | ( | bool | debug_discard | ) |
Definition at line 731 of file inval.c.
References SYSCACHECALLBACK::arg, RELCACHECALLBACK::arg, SYSCACHECALLBACK::function, RELCACHECALLBACK::function, i, SYSCACHECALLBACK::id, InvalidateCatalogSnapshot(), InvalidOid, RelationCacheInvalidate(), relcache_callback_count, relcache_callback_list, ResetCatalogCachesExt(), syscache_callback_count, and syscache_callback_list.
Referenced by AcceptInvalidationMessages(), and InvalidateSystemCaches().
void LocalExecuteInvalidationMessage | ( | SharedInvalidationMessage * | msg | ) |
Definition at line 762 of file inval.c.
References RELCACHECALLBACK::arg, RelFileLocatorBackend::backend, SharedInvalSmgrMsg::backend_hi, SharedInvalSmgrMsg::backend_lo, CallSyscacheCallbacks(), SharedInvalidationMessage::cat, CatalogCacheFlushCatalog(), SharedInvalCatalogMsg::catId, SharedInvalidationMessage::cc, SharedInvalCatcacheMsg::dbId, SharedInvalCatalogMsg::dbId, SharedInvalRelcacheMsg::dbId, SharedInvalRelmapMsg::dbId, SharedInvalSnapshotMsg::dbId, elog, FATAL, RELCACHECALLBACK::function, SharedInvalCatcacheMsg::hashValue, i, SharedInvalCatcacheMsg::id, SharedInvalidationMessage::id, InvalidateCatalogSnapshot(), InvalidOid, RelFileLocatorBackend::locator, MyDatabaseId, SharedInvalidationMessage::rc, RelationCacheInvalidate(), RelationCacheInvalidateEntry(), RelationMapInvalidate(), relcache_callback_count, relcache_callback_list, SharedInvalRelcacheMsg::relId, SharedInvalSmgrMsg::rlocator, SharedInvalidationMessage::rm, SHAREDINVALCATALOG_ID, SHAREDINVALRELCACHE_ID, SHAREDINVALRELMAP_ID, SHAREDINVALSMGR_ID, SHAREDINVALSNAPSHOT_ID, SharedInvalidationMessage::sm, smgrreleaserellocator(), SharedInvalidationMessage::sn, and SysCacheInvalidate().
Referenced by AcceptInvalidationMessages(), AtEOSubXact_Inval(), AtEOXact_Inval(), CommandEndInvalidationMessages(), ReorderBufferExecuteInvalidations(), and ReorderBufferImmediateInvalidation().
void LogLogicalInvalidations | ( | void | ) |
Definition at line 1792 of file inval.c.
References CatCacheMsgs, InvalidationInfo::CurrentCmdInvalidMsgs, TransInvalidationInfo::ii, MinSizeOfXactInvals, xl_xact_invals::nmsgs, NumMessagesInGroup, ProcessMessageSubGroupMulti, RelCacheMsgs, transInvalInfo, XLOG_XACT_INVALIDATIONS, XLogBeginInsert(), XLogInsert(), and XLogRegisterData().
Referenced by CommandEndInvalidationMessages(), and RecordTransactionCommit().
void PostPrepare_Inval | ( | void | ) |
Definition at line 920 of file inval.c.
References AtEOXact_Inval().
Referenced by PrepareTransaction().
void PreInplace_Inval | ( | void | ) |
Definition at line 1175 of file inval.c.
References Assert, CritSectionCount, inplaceInvalInfo, RelationCacheInitFilePreInvalidate(), and InvalidationInfo::RelcacheInitFileInval.
Referenced by heap_inplace_update_and_unlock().
|
static |
Definition at line 698 of file inval.c.
References Assert, CatCacheMsgs, InvalidationInfo::CurrentCmdInvalidMsgs, TransInvalidationInfo::ii, inplaceInvalInfo, InvalMessageArrays, IsTransactionState(), InvalMessageArray::maxmsgs, InvalMessageArray::msgs, palloc0(), RelCacheMsgs, SetGroupToFollow, and transInvalInfo.
Referenced by CacheInvalidateHeapTupleInplace().
|
static |
Definition at line 629 of file inval.c.
References Assert, CatCacheMsgs, InvalidationInfo::CurrentCmdInvalidMsgs, elog, ERROR, GetCurrentTransactionNestLevel(), TransInvalidationInfo::ii, inplaceInvalInfo, InvalMessageArrays, IsTransactionState(), InvalMessageArray::maxmsgs, MemoryContextAllocZero(), InvalMessageArray::msgs, TransInvalidationInfo::my_level, NumMessagesInGroup, TransInvalidationInfo::parent, TransInvalidationInfo::PriorCmdInvalidMsgs, RelCacheMsgs, SetGroupToFollow, TopTransactionContext, and transInvalInfo.
Referenced by CacheInvalidateCatalog(), CacheInvalidateHeapTuple(), CacheInvalidateRelcache(), CacheInvalidateRelcacheAll(), and CacheInvalidateRelcacheByTuple().
void ProcessCommittedInvalidationMessages | ( | SharedInvalidationMessage * | msgs, |
int | nmsgs, | ||
bool | RelcacheInitFileInval, | ||
Oid | dbid, | ||
Oid | tsid | ||
) |
Definition at line 1062 of file inval.c.
References DatabasePath, DEBUG4, elog, GetDatabasePath(), OidIsValid, pfree(), RelationCacheInitFilePostInvalidate(), RelationCacheInitFilePreInvalidate(), and SendSharedInvalidMessages().
Referenced by heap_xlog_inplace(), standby_redo(), and xact_redo_commit().
|
static |
Definition at line 532 of file inval.c.
References CatCacheMsgs, ProcessMessageSubGroup, and RelCacheMsgs.
Referenced by AtEOSubXact_Inval(), AtEOXact_Inval(), and CommandEndInvalidationMessages().
|
static |
Definition at line 544 of file inval.c.
References CatCacheMsgs, ProcessMessageSubGroupMulti, and RelCacheMsgs.
Referenced by AtEOXact_Inval(), and AtInplace_Inval().
|
static |
Definition at line 579 of file inval.c.
References AddCatalogInvalidationMessage(), and InvalidationInfo::CurrentCmdInvalidMsgs.
Referenced by CacheInvalidateCatalog().
|
static |
Definition at line 562 of file inval.c.
References AddCatcacheInvalidationMessage(), and InvalidationInfo::CurrentCmdInvalidMsgs.
Referenced by CacheInvalidateHeapTupleCommon().
|
static |
Definition at line 590 of file inval.c.
References AddRelcacheInvalidationMessage(), InvalidationInfo::CurrentCmdInvalidMsgs, GetCurrentCommandId(), InvalidOid, RelationIdIsInInitFile(), and InvalidationInfo::RelcacheInitFileInval.
Referenced by CacheInvalidateHeapTupleCommon(), CacheInvalidateRelcache(), CacheInvalidateRelcacheAll(), and CacheInvalidateRelcacheByTuple().
|
static |
Definition at line 619 of file inval.c.
References AddSnapshotInvalidationMessage(), and InvalidationInfo::CurrentCmdInvalidMsgs.
Referenced by CacheInvalidateHeapTupleCommon().
int xactGetCommittedInvalidationMessages | ( | SharedInvalidationMessage ** | msgs, |
bool * | RelcacheInitFileInval | ||
) |
Definition at line 939 of file inval.c.
References Assert, CatCacheMsgs, InvalidationInfo::CurrentCmdInvalidMsgs, CurTransactionContext, TransInvalidationInfo::ii, MemoryContextAlloc(), TransInvalidationInfo::my_level, NumMessagesInGroup, TransInvalidationInfo::parent, TransInvalidationInfo::PriorCmdInvalidMsgs, ProcessMessageSubGroupMulti, InvalidationInfo::RelcacheInitFileInval, RelCacheMsgs, and transInvalInfo.
Referenced by RecordTransactionCommit(), and StartPrepare().
int debug_discard_caches = 0 |
Definition at line 258 of file inval.c.
Referenced by AcceptInvalidationMessages(), LookupOpclassInfo(), and RelationBuildDesc().
|
static |
Definition at line 255 of file inval.c.
Referenced by AtEOSubXact_Inval(), AtEOXact_Inval(), AtInplace_Inval(), ForgetInplace_Inval(), inplaceGetInvalidationMessages(), PreInplace_Inval(), PrepareInplaceInvalidationState(), and PrepareInvalidationState().
|
static |
Definition at line 179 of file inval.c.
Referenced by AddInvalidationMessage(), PrepareInplaceInvalidationState(), and PrepareInvalidationState().
|
static |
Definition at line 291 of file inval.c.
Referenced by CacheRegisterRelcacheCallback(), InvalidateSystemCachesExtended(), and LocalExecuteInvalidationMessage().
|
static |
|
static |
Definition at line 283 of file inval.c.
Referenced by CacheRegisterSyscacheCallback(), and InvalidateSystemCachesExtended().
|
static |
Definition at line 281 of file inval.c.
Referenced by CacheRegisterSyscacheCallback(), and CallSyscacheCallbacks().
|
static |
Referenced by CacheRegisterSyscacheCallback(), CallSyscacheCallbacks(), and InvalidateSystemCachesExtended().
|
static |
Definition at line 253 of file inval.c.
Referenced by AtEOSubXact_Inval(), AtEOXact_Inval(), CommandEndInvalidationMessages(), LogLogicalInvalidations(), PrepareInplaceInvalidationState(), PrepareInvalidationState(), and xactGetCommittedInvalidationMessages().