|
PostgreSQL Source Code git master
|
#include "postgres.h"#include "access/brin.h"#include "access/brin_page.h"#include "access/brin_pageops.h"#include "access/brin_xlog.h"#include "access/relation.h"#include "access/reloptions.h"#include "access/relscan.h"#include "access/table.h"#include "access/tableam.h"#include "access/xloginsert.h"#include "catalog/index.h"#include "catalog/pg_am.h"#include "commands/vacuum.h"#include "miscadmin.h"#include "pgstat.h"#include "postmaster/autovacuum.h"#include "storage/bufmgr.h"#include "storage/freespace.h"#include "tcop/tcopprot.h"#include "utils/acl.h"#include "utils/datum.h"#include "utils/fmgrprotos.h"#include "utils/guc.h"#include "utils/index_selfuncs.h"#include "utils/memutils.h"#include "utils/rel.h"#include "utils/tuplesort.h"
Go to the source code of this file.
Data Structures | |
| struct | BrinShared |
| struct | BrinLeader |
| struct | BrinBuildState |
| struct | BrinInsertState |
| struct | BrinOpaque |
Macros | |
| #define | PARALLEL_KEY_BRIN_SHARED UINT64CONST(0xB000000000000001) |
| #define | PARALLEL_KEY_TUPLESORT UINT64CONST(0xB000000000000002) |
| #define | PARALLEL_KEY_QUERY_TEXT UINT64CONST(0xB000000000000003) |
| #define | PARALLEL_KEY_WAL_USAGE UINT64CONST(0xB000000000000004) |
| #define | PARALLEL_KEY_BUFFER_USAGE UINT64CONST(0xB000000000000005) |
| #define | ParallelTableScanFromBrinShared(shared) (ParallelTableScanDesc) ((char *) (shared) + BUFFERALIGN(sizeof(BrinShared))) |
| #define | BRIN_ALL_BLOCKRANGES InvalidBlockNumber |
| #define BRIN_ALL_BLOCKRANGES InvalidBlockNumber |
| #define PARALLEL_KEY_BRIN_SHARED UINT64CONST(0xB000000000000001) |
| #define PARALLEL_KEY_BUFFER_USAGE UINT64CONST(0xB000000000000005) |
| #define PARALLEL_KEY_QUERY_TEXT UINT64CONST(0xB000000000000003) |
| #define PARALLEL_KEY_TUPLESORT UINT64CONST(0xB000000000000002) |
| #define PARALLEL_KEY_WAL_USAGE UINT64CONST(0xB000000000000004) |
| #define ParallelTableScanFromBrinShared | ( | shared | ) | (ParallelTableScanDesc) ((char *) (shared) + BUFFERALIGN(sizeof(BrinShared))) |
Definition at line 116 of file brin.c.
|
static |
Definition at line 2378 of file brin.c.
References _brin_end_parallel(), _brin_leader_participate_as_worker(), _brin_parallel_estimate_shared(), Assert, ConditionVariableInit(), CreateParallelContext(), debug_query_string, DestroyParallelContext(), EnterParallelMode(), ParallelContext::estimator, ExitParallelMode(), fb(), GetTransactionSnapshot(), BrinShared::heaprelid, BrinShared::indexrelid, BrinShared::indtuples, InitializeParallelDSM(), BrinShared::isconcurrent, IsMVCCSnapshot, LaunchParallelWorkers(), mul_size(), BrinShared::mutex, BrinShared::nparticipantsdone, ParallelContext::nworkers, ParallelContext::nworkers_launched, BrinShared::pagesPerRange, palloc0_object, PARALLEL_KEY_BRIN_SHARED, PARALLEL_KEY_BUFFER_USAGE, PARALLEL_KEY_QUERY_TEXT, PARALLEL_KEY_TUPLESORT, PARALLEL_KEY_WAL_USAGE, ParallelTableScanFromBrinShared, pgstat_get_my_query_id(), BrinShared::queryid, RegisterSnapshot(), RelationGetRelid, BrinShared::reltuples, BrinShared::scantuplesortstates, ParallelContext::seg, shm_toc_allocate(), shm_toc_estimate_chunk, shm_toc_estimate_keys, shm_toc_insert(), SnapshotAny, SpinLockInit, table_parallelscan_initialize(), ParallelContext::toc, tuplesort_estimate_shared(), tuplesort_initialize_shared(), UnregisterSnapshot(), WaitForParallelWorkersToAttach(), and BrinShared::workersdonecv.
Referenced by brinbuild().
|
static |
Definition at line 2563 of file brin.c.
References DestroyParallelContext(), ExitParallelMode(), fb(), i, InstrAccumParallelQuery(), IsMVCCSnapshot, UnregisterSnapshot(), and WaitForParallelWorkersToFinish().
Referenced by _brin_begin_parallel(), and brinbuild().
|
static |
Definition at line 2793 of file brin.c.
References _brin_parallel_scan_and_build(), fb(), maintenance_work_mem, and BrinLeader::nparticipanttuplesorts.
Referenced by _brin_begin_parallel().
| void _brin_parallel_build_main | ( | dsm_segment * | seg, |
| shm_toc * | toc | ||
| ) |
Definition at line 2878 of file brin.c.
References _brin_parallel_scan_and_build(), AccessExclusiveLock, Assert, debug_query_string, fb(), BrinShared::heaprelid, index_close(), index_open(), BrinShared::indexrelid, initialize_brin_buildstate(), InstrEndParallelQuery(), InstrStartParallelQuery(), InvalidBlockNumber, BrinShared::isconcurrent, maintenance_work_mem, MyProc, BrinShared::pagesPerRange, PARALLEL_KEY_BRIN_SHARED, PARALLEL_KEY_BUFFER_USAGE, PARALLEL_KEY_QUERY_TEXT, PARALLEL_KEY_TUPLESORT, PARALLEL_KEY_WAL_USAGE, ParallelWorkerNumber, pgstat_report_activity(), pgstat_report_query_id(), PROC_IN_SAFE_IC, BrinShared::queryid, RowExclusiveLock, BrinShared::scantuplesortstates, ShareLock, ShareUpdateExclusiveLock, shm_toc_lookup(), STATE_RUNNING, PGPROC::statusFlags, table_close(), table_open(), and tuplesort_attach_shared().
Definition at line 2782 of file brin.c.
References add_size(), BUFFERALIGN, and table_parallelscan_estimate().
Referenced by _brin_begin_parallel().
|
static |
Definition at line 2594 of file brin.c.
References ConditionVariableCancelSleep(), ConditionVariableSleep(), fb(), BrinShared::indtuples, BrinShared::mutex, BrinShared::nparticipantsdone, BrinShared::reltuples, SpinLockAcquire, SpinLockRelease, and BrinShared::workersdonecv.
Referenced by _brin_parallel_merge().
|
static |
Definition at line 2635 of file brin.c.
References _brin_parallel_heapscan(), ALLOCSET_DEFAULT_SIZES, AllocSetContextCreate, Assert, brin_deform_tuple(), brin_doinsert(), brin_fill_empty_ranges(), brin_form_tuple(), brin_new_memtuple(), BrinTuple::bt_blkno, CurrentMemoryContext, fb(), InvalidBlockNumber, len, MemoryContextDelete(), MemoryContextReset(), MemoryContextSwitchTo(), pfree(), tuplesort_end(), tuplesort_getbrintuple(), tuplesort_performsort(), and union_tuples().
Referenced by brinbuild().
|
static |
Definition at line 2821 of file brin.c.
References brinbuildCallbackParallel(), BuildIndexInfo(), ConditionVariableSignal(), fb(), form_and_spill_tuple(), IndexInfo::ii_Concurrent, BrinShared::indtuples, BrinShared::isconcurrent, BrinShared::mutex, BrinShared::nparticipantsdone, palloc0_object, ParallelTableScanFromBrinShared, BrinShared::reltuples, SpinLockAcquire, SpinLockRelease, table_beginscan_parallel(), table_index_build_scan(), tuplesort_begin_index_brin(), tuplesort_end(), TUPLESORT_NONE, tuplesort_performsort(), and BrinShared::workersdonecv.
Referenced by _brin_leader_participate_as_worker(), and _brin_parallel_build_main().
|
static |
Definition at line 2220 of file brin.c.
References Assert, BoolGetDatum(), BRIN_PROCNUM_ADDVALUE, BrinValues::bv_allnulls, BrinValues::bv_hasnulls, DatumGetBool(), fb(), FunctionCall4Coll(), index_getprocinfo(), PointerGetDatum(), and values.
Referenced by brinbuildCallback(), brinbuildCallbackParallel(), and brininsert().
Definition at line 1582 of file brin.c.
References ALLOCSET_SMALL_SIZES, AllocSetContextCreate, BRIN_PROCNUM_OPCINFO, CurrentMemoryContext, DatumGetPointer(), fb(), FunctionCall1, index_getprocinfo(), MemoryContextSwitchTo(), TupleDescData::natts, ObjectIdGetDatum(), palloc(), palloc_array, pfree(), RelationGetDescr, and TupleDescAttr().
Referenced by brin_page_items(), brinbeginscan(), initialize_brin_buildstate(), and initialize_brin_insertstate().
|
static |
Definition at line 2971 of file brin.c.
References brin_form_tuple(), brin_new_memtuple(), fb(), and MemoryContextSwitchTo().
Referenced by brin_fill_empty_ranges().
| Datum brin_desummarize_range | ( | PG_FUNCTION_ARGS | ) |
Definition at line 1492 of file brin.c.
References aclcheck_error(), ACLCHECK_NOT_OWNER, brinRevmapDesummarizeRange(), DEBUG1, ereport, errcode(), ERRCODE_UNDEFINED_TABLE, errhint(), errmsg(), ERROR, fb(), GetUserId(), index_close(), index_open(), IndexGetRelation(), MaxBlockNumber, OBJECT_INDEX, object_ownercheck(), OidIsValid, PG_GETARG_INT64, PG_GETARG_OID, PG_RETURN_VOID, RelationData::rd_index, RelationData::rd_rel, RecoveryInProgress(), RelationGetRelationName, ShareUpdateExclusiveLock, table_close(), and table_open().
|
static |
Definition at line 3008 of file brin.c.
References brin_build_empty_tuple(), brin_doinsert(), fb(), and InvalidBlockNumber.
Referenced by _brin_parallel_merge(), and brinbuild().
Definition at line 1637 of file brin.c.
References Assert, fb(), and MemoryContextDelete().
Referenced by brin_page_items(), brinendscan(), and terminate_brin_buildstate().
| Datum brin_summarize_new_values | ( | PG_FUNCTION_ARGS | ) |
Definition at line 1367 of file brin.c.
References BRIN_ALL_BLOCKRANGES, brin_summarize_range(), DirectFunctionCall2, Int64GetDatum(), and PG_GETARG_DATUM.
| Datum brin_summarize_range | ( | PG_FUNCTION_ARGS | ) |
Definition at line 1382 of file brin.c.
References aclcheck_error(), ACLCHECK_NOT_OWNER, AtEOXact_GUC(), BRIN_ALL_BLOCKRANGES, brinsummarize(), DEBUG1, ereport, errcode(), ERRCODE_UNDEFINED_TABLE, errhint(), errmsg(), ERROR, fb(), GetUserIdAndSecContext(), index_close(), index_open(), IndexGetRelation(), InvalidOid, NewGUCNestLevel(), OBJECT_INDEX, object_ownercheck(), OidIsValid, PG_GETARG_INT64, PG_GETARG_OID, PG_RETURN_INT32, RelationData::rd_index, RelationData::rd_rel, RecoveryInProgress(), RelationGetRelationName, RestrictSearchPath(), SECURITY_RESTRICTED_OPERATION, SetUserIdAndSecContext(), ShareUpdateExclusiveLock, table_close(), and table_open().
Referenced by brin_summarize_new_values(), and perform_work_item().
|
static |
Definition at line 2173 of file brin.c.
References block_range_read_stream_cb(), brin_page_cleanup(), buf, CHECK_FOR_INTERRUPTS, BlockRangeReadStreamPrivate::current_blocknum, fb(), FreeSpaceMapVacuum(), InvalidBuffer, BlockRangeReadStreamPrivate::last_exclusive, MAIN_FORKNUM, read_stream_begin_relation(), read_stream_end(), READ_STREAM_FULL, READ_STREAM_MAINTENANCE, read_stream_next_buffer(), READ_STREAM_USE_BATCHING, RelationGetNumberOfBlocks, and ReleaseBuffer().
Referenced by brinvacuumcleanup().
| IndexScanDesc brinbeginscan | ( | Relation | r, |
| int | nkeys, | ||
| int | norderbys | ||
| ) |
Definition at line 540 of file brin.c.
References BrinOpaque::bo_bdesc, BrinOpaque::bo_pagesPerRange, BrinOpaque::bo_rmAccess, brin_build_desc(), brinRevmapInitialize(), IndexScanDescData::opaque, palloc_object, and RelationGetIndexScan().
Referenced by brinhandler().
| IndexBuildResult * brinbuild | ( | Relation | heap, |
| Relation | index, | ||
| IndexInfo * | indexInfo | ||
| ) |
Definition at line 1106 of file brin.c.
References _brin_begin_parallel(), _brin_end_parallel(), _brin_parallel_merge(), Assert, BMR_REL, BRIN_CURRENT_VERSION, brin_fill_empty_ranges(), BRIN_METAPAGE_BLKNO, brin_metapage_init(), brinbuildCallback(), BrinGetPagesPerRange, brinRevmapInitialize(), brinRevmapTerminate(), BufferGetBlockNumber(), BufferGetPage(), EB_LOCK_FIRST, EB_SKIP_EXTENSION_LOCK, elog, ERROR, ExtendBufferedRel(), fb(), form_and_insert_tuple(), IndexBuildResult::heap_tuples, IndexInfo::ii_Concurrent, IndexInfo::ii_ParallelWorkers, IndexBuildResult::index_tuples, initialize_brin_buildstate(), MAIN_FORKNUM, maintenance_work_mem, MarkBufferDirty(), PageSetLSN(), palloc0_object, palloc_object, REGBUF_STANDARD, REGBUF_WILL_INIT, RelationGetNumberOfBlocks, RelationGetRelationName, RelationNeedsWAL, SizeOfBrinCreateIdx, table_index_build_scan(), terminate_brin_buildstate(), tuplesort_begin_index_brin(), TUPLESORT_NONE, UnlockReleaseBuffer(), xl_brin_createidx::version, XLOG_BRIN_CREATE_INDEX, XLogBeginInsert(), XLogInsert(), XLogRegisterBuffer(), and XLogRegisterData().
Referenced by brinhandler().
|
static |
Definition at line 996 of file brin.c.
References add_values_to_range(), BRIN_elog, brin_memtuple_initialize(), DEBUG2, fb(), form_and_insert_tuple(), ItemPointerGetBlockNumber(), and values.
Referenced by brinbuild(), and summarize_range().
|
static |
Definition at line 1047 of file brin.c.
References add_values_to_range(), BRIN_elog, brin_memtuple_initialize(), DEBUG2, fb(), form_and_spill_tuple(), ItemPointerGetBlockNumber(), and values.
Referenced by _brin_parallel_scan_and_build().
Definition at line 1275 of file brin.c.
References BMR_REL, BRIN_CURRENT_VERSION, brin_metapage_init(), BrinGetPagesPerRange, BufferGetPage(), EB_LOCK_FIRST, EB_SKIP_EXTENSION_LOCK, END_CRIT_SECTION, ExtendBufferedRel(), fb(), INIT_FORKNUM, log_newpage_buffer(), MarkBufferDirty(), START_CRIT_SECTION, and UnlockReleaseBuffer().
Referenced by brinhandler().
| IndexBulkDeleteResult * brinbulkdelete | ( | IndexVacuumInfo * | info, |
| IndexBulkDeleteResult * | stats, | ||
| IndexBulkDeleteCallback | callback, | ||
| void * | callback_state | ||
| ) |
Definition at line 1304 of file brin.c.
References fb(), and palloc0_object.
Referenced by brinhandler().
| void brinendscan | ( | IndexScanDesc | scan | ) |
Definition at line 979 of file brin.c.
References BrinOpaque::bo_bdesc, BrinOpaque::bo_rmAccess, brin_free_desc(), brinRevmapTerminate(), IndexScanDescData::opaque, and pfree().
Referenced by brinhandler().
| int64 bringetbitmap | ( | IndexScanDesc | scan, |
| TIDBitmap * | tbm | ||
| ) |
Definition at line 568 of file brin.c.
References AccessShareLock, addrange(), ALLOCSET_DEFAULT_SIZES, AllocSetContextCreate, Assert, BrinOpaque::bo_bdesc, BrinOpaque::bo_pagesPerRange, BrinOpaque::bo_rmAccess, brin_copy_tuple(), brin_deform_tuple(), brin_new_memtuple(), BRIN_PROCNUM_CONSISTENT, brinGetTupleForHeapBlock(), buf, BUFFER_LOCK_SHARE, BUFFER_LOCK_UNLOCK, BrinValues::bv_allnulls, CHECK_FOR_INTERRUPTS, check_null_keys(), CurrentMemoryContext, DatumGetBool(), fb(), fmgr_info_copy(), FunctionCall3Coll(), FunctionCall4Coll(), i, index_getprocinfo(), IndexGetRelation(), IndexScanDescData::indexRelation, IndexScanDescData::instrument, Int32GetDatum(), InvalidBuffer, InvalidOid, IndexScanDescData::keyData, len, LockBuffer(), MAXALIGN, MemoryContextDelete(), MemoryContextReset(), MemoryContextSwitchTo(), Min, IndexScanInstrumentation::nsearches, IndexScanDescData::numberOfKeys, IndexScanDescData::opaque, palloc(), palloc0_array, PG_USED_FOR_ASSERTS_ONLY, pgstat_count_index_scan, PointerGetDatum(), RelationGetNumberOfBlocks, RelationGetRelid, ReleaseBuffer(), ScanKeyData::sk_collation, SK_ISNULL, table_close(), table_open(), tbm_add_page(), and TupleDescAttr().
Referenced by brinhandler().
| void brinGetStats | ( | Relation | index, |
| BrinStatsData * | stats | ||
| ) |
Definition at line 1649 of file brin.c.
References BRIN_METAPAGE_BLKNO, BUFFER_LOCK_SHARE, BufferGetPage(), fb(), BrinMetaPageData::lastRevmapPage, LockBuffer(), PageGetContents(), BrinStatsData::pagesPerRange, BrinMetaPageData::pagesPerRange, ReadBuffer(), BrinStatsData::revmapNumPages, and UnlockReleaseBuffer().
Referenced by brincostestimate().
| Datum brinhandler | ( | PG_FUNCTION_ARGS | ) |
Definition at line 250 of file brin.c.
References BRIN_LAST_OPTIONAL_PROCNUM, BRIN_PROCNUM_OPTIONS, brinbeginscan(), brinbuild(), brinbuildempty(), brinbulkdelete(), brincostestimate(), brinendscan(), bringetbitmap(), brininsert(), brininsertcleanup(), brinoptions(), brinrescan(), brinvacuumcleanup(), brinvalidate(), fb(), InvalidOid, PG_RETURN_POINTER, IndexAmRoutine::type, and VACUUM_OPTION_PARALLEL_CLEANUP.
| bool brininsert | ( | Relation | idxRel, |
| Datum * | values, | ||
| bool * | nulls, | ||
| ItemPointer | heaptid, | ||
| Relation | heapRel, | ||
| IndexUniqueCheck | checkUnique, | ||
| bool | indexUnchanged, | ||
| IndexInfo * | indexInfo | ||
| ) |
Definition at line 345 of file brin.c.
References add_values_to_range(), ALLOCSET_DEFAULT_SIZES, AllocSetContextCreate, AutoVacuumRequestWork(), AVW_BRINSummarizeRange, BrinInsertState::bis_desc, BrinInsertState::bis_pages_per_range, BrinInsertState::bis_rmAccess, brin_can_do_samepage_update(), brin_copy_tuple(), brin_deform_tuple(), brin_doupdate(), brin_form_tuple(), BrinGetAutoSummarize, brinGetTupleForHeapBlock(), buf, BUFFER_LOCK_SHARE, BUFFER_LOCK_UNLOCK, BufferGetPage(), BufferIsValid(), CHECK_FOR_INTERRUPTS, CurrentMemoryContext, ereport, errcode(), errmsg(), fb(), FirstOffsetNumber, IndexInfo::ii_AmCache, initialize_brin_insertstate(), InvalidBuffer, ItemIdGetLength, ItemPointerGetBlockNumber(), ItemPointerGetOffsetNumber(), LockBuffer(), LOG, MemoryContextDelete(), MemoryContextReset(), MemoryContextSwitchTo(), PageGetItemId(), RelationGetRelationName, RelationGetRelid, ReleaseBuffer(), and values.
Referenced by brinhandler().
Definition at line 513 of file brin.c.
References BrinInsertState::bis_rmAccess, brinRevmapTerminate(), fb(), IndexInfo::ii_AmCache, and pfree().
Referenced by brinhandler().
Definition at line 1349 of file brin.c.
References build_reloptions(), fb(), lengthof, RELOPT_KIND_BRIN, RELOPT_TYPE_BOOL, RELOPT_TYPE_INT, and validate().
Referenced by brinhandler().
| void brinrescan | ( | IndexScanDesc | scan, |
| ScanKey | scankey, | ||
| int | nscankeys, | ||
| ScanKey | orderbys, | ||
| int | norderbys | ||
| ) |
Definition at line 960 of file brin.c.
References fb(), IndexScanDescData::keyData, and IndexScanDescData::numberOfKeys.
Referenced by brinhandler().
|
static |
Definition at line 1888 of file brin.c.
References Assert, BRIN_ALL_BLOCKRANGES, brin_memtuple_initialize(), brinGetTupleForHeapBlock(), brinRevmapInitialize(), brinRevmapTerminate(), buf, BUFFER_LOCK_SHARE, BUFFER_LOCK_UNLOCK, BufferIsValid(), BuildIndexInfo(), CHECK_FOR_INTERRUPTS, fb(), initialize_brin_buildstate(), InvalidBlockNumber, InvalidBuffer, LockBuffer(), Min, pfree(), RelationGetNumberOfBlocks, ReleaseBuffer(), summarize_range(), and terminate_brin_buildstate().
Referenced by brin_summarize_range(), and brinvacuumcleanup().
| IndexBulkDeleteResult * brinvacuumcleanup | ( | IndexVacuumInfo * | info, |
| IndexBulkDeleteResult * | stats | ||
| ) |
Definition at line 1319 of file brin.c.
References AccessShareLock, IndexVacuumInfo::analyze_only, BRIN_ALL_BLOCKRANGES, brin_vacuum_scan(), brinsummarize(), IndexVacuumInfo::index, IndexGetRelation(), IndexBulkDeleteResult::num_index_tuples, IndexBulkDeleteResult::num_pages, palloc0_object, RelationGetNumberOfBlocks, RelationGetRelid, IndexVacuumInfo::strategy, table_close(), and table_open().
Referenced by brinhandler().
|
static |
Definition at line 2314 of file brin.c.
References Assert, BrinValues::bv_allnulls, BrinValues::bv_attno, BrinValues::bv_hasnulls, fb(), SK_ISNULL, SK_SEARCHNOTNULL, and SK_SEARCHNULL.
Referenced by bringetbitmap().
|
static |
Definition at line 1986 of file brin.c.
References brin_doinsert(), brin_form_tuple(), fb(), and pfree().
Referenced by brinbuild(), and brinbuildCallback().
|
static |
Definition at line 2007 of file brin.c.
References brin_form_tuple(), fb(), pfree(), and tuplesort_putbrintuple().
Referenced by _brin_parallel_scan_and_build(), and brinbuildCallbackParallel().
|
static |
Definition at line 1670 of file brin.c.
References brin_build_desc(), brin_new_memtuple(), CurrentMemoryContext, fb(), InvalidBuffer, and palloc_object.
Referenced by _brin_parallel_build_main(), brinbuild(), and brinsummarize().
|
static |
Definition at line 316 of file brin.c.
References BrinInsertState::bis_desc, BrinInsertState::bis_pages_per_range, BrinInsertState::bis_rmAccess, brin_build_desc(), brinRevmapInitialize(), fb(), IndexInfo::ii_AmCache, IndexInfo::ii_Context, MemoryContextSwitchTo(), and palloc0_object.
Referenced by brininsert().
|
static |
Definition at line 1762 of file brin.c.
References Assert, brin_can_do_samepage_update(), brin_copy_tuple(), brin_doinsert(), brin_doupdate(), brin_form_placeholder_tuple(), brin_form_tuple(), brin_free_tuple(), brinbuildCallback(), brinGetTupleForHeapBlock(), BUFFER_LOCK_SHARE, BUFFER_LOCK_UNLOCK, CHECK_FOR_INTERRUPTS, elog, ERROR, fb(), InvalidBuffer, LockBuffer(), Min, RelationGetNumberOfBlocks, ReleaseBuffer(), table_index_build_range_scan(), and union_tuples().
Referenced by brinsummarize().
|
static |
Definition at line 1717 of file brin.c.
References brin_free_desc(), BufferGetBlockNumber(), BufferGetPage(), BufferIsInvalid, fb(), FreeSpaceMapVacuumRange(), PageGetFreeSpace(), pfree(), RecordPageWithFreeSpace(), and ReleaseBuffer().
Referenced by brinbuild(), and brinsummarize().
|
static |
Definition at line 2032 of file brin.c.
References a, ALLOCSET_DEFAULT_SIZES, AllocSetContextCreate, b, brin_deform_tuple(), BRIN_PROCNUM_UNION, BrinMemTuple::bt_columns, BrinMemTuple::bt_empty_range, CurrentMemoryContext, datumCopy(), fb(), FunctionCall3Coll(), i, index_getprocinfo(), MemoryContextDelete(), MemoryContextSwitchTo(), and PointerGetDatum().
Referenced by _brin_parallel_merge(), and summarize_range().