|
PostgreSQL Source Code git master
|
#include "access/relscan.h"#include "access/sdir.h"#include "access/xact.h"#include "executor/tuptable.h"#include "storage/read_stream.h"#include "utils/rel.h"#include "utils/snapshot.h"

Go to the source code of this file.
Data Structures | |
| struct | TM_FailureData |
| struct | TM_IndexDelete |
| struct | TM_IndexStatus |
| struct | TM_IndexDeleteOp |
| struct | TableAmRoutine |
Macros | |
| #define | DEFAULT_TABLE_ACCESS_METHOD "heap" |
| #define | SO_INTERNAL_FLAGS |
| #define | TABLE_INSERT_SKIP_FSM 0x0002 |
| #define | TABLE_INSERT_FROZEN 0x0004 |
| #define | TABLE_INSERT_NO_LOGICAL 0x0008 |
| #define | TABLE_DELETE_CHANGING_PARTITION (1 << 0) |
| #define | TABLE_DELETE_NO_LOGICAL (1 << 1) |
| #define | TABLE_UPDATE_NO_LOGICAL (1 << 0) |
| #define | TUPLE_LOCK_FLAG_LOCK_UPDATE_IN_PROGRESS (1 << 0) |
| #define | TUPLE_LOCK_FLAG_FIND_LAST_VERSION (1 << 1) |
Typedefs | |
| typedef struct BulkInsertStateData | BulkInsertStateData |
| typedef struct IndexInfo | IndexInfo |
| typedef struct SampleScanState | SampleScanState |
| typedef struct ScanKeyData | ScanKeyData |
| typedef struct ValidateIndexState | ValidateIndexState |
| typedef struct VacuumParams | VacuumParams |
| typedef enum ScanOptions | ScanOptions |
| typedef enum TM_Result | TM_Result |
| typedef enum TU_UpdateIndexes | TU_UpdateIndexes |
| typedef struct TM_FailureData | TM_FailureData |
| typedef struct TM_IndexDelete | TM_IndexDelete |
| typedef struct TM_IndexStatus | TM_IndexStatus |
| typedef struct TM_IndexDeleteOp | TM_IndexDeleteOp |
| typedef void(* | IndexBuildCallback) (Relation index, ItemPointer tid, Datum *values, bool *isnull, bool tupleIsAlive, void *state) |
| typedef struct TableAmRoutine | TableAmRoutine |
Enumerations | |
| enum | ScanOptions { SO_NONE = 0 , SO_TYPE_SEQSCAN = 1 << 0 , SO_TYPE_BITMAPSCAN = 1 << 1 , SO_TYPE_SAMPLESCAN = 1 << 2 , SO_TYPE_TIDSCAN = 1 << 3 , SO_TYPE_TIDRANGESCAN = 1 << 4 , SO_TYPE_ANALYZE = 1 << 5 , SO_ALLOW_STRAT = 1 << 6 , SO_ALLOW_SYNC = 1 << 7 , SO_ALLOW_PAGEMODE = 1 << 8 , SO_TEMP_SNAPSHOT = 1 << 9 , SO_HINT_REL_READ_ONLY = 1 << 10 , SO_SCAN_INSTRUMENT = 1 << 11 } |
| enum | TM_Result { TM_Ok , TM_Invisible , TM_SelfModified , TM_Updated , TM_Deleted , TM_BeingModified , TM_WouldBlock } |
| enum | TU_UpdateIndexes { TU_None , TU_All , TU_Summarizing } |
Variables | |
| PGDLLIMPORT char * | default_table_access_method |
| PGDLLIMPORT bool | synchronize_seqscans |
| #define SO_INTERNAL_FLAGS |
Definition at line 84 of file tableam.h.
| typedef struct ScanKeyData ScanKeyData |
| typedef struct TableAmRoutine TableAmRoutine |
| typedef struct TM_FailureData TM_FailureData |
| typedef struct TM_IndexDelete TM_IndexDelete |
| typedef struct TM_IndexStatus TM_IndexStatus |
| typedef struct VacuumParams VacuumParams |
Definition at line 47 of file tableam.h.
| Enumerator | |
|---|---|
| TM_Ok | |
| TM_Invisible | |
| TM_SelfModified | |
| TM_Updated | |
| TM_Deleted | |
| TM_BeingModified | |
| TM_WouldBlock | |
Definition at line 94 of file tableam.h.
| Enumerator | |
|---|---|
| TU_None | |
| TU_All | |
| TU_Summarizing | |
Definition at line 132 of file tableam.h.
|
extern |
Definition at line 2705 of file heapam_handler.c.
References heapam_methods.
Referenced by formrdesc(), and heap_getnext().
|
extern |
Definition at line 27 of file tableamapi.c.
References Assert, DatumGetPointer(), elog, ERROR, fb(), TableAmRoutine::index_build_range_scan, TableAmRoutine::index_delete_tuples, TableAmRoutine::index_fetch_begin, TableAmRoutine::index_fetch_end, TableAmRoutine::index_fetch_reset, TableAmRoutine::index_fetch_tuple, TableAmRoutine::index_validate_scan, IsA, TableAmRoutine::multi_insert, OidFunctionCall0, TableAmRoutine::parallelscan_estimate, TableAmRoutine::parallelscan_initialize, TableAmRoutine::parallelscan_reinitialize, TableAmRoutine::relation_copy_data, TableAmRoutine::relation_copy_for_cluster, TableAmRoutine::relation_estimate_size, TableAmRoutine::relation_needs_toast_table, TableAmRoutine::relation_nontransactional_truncate, TableAmRoutine::relation_set_new_filelocator, TableAmRoutine::relation_size, TableAmRoutine::relation_vacuum, TableAmRoutine::scan_analyze_next_block, TableAmRoutine::scan_analyze_next_tuple, TableAmRoutine::scan_begin, TableAmRoutine::scan_end, TableAmRoutine::scan_getnextslot, TableAmRoutine::scan_rescan, TableAmRoutine::scan_sample_next_block, TableAmRoutine::scan_sample_next_tuple, TableAmRoutine::tuple_complete_speculative, TableAmRoutine::tuple_delete, TableAmRoutine::tuple_fetch_row_version, TableAmRoutine::tuple_get_latest_tid, TableAmRoutine::tuple_insert, TableAmRoutine::tuple_insert_speculative, TableAmRoutine::tuple_lock, TableAmRoutine::tuple_satisfies_snapshot, TableAmRoutine::tuple_tid_valid, and TableAmRoutine::tuple_update.
Referenced by InitTableAmRoutine().
|
extern |
Definition at line 316 of file tableam.c.
References elog, ERROR, GetCurrentCommandId(), InvalidSnapshot, result, table_tuple_delete(), TM_Deleted, TM_Ok, TM_SelfModified, and TM_Updated.
Referenced by ExecSimpleRelationDelete().
|
extern |
Definition at line 302 of file tableam.c.
References fb(), GetCurrentCommandId(), and table_tuple_insert().
Referenced by ExecSimpleRelationInsert().
|
extern |
Definition at line 361 of file tableam.c.
References elog, ERROR, fb(), GetCurrentCommandId(), InvalidSnapshot, result, table_tuple_update(), TM_Deleted, TM_Ok, TM_SelfModified, and TM_Updated.
Referenced by ExecSimpleRelationUpdate().
|
inlinestatic |
Definition at line 943 of file tableam.h.
References fb(), IndexFetchTableData::flags, IndexFetchTableData::rel, SO_ALLOW_PAGEMODE, SO_ALLOW_STRAT, SO_ALLOW_SYNC, SO_TYPE_SEQSCAN, and table_beginscan_common().
Referenced by ATRewriteTable(), check_default_partition_contents(), CopyRelationTo(), heapam_relation_copy_for_cluster(), MergePartitionsMoveRows(), pgrowlocks(), RelationFindDeletedTupleInfoSeq(), RelationFindReplTupleSeq(), SeqNext(), SplitPartitionMoveRows(), validateDomainCheckConstraint(), validateDomainNotNullConstraint(), and validateForeignKeyConstraint().
|
inlinestatic |
Definition at line 1049 of file tableam.h.
References fb(), IndexFetchTableData::flags, IndexFetchTableData::rel, SO_NONE, SO_TYPE_ANALYZE, and table_beginscan_common().
Referenced by acquire_sample_rows().
|
inlinestatic |
Definition at line 992 of file tableam.h.
References fb(), IndexFetchTableData::flags, IndexFetchTableData::rel, SO_ALLOW_PAGEMODE, SO_TYPE_BITMAPSCAN, and table_beginscan_common().
Referenced by BitmapTableScanSetup().
|
extern |
Definition at line 113 of file tableam.c.
References fb(), GetCatalogSnapshot(), RegisterSnapshot(), RelationGetRelid, SO_ALLOW_PAGEMODE, SO_ALLOW_STRAT, SO_ALLOW_SYNC, SO_NONE, SO_TEMP_SNAPSHOT, SO_TYPE_SEQSCAN, and table_beginscan_common().
Referenced by AlterTableMoveAll(), AlterTableSpaceOptions(), BuildDatabaseList(), BuildRelationList(), check_db_file_conflict(), CreateDatabaseUsingFileCopy(), do_autovacuum(), DropSetting(), DropTableSpace(), find_typed_table_dependencies(), get_all_vacuum_rels(), get_database_list(), get_subscription_list(), get_tables_to_repack(), get_tablespace_name(), get_tablespace_oid(), GetAllPublicationRelations(), getRelationsInNamespace(), GetSchemaPublicationRelations(), objectsInSchemaToOids(), pg_stat_get_autovacuum_scores(), populate_typ_list(), ReindexMultipleTables(), remove_dbtablespaces(), RemoveSubscriptionRel(), RenameTableSpace(), ThereIsAtLeastOneRole(), and vac_truncate_clog().
|
static |
Definition at line 917 of file tableam.h.
References Assert, bsysscan, CheckXidAlive, elog, ERROR, fb(), IndexFetchTableData::flags, RelationData::rd_tableam, IndexFetchTableData::rel, TableAmRoutine::scan_begin, SO_INTERNAL_FLAGS, TransactionIdIsValid, and unlikely.
Referenced by table_beginscan(), table_beginscan_analyze(), table_beginscan_bm(), table_beginscan_catalog(), table_beginscan_parallel(), table_beginscan_parallel_tidrange(), table_beginscan_sampling(), table_beginscan_strat(), table_beginscan_tid(), and table_beginscan_tidrange().
|
extern |
Definition at line 166 of file tableam.c.
References Assert, fb(), RelationData::rd_locator, RegisterSnapshot(), RelFileLocatorEquals, RestoreSnapshot(), SnapshotAny, SO_ALLOW_PAGEMODE, SO_ALLOW_STRAT, SO_ALLOW_SYNC, SO_TEMP_SNAPSHOT, SO_TYPE_SEQSCAN, and table_beginscan_common().
Referenced by _brin_parallel_scan_and_build(), _bt_parallel_scan_and_sort(), _gin_parallel_scan_and_build(), ExecSeqScanInitializeDSM(), and ExecSeqScanInitializeWorker().
|
extern |
Definition at line 193 of file tableam.c.
References Assert, fb(), RelationData::rd_locator, RegisterSnapshot(), RelFileLocatorEquals, RestoreSnapshot(), SnapshotAny, SO_ALLOW_PAGEMODE, SO_TEMP_SNAPSHOT, SO_TYPE_TIDRANGESCAN, and table_beginscan_common().
Referenced by ExecTidRangeScanInitializeDSM(), and ExecTidRangeScanInitializeWorker().
|
inlinestatic |
Definition at line 1011 of file tableam.h.
References fb(), IndexFetchTableData::flags, IndexFetchTableData::rel, SO_ALLOW_PAGEMODE, SO_ALLOW_STRAT, SO_ALLOW_SYNC, SO_TYPE_SAMPLESCAN, and table_beginscan_common().
Referenced by tablesample_init().
|
inlinestatic |
Definition at line 968 of file tableam.h.
References fb(), IndexFetchTableData::flags, IndexFetchTableData::rel, SO_ALLOW_PAGEMODE, SO_ALLOW_STRAT, SO_ALLOW_SYNC, SO_NONE, SO_TYPE_SEQSCAN, and table_beginscan_common().
Referenced by bt_check_every_level(), heapam_index_build_range_scan(), heapam_index_validate_scan(), IndexCheckExclusion(), pgstat_heap(), and systable_beginscan().
|
inlinestatic |
Definition at line 1035 of file tableam.h.
References fb(), IndexFetchTableData::flags, IndexFetchTableData::rel, SO_NONE, SO_TYPE_TIDSCAN, and table_beginscan_common().
Referenced by currtid_internal(), and TidListEval().
|
inlinestatic |
Definition at line 1119 of file tableam.h.
References fb(), IndexFetchTableData::flags, IndexFetchTableData::rel, SO_ALLOW_PAGEMODE, SO_TYPE_TIDRANGESCAN, and table_beginscan_common().
Referenced by TidRangeNext().
|
extern |
Definition at line 414 of file tableam.c.
References ParallelBlockTableScanDescData::base, fb(), InvalidBlockNumber, NBuffers, pg_atomic_init_u64(), ParallelTableScanDescData::phs_locator, RelationData::rd_locator, RelationGetNumberOfBlocks, RelationUsesLocalBuffers, SpinLockInit(), and synchronize_seqscans.
|
extern |
Definition at line 548 of file tableam.c.
References fb(), InvalidBlockNumber, PARALLEL_SEQSCAN_RAMPDOWN_CHUNKS, pg_atomic_fetch_add_u64(), and ss_report_location().
Referenced by heap_scan_stream_read_next_parallel().
|
extern |
Definition at line 433 of file tableam.c.
References fb(), and pg_atomic_write_u64().
|
extern |
Definition at line 453 of file tableam.c.
References fb(), InvalidBlockNumber, Max, MaxBlockNumber, Min, PARALLEL_SEQSCAN_MAX_CHUNK_SIZE, PARALLEL_SEQSCAN_NCHUNKS, pg_nextpower2_32(), SpinLockAcquire(), SpinLockRelease(), ss_get_location(), and StaticAssertDecl.
Referenced by heap_scan_stream_read_next_parallel().
|
extern |
Definition at line 718 of file tableam.c.
References clamp_row_est(), fb(), fillfactor, get_rel_data_width(), HEAP_DEFAULT_FILLFACTOR, RelationData::rd_rel, RelationGetFillFactor, and RelationGetNumberOfBlocks.
Referenced by heapam_estimate_rel_size().
|
extern |
Definition at line 681 of file tableam.c.
References fb(), i, InvalidForkNumber, MAX_FORKNUM, RelationGetSmgr(), and smgrnblocks().
|
inlinestatic |
Definition at line 1061 of file tableam.h.
References RelationData::rd_tableam, TableScanDescData::rs_rd, and TableAmRoutine::scan_end.
Referenced by acquire_sample_rows(), AlterTableMoveAll(), AlterTableSpaceOptions(), ATRewriteTable(), BuildDatabaseList(), BuildRelationList(), check_db_file_conflict(), check_default_partition_contents(), CopyRelationTo(), CreateDatabaseUsingFileCopy(), currtid_internal(), do_autovacuum(), DropSetting(), DropTableSpace(), ExecEndBitmapHeapScan(), ExecEndSampleScan(), ExecEndSeqScan(), ExecEndTidRangeScan(), ExecEndTidScan(), find_typed_table_dependencies(), get_all_vacuum_rels(), get_database_list(), get_subscription_list(), get_tables_to_repack(), get_tablespace_name(), get_tablespace_oid(), GetAllPublicationRelations(), getRelationsInNamespace(), GetSchemaPublicationRelations(), heapam_index_build_range_scan(), heapam_index_validate_scan(), heapam_relation_copy_for_cluster(), IndexCheckExclusion(), MergePartitionsMoveRows(), objectsInSchemaToOids(), pg_stat_get_autovacuum_scores(), pgrowlocks(), pgstat_heap(), populate_typ_list(), ReindexMultipleTables(), RelationFindDeletedTupleInfoSeq(), RelationFindReplTupleSeq(), remove_dbtablespaces(), RemoveSubscriptionRel(), RenameTableSpace(), SplitPartitionMoveRows(), systable_endscan(), ThereIsAtLeastOneRole(), vac_truncate_clog(), validateDomainCheckConstraint(), validateDomainNotNullConstraint(), and validateForeignKeyConstraint().
Definition at line 1663 of file tableam.h.
References TableAmRoutine::finish_bulk_insert, RelationData::rd_tableam, and IndexFetchTableData::rel.
Referenced by ATRewriteTable(), CopyMultiInsertBufferCleanup(), deleteSplitPartitionContext(), intorel_shutdown(), MergePartitionsMoveRows(), and transientrel_shutdown().
|
inlinestatic |
Definition at line 1880 of file tableam.h.
References callback(), fb(), and progress.
Referenced by summarize_range().
|
inlinestatic |
Definition at line 1847 of file tableam.h.
References callback(), fb(), InvalidBlockNumber, and progress.
Referenced by _brin_parallel_scan_and_build(), _bt_parallel_scan_and_sort(), _bt_spools_heapscan(), _gin_parallel_scan_and_build(), blbuild(), brinbuild(), bt_check_every_level(), ginbuild(), gistbuild(), hashbuild(), and spgbuild().
|
inlinestatic |
Definition at line 1412 of file tableam.h.
References fb(), TableAmRoutine::index_delete_tuples, RelationData::rd_tableam, and IndexFetchTableData::rel.
Referenced by _bt_delitems_delete_check(), and index_compute_xid_horizon_for_tuples().
|
inlinestatic |
Definition at line 1246 of file tableam.h.
References Assert, bsysscan, CheckXidAlive, elog, ERROR, IndexFetchTableData::flags, TableAmRoutine::index_fetch_begin, RelationData::rd_tableam, IndexFetchTableData::rel, SO_INTERNAL_FLAGS, TransactionIdIsValid, and unlikely.
Referenced by index_beginscan(), index_beginscan_parallel(), table_index_fetch_tuple_check(), and unique_key_recheck().
|
inlinestatic |
Definition at line 1275 of file tableam.h.
References TableAmRoutine::index_fetch_end, RelationData::rd_tableam, and IndexFetchTableData::rel.
Referenced by index_endscan(), table_index_fetch_tuple_check(), and unique_key_recheck().
|
inlinestatic |
Definition at line 1266 of file tableam.h.
References TableAmRoutine::index_fetch_reset, RelationData::rd_tableam, and IndexFetchTableData::rel.
Referenced by index_getnext_tid(), index_parallelrescan(), index_rescan(), and index_restrpos().
|
inlinestatic |
Definition at line 1305 of file tableam.h.
References fb(), TableAmRoutine::index_fetch_tuple, RelationData::rd_tableam, and IndexFetchTableData::rel.
Referenced by index_fetch_heap(), table_index_fetch_tuple_check(), and unique_key_recheck().
|
extern |
Definition at line 242 of file tableam.c.
References ExecDropSingleTupleTableSlot(), fb(), SO_NONE, table_index_fetch_begin(), table_index_fetch_end(), table_index_fetch_tuple(), and table_slot_create().
Referenced by _bt_check_unique().
|
inlinestatic |
Definition at line 1911 of file tableam.h.
References fb().
Referenced by validate_index().
|
inlinestatic |
Definition at line 1513 of file tableam.h.
References fb(), TableAmRoutine::multi_insert, RelationData::rd_tableam, and IndexFetchTableData::rel.
Referenced by CopyMultiInsertBufferFlush().
Definition at line 131 of file tableam.c.
References add_size(), Assert, EstimateSnapshotSpace(), fb(), IsMVCCSnapshot, TableAmRoutine::parallelscan_estimate, RelationData::rd_tableam, and SnapshotAny.
Referenced by _brin_parallel_estimate_shared(), _bt_parallel_estimate_shared(), _gin_parallel_estimate_shared(), ExecSeqScanEstimate(), and ExecTidRangeScanEstimate().
|
extern |
Definition at line 146 of file tableam.c.
References Assert, fb(), IsMVCCSnapshot, TableAmRoutine::parallelscan_initialize, RelationData::rd_tableam, SerializeSnapshot(), and SnapshotAny.
Referenced by _brin_begin_parallel(), _bt_begin_parallel(), _gin_begin_parallel(), ExecSeqScanInitializeDSM(), and ExecTidRangeScanInitializeDSM().
|
inlinestatic |
Definition at line 1226 of file tableam.h.
References fb(), TableAmRoutine::parallelscan_reinitialize, RelationData::rd_tableam, and IndexFetchTableData::rel.
Referenced by ExecSeqScanReInitializeDSM(), and ExecTidRangeScanReInitializeDSM().
|
inlinestatic |
Definition at line 1719 of file tableam.h.
References fb(), RelationData::rd_tableam, IndexFetchTableData::rel, and TableAmRoutine::relation_copy_data.
Referenced by ATExecSetTableSpace().
|
inlinestatic |
Definition at line 1748 of file tableam.h.
References fb().
Referenced by copy_table_data().
|
inlinestatic |
Definition at line 2009 of file tableam.h.
References fb(), RelationData::rd_tableam, IndexFetchTableData::rel, and TableAmRoutine::relation_estimate_size.
Referenced by estimate_rel_size().
|
inlinestatic |
Definition at line 1988 of file tableam.h.
Referenced by toast_fetch_datum(), and toast_fetch_datum_slice().
Definition at line 1949 of file tableam.h.
References RelationData::rd_tableam, IndexFetchTableData::rel, and TableAmRoutine::relation_needs_toast_table.
Referenced by needs_toast_table().
Definition at line 1707 of file tableam.h.
References RelationData::rd_tableam, IndexFetchTableData::rel, and TableAmRoutine::relation_nontransactional_truncate.
Referenced by heap_truncate_one_rel().
|
inlinestatic |
Definition at line 1689 of file tableam.h.
References fb(), RelationData::rd_tableam, IndexFetchTableData::rel, and TableAmRoutine::relation_set_new_filelocator.
Referenced by heap_create(), and RelationSetNewRelfilenumber().
|
inlinestatic |
Definition at line 1940 of file tableam.h.
References fb(), RelationData::rd_tableam, IndexFetchTableData::rel, and TableAmRoutine::relation_size.
Referenced by RelationGetNumberOfBlocksInFork().
Definition at line 1959 of file tableam.h.
References RelationData::rd_tableam, IndexFetchTableData::rel, and TableAmRoutine::relation_toast_am.
Referenced by create_toast_table().
|
inlinestatic |
Definition at line 1779 of file tableam.h.
References RelationData::rd_tableam, IndexFetchTableData::rel, and TableAmRoutine::relation_vacuum.
Referenced by vacuum_rel().
|
inlinestatic |
Definition at line 1070 of file tableam.h.
References RelationData::rd_tableam, TableScanDescData::rs_rd, and TableAmRoutine::scan_rescan.
Referenced by ExecReScanBitmapHeapScan(), ExecReScanSeqScan(), ExecReScanTidScan(), RelationFindDeletedTupleInfoSeq(), and RelationFindReplTupleSeq().
|
inlinestatic |
Definition at line 1084 of file tableam.h.
References fb(), RelationData::rd_tableam, TableScanDescData::rs_rd, and TableAmRoutine::scan_rescan.
Referenced by tablesample_init().
|
inlinestatic |
Definition at line 1141 of file tableam.h.
References Assert, fb(), and SO_TYPE_TIDRANGESCAN.
Referenced by TidRangeNext().
|
inlinestatic |
Definition at line 1794 of file tableam.h.
References RelationData::rd_tableam, TableScanDescData::rs_rd, and TableAmRoutine::scan_analyze_next_block.
Referenced by acquire_sample_rows().
|
inlinestatic |
Definition at line 1810 of file tableam.h.
References fb(), RelationData::rd_tableam, TableScanDescData::rs_rd, and TableAmRoutine::scan_analyze_next_tuple.
Referenced by acquire_sample_rows().
|
inlinestatic |
Definition at line 2037 of file tableam.h.
References RelationData::rd_tableam, TableScanDescData::rs_rd, and TableAmRoutine::scan_bitmap_next_tuple.
Referenced by BitmapHeapNext().
|
inlinestatic |
Definition at line 1096 of file tableam.h.
References Assert, BackwardScanDirection, fb(), ForwardScanDirection, RelationGetRelid, and TupleTableSlot::tts_tableOid.
Referenced by ATRewriteTable(), check_default_partition_contents(), CopyRelationTo(), heapam_relation_copy_for_cluster(), IndexCheckExclusion(), MergePartitionsMoveRows(), RelationFindDeletedTupleInfoSeq(), RelationFindReplTupleSeq(), SeqNext(), SplitPartitionMoveRows(), systable_getnext(), validateDomainCheckConstraint(), validateDomainNotNullConstraint(), and validateForeignKeyConstraint().
|
inlinestatic |
Definition at line 1157 of file tableam.h.
References Assert, BackwardScanDirection, fb(), ForwardScanDirection, and SO_TYPE_TIDRANGESCAN.
Referenced by TidRangeNext().
|
inlinestatic |
Definition at line 2060 of file tableam.h.
References fb(), RelationData::rd_tableam, TableScanDescData::rs_rd, and TableAmRoutine::scan_sample_next_block.
Referenced by tablesample_getnext().
|
inlinestatic |
Definition at line 2075 of file tableam.h.
References fb(), RelationData::rd_tableam, TableScanDescData::rs_rd, and TableAmRoutine::scan_sample_next_tuple.
Referenced by tablesample_getnext().
|
extern |
Definition at line 59 of file tableam.c.
References Assert, fb(), RelationData::rd_rel, RelationData::rd_tableam, TableAmRoutine::slot_callbacks, TTSOpsHeapTuple, and TTSOpsVirtual.
Referenced by apply_concurrent_changes(), ATRewriteTable(), ExecGetAllNullSlot(), ExecGetReturningSlot(), ExecGetTriggerNewSlot(), ExecGetTriggerOldSlot(), ExecInitBitmapHeapScan(), ExecInitIndexOnlyScan(), ExecInitIndexScan(), ExecInitSampleScan(), ExecInitSeqScan(), ExecInitTidRangeScan(), ExecInitTidScan(), and table_slot_create().
|
extern |
Definition at line 92 of file tableam.c.
References fb(), lappend(), MakeSingleTupleTableSlot(), RelationGetDescr, and table_slot_callbacks().
Referenced by acquire_sample_rows(), apply_handle_tuple_routing(), apply_handle_update_internal(), build_index_value_desc(), check_default_partition_contents(), check_exclusion_or_unique_constraint(), CopyFrom(), CopyMultiInsertInfoNextFreeSlot(), CopyRelationTo(), createSplitPartitionContext(), EvalPlanQualSlot(), ExecCrossPartitionUpdate(), ExecForPortionOfLeftovers(), ExecInitInsertProjection(), ExecInitMerge(), ExecInitMergeTupleSlots(), ExecInitModifyTable(), ExecInitPartitionInfo(), ExecInitRoutingInfo(), ExecInitUpdateProjection(), FindConflictTuple(), FindReplTupleInLocalRel(), get_actual_variable_range(), heap_entry_is_visible(), heapam_index_build_range_scan(), heapam_relation_copy_for_cluster(), IndexCheckExclusion(), MergePartitionsMoveRows(), RelationFindDeletedTupleInfoByIndex(), RelationFindDeletedTupleInfoSeq(), RelationFindReplTupleSeq(), ri_FastPathCheck(), ri_FastPathGetEntry(), SplitPartitionMoveRows(), systable_beginscan(), systable_beginscan_ordered(), table_index_fetch_tuple_check(), unique_key_recheck(), validateDomainCheckConstraint(), validateDomainNotNullConstraint(), and validateForeignKeyConstraint().
|
inlinestatic |
Definition at line 1491 of file tableam.h.
References fb(), RelationData::rd_tableam, IndexFetchTableData::rel, and TableAmRoutine::tuple_complete_speculative.
Referenced by ExecInsert().
|
inlinestatic |
Definition at line 1549 of file tableam.h.
References fb(), RelationData::rd_tableam, IndexFetchTableData::rel, and TableAmRoutine::tuple_delete.
Referenced by apply_concurrent_delete(), ExecDeleteAct(), and simple_table_tuple_delete().
|
inlinestatic |
Definition at line 1344 of file tableam.h.
References bsysscan, CheckXidAlive, elog, ERROR, RelationData::rd_tableam, IndexFetchTableData::rel, TransactionIdIsValid, TableAmRoutine::tuple_fetch_row_version, and unlikely.
Referenced by AfterTriggerExecute(), EvalPlanQualFetchRowMark(), ExecCheckTIDVisible(), ExecCrossPartitionUpdate(), ExecDelete(), ExecForPortionOfLeftovers(), ExecMergeMatched(), ExecModifyTable(), ExecOnConflictSelect(), ExecUpdate(), GetTupleForTrigger(), heap_entry_is_visible(), and TidNext().
|
extern |
Definition at line 269 of file tableam.c.
References ereport, errcode(), errmsg, ERROR, fb(), ItemPointerGetBlockNumberNoCheck(), ItemPointerGetOffsetNumberNoCheck(), RelationData::rd_tableam, RelationGetRelationName, TableScanDescData::rs_rd, TableAmRoutine::tuple_get_latest_tid, and TableAmRoutine::tuple_tid_valid.
Referenced by currtid_internal(), and TidNext().
|
inlinestatic |
Definition at line 1458 of file tableam.h.
References fb(), RelationData::rd_tableam, IndexFetchTableData::rel, and TableAmRoutine::tuple_insert.
Referenced by apply_concurrent_insert(), ATRewriteTable(), CopyFrom(), ExecInsert(), intorel_receive(), MergePartitionsMoveRows(), simple_table_tuple_insert(), SplitPartitionMoveRows(), and transientrel_receive().
|
inlinestatic |
Definition at line 1477 of file tableam.h.
References fb(), RelationData::rd_tableam, IndexFetchTableData::rel, and TableAmRoutine::tuple_insert_speculative.
Referenced by ExecInsert().
|
inlinestatic |
Definition at line 1648 of file tableam.h.
References fb(), IndexFetchTableData::flags, mode, RelationData::rd_tableam, IndexFetchTableData::rel, and TableAmRoutine::tuple_lock.
Referenced by ExecDelete(), ExecLockRows(), ExecMergeMatched(), ExecOnConflictLockRow(), ExecUpdate(), FindConflictTuple(), GetTupleForTrigger(), RelationFindReplTupleByIndex(), RelationFindReplTupleSeq(), and ri_LockPKTuple().
|
inlinestatic |
Definition at line 1391 of file tableam.h.
References RelationData::rd_tableam, IndexFetchTableData::rel, and TableAmRoutine::tuple_satisfies_snapshot.
Referenced by ExecCheckTupleVisible(), RI_FKey_check(), and systable_recheck_tuple().
|
inlinestatic |
Definition at line 1370 of file tableam.h.
References RelationData::rd_tableam, TableScanDescData::rs_rd, and TableAmRoutine::tuple_tid_valid.
Referenced by TidListEval().
|
inlinestatic |
Definition at line 1600 of file tableam.h.
References fb(), RelationData::rd_tableam, IndexFetchTableData::rel, and TableAmRoutine::tuple_update.
Referenced by apply_concurrent_update(), ExecUpdateAct(), and simple_table_tuple_update().
|
extern |
Definition at line 49 of file tableam.c.
Referenced by ATPrepSetAccessMethod(), and DefineRelation().
|
extern |
Definition at line 50 of file tableam.c.
Referenced by initscan(), and table_block_parallelscan_initialize().