1
0
mirror of https://github.com/postgres/postgres.git synced 2025-06-11 20:28:21 +03:00

New version. Add support for int2, int8, float4, float8, timestamp with/without time zone, time with/without time zone, date, interval, oid, money and macaddr, char, varchar/text, bytea, numeric, bit, varbit, inet/cidr types for GiST

This commit is contained in:
Teodor Sigaev
2004-05-28 10:43:32 +00:00
parent 1a321f26d8
commit 42d069886f
99 changed files with 18221 additions and 2974 deletions

View File

@ -1,25 +1,39 @@
#include "postgres.h"
#include "access/gist.h"
#include "access/itup.h"
#include "access/nbtree.h"
#include "utils/geo_decls.h"
typedef int (*CMPFUNC) (const void *a, const void *b);
typedef void (*BINARY_UNION) (Datum *, char *);
/* indexed types */
/* used for sorting */
typedef struct rix
enum gbtree_type
{
int index;
char *r;
} RIX;
gbt_t_var ,
gbt_t_int2 ,
gbt_t_int4 ,
gbt_t_int8 ,
gbt_t_float4 ,
gbt_t_float8 ,
gbt_t_numeric,
gbt_t_ts,
gbt_t_cash,
gbt_t_oid,
gbt_t_time,
gbt_t_date,
gbt_t_intv,
gbt_t_macad,
gbt_t_text,
gbt_t_bpchar,
gbt_t_bytea,
gbt_t_bit,
gbt_t_inet
};
/*
** Common btree-function (for all ops)
*/
* Generic btree functions
*/
extern GIST_SPLITVEC *btree_picksplit(GistEntryVector *entryvec, GIST_SPLITVEC *v,
BINARY_UNION bu, CMPFUNC cmp);
Datum gbtreekey_in (PG_FUNCTION_ARGS);
Datum gbtreekey_out(PG_FUNCTION_ARGS);