PostgreSQL Source Code
git master
|
#include "postgres.h"
#include "access/heapam.h"
#include "access/toast_compression.h"
#include "access/xact.h"
#include "catalog/binary_upgrade.h"
#include "catalog/catalog.h"
#include "catalog/dependency.h"
#include "catalog/heap.h"
#include "catalog/index.h"
#include "catalog/namespace.h"
#include "catalog/pg_am.h"
#include "catalog/pg_namespace.h"
#include "catalog/pg_opclass.h"
#include "catalog/toasting.h"
#include "miscadmin.h"
#include "nodes/makefuncs.h"
#include "utils/fmgroids.h"
#include "utils/rel.h"
#include "utils/syscache.h"
Go to the source code of this file.
Functions | |
static void | CheckAndCreateToastTable (Oid relOid, Datum reloptions, LOCKMODE lockmode, bool check, Oid OIDOldToast) |
static bool | create_toast_table (Relation rel, Oid toastOid, Oid toastIndexOid, Datum reloptions, LOCKMODE lockmode, bool check, Oid OIDOldToast) |
static bool | needs_toast_table (Relation rel) |
void | AlterTableCreateToastTable (Oid relOid, Datum reloptions, LOCKMODE lockmode) |
void | NewHeapCreateToastTable (Oid relOid, Datum reloptions, LOCKMODE lockmode, Oid OIDOldToast) |
void | NewRelationCreateToastTable (Oid relOid, Datum reloptions) |
void | BootstrapToastTable (char *relName, Oid toastOid, Oid toastIndexOid) |
Definition at line 58 of file toasting.c.
References CheckAndCreateToastTable(), and InvalidOid.
Referenced by ATRewriteCatalogs().
Definition at line 98 of file toasting.c.
References AccessExclusiveLock, create_toast_table(), elog, ERROR, InvalidOid, makeRangeVar(), NoLock, RelationData::rd_rel, table_close(), and table_openrv().
|
static |
Definition at line 78 of file toasting.c.
References create_toast_table(), InvalidOid, NoLock, table_close(), and table_open().
Referenced by AlterTableCreateToastTable(), NewHeapCreateToastTable(), and NewRelationCreateToastTable().
|
static |
Definition at line 127 of file toasting.c.
References AccessExclusiveLock, Assert, binary_upgrade_next_toast_pg_class_oid, BTEqualStrategyNumber, CatalogTupleUpdate(), ObjectAddress::classId, CommandCounterIncrement(), CreateTemplateTupleDesc(), CurrentMemoryContext, DEPENDENCY_INTERNAL, elog, ERROR, GETSTRUCT, GetTempToastNamespace(), heap_create_with_catalog(), heap_freetuple(), HeapTupleIsValid, IndexInfo::ii_Am, IndexInfo::ii_AmCache, IndexInfo::ii_BrokenHotChain, IndexInfo::ii_CheckedUnchanged, IndexInfo::ii_Concurrent, IndexInfo::ii_Context, IndexInfo::ii_ExclusionOps, IndexInfo::ii_ExclusionProcs, IndexInfo::ii_ExclusionStrats, IndexInfo::ii_Expressions, IndexInfo::ii_ExpressionsState, IndexInfo::ii_IndexAttrNumbers, IndexInfo::ii_IndexUnchanged, IndexInfo::ii_NullsNotDistinct, IndexInfo::ii_NumIndexAttrs, IndexInfo::ii_NumIndexKeyAttrs, IndexInfo::ii_ParallelWorkers, IndexInfo::ii_Predicate, IndexInfo::ii_PredicateState, IndexInfo::ii_ReadyForInserts, IndexInfo::ii_Unique, index_create(), INDEX_CREATE_IS_PRIMARY, InvalidCompressionMethod, InvalidOid, IsBinaryUpgrade, IsBootstrapProcessingMode, isTempOrTempToastNamespace(), sort-test::key, list_make2, makeNode, NAMEDATALEN, needs_toast_table(), NIL, NoLock, ObjectAddress::objectId, ObjectIdGetDatum(), ObjectAddress::objectSubId, OidIsValid, ONCOMMIT_NOOP, RelationData::rd_rel, recordDependencyOn(), RelationGetRelid, RelationIsMapped, RowExclusiveLock, ScanKeyInit(), SearchSysCacheCopy1, ShareLock, snprintf, systable_inplace_update_begin(), systable_inplace_update_finish(), HeapTupleData::t_self, table_close(), table_open(), table_relation_toast_am(), TupleDescAttr, and TupleDescInitEntry().
Referenced by BootstrapToastTable(), and CheckAndCreateToastTable().
|
static |
Definition at line 401 of file toasting.c.
References IsBootstrapProcessingMode, IsCatalogRelation(), RelationData::rd_rel, and table_relation_needs_toast_table().
Referenced by create_toast_table().
Definition at line 64 of file toasting.c.
References CheckAndCreateToastTable().
Referenced by make_new_heap().
Definition at line 71 of file toasting.c.
References AccessExclusiveLock, CheckAndCreateToastTable(), and InvalidOid.
Referenced by create_ctas_internal(), and ProcessUtilitySlow().