PostgreSQL Source Code git master
|
#include "access/xlogreader.h"
#include "lib/stringinfo.h"
#include "nodes/execnodes.h"
#include "storage/shm_toc.h"
#include "storage/block.h"
#include "utils/relcache.h"
Go to the source code of this file.
Data Structures | |
struct | GinStatsData |
Macros | |
#define | GIN_COMPARE_PROC 1 |
#define | GIN_EXTRACTVALUE_PROC 2 |
#define | GIN_EXTRACTQUERY_PROC 3 |
#define | GIN_CONSISTENT_PROC 4 |
#define | GIN_COMPARE_PARTIAL_PROC 5 |
#define | GIN_TRICONSISTENT_PROC 6 |
#define | GIN_OPTIONS_PROC 7 |
#define | GINNProcs 7 |
#define | GIN_SEARCH_MODE_DEFAULT 0 |
#define | GIN_SEARCH_MODE_INCLUDE_EMPTY 1 |
#define | GIN_SEARCH_MODE_ALL 2 |
#define | GIN_SEARCH_MODE_EVERYTHING 3 /* for internal use only */ |
#define | PROGRESS_GIN_PHASE_INDEXBUILD_TABLESCAN 2 |
#define | PROGRESS_GIN_PHASE_PERFORMSORT_1 3 |
#define | PROGRESS_GIN_PHASE_MERGE_1 4 |
#define | PROGRESS_GIN_PHASE_PERFORMSORT_2 5 |
#define | PROGRESS_GIN_PHASE_MERGE_2 6 |
#define | GIN_FALSE 0 /* item is not present / does not match */ |
#define | GIN_TRUE 1 /* item is present / matches */ |
#define | GIN_MAYBE |
#define | PG_RETURN_GIN_TERNARY_VALUE(x) return GinTernaryValueGetDatum(x) |
Typedefs | |
typedef struct GinStatsData | GinStatsData |
typedef char | GinTernaryValue |
Functions | |
StaticAssertDecl (sizeof(GinTernaryValue)==sizeof(bool), "sizes of GinTernaryValue and bool are not equal") | |
static GinTernaryValue | DatumGetGinTernaryValue (Datum X) |
static Datum | GinTernaryValueGetDatum (GinTernaryValue X) |
void | ginGetStats (Relation index, GinStatsData *stats) |
void | ginUpdateStats (Relation index, const GinStatsData *stats, bool is_build) |
void | _gin_parallel_build_main (dsm_segment *seg, shm_toc *toc) |
Variables | |
PGDLLIMPORT int | GinFuzzySearchLimit |
PGDLLIMPORT int | gin_pending_list_limit |
#define GIN_MAYBE |
#define GIN_SEARCH_MODE_EVERYTHING 3 /* for internal use only */ |
#define PG_RETURN_GIN_TERNARY_VALUE | ( | x | ) | return GinTernaryValueGetDatum(x) |
typedef struct GinStatsData GinStatsData |
typedef char GinTernaryValue |
void _gin_parallel_build_main | ( | dsm_segment * | seg, |
shm_toc * | toc | ||
) |
Definition at line 2060 of file gininsert.c.
References _gin_parallel_scan_and_build(), AccessExclusiveLock, GinBuildState::accum, ALLOCSET_DEFAULT_SIZES, AllocSetContextCreate, Assert(), GinBuildState::buildStats, CurrentMemoryContext, debug_query_string, GinBuildState::funcCtx, ginInitBA(), GinBuildState::ginstate, BuildAccumulator::ginstate, GinBuildShared::heaprelid, index_close(), index_open(), GinBuildShared::indexrelid, GinBuildState::indtuples, initGinState(), InstrEndParallelQuery(), InstrStartParallelQuery(), GinBuildShared::isconcurrent, maintenance_work_mem, MyProc, PARALLEL_KEY_BUFFER_USAGE, PARALLEL_KEY_GIN_SHARED, PARALLEL_KEY_QUERY_TEXT, PARALLEL_KEY_TUPLESORT, PARALLEL_KEY_WAL_USAGE, ParallelWorkerNumber, pgstat_report_activity(), PROC_IN_SAFE_IC, RowExclusiveLock, GinBuildShared::scantuplesortstates, ShareLock, ShareUpdateExclusiveLock, shm_toc_lookup(), STATE_RUNNING, PGPROC::statusFlags, table_close(), table_open(), GinBuildState::tid, GinBuildState::tmpCtx, and tuplesort_attach_shared().
|
inlinestatic |
Definition at line 81 of file gin.h.
Referenced by directTriConsistentFn(), and shimBoolConsistentFn().
void ginGetStats | ( | Relation | index, |
GinStatsData * | stats | ||
) |
Definition at line 628 of file ginutil.c.
References BufferGetPage(), GIN_METAPAGE_BLKNO, GIN_SHARE, GinPageGetMeta, GinStatsData::ginVersion, GinMetaPageData::ginVersion, LockBuffer(), GinStatsData::nDataPages, GinMetaPageData::nDataPages, GinStatsData::nEntries, GinMetaPageData::nEntries, GinStatsData::nEntryPages, GinMetaPageData::nEntryPages, GinStatsData::nPendingPages, GinMetaPageData::nPendingPages, GinStatsData::nTotalPages, GinMetaPageData::nTotalPages, ReadBuffer(), and UnlockReleaseBuffer().
Referenced by gincostestimate().
|
inlinestatic |
void ginUpdateStats | ( | Relation | index, |
const GinStatsData * | stats, | ||
bool | is_build | ||
) |
Definition at line 655 of file ginutil.c.
References BufferGetPage(), data, END_CRIT_SECTION, GIN_EXCLUSIVE, GIN_METAPAGE_BLKNO, GinPageGetMeta, InvalidBlockNumber, LockBuffer(), MarkBufferDirty(), GinStatsData::nDataPages, GinMetaPageData::nDataPages, GinStatsData::nEntries, GinMetaPageData::nEntries, GinStatsData::nEntryPages, GinMetaPageData::nEntryPages, GinStatsData::nTotalPages, GinMetaPageData::nTotalPages, PageSetLSN(), ReadBuffer(), REGBUF_STANDARD, REGBUF_WILL_INIT, RelationNeedsWAL, START_CRIT_SECTION, UnlockReleaseBuffer(), XLOG_GIN_UPDATE_META_PAGE, XLogBeginInsert(), XLogInsert(), XLogRegisterBuffer(), and XLogRegisterData().
Referenced by ginbuild(), and ginvacuumcleanup().
StaticAssertDecl | ( | sizeof(GinTernaryValue) | = =sizeof(bool) , |
"sizes of GinTernaryValue and bool are not equal" | |||
) |
|
extern |
|
extern |
Definition at line 27 of file ginget.c.
Referenced by startScan().