23#define SPGIST_CONFIG_PROC 1
24#define SPGIST_CHOOSE_PROC 2
25#define SPGIST_PICKSPLIT_PROC 3
26#define SPGIST_INNER_CONSISTENT_PROC 4
27#define SPGIST_LEAF_CONSISTENT_PROC 5
28#define SPGIST_COMPRESS_PROC 6
29#define SPGIST_OPTIONS_PROC 7
30#define SPGISTNRequiredProc 5
209 ScanKey orderbys,
int norderbys);
218 void *callback_state);
static bool validate(Port *port, const char *auth)
static Datum values[MAXATTR]
bool(* IndexBulkDeleteCallback)(ItemPointer itemptr, void *state)
static const struct fns functions
IndexScanDesc spgbeginscan(Relation rel, int keysz, int orderbysz)
bool spgcanreturn(Relation index, int attno)
bool spggettuple(IndexScanDesc scan, ScanDirection dir)
void spgendscan(IndexScanDesc scan)
IndexBulkDeleteResult * spgbulkdelete(IndexVacuumInfo *info, IndexBulkDeleteResult *stats, IndexBulkDeleteCallback callback, void *callback_state)
bool spgvalidate(Oid opclassoid)
void spgbuildempty(Relation index)
bool spginsert(Relation index, Datum *values, bool *isnull, ItemPointer ht_ctid, Relation heapRel, IndexUniqueCheck checkUnique, bool indexUnchanged, struct IndexInfo *indexInfo)
IndexBulkDeleteResult * spgvacuumcleanup(IndexVacuumInfo *info, IndexBulkDeleteResult *stats)
bytea * spgoptions(Datum reloptions, bool validate)
void spgadjustmembers(Oid opfamilyoid, Oid opclassoid, List *operators, List *functions)
void spgrescan(IndexScanDesc scan, ScanKey scankey, int nscankeys, ScanKey orderbys, int norderbys)
int64 spggetbitmap(IndexScanDesc scan, TIDBitmap *tbm)
IndexBuildResult * spgbuild(Relation heap, Relation index, struct IndexInfo *indexInfo)
spgChooseResultType resultType
struct spgChooseOut::@54::@57 splitTuple
struct spgChooseOut::@54::@56 addNode
union spgChooseOut::@54 result
struct spgChooseOut::@54::@55 matchNode
MemoryContext traversalMemoryContext
Datum * reconstructedValues
static void callback(struct sockaddr *addr, struct sockaddr *mask, void *unused)