PostgreSQL Source Code
git master
|
#include "access/xlogreader.h"
#include "lib/stringinfo.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 | 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) |
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 |
|
inlinestatic |
Definition at line 68 of file gin.h.
Referenced by directTriConsistentFn(), and shimBoolConsistentFn().
void ginGetStats | ( | Relation | index, |
GinStatsData * | stats | ||
) |
Definition at line 624 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 651 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().