|
PostgreSQL Source Code git master
|
#include "access/xlogreader.h"#include "lib/stringinfo.h"#include "storage/block.h"#include "storage/dsm.h"#include "storage/shm_toc.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 2100 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().