PostgreSQL Source Code
git master
|
#include "postgres.h"
#include "access/genam.h"
#include "access/heapam.h"
#include "access/htup_details.h"
#include "access/xact.h"
#include "catalog/index.h"
#include "catalog/indexing.h"
#include "executor/executor.h"
#include "utils/rel.h"
Go to the source code of this file.
Macros | |
#define | CatalogTupleCheckConstraints(heapRel, tup) ((void) 0) |
Functions | |
CatalogIndexState | CatalogOpenIndexes (Relation heapRel) |
void | CatalogCloseIndexes (CatalogIndexState indstate) |
static void | CatalogIndexInsert (CatalogIndexState indstate, HeapTuple heapTuple) |
void | CatalogTupleInsert (Relation heapRel, HeapTuple tup) |
void | CatalogTupleInsertWithInfo (Relation heapRel, HeapTuple tup, CatalogIndexState indstate) |
void | CatalogTuplesMultiInsertWithInfo (Relation heapRel, TupleTableSlot **slot, int ntuples, CatalogIndexState indstate) |
void | CatalogTupleUpdate (Relation heapRel, ItemPointer otid, HeapTuple tup) |
void | CatalogTupleUpdateWithInfo (Relation heapRel, ItemPointer otid, HeapTuple tup, CatalogIndexState indstate) |
void | CatalogTupleDelete (Relation heapRel, ItemPointer tid) |
#define CatalogTupleCheckConstraints | ( | heapRel, | |
tup | |||
) | ((void) 0) |
Definition at line 205 of file indexing.c.
void CatalogCloseIndexes | ( | CatalogIndexState | indstate | ) |
Definition at line 61 of file indexing.c.
References ExecCloseIndices(), and pfree().
Referenced by AddNewAttributeTuples(), AppendAttributeTuples(), CatalogTupleInsert(), CatalogTupleUpdate(), copyTemplateDependencies(), InsertPgAttributeTuples(), inv_truncate(), inv_write(), recordMultipleDependencies(), and swap_relation_files().
|
static |
Definition at line 75 of file indexing.c.
References Assert(), ExecDropSingleTupleTableSlot(), ExecStoreHeapTuple(), FormIndexDatum(), HeapTupleIsHeapOnly, i, IndexInfo::ii_ExclusionOps, IndexInfo::ii_Expressions, IndexInfo::ii_NumIndexKeyAttrs, IndexInfo::ii_Predicate, IndexInfo::ii_ReadyForInserts, index_insert(), INDEX_MAX_KEYS, MakeSingleTupleTableSlot(), NIL, ReindexIsProcessingIndex(), RelationGetDescr, RelationGetRelid, ResultRelInfo::ri_IndexRelationDescs, ResultRelInfo::ri_IndexRelationInfo, ResultRelInfo::ri_NumIndices, ResultRelInfo::ri_RelationDesc, HeapTupleData::t_self, TTSOpsHeapTuple, UNIQUE_CHECK_NO, UNIQUE_CHECK_YES, and values.
Referenced by CatalogTupleInsert(), CatalogTupleInsertWithInfo(), CatalogTuplesMultiInsertWithInfo(), CatalogTupleUpdate(), and CatalogTupleUpdateWithInfo().
CatalogIndexState CatalogOpenIndexes | ( | Relation | heapRel | ) |
Definition at line 43 of file indexing.c.
References ExecOpenIndices(), makeNode, ResultRelInfo::ri_RangeTableIndex, ResultRelInfo::ri_RelationDesc, and ResultRelInfo::ri_TrigDesc.
Referenced by AddNewAttributeTuples(), AppendAttributeTuples(), CatalogTupleInsert(), CatalogTupleUpdate(), copyTemplateDependencies(), InsertPgAttributeTuples(), inv_truncate(), inv_write(), recordMultipleDependencies(), and swap_relation_files().
void CatalogTupleDelete | ( | Relation | heapRel, |
ItemPointer | tid | ||
) |
Definition at line 350 of file indexing.c.
References simple_heap_delete().
Referenced by AlterSetting(), ATExecAlterColumnType(), changeDependenciesOn(), changeDependencyFor(), CreateComments(), CreateSharedComments(), DeleteAttributeTuples(), DeleteComments(), deleteDependencyRecordsFor(), deleteDependencyRecordsForClass(), deleteDependencyRecordsForSpecific(), DeleteInheritsTuple(), DeleteInitPrivs(), deleteOneObject(), DeleteRelationTuple(), DeleteSecurityLabel(), DeleteSequenceTuple(), DeleteSharedComments(), DeleteSharedSecurityLabel(), DeleteSystemAttributeTuples(), DelRoleMems(), drop_parent_dependency(), DropConfigurationMapping(), dropDatabaseDependencies(), dropdb(), DropObjectById(), DropRole(), DropSetting(), DropSubscription(), DropTableSpace(), EnumValuesDelete(), ExecGrant_Parameter(), heap_drop_with_catalog(), index_drop(), IndexSetParentIndex(), inv_truncate(), LargeObjectDrop(), MakeConfigurationMapping(), RangeDelete(), recordExtensionInitPrivWorker(), RelationRemoveInheritance(), RemoveAttrDefaultById(), RemoveAttributeById(), RemoveConstraintById(), RemoveExtensionById(), RemoveFunctionById(), RemoveOperatorById(), RemovePartitionKeyByRelId(), RemovePolicyById(), RemovePublicationById(), RemovePublicationRelById(), RemovePublicationSchemaById(), RemoveRewriteRuleById(), RemoveStatistics(), RemoveStatisticsById(), RemoveStatisticsDataById(), RemoveSubscriptionRel(), RemoveTriggerById(), RemoveTSConfigurationById(), RemoveTypeById(), replorigin_drop_guts(), SetSecurityLabel(), SetSharedSecurityLabel(), shdepChangeDep(), and shdepDropDependency().
Definition at line 221 of file indexing.c.
References CatalogCloseIndexes(), CatalogIndexInsert(), CatalogOpenIndexes(), CatalogTupleCheckConstraints, and simple_heap_insert().
Referenced by AddEnumLabel(), AddRoleMems(), AddSubscriptionRelState(), AggregateCreate(), AlterSetting(), CastCreate(), CollationCreate(), ConversionCreate(), CopyStatistics(), CreateAccessMethod(), CreateComments(), CreateConstraintEntry(), createdb(), CreateForeignDataWrapper(), CreateForeignServer(), CreateForeignTable(), CreateOpFamily(), CreatePolicy(), CreateProceduralLanguage(), CreatePublication(), CreateRole(), CreateSharedComments(), CreateStatistics(), CreateSubscription(), CreateTableSpace(), CreateTransform(), CreateTriggerFiringOn(), CreateUserMapping(), DefineOpClass(), DefineSequence(), DefineTSConfiguration(), DefineTSDictionary(), DefineTSParser(), DefineTSTemplate(), EnumValuesCreate(), insert_event_trigger_tuple(), InsertExtensionTuple(), InsertPgClassTuple(), InsertRule(), LargeObjectCreate(), MakeConfigurationMapping(), NamespaceCreate(), OperatorCreate(), OperatorShellMake(), ParameterAclCreate(), ProcedureCreate(), publication_add_relation(), publication_add_schema(), RangeCreate(), recordExtensionInitPrivWorker(), replorigin_create(), SetDefaultACL(), SetSecurityLabel(), SetSharedSecurityLabel(), shdepAddDependency(), shdepChangeDep(), statext_store(), StoreAttrDefault(), storeOperators(), StorePartitionKey(), storeProcedures(), StoreSingleInheritance(), TypeCreate(), TypeShellMake(), update_attstats(), and UpdateIndexRelation().
void CatalogTupleInsertWithInfo | ( | Relation | heapRel, |
HeapTuple | tup, | ||
CatalogIndexState | indstate | ||
) |
Definition at line 244 of file indexing.c.
References CatalogIndexInsert(), CatalogTupleCheckConstraints, and simple_heap_insert().
Referenced by inv_truncate(), and inv_write().
void CatalogTuplesMultiInsertWithInfo | ( | Relation | heapRel, |
TupleTableSlot ** | slot, | ||
int | ntuples, | ||
CatalogIndexState | indstate | ||
) |
Definition at line 261 of file indexing.c.
References CatalogIndexInsert(), ExecFetchSlotHeapTuple(), GetCurrentCommandId(), heap_freetuple(), heap_multi_insert(), i, HeapTupleData::t_tableOid, and TupleTableSlot::tts_tableOid.
Referenced by copyTemplateDependencies(), InsertPgAttributeTuples(), and recordMultipleDependencies().
void CatalogTupleUpdate | ( | Relation | heapRel, |
ItemPointer | otid, | ||
HeapTuple | tup | ||
) |
Definition at line 301 of file indexing.c.
References CatalogCloseIndexes(), CatalogIndexInsert(), CatalogOpenIndexes(), CatalogTupleCheckConstraints, and simple_heap_update().
Referenced by AddRoleMems(), AggregateCreate(), AlterCollation(), AlterConstraintNamespaces(), AlterDatabase(), AlterDatabaseOwner(), AlterDatabaseRefreshColl(), AlterDomainDefault(), AlterDomainNotNull(), AlterDomainValidateConstraint(), AlterEventTrigger(), AlterEventTriggerOwner_internal(), AlterExtensionNamespace(), AlterForeignDataWrapper(), AlterForeignDataWrapperOwner_internal(), AlterForeignServer(), AlterForeignServerOwner_internal(), AlterFunction(), AlterObjectNamespace_internal(), AlterObjectOwner_internal(), AlterObjectRename_internal(), AlterOperator(), AlterPolicy(), AlterPublicationOptions(), AlterPublicationOwner_internal(), AlterRelationNamespaceInternal(), AlterRole(), AlterSchemaOwner_internal(), AlterSequence(), AlterSetting(), AlterStatistics(), AlterSubscription(), AlterSubscriptionOwner_internal(), AlterTableSpaceOptions(), AlterTSDictionary(), AlterTypeNamespaceInternal(), AlterTypeOwnerInternal(), AlterTypeRecurse(), AlterUserMapping(), ApplyExtensionUpdates(), ATExecAddColumn(), ATExecAddIdentity(), ATExecAddOf(), ATExecAlterColumnGenericOptions(), ATExecAlterColumnType(), ATExecAlterConstrRecurse(), ATExecChangeOwner(), ATExecDropColumn(), ATExecDropConstraint(), ATExecDropExpression(), ATExecDropIdentity(), ATExecDropNotNull(), ATExecDropOf(), ATExecForceNoForceRowSecurity(), ATExecGenericOptions(), ATExecSetCompression(), ATExecSetIdentity(), ATExecSetNotNull(), ATExecSetOptions(), ATExecSetRelOptions(), ATExecSetRowSecurity(), ATExecSetStatistics(), ATExecSetStorage(), ATExecValidateConstraint(), change_owner_fix_column_acls(), changeDependenciesOf(), changeDependenciesOn(), changeDependencyFor(), clear_subscription_skip_lsn(), ConstraintSetParentConstraint(), copy_table_data(), create_toast_table(), CreateComments(), CreateProceduralLanguage(), CreateSharedComments(), CreateTransform(), CreateTriggerFiringOn(), DefineIndex(), DefineQueryRewrite(), DelRoleMems(), DetachPartitionFinalize(), DisableSubscription(), EnableDisableRule(), EnableDisableTrigger(), ExecGrant_Attribute(), ExecGrant_Database(), ExecGrant_Fdw(), ExecGrant_ForeignServer(), ExecGrant_Function(), ExecGrant_Language(), ExecGrant_Largeobject(), ExecGrant_Namespace(), ExecGrant_Parameter(), ExecGrant_Relation(), ExecGrant_Tablespace(), ExecGrant_Type(), extension_config_remove(), finish_heap_swap(), index_build(), index_concurrently_swap(), index_constraint_create(), index_set_state_flags(), InsertRule(), MakeConfigurationMapping(), mark_index_clustered(), MarkInheritDetached(), MergeAttributesIntoExisting(), MergeConstraintsIntoExisting(), MergeWithExistingConstraint(), movedb(), OperatorCreate(), OperatorUpd(), pg_extension_config_dump(), ProcedureCreate(), recordExtensionInitPrivWorker(), reindex_index(), relation_mark_replica_identity(), RelationClearMissing(), RelationSetNewRelfilenode(), RemoveAttrDefaultById(), RemoveAttributeById(), RemoveConstraintById(), RemoveInheritance(), RemoveRoleFromObjectPolicy(), rename_policy(), renameatt_internal(), RenameConstraintById(), RenameDatabase(), RenameEnumLabel(), RenameRelationInternal(), RenameRewriteRule(), RenameRole(), RenameSchema(), RenameTableSpace(), renametrig_internal(), RenameTypeInternal(), RenumberEnumType(), ResetRelRewrite(), SetAttrMissing(), SetDefaultACL(), SetIndexStorageProperties(), SetMatViewPopulatedState(), SetRelationHasSubclass(), SetRelationNumChecks(), SetRelationRuleStatus(), SetRelationTableSpace(), SetSecurityLabel(), SetSharedSecurityLabel(), shdepChangeDep(), StoreAttrDefault(), StorePartitionBound(), TriggerSetParentTrigger(), TypeCreate(), update_attstats(), update_default_partition_oid(), update_relispartition(), UpdateSubscriptionRelState(), UpdateTwoPhaseState(), and validatePartitionedIndex().
void CatalogTupleUpdateWithInfo | ( | Relation | heapRel, |
ItemPointer | otid, | ||
HeapTuple | tup, | ||
CatalogIndexState | indstate | ||
) |
Definition at line 324 of file indexing.c.
References CatalogIndexInsert(), CatalogTupleCheckConstraints, and simple_heap_update().
Referenced by inv_truncate(), inv_write(), and swap_relation_files().