mirror of
https://github.com/postgres/postgres.git
synced 2025-06-11 20:28:21 +03:00
Use CallerFInfoFunctionCall with btree_gist for numeric types
None of the existing types actually need to use this mechanism, but this will allow support for enum types which will need it. A separate patch will adjust the varlena types support for consistency. Reviewed by Tom Lane and Anastasia Lubennikova Discussion: http://postgr.es/m/27220.1478360811@sss.pgh.pa.us
This commit is contained in:
@ -42,13 +42,13 @@ typedef struct
|
||||
|
||||
/* Methods */
|
||||
|
||||
bool (*f_gt) (const void *, const void *); /* greater than */
|
||||
bool (*f_ge) (const void *, const void *); /* greater or equal */
|
||||
bool (*f_eq) (const void *, const void *); /* equal */
|
||||
bool (*f_le) (const void *, const void *); /* less or equal */
|
||||
bool (*f_lt) (const void *, const void *); /* less than */
|
||||
int (*f_cmp) (const void *, const void *); /* key compare function */
|
||||
float8 (*f_dist) (const void *, const void *); /* key distance function */
|
||||
bool (*f_gt) (const void *, const void *, FmgrInfo *); /* greater than */
|
||||
bool (*f_ge) (const void *, const void *, FmgrInfo *); /* greater or equal */
|
||||
bool (*f_eq) (const void *, const void *, FmgrInfo *); /* equal */
|
||||
bool (*f_le) (const void *, const void *, FmgrInfo *); /* less or equal */
|
||||
bool (*f_lt) (const void *, const void *, FmgrInfo *); /* less than */
|
||||
int (*f_cmp) (const void *, const void *, FmgrInfo *); /* key compare function */
|
||||
float8 (*f_dist) (const void *, const void *, FmgrInfo *); /* key distance function */
|
||||
} gbtree_ninfo;
|
||||
|
||||
|
||||
@ -113,25 +113,25 @@ extern Interval *abs_interval(Interval *a);
|
||||
|
||||
extern bool gbt_num_consistent(const GBT_NUMKEY_R *key, const void *query,
|
||||
const StrategyNumber *strategy, bool is_leaf,
|
||||
const gbtree_ninfo *tinfo);
|
||||
const gbtree_ninfo *tinfo, FmgrInfo *flinfo);
|
||||
|
||||
extern float8 gbt_num_distance(const GBT_NUMKEY_R *key, const void *query,
|
||||
bool is_leaf, const gbtree_ninfo *tinfo);
|
||||
bool is_leaf, const gbtree_ninfo *tinfo, FmgrInfo *flinfo);
|
||||
|
||||
extern GIST_SPLITVEC *gbt_num_picksplit(const GistEntryVector *entryvec, GIST_SPLITVEC *v,
|
||||
const gbtree_ninfo *tinfo);
|
||||
const gbtree_ninfo *tinfo, FmgrInfo *flinfo);
|
||||
|
||||
extern GISTENTRY *gbt_num_compress(GISTENTRY *entry, const gbtree_ninfo *tinfo);
|
||||
|
||||
extern GISTENTRY *gbt_num_fetch(GISTENTRY *entry, const gbtree_ninfo *tinfo);
|
||||
|
||||
extern void *gbt_num_union(GBT_NUMKEY *out, const GistEntryVector *entryvec,
|
||||
const gbtree_ninfo *tinfo);
|
||||
const gbtree_ninfo *tinfo, FmgrInfo *flinfo);
|
||||
|
||||
extern bool gbt_num_same(const GBT_NUMKEY *a, const GBT_NUMKEY *b,
|
||||
const gbtree_ninfo *tinfo);
|
||||
const gbtree_ninfo *tinfo, FmgrInfo *flinfo);
|
||||
|
||||
extern void gbt_num_bin_union(Datum *u, GBT_NUMKEY *e,
|
||||
const gbtree_ninfo *tinfo);
|
||||
const gbtree_ninfo *tinfo, FmgrInfo *flinfo);
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user