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:
parent
1a321f26d8
commit
42d069886f
99 changed files with 18221 additions and 2974 deletions
|
@ -3,27 +3,17 @@ subdir = contrib/btree_gist
|
|||
top_builddir = ../..
|
||||
include $(top_builddir)/src/Makefile.global
|
||||
|
||||
MODULE_big = btree_gist
|
||||
OBJS= btree_common.o btree_int2.o btree_int4.o btree_int8.o btree_float4.o btree_float8.o btree_ts.o
|
||||
DATA_built = btree_gist.sql
|
||||
DOCS = README.btree_gist
|
||||
REGRESS = btree_gist
|
||||
MODULE_big = btree_gist
|
||||
|
||||
EXTRA_CLEAN = btree_int2.c btree_int4.c btree_int8.c btree_float4.c btree_float8.c
|
||||
OBJS = btree_gist.o btree_utils_num.o btree_utils_var.o btree_int2.o btree_int4.o btree_int8.o \
|
||||
btree_float4.o btree_float8.o btree_cash.o btree_oid.o btree_ts.o btree_time.o \
|
||||
btree_date.o btree_interval.o btree_macaddr.o btree_inet.o btree_text.o \
|
||||
btree_bytea.o btree_bit.o btree_numeric.o
|
||||
|
||||
DATA_built = btree_gist.sql
|
||||
DOCS = README.btree_gist
|
||||
|
||||
REGRESS = init int2 int4 int8 float4 float8 cash oid timestamp timestamptz time timetz \
|
||||
date interval macaddr inet cidr text varchar char bytea bit varbit numeric
|
||||
|
||||
include $(top_srcdir)/contrib/contrib-global.mk
|
||||
|
||||
btree_int2.c: btree_num.c.in
|
||||
sed 's,__DEFINE_BTREE_TYPE_HERE__,BTREE_GIST_INT2,g;s,__BTREE_GIST_TYPE__,int16,g;s,__BTREE_GIST_TYPE2__,int2,g' < $< > $@
|
||||
|
||||
btree_int4.c: btree_num.c.in
|
||||
sed 's,__DEFINE_BTREE_TYPE_HERE__,BTREE_GIST_INT4,g;s,__BTREE_GIST_TYPE__,int32,g;s,__BTREE_GIST_TYPE2__,int4,g' < $< > $@
|
||||
|
||||
btree_int8.c: btree_num.c.in
|
||||
sed 's,__DEFINE_BTREE_TYPE_HERE__,BTREE_GIST_INT8,g;s,__BTREE_GIST_TYPE__,int64,g;s,__BTREE_GIST_TYPE2__,int8,g' < $< > $@
|
||||
|
||||
btree_float4.c: btree_num.c.in
|
||||
sed 's,__DEFINE_BTREE_TYPE_HERE__,BTREE_GIST_FLOAT4,g;s,__BTREE_GIST_TYPE__,float4,g;s,__BTREE_GIST_TYPE2__,float4,g' < $< > $@
|
||||
|
||||
btree_float8.c: btree_num.c.in
|
||||
sed 's,__DEFINE_BTREE_TYPE_HERE__,BTREE_GIST_FLOAT8,g;s,__BTREE_GIST_TYPE__,float8,g;s,__BTREE_GIST_TYPE2__,float8,g' < $< > $@
|
||||
|
|
|
@ -1,19 +1,38 @@
|
|||
This is B-Tree implementation using GiST for int2, int4, int8, float4, float8
|
||||
timestamp types.
|
||||
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.
|
||||
|
||||
All work was done by Teodor Sigaev (teodor@stack.net) and Oleg Bartunov
|
||||
(oleg@sai.msu.su). See http://www.sai.msu.su/~megera/postgres/gist
|
||||
for additional information.
|
||||
All work was done by Teodor Sigaev (teodor@stack.net) , Oleg Bartunov
|
||||
(oleg@sai.msu.su), Janko Richter (jankorichter@yahoo.de).
|
||||
See http://www.sai.msu.su/~megera/postgres/gist for additional
|
||||
information.
|
||||
|
||||
NEWS:
|
||||
Feb 5, 2003 - btree_gist now support int2, int8, float4, float8 !
|
||||
Thank Janko Richter <jankorichter@yahoo.de> for
|
||||
contribution.
|
||||
|
||||
Apr 17, 2004 - Performance optimizing
|
||||
|
||||
Jan 21, 2004 - add support for bytea, numeric, bit, varbit, inet/cidr
|
||||
|
||||
Jan 17, 2004 - Reorganizing code and add support for char, varchar/text
|
||||
|
||||
Jan 10, 2004 - btree_gist now support oid , timestamp with time zone ,
|
||||
time with and without time zone, date , interval
|
||||
money, macaddr
|
||||
|
||||
Feb 5, 2003 - btree_gist now support int2, int8, float4, float8
|
||||
|
||||
NOTICE:
|
||||
This version will works only with postgresql version 7.3 and above
|
||||
This version will works only with postgresql version 7.4 and above
|
||||
because of changes in interface of function calling and in system
|
||||
tables.
|
||||
|
||||
If you want to index varchar attributes, you have to index using
|
||||
the function text(<varchar>):
|
||||
Example:
|
||||
CREATE TABLE test ( a varchar(23) );
|
||||
CREATE INDEX testidx ON test USING GIST ( text(a) );
|
||||
|
||||
|
||||
INSTALLATION:
|
||||
|
||||
|
|
185
contrib/btree_gist/btree_bit.c
Normal file
185
contrib/btree_gist/btree_bit.c
Normal file
|
@ -0,0 +1,185 @@
|
|||
#include "btree_gist.h"
|
||||
#include "btree_utils_var.h"
|
||||
#include "utils/builtins.h"
|
||||
#include "utils/varbit.h"
|
||||
|
||||
|
||||
/*
|
||||
** Bit ops
|
||||
*/
|
||||
PG_FUNCTION_INFO_V1(gbt_bit_compress);
|
||||
PG_FUNCTION_INFO_V1(gbt_bit_union);
|
||||
PG_FUNCTION_INFO_V1(gbt_bit_picksplit);
|
||||
PG_FUNCTION_INFO_V1(gbt_bit_consistent);
|
||||
PG_FUNCTION_INFO_V1(gbt_bit_penalty);
|
||||
PG_FUNCTION_INFO_V1(gbt_bit_same);
|
||||
|
||||
Datum gbt_bit_compress(PG_FUNCTION_ARGS);
|
||||
Datum gbt_bit_union(PG_FUNCTION_ARGS);
|
||||
Datum gbt_bit_picksplit(PG_FUNCTION_ARGS);
|
||||
Datum gbt_bit_consistent(PG_FUNCTION_ARGS);
|
||||
Datum gbt_bit_penalty(PG_FUNCTION_ARGS);
|
||||
Datum gbt_bit_same(PG_FUNCTION_ARGS);
|
||||
|
||||
|
||||
|
||||
/* define for comparison */
|
||||
|
||||
static bool gbt_bitgt (const void *a, const void *b)
|
||||
{
|
||||
return ( DatumGetBool(DirectFunctionCall2( bitgt ,PointerGetDatum( a ),PointerGetDatum( b ) ) ) );
|
||||
}
|
||||
|
||||
static bool gbt_bitge (const void *a, const void *b)
|
||||
{
|
||||
return ( DatumGetBool(DirectFunctionCall2( bitge ,PointerGetDatum( a ),PointerGetDatum( b ) ) ) );
|
||||
}
|
||||
|
||||
static bool gbt_biteq (const void *a, const void *b)
|
||||
{
|
||||
return ( DatumGetBool(DirectFunctionCall2( biteq ,PointerGetDatum( a ),PointerGetDatum( b ) ) ) );
|
||||
}
|
||||
|
||||
static bool gbt_bitle (const void *a, const void *b)
|
||||
{
|
||||
return ( DatumGetBool(DirectFunctionCall2( bitle ,PointerGetDatum( a ),PointerGetDatum( b ) ) ) );
|
||||
}
|
||||
|
||||
static bool gbt_bitlt (const void *a, const void *b)
|
||||
{
|
||||
return ( DatumGetBool(DirectFunctionCall2( bitlt ,PointerGetDatum( a ),PointerGetDatum( b ) ) ) );
|
||||
}
|
||||
|
||||
static int32 gbt_bitcmp ( const bytea * a , const bytea * b )
|
||||
{
|
||||
return
|
||||
( DatumGetInt32(DirectFunctionCall2(byteacmp,PointerGetDatum(a),PointerGetDatum(b) ) ) );
|
||||
}
|
||||
|
||||
|
||||
static bytea *
|
||||
gbt_bit_xfrm ( bytea * leaf )
|
||||
{
|
||||
bytea * out = leaf;
|
||||
int s = VARBITBYTES(leaf) + VARHDRSZ;
|
||||
|
||||
out = palloc ( s );
|
||||
VARATT_SIZEP(out) = s;
|
||||
memcpy ( (void*)VARDATA(out), (void*)VARBITS(leaf), VARBITBYTES(leaf) );
|
||||
return out;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
static GBT_VARKEY * gbt_bit_l2n ( GBT_VARKEY * leaf )
|
||||
{
|
||||
|
||||
GBT_VARKEY *out = leaf ;
|
||||
GBT_VARKEY_R r = gbt_var_key_readable ( leaf );
|
||||
bytea *o ;
|
||||
|
||||
o = gbt_bit_xfrm (r.lower);
|
||||
r.upper = r.lower = o;
|
||||
out = gbt_var_key_copy( &r, TRUE );
|
||||
pfree(o);
|
||||
|
||||
return out;
|
||||
|
||||
}
|
||||
|
||||
static const gbtree_vinfo tinfo =
|
||||
{
|
||||
gbt_t_bit,
|
||||
FALSE,
|
||||
TRUE,
|
||||
gbt_bitgt,
|
||||
gbt_bitge,
|
||||
gbt_biteq,
|
||||
gbt_bitle,
|
||||
gbt_bitlt,
|
||||
gbt_bitcmp,
|
||||
gbt_bit_l2n
|
||||
};
|
||||
|
||||
|
||||
/**************************************************
|
||||
* Bit ops
|
||||
**************************************************/
|
||||
|
||||
Datum
|
||||
gbt_bit_compress (PG_FUNCTION_ARGS)
|
||||
{
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
PG_RETURN_POINTER ( gbt_var_compress( entry, &tinfo ) );
|
||||
}
|
||||
|
||||
Datum
|
||||
gbt_bit_consistent(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
GBT_VARKEY *ktst = (GBT_VARKEY *) DatumGetPointer ( entry->key ) ;
|
||||
GBT_VARKEY *key = (GBT_VARKEY *) DatumGetPointer ( PG_DETOAST_DATUM( entry->key ) );
|
||||
void *qtst = ( void * ) DatumGetPointer( PG_GETARG_DATUM(1) );
|
||||
void *query = ( void * ) DatumGetByteaP ( PG_GETARG_DATUM(1) );
|
||||
StrategyNumber strategy = (StrategyNumber) PG_GETARG_UINT16(2);
|
||||
bool retval = FALSE;
|
||||
GBT_VARKEY_R r = gbt_var_key_readable ( key );
|
||||
|
||||
if ( GIST_LEAF(entry) )
|
||||
{
|
||||
retval = gbt_var_consistent( &r, query, &strategy, TRUE, &tinfo );
|
||||
} else {
|
||||
bytea * q = gbt_bit_xfrm ( ( bytea * ) query );
|
||||
retval = gbt_var_consistent( &r, (void*)q, &strategy, FALSE, &tinfo );
|
||||
pfree(q);
|
||||
}
|
||||
|
||||
if ( ktst != key ){
|
||||
pfree ( key );
|
||||
}
|
||||
if ( qtst != query ){
|
||||
pfree ( query );
|
||||
}
|
||||
PG_RETURN_BOOL(retval);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Datum
|
||||
gbt_bit_union(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GistEntryVector * entryvec = (GistEntryVector *) PG_GETARG_POINTER(0);
|
||||
int32 * size = (int *) PG_GETARG_POINTER(1);
|
||||
PG_RETURN_POINTER( gbt_var_union ( entryvec , size , &tinfo ) );
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_bit_picksplit(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GistEntryVector *entryvec = (GistEntryVector *) PG_GETARG_POINTER(0);
|
||||
GIST_SPLITVEC *v = (GIST_SPLITVEC *) PG_GETARG_POINTER(1);
|
||||
gbt_var_picksplit ( entryvec, v, &tinfo );
|
||||
PG_RETURN_POINTER(v);
|
||||
}
|
||||
|
||||
Datum
|
||||
gbt_bit_same(PG_FUNCTION_ARGS)
|
||||
{
|
||||
Datum d1 = PG_GETARG_DATUM(0);
|
||||
Datum d2 = PG_GETARG_DATUM(1);
|
||||
bool *result = (bool *) PG_GETARG_POINTER(2);
|
||||
PG_RETURN_POINTER( gbt_var_same ( result, d1 , d2 , &tinfo ));
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_bit_penalty(PG_FUNCTION_ARGS)
|
||||
{
|
||||
float *result = (float *) PG_GETARG_POINTER(2);
|
||||
GISTENTRY * o = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
GISTENTRY * n = (GISTENTRY *) PG_GETARG_POINTER(1);
|
||||
PG_RETURN_POINTER( gbt_var_penalty ( result ,o , n, &tinfo ) );
|
||||
}
|
||||
|
149
contrib/btree_gist/btree_bytea.c
Normal file
149
contrib/btree_gist/btree_bytea.c
Normal file
|
@ -0,0 +1,149 @@
|
|||
#include "btree_gist.h"
|
||||
#include "btree_utils_var.h"
|
||||
#include "utils/builtins.h"
|
||||
|
||||
|
||||
/*
|
||||
** Bytea ops
|
||||
*/
|
||||
PG_FUNCTION_INFO_V1(gbt_bytea_compress);
|
||||
PG_FUNCTION_INFO_V1(gbt_bytea_union);
|
||||
PG_FUNCTION_INFO_V1(gbt_bytea_picksplit);
|
||||
PG_FUNCTION_INFO_V1(gbt_bytea_consistent);
|
||||
PG_FUNCTION_INFO_V1(gbt_bytea_penalty);
|
||||
PG_FUNCTION_INFO_V1(gbt_bytea_same);
|
||||
|
||||
Datum gbt_bytea_compress(PG_FUNCTION_ARGS);
|
||||
Datum gbt_bytea_union(PG_FUNCTION_ARGS);
|
||||
Datum gbt_bytea_picksplit(PG_FUNCTION_ARGS);
|
||||
Datum gbt_bytea_consistent(PG_FUNCTION_ARGS);
|
||||
Datum gbt_bytea_penalty(PG_FUNCTION_ARGS);
|
||||
Datum gbt_bytea_same(PG_FUNCTION_ARGS);
|
||||
|
||||
|
||||
/* define for comparison */
|
||||
|
||||
static bool gbt_byteagt (const void *a, const void *b)
|
||||
{
|
||||
return ( DatumGetBool(DirectFunctionCall2( byteagt ,PointerGetDatum( a ),PointerGetDatum( b ) ) ) );
|
||||
}
|
||||
|
||||
static bool gbt_byteage (const void *a, const void *b)
|
||||
{
|
||||
return ( DatumGetBool(DirectFunctionCall2( byteage ,PointerGetDatum( a ),PointerGetDatum( b ) ) ) );
|
||||
}
|
||||
|
||||
static bool gbt_byteaeq (const void *a, const void *b)
|
||||
{
|
||||
return ( DatumGetBool(DirectFunctionCall2( byteaeq ,PointerGetDatum( a ),PointerGetDatum( b ) ) ) );
|
||||
}
|
||||
|
||||
static bool gbt_byteale (const void *a, const void *b)
|
||||
{
|
||||
return ( DatumGetBool(DirectFunctionCall2( byteale ,PointerGetDatum( a ),PointerGetDatum( b ) ) ) );
|
||||
}
|
||||
|
||||
static bool gbt_bytealt (const void *a, const void *b)
|
||||
{
|
||||
return ( DatumGetBool(DirectFunctionCall2( bytealt ,PointerGetDatum( a ),PointerGetDatum( b ) ) ) );
|
||||
}
|
||||
|
||||
|
||||
static int32 gbt_byteacmp ( const bytea * a , const bytea * b )
|
||||
{
|
||||
return
|
||||
( DatumGetInt32(DirectFunctionCall2(byteacmp,PointerGetDatum(a),PointerGetDatum(b) ) ) );
|
||||
}
|
||||
|
||||
|
||||
static const gbtree_vinfo tinfo =
|
||||
{
|
||||
gbt_t_bytea,
|
||||
FALSE,
|
||||
TRUE,
|
||||
gbt_byteagt,
|
||||
gbt_byteage,
|
||||
gbt_byteaeq,
|
||||
gbt_byteale,
|
||||
gbt_bytealt,
|
||||
gbt_byteacmp,
|
||||
NULL
|
||||
};
|
||||
|
||||
|
||||
/**************************************************
|
||||
* Text ops
|
||||
**************************************************/
|
||||
|
||||
|
||||
Datum
|
||||
gbt_bytea_compress (PG_FUNCTION_ARGS)
|
||||
{
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
PG_RETURN_POINTER ( gbt_var_compress( entry, &tinfo ) );
|
||||
}
|
||||
|
||||
|
||||
|
||||
Datum
|
||||
gbt_bytea_consistent(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
GBT_VARKEY *ktst = (GBT_VARKEY *) DatumGetPointer ( entry->key ) ;
|
||||
GBT_VARKEY *key = (GBT_VARKEY *) DatumGetPointer ( PG_DETOAST_DATUM( entry->key ) );
|
||||
void *qtst = ( void * ) DatumGetPointer( PG_GETARG_DATUM(1) );
|
||||
void *query = ( void * ) DatumGetByteaP ( PG_GETARG_DATUM(1) );
|
||||
StrategyNumber strategy = (StrategyNumber) PG_GETARG_UINT16(2);
|
||||
bool retval = FALSE;
|
||||
GBT_VARKEY_R r = gbt_var_key_readable ( key );
|
||||
|
||||
retval = gbt_var_consistent( &r, query, &strategy, GIST_LEAF(entry), &tinfo );
|
||||
|
||||
if ( ktst != key ){
|
||||
pfree ( key );
|
||||
}
|
||||
if ( qtst != query ){
|
||||
pfree ( query );
|
||||
}
|
||||
PG_RETURN_BOOL(retval);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Datum
|
||||
gbt_bytea_union(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GistEntryVector * entryvec = (GistEntryVector *) PG_GETARG_POINTER(0);
|
||||
int32 * size = (int *) PG_GETARG_POINTER(1);
|
||||
PG_RETURN_POINTER( gbt_var_union ( entryvec , size , &tinfo ) );
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_bytea_picksplit(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GistEntryVector *entryvec = (GistEntryVector *) PG_GETARG_POINTER(0);
|
||||
GIST_SPLITVEC *v = (GIST_SPLITVEC *) PG_GETARG_POINTER(1);
|
||||
gbt_var_picksplit ( entryvec, v, &tinfo );
|
||||
PG_RETURN_POINTER(v);
|
||||
}
|
||||
|
||||
Datum
|
||||
gbt_bytea_same(PG_FUNCTION_ARGS)
|
||||
{
|
||||
Datum d1 = PG_GETARG_DATUM(0);
|
||||
Datum d2 = PG_GETARG_DATUM(1);
|
||||
bool *result = (bool *) PG_GETARG_POINTER(2);
|
||||
PG_RETURN_POINTER( gbt_var_same ( result, d1 , d2 , &tinfo ));
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_bytea_penalty(PG_FUNCTION_ARGS)
|
||||
{
|
||||
float *result = (float *) PG_GETARG_POINTER(2);
|
||||
GISTENTRY * o = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
GISTENTRY * n = (GISTENTRY *) PG_GETARG_POINTER(1);
|
||||
PG_RETURN_POINTER( gbt_var_penalty ( result ,o , n, &tinfo ) );
|
||||
}
|
||||
|
163
contrib/btree_gist/btree_cash.c
Normal file
163
contrib/btree_gist/btree_cash.c
Normal file
|
@ -0,0 +1,163 @@
|
|||
#include "btree_gist.h"
|
||||
#include "btree_utils_num.h"
|
||||
#include "utils/cash.h"
|
||||
|
||||
typedef struct
|
||||
{
|
||||
Cash lower;
|
||||
Cash upper;
|
||||
} cashKEY;
|
||||
|
||||
/*
|
||||
** Cash ops
|
||||
*/
|
||||
PG_FUNCTION_INFO_V1(gbt_cash_compress);
|
||||
PG_FUNCTION_INFO_V1(gbt_cash_union);
|
||||
PG_FUNCTION_INFO_V1(gbt_cash_picksplit);
|
||||
PG_FUNCTION_INFO_V1(gbt_cash_consistent);
|
||||
PG_FUNCTION_INFO_V1(gbt_cash_penalty);
|
||||
PG_FUNCTION_INFO_V1(gbt_cash_same);
|
||||
|
||||
Datum gbt_cash_compress(PG_FUNCTION_ARGS);
|
||||
Datum gbt_cash_union(PG_FUNCTION_ARGS);
|
||||
Datum gbt_cash_picksplit(PG_FUNCTION_ARGS);
|
||||
Datum gbt_cash_consistent(PG_FUNCTION_ARGS);
|
||||
Datum gbt_cash_penalty(PG_FUNCTION_ARGS);
|
||||
Datum gbt_cash_same(PG_FUNCTION_ARGS);
|
||||
|
||||
static bool gbt_cashgt (const void *a, const void *b)
|
||||
{
|
||||
return ( *((Cash*)a) > *((Cash*)b) );
|
||||
}
|
||||
static bool gbt_cashge (const void *a, const void *b)
|
||||
{
|
||||
return ( *((Cash*)a) >= *((Cash*)b) );
|
||||
}
|
||||
static bool gbt_casheq (const void *a, const void *b)
|
||||
{
|
||||
return ( *((Cash*)a) == *((Cash*)b) );
|
||||
}
|
||||
static bool gbt_cashle (const void *a, const void *b)
|
||||
{
|
||||
return ( *((Cash*)a) <= *((Cash*)b) );
|
||||
}
|
||||
static bool gbt_cashlt (const void *a, const void *b)
|
||||
{
|
||||
return ( *((Cash*)a) < *((Cash*)b) );
|
||||
}
|
||||
|
||||
static int
|
||||
gbt_cashkey_cmp(const void *a, const void *b)
|
||||
{
|
||||
|
||||
if ( *(Cash*)&(((Nsrt *) a)->t[0]) > *(Cash*)&(((Nsrt *) b)->t[0]) ){
|
||||
return 1;
|
||||
} else
|
||||
if ( *(Cash*)&(((Nsrt *) a)->t[0]) < *(Cash*)&(((Nsrt *) b)->t[0]) ){
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
|
||||
static const gbtree_ninfo tinfo =
|
||||
{
|
||||
gbt_t_cash,
|
||||
sizeof(Cash),
|
||||
gbt_cashgt,
|
||||
gbt_cashge,
|
||||
gbt_casheq,
|
||||
gbt_cashle,
|
||||
gbt_cashlt,
|
||||
gbt_cashkey_cmp
|
||||
};
|
||||
|
||||
|
||||
/**************************************************
|
||||
* Cash ops
|
||||
**************************************************/
|
||||
|
||||
|
||||
Datum
|
||||
gbt_cash_compress(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
GISTENTRY *retval = NULL;
|
||||
PG_RETURN_POINTER( gbt_num_compress( retval , entry , &tinfo ));
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_cash_consistent(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
Cash query = (*((Cash *) PG_GETARG_POINTER(1)));
|
||||
cashKEY *kkk = (cashKEY *) DatumGetPointer(entry->key);
|
||||
GBT_NUMKEY_R key ;
|
||||
StrategyNumber strategy = (StrategyNumber) PG_GETARG_UINT16(2);
|
||||
key.lower = (GBT_NUMKEY*) &kkk->lower ;
|
||||
key.upper = (GBT_NUMKEY*) &kkk->upper ;
|
||||
|
||||
PG_RETURN_BOOL(
|
||||
gbt_num_consistent( &key, (void*)&query,&strategy,GIST_LEAF(entry),&tinfo)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_cash_union(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GistEntryVector *entryvec = (GistEntryVector *) PG_GETARG_POINTER(0);
|
||||
void *out = palloc(sizeof(cashKEY));
|
||||
*(int *) PG_GETARG_POINTER(1) = sizeof(cashKEY);
|
||||
PG_RETURN_POINTER( gbt_num_union ( (void*)out, entryvec, &tinfo ) );
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_cash_penalty(PG_FUNCTION_ARGS)
|
||||
{
|
||||
cashKEY *origentry = (cashKEY *) DatumGetPointer(((GISTENTRY *) PG_GETARG_POINTER(0))->key);
|
||||
cashKEY *newentry = (cashKEY *) DatumGetPointer(((GISTENTRY *) PG_GETARG_POINTER(1))->key);
|
||||
float *result = (float *) PG_GETARG_POINTER(2);
|
||||
|
||||
Cash res ;
|
||||
|
||||
*result = 0.0;
|
||||
|
||||
res = Max(newentry->upper - origentry->upper, 0) +
|
||||
Max(origentry->lower - newentry->lower, 0);
|
||||
|
||||
if ( res > 0 ){
|
||||
*result += FLT_MIN ;
|
||||
*result += (float) ( res / ( (double) ( res + origentry->upper - origentry->lower ) ) );
|
||||
*result *= ( FLT_MAX / ( ( (GISTENTRY *) PG_GETARG_POINTER(0))->rel->rd_att->natts + 1 ) );
|
||||
}
|
||||
|
||||
PG_RETURN_POINTER(result);
|
||||
|
||||
}
|
||||
|
||||
Datum
|
||||
gbt_cash_picksplit(PG_FUNCTION_ARGS)
|
||||
{
|
||||
PG_RETURN_POINTER(gbt_num_picksplit(
|
||||
(GistEntryVector *) PG_GETARG_POINTER(0),
|
||||
(GIST_SPLITVEC *) PG_GETARG_POINTER(1),
|
||||
&tinfo
|
||||
));
|
||||
}
|
||||
|
||||
Datum
|
||||
gbt_cash_same(PG_FUNCTION_ARGS)
|
||||
{
|
||||
cashKEY *b1 = (cashKEY *) PG_GETARG_POINTER(0);
|
||||
cashKEY *b2 = (cashKEY *) PG_GETARG_POINTER(1);
|
||||
bool *result = (bool *) PG_GETARG_POINTER(2);
|
||||
|
||||
*result = gbt_num_same ( (void*)b1, (void*)b2, &tinfo );
|
||||
PG_RETURN_POINTER(result);
|
||||
}
|
||||
|
||||
|
|
@ -1,69 +0,0 @@
|
|||
#include "btree_gist.h"
|
||||
|
||||
PG_FUNCTION_INFO_V1(btree_decompress);
|
||||
Datum btree_decompress(PG_FUNCTION_ARGS);
|
||||
|
||||
/*
|
||||
** GiST DeCompress methods
|
||||
** do not do anything.
|
||||
*/
|
||||
Datum
|
||||
btree_decompress(PG_FUNCTION_ARGS)
|
||||
{
|
||||
PG_RETURN_POINTER(PG_GETARG_POINTER(0));
|
||||
}
|
||||
|
||||
|
||||
/**************************************************
|
||||
* Common btree-function (for all ops)
|
||||
**************************************************/
|
||||
|
||||
/*
|
||||
** The GiST PickSplit method
|
||||
*/
|
||||
extern GIST_SPLITVEC *
|
||||
btree_picksplit(GistEntryVector *entryvec, GIST_SPLITVEC *v, BINARY_UNION bu, CMPFUNC cmp)
|
||||
{
|
||||
OffsetNumber i;
|
||||
RIX *array;
|
||||
OffsetNumber maxoff;
|
||||
int nbytes;
|
||||
|
||||
maxoff = entryvec->n - 1;
|
||||
nbytes = (maxoff + 2) * sizeof(OffsetNumber);
|
||||
v->spl_left = (OffsetNumber *) palloc(nbytes);
|
||||
v->spl_right = (OffsetNumber *) palloc(nbytes);
|
||||
v->spl_nleft = 0;
|
||||
v->spl_nright = 0;
|
||||
v->spl_ldatum = PointerGetDatum(0);
|
||||
v->spl_rdatum = PointerGetDatum(0);
|
||||
array = (RIX *) palloc(sizeof(RIX) * (maxoff + 1));
|
||||
|
||||
/* copy the data into RIXes, and sort the RIXes */
|
||||
for (i = FirstOffsetNumber; i <= maxoff; i = OffsetNumberNext(i))
|
||||
{
|
||||
array[i].index = i;
|
||||
array[i].r = (char *) DatumGetPointer((entryvec->vector[i].key));
|
||||
}
|
||||
qsort((void *) &array[FirstOffsetNumber], maxoff - FirstOffsetNumber + 1,
|
||||
sizeof(RIX), cmp);
|
||||
|
||||
for (i = FirstOffsetNumber; i <= maxoff; i = OffsetNumberNext(i))
|
||||
{
|
||||
if (i <= (maxoff - FirstOffsetNumber + 1) / 2)
|
||||
{
|
||||
v->spl_left[v->spl_nleft] = array[i].index;
|
||||
v->spl_nleft++;
|
||||
(*bu) (&v->spl_ldatum, array[i].r);
|
||||
}
|
||||
else
|
||||
{
|
||||
v->spl_right[v->spl_nright] = array[i].index;
|
||||
v->spl_nright++;
|
||||
(*bu) (&v->spl_rdatum, array[i].r);
|
||||
}
|
||||
}
|
||||
pfree(array);
|
||||
|
||||
return (v);
|
||||
}
|
191
contrib/btree_gist/btree_date.c
Normal file
191
contrib/btree_gist/btree_date.c
Normal file
|
@ -0,0 +1,191 @@
|
|||
#include "btree_gist.h"
|
||||
#include "btree_utils_num.h"
|
||||
#include "utils/date.h"
|
||||
|
||||
typedef struct
|
||||
{
|
||||
DateADT lower;
|
||||
DateADT upper;
|
||||
} dateKEY;
|
||||
|
||||
/*
|
||||
** date ops
|
||||
*/
|
||||
PG_FUNCTION_INFO_V1(gbt_date_compress);
|
||||
PG_FUNCTION_INFO_V1(gbt_date_union);
|
||||
PG_FUNCTION_INFO_V1(gbt_date_picksplit);
|
||||
PG_FUNCTION_INFO_V1(gbt_date_consistent);
|
||||
PG_FUNCTION_INFO_V1(gbt_date_penalty);
|
||||
PG_FUNCTION_INFO_V1(gbt_date_same);
|
||||
|
||||
Datum gbt_date_compress(PG_FUNCTION_ARGS);
|
||||
Datum gbt_date_union(PG_FUNCTION_ARGS);
|
||||
Datum gbt_date_picksplit(PG_FUNCTION_ARGS);
|
||||
Datum gbt_date_consistent(PG_FUNCTION_ARGS);
|
||||
Datum gbt_date_penalty(PG_FUNCTION_ARGS);
|
||||
Datum gbt_date_same(PG_FUNCTION_ARGS);
|
||||
|
||||
static bool gbt_dategt (const void *a, const void *b)
|
||||
{
|
||||
return DatumGetBool(
|
||||
DirectFunctionCall2(date_gt,DateADTGetDatum( *((DateADT*)a) ), DateADTGetDatum( *((DateADT*)b) ) )
|
||||
);
|
||||
}
|
||||
|
||||
static bool gbt_datege (const void *a, const void *b)
|
||||
{
|
||||
return DatumGetBool(
|
||||
DirectFunctionCall2(date_ge,DateADTGetDatum( *((DateADT*)a) ), DateADTGetDatum( *((DateADT*)b) ) )
|
||||
);
|
||||
}
|
||||
|
||||
static bool gbt_dateeq (const void *a, const void *b)
|
||||
{
|
||||
return DatumGetBool(
|
||||
DirectFunctionCall2(date_eq,DateADTGetDatum( *((DateADT*)a) ), DateADTGetDatum( *((DateADT*)b) ) )
|
||||
);
|
||||
}
|
||||
|
||||
static bool gbt_datele (const void *a, const void *b)
|
||||
{
|
||||
return DatumGetBool(
|
||||
DirectFunctionCall2(date_le,DateADTGetDatum( *((DateADT*)a) ), DateADTGetDatum( *((DateADT*)b) ) )
|
||||
);
|
||||
}
|
||||
|
||||
static bool gbt_datelt (const void *a, const void *b)
|
||||
{
|
||||
return DatumGetBool(
|
||||
DirectFunctionCall2(date_lt,DateADTGetDatum( *((DateADT*)a) ), DateADTGetDatum( *((DateADT*)b) ) )
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
static int
|
||||
gbt_datekey_cmp(const void *a, const void *b)
|
||||
{
|
||||
if ( gbt_dategt( (void*)&(((Nsrt *) a)->t[0]) , (void*)&(((Nsrt *) b)->t[0]) ) ){
|
||||
return 1;
|
||||
} else
|
||||
if ( gbt_datelt( (void*)&(((Nsrt *) a)->t[0]) , (void*)&(((Nsrt *) b)->t[0]) ) ){
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static const gbtree_ninfo tinfo =
|
||||
{
|
||||
gbt_t_date,
|
||||
sizeof(DateADT),
|
||||
gbt_dategt,
|
||||
gbt_datege,
|
||||
gbt_dateeq,
|
||||
gbt_datele,
|
||||
gbt_datelt,
|
||||
gbt_datekey_cmp
|
||||
};
|
||||
|
||||
|
||||
/**************************************************
|
||||
* date ops
|
||||
**************************************************/
|
||||
|
||||
|
||||
|
||||
Datum
|
||||
gbt_date_compress(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
GISTENTRY *retval = NULL;
|
||||
PG_RETURN_POINTER( gbt_num_compress( retval , entry , &tinfo ));
|
||||
}
|
||||
|
||||
|
||||
|
||||
Datum
|
||||
gbt_date_consistent(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
DateADT query = PG_GETARG_DATEADT( 1 );
|
||||
dateKEY *kkk = (dateKEY *) DatumGetPointer(entry->key);
|
||||
GBT_NUMKEY_R key ;
|
||||
StrategyNumber strategy = (StrategyNumber) PG_GETARG_UINT16(2);
|
||||
key.lower = (GBT_NUMKEY*) &kkk->lower ;
|
||||
key.upper = (GBT_NUMKEY*) &kkk->upper ;
|
||||
|
||||
PG_RETURN_BOOL(
|
||||
gbt_num_consistent( &key, (void*)&query,&strategy,GIST_LEAF(entry),&tinfo)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_date_union(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GistEntryVector *entryvec = (GistEntryVector *) PG_GETARG_POINTER(0);
|
||||
void *out = palloc(sizeof(dateKEY));
|
||||
*(int *) PG_GETARG_POINTER(1) = sizeof(dateKEY);
|
||||
PG_RETURN_POINTER( gbt_num_union ( (void*)out, entryvec, &tinfo ) );
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_date_penalty(PG_FUNCTION_ARGS)
|
||||
{
|
||||
dateKEY *origentry = (dateKEY *) DatumGetPointer(((GISTENTRY *) PG_GETARG_POINTER(0))->key);
|
||||
dateKEY *newentry = (dateKEY *) DatumGetPointer(((GISTENTRY *) PG_GETARG_POINTER(1))->key);
|
||||
float *result = (float *) PG_GETARG_POINTER(2);
|
||||
int32 diff, res ;
|
||||
|
||||
diff = DatumGetInt32(DirectFunctionCall2(
|
||||
date_mi,
|
||||
DateADTGetDatum(newentry->upper),
|
||||
DateADTGetDatum(origentry->upper)));
|
||||
|
||||
res = Max(diff, 0);
|
||||
|
||||
diff = DatumGetInt32(DirectFunctionCall2(
|
||||
date_mi,
|
||||
DateADTGetDatum(origentry->lower),
|
||||
DateADTGetDatum(newentry->lower)));
|
||||
|
||||
res += Max(diff, 0);
|
||||
|
||||
*result = 0.0;
|
||||
|
||||
if ( res > 0 ){
|
||||
diff = DatumGetInt32(DirectFunctionCall2(
|
||||
date_mi,
|
||||
DateADTGetDatum(origentry->upper),
|
||||
DateADTGetDatum(origentry->lower)));
|
||||
*result += FLT_MIN ;
|
||||
*result += (float) ( res / ( (double) ( res + diff ) ) );
|
||||
*result *= ( FLT_MAX / ( ( (GISTENTRY *) PG_GETARG_POINTER(0))->rel->rd_att->natts + 1 ) );
|
||||
}
|
||||
|
||||
PG_RETURN_POINTER(result);
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_date_picksplit(PG_FUNCTION_ARGS)
|
||||
{
|
||||
PG_RETURN_POINTER(gbt_num_picksplit(
|
||||
(GistEntryVector *) PG_GETARG_POINTER(0),
|
||||
(GIST_SPLITVEC *) PG_GETARG_POINTER(1),
|
||||
&tinfo
|
||||
));
|
||||
}
|
||||
|
||||
Datum
|
||||
gbt_date_same(PG_FUNCTION_ARGS)
|
||||
{
|
||||
dateKEY *b1 = (dateKEY *) PG_GETARG_POINTER(0);
|
||||
dateKEY *b2 = (dateKEY *) PG_GETARG_POINTER(1);
|
||||
bool *result = (bool *) PG_GETARG_POINTER(2);
|
||||
|
||||
*result = gbt_num_same ( (void*)b1, (void*)b2, &tinfo );
|
||||
PG_RETURN_POINTER(result);
|
||||
}
|
161
contrib/btree_gist/btree_float4.c
Normal file
161
contrib/btree_gist/btree_float4.c
Normal file
|
@ -0,0 +1,161 @@
|
|||
#include "btree_gist.h"
|
||||
#include "btree_utils_num.h"
|
||||
|
||||
typedef struct float4key
|
||||
{
|
||||
float4 lower;
|
||||
float4 upper;
|
||||
} float4KEY;
|
||||
|
||||
/*
|
||||
** float4 ops
|
||||
*/
|
||||
PG_FUNCTION_INFO_V1(gbt_float4_compress);
|
||||
PG_FUNCTION_INFO_V1(gbt_float4_union);
|
||||
PG_FUNCTION_INFO_V1(gbt_float4_picksplit);
|
||||
PG_FUNCTION_INFO_V1(gbt_float4_consistent);
|
||||
PG_FUNCTION_INFO_V1(gbt_float4_penalty);
|
||||
PG_FUNCTION_INFO_V1(gbt_float4_same);
|
||||
|
||||
Datum gbt_float4_compress(PG_FUNCTION_ARGS);
|
||||
Datum gbt_float4_union(PG_FUNCTION_ARGS);
|
||||
Datum gbt_float4_picksplit(PG_FUNCTION_ARGS);
|
||||
Datum gbt_float4_consistent(PG_FUNCTION_ARGS);
|
||||
Datum gbt_float4_penalty(PG_FUNCTION_ARGS);
|
||||
Datum gbt_float4_same(PG_FUNCTION_ARGS);
|
||||
|
||||
static bool gbt_float4gt (const void *a, const void *b)
|
||||
{
|
||||
return ( *((float4*)a) > *((float4*)b) );
|
||||
}
|
||||
static bool gbt_float4ge (const void *a, const void *b)
|
||||
{
|
||||
return ( *((float4*)a) >= *((float4*)b) );
|
||||
}
|
||||
static bool gbt_float4eq (const void *a, const void *b)
|
||||
{
|
||||
return ( *((float4*)a) == *((float4*)b) );
|
||||
}
|
||||
static bool gbt_float4le (const void *a, const void *b)
|
||||
{
|
||||
return ( *((float4*)a) <= *((float4*)b) );
|
||||
}
|
||||
static bool gbt_float4lt (const void *a, const void *b)
|
||||
{
|
||||
return ( *((float4*)a) < *((float4*)b) );
|
||||
}
|
||||
|
||||
static int
|
||||
gbt_float4key_cmp(const void *a, const void *b)
|
||||
{
|
||||
|
||||
if ( *(float4*)&(((Nsrt *) a)->t[0]) > *(float4*)&(((Nsrt *) b)->t[0]) ){
|
||||
return 1;
|
||||
} else
|
||||
if ( *(float4*)&(((Nsrt *) a)->t[0]) < *(float4*)&(((Nsrt *) b)->t[0]) ){
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
|
||||
static const gbtree_ninfo tinfo =
|
||||
{
|
||||
gbt_t_float4,
|
||||
sizeof(float4),
|
||||
gbt_float4gt,
|
||||
gbt_float4ge,
|
||||
gbt_float4eq,
|
||||
gbt_float4le,
|
||||
gbt_float4lt,
|
||||
gbt_float4key_cmp
|
||||
};
|
||||
|
||||
|
||||
/**************************************************
|
||||
* float4 ops
|
||||
**************************************************/
|
||||
|
||||
|
||||
Datum
|
||||
gbt_float4_compress(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
GISTENTRY *retval = NULL;
|
||||
PG_RETURN_POINTER( gbt_num_compress( retval , entry , &tinfo ));
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_float4_consistent(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
float4 query = PG_GETARG_FLOAT4(1);
|
||||
float4KEY *kkk = (float4KEY *) DatumGetPointer(entry->key);
|
||||
GBT_NUMKEY_R key ;
|
||||
StrategyNumber strategy = (StrategyNumber) PG_GETARG_UINT16(2);
|
||||
key.lower = (GBT_NUMKEY*) &kkk->lower ;
|
||||
key.upper = (GBT_NUMKEY*) &kkk->upper ;
|
||||
|
||||
PG_RETURN_BOOL(
|
||||
gbt_num_consistent( &key, (void*)&query,&strategy,GIST_LEAF(entry),&tinfo)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_float4_union(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GistEntryVector *entryvec = (GistEntryVector *) PG_GETARG_POINTER(0);
|
||||
void *out = palloc(sizeof(float4KEY));
|
||||
*(int *) PG_GETARG_POINTER(1) = sizeof(float4KEY);
|
||||
PG_RETURN_POINTER( gbt_num_union ( (void*)out, entryvec, &tinfo ) );
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_float4_penalty(PG_FUNCTION_ARGS)
|
||||
{
|
||||
float4KEY *origentry = (float4KEY *) DatumGetPointer(((GISTENTRY *) PG_GETARG_POINTER(0))->key);
|
||||
float4KEY *newentry = (float4KEY *) DatumGetPointer(((GISTENTRY *) PG_GETARG_POINTER(1))->key);
|
||||
float *result = (float *) PG_GETARG_POINTER(2);
|
||||
|
||||
float4 res ;
|
||||
|
||||
*result = 0.0;
|
||||
|
||||
res = Max(newentry->upper - origentry->upper, 0) +
|
||||
Max(origentry->lower - newentry->lower, 0);
|
||||
|
||||
if ( res > 0 ){
|
||||
*result += FLT_MIN ;
|
||||
*result += (float) ( res / ( (double) ( res + origentry->upper - origentry->lower ) ) );
|
||||
*result *= ( FLT_MAX / ( ( (GISTENTRY *) PG_GETARG_POINTER(0))->rel->rd_att->natts + 1 ) );
|
||||
}
|
||||
|
||||
PG_RETURN_POINTER(result);
|
||||
|
||||
}
|
||||
|
||||
Datum
|
||||
gbt_float4_picksplit(PG_FUNCTION_ARGS)
|
||||
{
|
||||
PG_RETURN_POINTER(gbt_num_picksplit(
|
||||
(GistEntryVector *) PG_GETARG_POINTER(0),
|
||||
(GIST_SPLITVEC *) PG_GETARG_POINTER(1),
|
||||
&tinfo
|
||||
));
|
||||
}
|
||||
|
||||
Datum
|
||||
gbt_float4_same(PG_FUNCTION_ARGS)
|
||||
{
|
||||
float4KEY *b1 = (float4KEY *) PG_GETARG_POINTER(0);
|
||||
float4KEY *b2 = (float4KEY *) PG_GETARG_POINTER(1);
|
||||
bool *result = (bool *) PG_GETARG_POINTER(2);
|
||||
|
||||
*result = gbt_num_same ( (void*)b1, (void*)b2, &tinfo );
|
||||
PG_RETURN_POINTER(result);
|
||||
}
|
||||
|
161
contrib/btree_gist/btree_float8.c
Normal file
161
contrib/btree_gist/btree_float8.c
Normal file
|
@ -0,0 +1,161 @@
|
|||
#include "btree_gist.h"
|
||||
#include "btree_utils_num.h"
|
||||
|
||||
typedef struct float8key
|
||||
{
|
||||
float8 lower;
|
||||
float8 upper;
|
||||
} float8KEY;
|
||||
|
||||
/*
|
||||
** float8 ops
|
||||
*/
|
||||
PG_FUNCTION_INFO_V1(gbt_float8_compress);
|
||||
PG_FUNCTION_INFO_V1(gbt_float8_union);
|
||||
PG_FUNCTION_INFO_V1(gbt_float8_picksplit);
|
||||
PG_FUNCTION_INFO_V1(gbt_float8_consistent);
|
||||
PG_FUNCTION_INFO_V1(gbt_float8_penalty);
|
||||
PG_FUNCTION_INFO_V1(gbt_float8_same);
|
||||
|
||||
Datum gbt_float8_compress(PG_FUNCTION_ARGS);
|
||||
Datum gbt_float8_union(PG_FUNCTION_ARGS);
|
||||
Datum gbt_float8_picksplit(PG_FUNCTION_ARGS);
|
||||
Datum gbt_float8_consistent(PG_FUNCTION_ARGS);
|
||||
Datum gbt_float8_penalty(PG_FUNCTION_ARGS);
|
||||
Datum gbt_float8_same(PG_FUNCTION_ARGS);
|
||||
|
||||
|
||||
static bool gbt_float8gt (const void *a, const void *b)
|
||||
{
|
||||
return ( *((float8*)a) > *((float8*)b) );
|
||||
}
|
||||
static bool gbt_float8ge (const void *a, const void *b)
|
||||
{
|
||||
return ( *((float8*)a) >= *((float8*)b) );
|
||||
}
|
||||
static bool gbt_float8eq (const void *a, const void *b)
|
||||
{
|
||||
return ( *((float8*)a) == *((float8*)b) );
|
||||
}
|
||||
static bool gbt_float8le (const void *a, const void *b)
|
||||
{
|
||||
return ( *((float8*)a) <= *((float8*)b) );
|
||||
}
|
||||
static bool gbt_float8lt (const void *a, const void *b)
|
||||
{
|
||||
return ( *((float8*)a) < *((float8*)b) );
|
||||
}
|
||||
|
||||
static int
|
||||
gbt_float8key_cmp(const void *a, const void *b)
|
||||
{
|
||||
|
||||
if ( *(float8*)&(((Nsrt *) a)->t[0]) > *(float8*)&(((Nsrt *) b)->t[0]) ){
|
||||
return 1;
|
||||
} else
|
||||
if ( *(float8*)&(((Nsrt *) a)->t[0]) < *(float8*)&(((Nsrt *) b)->t[0]) ){
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
|
||||
static const gbtree_ninfo tinfo =
|
||||
{
|
||||
gbt_t_float8,
|
||||
sizeof(float8),
|
||||
gbt_float8gt,
|
||||
gbt_float8ge,
|
||||
gbt_float8eq,
|
||||
gbt_float8le,
|
||||
gbt_float8lt,
|
||||
gbt_float8key_cmp
|
||||
};
|
||||
|
||||
|
||||
/**************************************************
|
||||
* float8 ops
|
||||
**************************************************/
|
||||
|
||||
|
||||
Datum
|
||||
gbt_float8_compress(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
GISTENTRY *retval = NULL;
|
||||
PG_RETURN_POINTER( gbt_num_compress( retval , entry , &tinfo ));
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_float8_consistent(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
float8 query = PG_GETARG_FLOAT8(1);
|
||||
float8KEY *kkk = (float8KEY *) DatumGetPointer(entry->key);
|
||||
GBT_NUMKEY_R key ;
|
||||
StrategyNumber strategy = (StrategyNumber) PG_GETARG_UINT16(2);
|
||||
key.lower = (GBT_NUMKEY*) &kkk->lower ;
|
||||
key.upper = (GBT_NUMKEY*) &kkk->upper ;
|
||||
|
||||
PG_RETURN_BOOL(
|
||||
gbt_num_consistent( &key, (void*)&query,&strategy,GIST_LEAF(entry),&tinfo)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_float8_union(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GistEntryVector *entryvec = (GistEntryVector *) PG_GETARG_POINTER(0);
|
||||
void *out = palloc(sizeof(float8KEY));
|
||||
*(int *) PG_GETARG_POINTER(1) = sizeof(float8KEY);
|
||||
PG_RETURN_POINTER( gbt_num_union ( (void*)out, entryvec, &tinfo ) );
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_float8_penalty(PG_FUNCTION_ARGS)
|
||||
{
|
||||
float8KEY *origentry = (float8KEY *) DatumGetPointer(((GISTENTRY *) PG_GETARG_POINTER(0))->key);
|
||||
float8KEY *newentry = (float8KEY *) DatumGetPointer(((GISTENTRY *) PG_GETARG_POINTER(1))->key);
|
||||
float *result = (float *) PG_GETARG_POINTER(2);
|
||||
|
||||
float8 res ;
|
||||
|
||||
*result = 0.0;
|
||||
|
||||
res = Max(newentry->upper - origentry->upper, 0) +
|
||||
Max(origentry->lower - newentry->lower, 0);
|
||||
|
||||
if ( res > 0 ){
|
||||
*result += FLT_MIN ;
|
||||
*result += (float) ( res / ( (double) ( res + origentry->upper - origentry->lower ) ) );
|
||||
*result *= ( FLT_MAX / ( ( (GISTENTRY *) PG_GETARG_POINTER(0))->rel->rd_att->natts + 1 ) );
|
||||
}
|
||||
|
||||
PG_RETURN_POINTER(result);
|
||||
|
||||
}
|
||||
|
||||
Datum
|
||||
gbt_float8_picksplit(PG_FUNCTION_ARGS)
|
||||
{
|
||||
PG_RETURN_POINTER(gbt_num_picksplit(
|
||||
(GistEntryVector *) PG_GETARG_POINTER(0),
|
||||
(GIST_SPLITVEC *) PG_GETARG_POINTER(1),
|
||||
&tinfo
|
||||
));
|
||||
}
|
||||
|
||||
Datum
|
||||
gbt_float8_same(PG_FUNCTION_ARGS)
|
||||
{
|
||||
float8KEY *b1 = (float8KEY *) PG_GETARG_POINTER(0);
|
||||
float8KEY *b2 = (float8KEY *) PG_GETARG_POINTER(1);
|
||||
bool *result = (bool *) PG_GETARG_POINTER(2);
|
||||
|
||||
*result = gbt_num_same ( (void*)b1, (void*)b2, &tinfo );
|
||||
PG_RETURN_POINTER(result);
|
||||
}
|
45
contrib/btree_gist/btree_gist.c
Normal file
45
contrib/btree_gist/btree_gist.c
Normal file
|
@ -0,0 +1,45 @@
|
|||
#include "btree_gist.h"
|
||||
|
||||
PG_FUNCTION_INFO_V1(gbt_decompress);
|
||||
PG_FUNCTION_INFO_V1(gbtreekey_in);
|
||||
PG_FUNCTION_INFO_V1(gbtreekey_out);
|
||||
|
||||
Datum gbt_decompress(PG_FUNCTION_ARGS);
|
||||
|
||||
/**************************************************
|
||||
* In/Out for keys
|
||||
**************************************************/
|
||||
|
||||
|
||||
Datum
|
||||
gbtreekey_in(PG_FUNCTION_ARGS)
|
||||
{
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
|
||||
errmsg("<datatype>key_in() not implemented")));
|
||||
|
||||
PG_RETURN_POINTER(NULL);
|
||||
}
|
||||
|
||||
#include "btree_utils_var.h"
|
||||
#include "utils/builtins.h"
|
||||
Datum
|
||||
gbtreekey_out(PG_FUNCTION_ARGS)
|
||||
{
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
|
||||
errmsg("<datatype>key_out() not implemented")));
|
||||
PG_RETURN_POINTER(NULL);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
** GiST DeCompress methods
|
||||
** do not do anything.
|
||||
*/
|
||||
Datum
|
||||
gbt_decompress(PG_FUNCTION_ARGS)
|
||||
{
|
||||
PG_RETURN_POINTER(PG_GETARG_POINTER(0));
|
||||
}
|
||||
|
|
@ -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);
|
||||
|
|
File diff suppressed because it is too large
Load diff
224
contrib/btree_gist/btree_inet.c
Normal file
224
contrib/btree_gist/btree_inet.c
Normal file
|
@ -0,0 +1,224 @@
|
|||
#include "btree_gist.h"
|
||||
#include "btree_utils_num.h"
|
||||
#include "utils/builtins.h"
|
||||
#include "utils/inet.h"
|
||||
#include "catalog/pg_type.h"
|
||||
|
||||
typedef struct inetkey
|
||||
{
|
||||
double lower;
|
||||
double upper;
|
||||
} inetKEY;
|
||||
|
||||
/*
|
||||
** inet ops
|
||||
*/
|
||||
PG_FUNCTION_INFO_V1(gbt_inet_compress);
|
||||
PG_FUNCTION_INFO_V1(gbt_cidr_compress);
|
||||
PG_FUNCTION_INFO_V1(gbt_inet_union);
|
||||
PG_FUNCTION_INFO_V1(gbt_inet_picksplit);
|
||||
PG_FUNCTION_INFO_V1(gbt_inet_consistent);
|
||||
PG_FUNCTION_INFO_V1(gbt_cidr_consistent);
|
||||
PG_FUNCTION_INFO_V1(gbt_inet_penalty);
|
||||
PG_FUNCTION_INFO_V1(gbt_inet_same);
|
||||
|
||||
Datum gbt_inet_compress(PG_FUNCTION_ARGS);
|
||||
Datum gbt_cidr_compress(PG_FUNCTION_ARGS);
|
||||
Datum gbt_inet_union(PG_FUNCTION_ARGS);
|
||||
Datum gbt_inet_picksplit(PG_FUNCTION_ARGS);
|
||||
Datum gbt_inet_consistent(PG_FUNCTION_ARGS);
|
||||
Datum gbt_cidr_consistent(PG_FUNCTION_ARGS);
|
||||
Datum gbt_inet_penalty(PG_FUNCTION_ARGS);
|
||||
Datum gbt_inet_same(PG_FUNCTION_ARGS);
|
||||
|
||||
|
||||
static bool gbt_inetgt (const void *a, const void *b)
|
||||
{
|
||||
return ( *((double*)a) > *((double*)b) );
|
||||
}
|
||||
static bool gbt_inetge (const void *a, const void *b)
|
||||
{
|
||||
return ( *((double*)a) >= *((double*)b) );
|
||||
}
|
||||
static bool gbt_ineteq (const void *a, const void *b)
|
||||
{
|
||||
return ( *((double*)a) == *((double*)b) );
|
||||
}
|
||||
static bool gbt_inetle (const void *a, const void *b)
|
||||
{
|
||||
return ( *((double*)a) <= *((double*)b) );
|
||||
}
|
||||
static bool gbt_inetlt (const void *a, const void *b)
|
||||
{
|
||||
return ( *((double*)a) < *((double*)b) );
|
||||
}
|
||||
|
||||
static int
|
||||
gbt_inetkey_cmp(const void *a, const void *b)
|
||||
{
|
||||
|
||||
if ( *(double*)(&((Nsrt *) a)->t[0]) > *(double*)(&((Nsrt *) b)->t[0]) ){
|
||||
return 1;
|
||||
} else
|
||||
if ( *(double*)(&((Nsrt *) a)->t[0]) < *(double*)(&((Nsrt *) b)->t[0]) ){
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
|
||||
static const gbtree_ninfo tinfo =
|
||||
{
|
||||
gbt_t_inet,
|
||||
sizeof(double),
|
||||
gbt_inetgt,
|
||||
gbt_inetge,
|
||||
gbt_ineteq,
|
||||
gbt_inetle,
|
||||
gbt_inetlt,
|
||||
gbt_inetkey_cmp
|
||||
};
|
||||
|
||||
|
||||
/**************************************************
|
||||
* inet ops
|
||||
**************************************************/
|
||||
|
||||
|
||||
|
||||
static GISTENTRY *
|
||||
gbt_inet_compress_inetrnal(GISTENTRY *retval , GISTENTRY *entry , Oid typid)
|
||||
{
|
||||
|
||||
if (entry->leafkey)
|
||||
{
|
||||
inetKEY *r = (inetKEY *) palloc(sizeof(inetKEY));
|
||||
retval = palloc(sizeof(GISTENTRY));
|
||||
r->lower = convert_network_to_scalar(entry->key, typid );
|
||||
r->upper = r->lower ;
|
||||
gistentryinit(*retval, PointerGetDatum(r),
|
||||
entry->rel, entry->page,
|
||||
entry->offset, sizeof(inetKEY), FALSE);
|
||||
}
|
||||
else
|
||||
retval = entry;
|
||||
|
||||
return ( retval );
|
||||
}
|
||||
|
||||
|
||||
|
||||
Datum
|
||||
gbt_inet_compress(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
GISTENTRY *retval = NULL;
|
||||
PG_RETURN_POINTER( gbt_inet_compress_inetrnal(retval ,entry ,INETOID ) );
|
||||
}
|
||||
|
||||
Datum
|
||||
gbt_cidr_compress(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
GISTENTRY *retval = NULL;
|
||||
PG_RETURN_POINTER( gbt_inet_compress_inetrnal(retval ,entry ,CIDROID ) );
|
||||
}
|
||||
|
||||
|
||||
static bool
|
||||
gbt_inet_consistent_internal (
|
||||
const GISTENTRY * entry,
|
||||
const double * query,
|
||||
const StrategyNumber * strategy
|
||||
){
|
||||
inetKEY *kkk = (inetKEY *) DatumGetPointer(entry->key);
|
||||
GBT_NUMKEY_R key ;
|
||||
key.lower = (GBT_NUMKEY*) &kkk->lower ;
|
||||
key.upper = (GBT_NUMKEY*) &kkk->upper ;
|
||||
|
||||
return (
|
||||
gbt_num_consistent( &key, (void*)query,strategy,GIST_LEAF(entry),&tinfo)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_inet_consistent(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
double query = convert_network_to_scalar( PG_GETARG_DATUM(1) ,INETOID );
|
||||
StrategyNumber strategy = (StrategyNumber) PG_GETARG_UINT16(2);
|
||||
|
||||
PG_RETURN_BOOL(
|
||||
gbt_inet_consistent_internal ( entry, &query, &strategy )
|
||||
);
|
||||
}
|
||||
|
||||
Datum
|
||||
gbt_cidr_consistent(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
double query = convert_network_to_scalar( PG_GETARG_DATUM(1) ,CIDROID );
|
||||
StrategyNumber strategy = (StrategyNumber) PG_GETARG_UINT16(2);
|
||||
|
||||
PG_RETURN_BOOL(
|
||||
gbt_inet_consistent_internal ( entry, &query, &strategy )
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_inet_union(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GistEntryVector *entryvec = (GistEntryVector *) PG_GETARG_POINTER(0);
|
||||
void *out = palloc(sizeof(inetKEY));
|
||||
*(int *) PG_GETARG_POINTER(1) = sizeof(inetKEY);
|
||||
PG_RETURN_POINTER( gbt_num_union ( (void*)out, entryvec, &tinfo ) );
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_inet_penalty(PG_FUNCTION_ARGS)
|
||||
{
|
||||
inetKEY *origentry = (inetKEY *) DatumGetPointer(((GISTENTRY *) PG_GETARG_POINTER(0))->key);
|
||||
inetKEY *newentry = (inetKEY *) DatumGetPointer(((GISTENTRY *) PG_GETARG_POINTER(1))->key);
|
||||
float *result = (float *) PG_GETARG_POINTER(2);
|
||||
|
||||
double res ;
|
||||
|
||||
*result = 0.0;
|
||||
|
||||
res = Max(newentry->upper - origentry->upper, 0) +
|
||||
Max(origentry->lower - newentry->lower, 0);
|
||||
|
||||
if ( res > 0 ){
|
||||
*result += FLT_MIN ;
|
||||
*result += (float) ( res / ( (double) ( res + origentry->upper - origentry->lower ) ) );
|
||||
*result *= ( FLT_MAX / ( ( (GISTENTRY *) PG_GETARG_POINTER(0))->rel->rd_att->natts + 1 ) );
|
||||
}
|
||||
|
||||
PG_RETURN_POINTER(result);
|
||||
|
||||
}
|
||||
|
||||
Datum
|
||||
gbt_inet_picksplit(PG_FUNCTION_ARGS)
|
||||
{
|
||||
PG_RETURN_POINTER(gbt_num_picksplit(
|
||||
(GistEntryVector *) PG_GETARG_POINTER(0),
|
||||
(GIST_SPLITVEC *) PG_GETARG_POINTER(1),
|
||||
&tinfo
|
||||
));
|
||||
}
|
||||
|
||||
Datum
|
||||
gbt_inet_same(PG_FUNCTION_ARGS)
|
||||
{
|
||||
inetKEY *b1 = (inetKEY *) PG_GETARG_POINTER(0);
|
||||
inetKEY *b2 = (inetKEY *) PG_GETARG_POINTER(1);
|
||||
bool *result = (bool *) PG_GETARG_POINTER(2);
|
||||
|
||||
*result = gbt_num_same ( (void*)b1, (void*)b2, &tinfo );
|
||||
PG_RETURN_POINTER(result);
|
||||
}
|
162
contrib/btree_gist/btree_int2.c
Normal file
162
contrib/btree_gist/btree_int2.c
Normal file
|
@ -0,0 +1,162 @@
|
|||
#include "btree_gist.h"
|
||||
#include "btree_utils_num.h"
|
||||
|
||||
typedef struct int16key
|
||||
{
|
||||
int16 lower;
|
||||
int16 upper;
|
||||
} int16KEY;
|
||||
|
||||
/*
|
||||
** int16 ops
|
||||
*/
|
||||
PG_FUNCTION_INFO_V1(gbt_int2_compress);
|
||||
PG_FUNCTION_INFO_V1(gbt_int2_union);
|
||||
PG_FUNCTION_INFO_V1(gbt_int2_picksplit);
|
||||
PG_FUNCTION_INFO_V1(gbt_int2_consistent);
|
||||
PG_FUNCTION_INFO_V1(gbt_int2_penalty);
|
||||
PG_FUNCTION_INFO_V1(gbt_int2_same);
|
||||
|
||||
Datum gbt_int2_compress(PG_FUNCTION_ARGS);
|
||||
Datum gbt_int2_union(PG_FUNCTION_ARGS);
|
||||
Datum gbt_int2_picksplit(PG_FUNCTION_ARGS);
|
||||
Datum gbt_int2_consistent(PG_FUNCTION_ARGS);
|
||||
Datum gbt_int2_penalty(PG_FUNCTION_ARGS);
|
||||
Datum gbt_int2_same(PG_FUNCTION_ARGS);
|
||||
|
||||
static bool gbt_int2gt (const void *a, const void *b)
|
||||
{
|
||||
return ( *((int16*)a) > *((int16*)b) );
|
||||
}
|
||||
static bool gbt_int2ge (const void *a, const void *b)
|
||||
{
|
||||
return ( *((int16*)a) >= *((int16*)b) );
|
||||
}
|
||||
static bool gbt_int2eq (const void *a, const void *b)
|
||||
{
|
||||
return ( *((int16*)a) == *((int16*)b) );
|
||||
}
|
||||
static bool gbt_int2le (const void *a, const void *b)
|
||||
{
|
||||
return ( *((int16*)a) <= *((int16*)b) );
|
||||
}
|
||||
static bool gbt_int2lt (const void *a, const void *b)
|
||||
{
|
||||
return ( *((int16*)a) < *((int16*)b) );
|
||||
}
|
||||
|
||||
static int
|
||||
gbt_int2key_cmp(const void *a, const void *b)
|
||||
{
|
||||
|
||||
if ( *(int16*)(&((Nsrt *) a)->t[0]) > *(int16*)&(((Nsrt *) b)->t[0]) ){
|
||||
return 1;
|
||||
} else
|
||||
if ( *(int16*)&(((Nsrt *) a)->t[0]) < *(int16*)&(((Nsrt *) b)->t[0]) ){
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
|
||||
static const gbtree_ninfo tinfo =
|
||||
{
|
||||
gbt_t_int2,
|
||||
sizeof(int16),
|
||||
gbt_int2gt,
|
||||
gbt_int2ge,
|
||||
gbt_int2eq,
|
||||
gbt_int2le,
|
||||
gbt_int2lt,
|
||||
gbt_int2key_cmp
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**************************************************
|
||||
* int16 ops
|
||||
**************************************************/
|
||||
|
||||
|
||||
Datum
|
||||
gbt_int2_compress(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
GISTENTRY *retval = NULL;
|
||||
PG_RETURN_POINTER( gbt_num_compress( retval , entry , &tinfo ));
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_int2_consistent(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
int16 query = PG_GETARG_INT16(1);
|
||||
int16KEY *kkk = (int16KEY *) DatumGetPointer(entry->key);
|
||||
GBT_NUMKEY_R key ;
|
||||
StrategyNumber strategy = (StrategyNumber) PG_GETARG_UINT16(2);
|
||||
key.lower = (GBT_NUMKEY*) &kkk->lower ;
|
||||
key.upper = (GBT_NUMKEY*) &kkk->upper ;
|
||||
|
||||
PG_RETURN_BOOL(
|
||||
gbt_num_consistent( &key, (void*)&query,&strategy,GIST_LEAF(entry),&tinfo)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_int2_union(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GistEntryVector *entryvec = (GistEntryVector *) PG_GETARG_POINTER(0);
|
||||
void *out = palloc(sizeof(int16KEY));
|
||||
*(int *) PG_GETARG_POINTER(1) = sizeof(int16KEY);
|
||||
PG_RETURN_POINTER( gbt_num_union ( (void*)out, entryvec, &tinfo ) );
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_int2_penalty(PG_FUNCTION_ARGS)
|
||||
{
|
||||
int16KEY *origentry = (int16KEY *) DatumGetPointer(((GISTENTRY *) PG_GETARG_POINTER(0))->key);
|
||||
int16KEY *newentry = (int16KEY *) DatumGetPointer(((GISTENTRY *) PG_GETARG_POINTER(1))->key);
|
||||
float *result = (float *) PG_GETARG_POINTER(2);
|
||||
int2 res ;
|
||||
|
||||
*result = 0.0;
|
||||
|
||||
res = Max(newentry->upper - origentry->upper, 0) +
|
||||
Max(origentry->lower - newentry->lower, 0);
|
||||
|
||||
if ( res > 0 ){
|
||||
*result += FLT_MIN ;
|
||||
*result += (float) ( res / ( (double) ( res + origentry->upper - origentry->lower ) ) );
|
||||
*result *= ( FLT_MAX / ( ( (GISTENTRY *) PG_GETARG_POINTER(0))->rel->rd_att->natts + 1 ) );
|
||||
}
|
||||
|
||||
PG_RETURN_POINTER(result);
|
||||
}
|
||||
|
||||
Datum
|
||||
gbt_int2_picksplit(PG_FUNCTION_ARGS)
|
||||
{
|
||||
PG_RETURN_POINTER(gbt_num_picksplit(
|
||||
(GistEntryVector *) PG_GETARG_POINTER(0),
|
||||
(GIST_SPLITVEC *) PG_GETARG_POINTER(1),
|
||||
&tinfo
|
||||
));
|
||||
}
|
||||
|
||||
Datum
|
||||
gbt_int2_same(PG_FUNCTION_ARGS)
|
||||
{
|
||||
int16KEY *b1 = (int16KEY *) PG_GETARG_POINTER(0);
|
||||
int16KEY *b2 = (int16KEY *) PG_GETARG_POINTER(1);
|
||||
bool *result = (bool *) PG_GETARG_POINTER(2);
|
||||
|
||||
*result = gbt_num_same ( (void*)b1, (void*)b2, &tinfo );
|
||||
PG_RETURN_POINTER(result);
|
||||
}
|
159
contrib/btree_gist/btree_int4.c
Normal file
159
contrib/btree_gist/btree_int4.c
Normal file
|
@ -0,0 +1,159 @@
|
|||
#include "btree_gist.h"
|
||||
#include "btree_utils_num.h"
|
||||
|
||||
typedef struct int32key
|
||||
{
|
||||
int32 lower;
|
||||
int32 upper;
|
||||
} int32KEY;
|
||||
|
||||
/*
|
||||
** int32 ops
|
||||
*/
|
||||
PG_FUNCTION_INFO_V1(gbt_int4_compress);
|
||||
PG_FUNCTION_INFO_V1(gbt_int4_union);
|
||||
PG_FUNCTION_INFO_V1(gbt_int4_picksplit);
|
||||
PG_FUNCTION_INFO_V1(gbt_int4_consistent);
|
||||
PG_FUNCTION_INFO_V1(gbt_int4_penalty);
|
||||
PG_FUNCTION_INFO_V1(gbt_int4_same);
|
||||
|
||||
Datum gbt_int4_compress(PG_FUNCTION_ARGS);
|
||||
Datum gbt_int4_union(PG_FUNCTION_ARGS);
|
||||
Datum gbt_int4_picksplit(PG_FUNCTION_ARGS);
|
||||
Datum gbt_int4_consistent(PG_FUNCTION_ARGS);
|
||||
Datum gbt_int4_penalty(PG_FUNCTION_ARGS);
|
||||
Datum gbt_int4_same(PG_FUNCTION_ARGS);
|
||||
|
||||
|
||||
static bool gbt_int4gt (const void *a, const void *b)
|
||||
{
|
||||
return ( *((int32*)a) > *((int32*)b) );
|
||||
}
|
||||
static bool gbt_int4ge (const void *a, const void *b)
|
||||
{
|
||||
return ( *((int32*)a) >= *((int32*)b) );
|
||||
}
|
||||
static bool gbt_int4eq (const void *a, const void *b)
|
||||
{
|
||||
return ( *((int32*)a) == *((int32*)b) );
|
||||
}
|
||||
static bool gbt_int4le (const void *a, const void *b)
|
||||
{
|
||||
return ( *((int32*)a) <= *((int32*)b) );
|
||||
}
|
||||
static bool gbt_int4lt (const void *a, const void *b)
|
||||
{
|
||||
return ( *((int32*)a) < *((int32*)b) );
|
||||
}
|
||||
|
||||
static int
|
||||
gbt_int4key_cmp(const void *a, const void *b)
|
||||
{
|
||||
|
||||
if ( *(int32*)&(((Nsrt *) a)->t[0]) > *(int32*)&(((Nsrt *) b)->t[0]) ){
|
||||
return 1;
|
||||
} else
|
||||
if ( *(int32*)&(((Nsrt *) a)->t[0]) < *(int32*)&(((Nsrt *) b)->t[0]) ){
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
|
||||
static const gbtree_ninfo tinfo =
|
||||
{
|
||||
gbt_t_int4,
|
||||
sizeof(int32),
|
||||
gbt_int4gt,
|
||||
gbt_int4ge,
|
||||
gbt_int4eq,
|
||||
gbt_int4le,
|
||||
gbt_int4lt,
|
||||
gbt_int4key_cmp
|
||||
};
|
||||
|
||||
|
||||
/**************************************************
|
||||
* int32 ops
|
||||
**************************************************/
|
||||
|
||||
|
||||
Datum
|
||||
gbt_int4_compress(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
GISTENTRY *retval = NULL;
|
||||
PG_RETURN_POINTER( gbt_num_compress( retval , entry , &tinfo ));
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_int4_consistent(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
int32 query = PG_GETARG_INT32(1);
|
||||
int32KEY *kkk = (int32KEY *) DatumGetPointer(entry->key);
|
||||
GBT_NUMKEY_R key ;
|
||||
StrategyNumber strategy = (StrategyNumber) PG_GETARG_UINT16(2);
|
||||
key.lower = (GBT_NUMKEY*) &kkk->lower ;
|
||||
key.upper = (GBT_NUMKEY*) &kkk->upper ;
|
||||
|
||||
PG_RETURN_BOOL(
|
||||
gbt_num_consistent( &key, (void*)&query,&strategy,GIST_LEAF(entry),&tinfo)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_int4_union(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GistEntryVector *entryvec = (GistEntryVector *) PG_GETARG_POINTER(0);
|
||||
void *out = palloc( sizeof(int32KEY) );
|
||||
*(int *) PG_GETARG_POINTER(1) = sizeof(int32KEY);
|
||||
PG_RETURN_POINTER( gbt_num_union ( (void*)out, entryvec, &tinfo ) );
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_int4_penalty(PG_FUNCTION_ARGS)
|
||||
{
|
||||
int32KEY *origentry = (int32KEY *) DatumGetPointer(((GISTENTRY *) PG_GETARG_POINTER(0))->key);
|
||||
int32KEY *newentry = (int32KEY *) DatumGetPointer(((GISTENTRY *) PG_GETARG_POINTER(1))->key);
|
||||
float *result = (float *) PG_GETARG_POINTER(2);
|
||||
int4 res ;
|
||||
|
||||
*result = 0.0;
|
||||
|
||||
res = Max(newentry->upper - origentry->upper, 0) +
|
||||
Max(origentry->lower - newentry->lower, 0);
|
||||
|
||||
if ( res > 0 ){
|
||||
*result += FLT_MIN ;
|
||||
*result += (float) ( res / ( (double) ( res + origentry->upper - origentry->lower ) ) );
|
||||
*result *= ( FLT_MAX / ( ( (GISTENTRY *) PG_GETARG_POINTER(0))->rel->rd_att->natts + 1 ) );
|
||||
}
|
||||
|
||||
PG_RETURN_POINTER(result);
|
||||
}
|
||||
|
||||
Datum
|
||||
gbt_int4_picksplit(PG_FUNCTION_ARGS)
|
||||
{
|
||||
PG_RETURN_POINTER(gbt_num_picksplit(
|
||||
(GistEntryVector *) PG_GETARG_POINTER(0),
|
||||
(GIST_SPLITVEC *) PG_GETARG_POINTER(1),
|
||||
&tinfo
|
||||
));
|
||||
}
|
||||
|
||||
Datum
|
||||
gbt_int4_same(PG_FUNCTION_ARGS)
|
||||
{
|
||||
int32KEY *b1 = (int32KEY *) PG_GETARG_POINTER(0);
|
||||
int32KEY *b2 = (int32KEY *) PG_GETARG_POINTER(1);
|
||||
bool *result = (bool *) PG_GETARG_POINTER(2);
|
||||
|
||||
*result = gbt_num_same ( (void*)b1, (void*)b2, &tinfo );
|
||||
PG_RETURN_POINTER(result);
|
||||
}
|
161
contrib/btree_gist/btree_int8.c
Normal file
161
contrib/btree_gist/btree_int8.c
Normal file
|
@ -0,0 +1,161 @@
|
|||
#include "btree_gist.h"
|
||||
#include "btree_utils_num.h"
|
||||
|
||||
typedef struct int64key
|
||||
{
|
||||
int64 lower;
|
||||
int64 upper;
|
||||
} int64KEY;
|
||||
|
||||
/*
|
||||
** int64 ops
|
||||
*/
|
||||
PG_FUNCTION_INFO_V1(gbt_int8_compress);
|
||||
PG_FUNCTION_INFO_V1(gbt_int8_union);
|
||||
PG_FUNCTION_INFO_V1(gbt_int8_picksplit);
|
||||
PG_FUNCTION_INFO_V1(gbt_int8_consistent);
|
||||
PG_FUNCTION_INFO_V1(gbt_int8_penalty);
|
||||
PG_FUNCTION_INFO_V1(gbt_int8_same);
|
||||
|
||||
Datum gbt_int8_compress(PG_FUNCTION_ARGS);
|
||||
Datum gbt_int8_union(PG_FUNCTION_ARGS);
|
||||
Datum gbt_int8_picksplit(PG_FUNCTION_ARGS);
|
||||
Datum gbt_int8_consistent(PG_FUNCTION_ARGS);
|
||||
Datum gbt_int8_penalty(PG_FUNCTION_ARGS);
|
||||
Datum gbt_int8_same(PG_FUNCTION_ARGS);
|
||||
|
||||
|
||||
static bool gbt_int8gt (const void *a, const void *b)
|
||||
{
|
||||
return ( *((int64*)a) > *((int64*)b) );
|
||||
}
|
||||
static bool gbt_int8ge (const void *a, const void *b)
|
||||
{
|
||||
return ( *((int64*)a) >= *((int64*)b) );
|
||||
}
|
||||
static bool gbt_int8eq (const void *a, const void *b)
|
||||
{
|
||||
return ( *((int64*)a) == *((int64*)b) );
|
||||
}
|
||||
static bool gbt_int8le (const void *a, const void *b)
|
||||
{
|
||||
return ( *((int64*)a) <= *((int64*)b) );
|
||||
}
|
||||
static bool gbt_int8lt (const void *a, const void *b)
|
||||
{
|
||||
return ( *((int64*)a) < *((int64*)b) );
|
||||
}
|
||||
|
||||
static int
|
||||
gbt_int8key_cmp(const void *a, const void *b)
|
||||
{
|
||||
|
||||
if ( *(int64*)&(((Nsrt *) a)->t[0]) > *(int64*)&(((Nsrt *) b)->t[0]) ){
|
||||
return 1;
|
||||
} else
|
||||
if ( *(int64*)&(((Nsrt *) a)->t[0]) < *(int64*)&(((Nsrt *) b)->t[0]) ){
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
|
||||
static const gbtree_ninfo tinfo =
|
||||
{
|
||||
gbt_t_int8,
|
||||
sizeof(int64),
|
||||
gbt_int8gt,
|
||||
gbt_int8ge,
|
||||
gbt_int8eq,
|
||||
gbt_int8le,
|
||||
gbt_int8lt,
|
||||
gbt_int8key_cmp
|
||||
};
|
||||
|
||||
|
||||
/**************************************************
|
||||
* int64 ops
|
||||
**************************************************/
|
||||
|
||||
|
||||
Datum
|
||||
gbt_int8_compress(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
GISTENTRY *retval = NULL;
|
||||
PG_RETURN_POINTER( gbt_num_compress( retval , entry , &tinfo ));
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_int8_consistent(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
int64 query = PG_GETARG_INT64(1);
|
||||
int64KEY *kkk = (int64KEY *) DatumGetPointer(entry->key);
|
||||
GBT_NUMKEY_R key ;
|
||||
StrategyNumber strategy = (StrategyNumber) PG_GETARG_UINT16(2);
|
||||
key.lower = (GBT_NUMKEY*) &kkk->lower ;
|
||||
key.upper = (GBT_NUMKEY*) &kkk->upper ;
|
||||
|
||||
PG_RETURN_BOOL(
|
||||
gbt_num_consistent( &key, (void*)&query,&strategy,GIST_LEAF(entry),&tinfo)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_int8_union(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GistEntryVector *entryvec = (GistEntryVector *) PG_GETARG_POINTER(0);
|
||||
void *out = palloc(sizeof(int64KEY));
|
||||
*(int *) PG_GETARG_POINTER(1) = sizeof(int64KEY);
|
||||
PG_RETURN_POINTER( gbt_num_union ( (void*)out, entryvec, &tinfo ) );
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_int8_penalty(PG_FUNCTION_ARGS)
|
||||
{
|
||||
int64KEY *origentry = (int64KEY *) DatumGetPointer(((GISTENTRY *) PG_GETARG_POINTER(0))->key);
|
||||
int64KEY *newentry = (int64KEY *) DatumGetPointer(((GISTENTRY *) PG_GETARG_POINTER(1))->key);
|
||||
float *result = (float *) PG_GETARG_POINTER(2);
|
||||
int64 res ;
|
||||
|
||||
*result = 0.0;
|
||||
|
||||
res = Max(newentry->upper - origentry->upper, 0) +
|
||||
Max(origentry->lower - newentry->lower, 0);
|
||||
|
||||
if ( res > 0 ){
|
||||
*result += FLT_MIN ;
|
||||
*result += (float) ( res / ( (double) ( res + origentry->upper - origentry->lower ) ) );
|
||||
*result *= ( FLT_MAX / ( ( (GISTENTRY *) PG_GETARG_POINTER(0))->rel->rd_att->natts + 1 ) );
|
||||
}
|
||||
|
||||
PG_RETURN_POINTER(result);
|
||||
|
||||
}
|
||||
|
||||
Datum
|
||||
gbt_int8_picksplit(PG_FUNCTION_ARGS)
|
||||
{
|
||||
PG_RETURN_POINTER(gbt_num_picksplit(
|
||||
(GistEntryVector *) PG_GETARG_POINTER(0),
|
||||
(GIST_SPLITVEC *) PG_GETARG_POINTER(1),
|
||||
&tinfo
|
||||
));
|
||||
}
|
||||
|
||||
Datum
|
||||
gbt_int8_same(PG_FUNCTION_ARGS)
|
||||
{
|
||||
int64KEY *b1 = (int64KEY *) PG_GETARG_POINTER(0);
|
||||
int64KEY *b2 = (int64KEY *) PG_GETARG_POINTER(1);
|
||||
bool *result = (bool *) PG_GETARG_POINTER(2);
|
||||
|
||||
*result = gbt_num_same ( (void*)b1, (void*)b2, &tinfo );
|
||||
PG_RETURN_POINTER(result);
|
||||
}
|
||||
|
196
contrib/btree_gist/btree_interval.c
Normal file
196
contrib/btree_gist/btree_interval.c
Normal file
|
@ -0,0 +1,196 @@
|
|||
#include "btree_gist.h"
|
||||
#include "btree_utils_num.h"
|
||||
|
||||
typedef struct
|
||||
{
|
||||
Interval lower,
|
||||
upper;
|
||||
} intvKEY;
|
||||
|
||||
|
||||
/*
|
||||
** Interval ops
|
||||
*/
|
||||
PG_FUNCTION_INFO_V1(gbt_intv_compress);
|
||||
PG_FUNCTION_INFO_V1(gbt_intv_union);
|
||||
PG_FUNCTION_INFO_V1(gbt_intv_picksplit);
|
||||
PG_FUNCTION_INFO_V1(gbt_intv_consistent);
|
||||
PG_FUNCTION_INFO_V1(gbt_intv_penalty);
|
||||
PG_FUNCTION_INFO_V1(gbt_intv_same);
|
||||
|
||||
Datum gbt_intv_compress(PG_FUNCTION_ARGS);
|
||||
Datum gbt_intv_union(PG_FUNCTION_ARGS);
|
||||
Datum gbt_intv_picksplit(PG_FUNCTION_ARGS);
|
||||
Datum gbt_intv_consistent(PG_FUNCTION_ARGS);
|
||||
Datum gbt_intv_penalty(PG_FUNCTION_ARGS);
|
||||
Datum gbt_intv_same(PG_FUNCTION_ARGS);
|
||||
|
||||
|
||||
static bool gbt_intvgt (const void *a, const void *b)
|
||||
{
|
||||
return DirectFunctionCall2 ( interval_gt , IntervalPGetDatum ( a ) , IntervalPGetDatum ( b ) );
|
||||
}
|
||||
|
||||
static bool gbt_intvge (const void *a, const void *b)
|
||||
{
|
||||
return DirectFunctionCall2 ( interval_ge , IntervalPGetDatum ( a ) , IntervalPGetDatum ( b ) );
|
||||
}
|
||||
|
||||
static bool gbt_intveq (const void *a, const void *b)
|
||||
{
|
||||
return DirectFunctionCall2 ( interval_eq , IntervalPGetDatum ( a ) , IntervalPGetDatum ( b ) );
|
||||
}
|
||||
|
||||
static bool gbt_intvle (const void *a, const void *b)
|
||||
{
|
||||
return DirectFunctionCall2 ( interval_le , IntervalPGetDatum ( a ) , IntervalPGetDatum ( b ) );
|
||||
}
|
||||
|
||||
static bool gbt_intvlt (const void *a, const void *b)
|
||||
{
|
||||
return DirectFunctionCall2 ( interval_lt , IntervalPGetDatum ( a ) , IntervalPGetDatum ( b ) );
|
||||
}
|
||||
|
||||
static int
|
||||
gbt_intvkey_cmp(const void *a, const void *b)
|
||||
{
|
||||
return DatumGetInt32 (
|
||||
DirectFunctionCall2 ( interval_cmp ,
|
||||
IntervalPGetDatum(&((Nsrt *) a)->t[0]) ,
|
||||
IntervalPGetDatum(&((Nsrt *) b)->t[0])
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
static const gbtree_ninfo tinfo =
|
||||
{
|
||||
gbt_t_intv,
|
||||
sizeof(Interval),
|
||||
gbt_intvgt,
|
||||
gbt_intvge,
|
||||
gbt_intveq,
|
||||
gbt_intvle,
|
||||
gbt_intvlt,
|
||||
gbt_intvkey_cmp
|
||||
};
|
||||
|
||||
|
||||
/**************************************************
|
||||
* interval ops
|
||||
**************************************************/
|
||||
|
||||
|
||||
Datum
|
||||
gbt_intv_compress(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
GISTENTRY *retval = NULL;
|
||||
PG_RETURN_POINTER( gbt_num_compress( retval , entry , &tinfo ));
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_intv_consistent(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
Interval *query = PG_GETARG_INTERVAL_P(1);
|
||||
intvKEY *kkk = (intvKEY *) DatumGetPointer(entry->key);
|
||||
GBT_NUMKEY_R key ;
|
||||
StrategyNumber strategy = (StrategyNumber) PG_GETARG_UINT16(2);
|
||||
key.lower = (GBT_NUMKEY*) &kkk->lower ;
|
||||
key.upper = (GBT_NUMKEY*) &kkk->upper ;
|
||||
|
||||
PG_RETURN_BOOL(
|
||||
gbt_num_consistent( &key, (void*)query ,&strategy,GIST_LEAF(entry),&tinfo)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_intv_union(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GistEntryVector *entryvec = (GistEntryVector *) PG_GETARG_POINTER(0);
|
||||
void *out = palloc(sizeof(intvKEY));
|
||||
*(int *) PG_GETARG_POINTER(1) = sizeof(intvKEY);
|
||||
PG_RETURN_POINTER( gbt_num_union ( (void*)out, entryvec, &tinfo ) );
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_intv_penalty(PG_FUNCTION_ARGS)
|
||||
{
|
||||
intvKEY *origentry = (intvKEY *) DatumGetPointer(((GISTENTRY *) PG_GETARG_POINTER(0))->key);
|
||||
intvKEY *newentry = (intvKEY *) DatumGetPointer(((GISTENTRY *) PG_GETARG_POINTER(1))->key);
|
||||
float *result = (float *) PG_GETARG_POINTER(2);
|
||||
Interval *intr;
|
||||
#ifdef HAVE_INT64_TIMESTAMP
|
||||
int64 res;
|
||||
#else
|
||||
double res;
|
||||
#endif
|
||||
|
||||
intr = DatumGetIntervalP(DirectFunctionCall2(
|
||||
interval_mi,
|
||||
IntervalPGetDatum(&newentry->upper),
|
||||
IntervalPGetDatum(&origentry->upper)
|
||||
));
|
||||
|
||||
/* see interval_larger */
|
||||
|
||||
res = Max(intr->time + intr->month * (30 * 86400), 0);
|
||||
pfree(intr);
|
||||
|
||||
intr = DatumGetIntervalP(DirectFunctionCall2(
|
||||
interval_mi,
|
||||
IntervalPGetDatum(&origentry->lower),
|
||||
IntervalPGetDatum(&newentry->lower)
|
||||
));
|
||||
|
||||
/* see interval_larger */
|
||||
res += Max(intr->time + intr->month * (30 * 86400), 0);
|
||||
pfree(intr);
|
||||
|
||||
*result = 0.0;
|
||||
|
||||
if ( res > 0 ){
|
||||
|
||||
intr = DatumGetIntervalP(DirectFunctionCall2(
|
||||
interval_mi,
|
||||
IntervalPGetDatum(&origentry->upper),
|
||||
IntervalPGetDatum(&origentry->lower)
|
||||
));
|
||||
|
||||
*result += FLT_MIN ;
|
||||
*result += (float) ( res / ( (double) ( res + intr->time + intr->month * (30 * 86400) ) ) );
|
||||
*result *= ( FLT_MAX / ( ( (GISTENTRY *) PG_GETARG_POINTER(0))->rel->rd_att->natts + 1 ) );
|
||||
|
||||
pfree ( intr );
|
||||
|
||||
}
|
||||
|
||||
PG_RETURN_POINTER(result);
|
||||
|
||||
|
||||
}
|
||||
|
||||
Datum
|
||||
gbt_intv_picksplit(PG_FUNCTION_ARGS)
|
||||
{
|
||||
PG_RETURN_POINTER(gbt_num_picksplit(
|
||||
(GistEntryVector *) PG_GETARG_POINTER(0),
|
||||
(GIST_SPLITVEC *) PG_GETARG_POINTER(1),
|
||||
&tinfo
|
||||
));
|
||||
}
|
||||
|
||||
Datum
|
||||
gbt_intv_same(PG_FUNCTION_ARGS)
|
||||
{
|
||||
intvKEY *b1 = (intvKEY *) PG_GETARG_POINTER(0);
|
||||
intvKEY *b2 = (intvKEY *) PG_GETARG_POINTER(1);
|
||||
bool *result = (bool *) PG_GETARG_POINTER(2);
|
||||
|
||||
*result = gbt_num_same ( (void*)b1, (void*)b2, &tinfo );
|
||||
PG_RETURN_POINTER(result);
|
||||
}
|
||||
|
183
contrib/btree_gist/btree_macaddr.c
Normal file
183
contrib/btree_gist/btree_macaddr.c
Normal file
|
@ -0,0 +1,183 @@
|
|||
#include "btree_gist.h"
|
||||
#include "btree_utils_num.h"
|
||||
#include "utils/builtins.h"
|
||||
#include "utils/inet.h"
|
||||
|
||||
typedef struct
|
||||
{
|
||||
macaddr lower;
|
||||
macaddr upper;
|
||||
} macKEY;
|
||||
|
||||
/*
|
||||
** OID ops
|
||||
*/
|
||||
PG_FUNCTION_INFO_V1(gbt_macad_compress);
|
||||
PG_FUNCTION_INFO_V1(gbt_macad_union);
|
||||
PG_FUNCTION_INFO_V1(gbt_macad_picksplit);
|
||||
PG_FUNCTION_INFO_V1(gbt_macad_consistent);
|
||||
PG_FUNCTION_INFO_V1(gbt_macad_penalty);
|
||||
PG_FUNCTION_INFO_V1(gbt_macad_same);
|
||||
|
||||
Datum gbt_macad_compress(PG_FUNCTION_ARGS);
|
||||
Datum gbt_macad_union(PG_FUNCTION_ARGS);
|
||||
Datum gbt_macad_picksplit(PG_FUNCTION_ARGS);
|
||||
Datum gbt_macad_consistent(PG_FUNCTION_ARGS);
|
||||
Datum gbt_macad_penalty(PG_FUNCTION_ARGS);
|
||||
Datum gbt_macad_same(PG_FUNCTION_ARGS);
|
||||
|
||||
|
||||
static bool gbt_macadgt (const void *a, const void *b)
|
||||
{
|
||||
return DatumGetBool(DirectFunctionCall2(macaddr_gt,PointerGetDatum(a),PointerGetDatum(b)));
|
||||
}
|
||||
static bool gbt_macadge (const void *a, const void *b)
|
||||
{
|
||||
return DatumGetBool(DirectFunctionCall2(macaddr_ge,PointerGetDatum(a),PointerGetDatum(b)));
|
||||
}
|
||||
|
||||
static bool gbt_macadeq (const void *a, const void *b)
|
||||
{
|
||||
return DatumGetBool(DirectFunctionCall2(macaddr_eq,PointerGetDatum(a),PointerGetDatum(b)));
|
||||
}
|
||||
|
||||
static bool gbt_macadle (const void *a, const void *b)
|
||||
{
|
||||
return DatumGetBool(DirectFunctionCall2(macaddr_le,PointerGetDatum(a),PointerGetDatum(b)));
|
||||
}
|
||||
|
||||
static bool gbt_macadlt (const void *a, const void *b)
|
||||
{
|
||||
return DatumGetBool(DirectFunctionCall2(macaddr_lt,PointerGetDatum(a),PointerGetDatum(b)));
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
gbt_macadkey_cmp(const void *a, const void *b)
|
||||
{
|
||||
return DatumGetInt32(
|
||||
DirectFunctionCall2(
|
||||
macaddr_cmp ,
|
||||
PointerGetDatum (&((Nsrt *) a)->t[0]),
|
||||
PointerGetDatum (&((Nsrt *) b)->t[0])
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
static const gbtree_ninfo tinfo =
|
||||
{
|
||||
gbt_t_macad,
|
||||
sizeof(macaddr),
|
||||
gbt_macadgt,
|
||||
gbt_macadge,
|
||||
gbt_macadeq,
|
||||
gbt_macadle,
|
||||
gbt_macadlt,
|
||||
gbt_macadkey_cmp
|
||||
};
|
||||
|
||||
|
||||
/**************************************************
|
||||
* macaddr ops
|
||||
**************************************************/
|
||||
|
||||
|
||||
|
||||
static int64 mac_2_int64 ( macaddr * m ){
|
||||
unsigned char * mi = ( unsigned char * ) m;
|
||||
int64 res = 0;
|
||||
int i;
|
||||
for (i=0; i<6; i++ ){
|
||||
res += mi[i] << ( (5-i)*8 );
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Datum
|
||||
gbt_macad_compress(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
GISTENTRY *retval = NULL;
|
||||
PG_RETURN_POINTER( gbt_num_compress( retval , entry , &tinfo ));
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_macad_consistent(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
macaddr *query = (macaddr *) PG_GETARG_POINTER(1);
|
||||
macKEY *kkk = (macKEY *) DatumGetPointer(entry->key);
|
||||
GBT_NUMKEY_R key ;
|
||||
StrategyNumber strategy = (StrategyNumber) PG_GETARG_UINT16(2);
|
||||
key.lower = (GBT_NUMKEY*) &kkk->lower ;
|
||||
key.upper = (GBT_NUMKEY*) &kkk->upper ;
|
||||
|
||||
PG_RETURN_BOOL(
|
||||
gbt_num_consistent( &key, (void*)query,&strategy,GIST_LEAF(entry),&tinfo)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_macad_union(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GistEntryVector *entryvec = (GistEntryVector *) PG_GETARG_POINTER(0);
|
||||
void *out = palloc(sizeof(macKEY));
|
||||
*(int *) PG_GETARG_POINTER(1) = sizeof(macKEY);
|
||||
PG_RETURN_POINTER( gbt_num_union ( (void*)out, entryvec, &tinfo ) );
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_macad_penalty(PG_FUNCTION_ARGS)
|
||||
{
|
||||
macKEY *origentry = (macKEY *) DatumGetPointer(((GISTENTRY *) PG_GETARG_POINTER(0))->key);
|
||||
macKEY *newentry = (macKEY *) DatumGetPointer(((GISTENTRY *) PG_GETARG_POINTER(1))->key);
|
||||
float *result = (float *) PG_GETARG_POINTER(2);
|
||||
int64 iorg[2], inew[2], res ;
|
||||
|
||||
iorg[0] = mac_2_int64 ( &origentry->lower );
|
||||
iorg[1] = mac_2_int64 ( &origentry->upper );
|
||||
inew[0] = mac_2_int64 ( &newentry->lower );
|
||||
inew[1] = mac_2_int64 ( &newentry->upper );
|
||||
|
||||
res = Max(inew[1] - iorg[1], 0) +
|
||||
Max(iorg[0] - inew[0] , 0);
|
||||
|
||||
*result = 0.0;
|
||||
|
||||
if ( res > 0 ){
|
||||
*result += FLT_MIN ;
|
||||
*result += (float) ( res / ( (double) ( res + iorg[1] - iorg[0] ) ) );
|
||||
*result *= ( FLT_MAX / ( ( (GISTENTRY *) PG_GETARG_POINTER(0))->rel->rd_att->natts + 1 ) );
|
||||
}
|
||||
|
||||
PG_RETURN_POINTER(result);
|
||||
|
||||
}
|
||||
|
||||
Datum
|
||||
gbt_macad_picksplit(PG_FUNCTION_ARGS)
|
||||
{
|
||||
PG_RETURN_POINTER(gbt_num_picksplit(
|
||||
(GistEntryVector *) PG_GETARG_POINTER(0),
|
||||
(GIST_SPLITVEC *) PG_GETARG_POINTER(1),
|
||||
&tinfo
|
||||
));
|
||||
}
|
||||
|
||||
Datum
|
||||
gbt_macad_same(PG_FUNCTION_ARGS)
|
||||
{
|
||||
macKEY *b1 = (macKEY *) PG_GETARG_POINTER(0);
|
||||
macKEY *b2 = (macKEY *) PG_GETARG_POINTER(1);
|
||||
bool *result = (bool *) PG_GETARG_POINTER(2);
|
||||
|
||||
*result = gbt_num_same ( (void*)b1, (void*)b2, &tinfo );
|
||||
PG_RETURN_POINTER(result);
|
||||
}
|
||||
|
|
@ -1,266 +0,0 @@
|
|||
#include "btree_gist.h"
|
||||
|
||||
#define __DEFINE_BTREE_TYPE_HERE__ 1
|
||||
|
||||
typedef struct __BTREE_GIST_TYPE__key
|
||||
{
|
||||
__BTREE_GIST_TYPE__ lower;
|
||||
__BTREE_GIST_TYPE__ upper;
|
||||
} __BTREE_GIST_TYPE__KEY;
|
||||
|
||||
|
||||
/*
|
||||
** __BTREE_GIST_TYPE__key in/out
|
||||
*/
|
||||
PG_FUNCTION_INFO_V1(__BTREE_GIST_TYPE2__key_in);
|
||||
PG_FUNCTION_INFO_V1(__BTREE_GIST_TYPE2__key_out);
|
||||
Datum __BTREE_GIST_TYPE2__key_in(PG_FUNCTION_ARGS);
|
||||
Datum __BTREE_GIST_TYPE2__key_out(PG_FUNCTION_ARGS);
|
||||
|
||||
/*
|
||||
** __BTREE_GIST_TYPE__ ops
|
||||
*/
|
||||
PG_FUNCTION_INFO_V1(g__BTREE_GIST_TYPE2___compress);
|
||||
PG_FUNCTION_INFO_V1(g__BTREE_GIST_TYPE2___union);
|
||||
PG_FUNCTION_INFO_V1(g__BTREE_GIST_TYPE2___picksplit);
|
||||
PG_FUNCTION_INFO_V1(g__BTREE_GIST_TYPE2___consistent);
|
||||
PG_FUNCTION_INFO_V1(g__BTREE_GIST_TYPE2___penalty);
|
||||
PG_FUNCTION_INFO_V1(g__BTREE_GIST_TYPE2___same);
|
||||
|
||||
Datum g__BTREE_GIST_TYPE2___compress(PG_FUNCTION_ARGS);
|
||||
Datum g__BTREE_GIST_TYPE2___union(PG_FUNCTION_ARGS);
|
||||
Datum g__BTREE_GIST_TYPE2___picksplit(PG_FUNCTION_ARGS);
|
||||
Datum g__BTREE_GIST_TYPE2___consistent(PG_FUNCTION_ARGS);
|
||||
Datum g__BTREE_GIST_TYPE2___penalty(PG_FUNCTION_ARGS);
|
||||
Datum g__BTREE_GIST_TYPE2___same(PG_FUNCTION_ARGS);
|
||||
|
||||
static void g__BTREE_GIST_TYPE2___binary_union(Datum *r1, char *r2);
|
||||
static int __BTREE_GIST_TYPE2__key_cmp(const void *a, const void *b);
|
||||
|
||||
|
||||
/**************************************************
|
||||
* __BTREE_GIST_TYPE__ ops
|
||||
**************************************************/
|
||||
|
||||
Datum
|
||||
g__BTREE_GIST_TYPE2___compress(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
GISTENTRY *retval;
|
||||
|
||||
if (entry->leafkey)
|
||||
{
|
||||
__BTREE_GIST_TYPE__KEY *r = ( __BTREE_GIST_TYPE__KEY * ) palloc(sizeof(__BTREE_GIST_TYPE__KEY));
|
||||
#ifdef BTREE_GIST_INT2
|
||||
int16 leaf = DatumGetInt16(entry->key);
|
||||
#endif
|
||||
#ifdef BTREE_GIST_INT4
|
||||
int32 leaf = DatumGetInt32(entry->key);
|
||||
#endif
|
||||
#ifdef BTREE_GIST_INT8
|
||||
int64 leaf = DatumGetInt64(entry->key);
|
||||
#endif
|
||||
#ifdef BTREE_GIST_FLOAT4
|
||||
float4 leaf = DatumGetFloat4(entry->key);
|
||||
#endif
|
||||
#ifdef BTREE_GIST_FLOAT8
|
||||
float8 leaf = DatumGetFloat8(entry->key);
|
||||
#endif
|
||||
|
||||
retval = palloc(sizeof(GISTENTRY));
|
||||
r->lower = r->upper = leaf ;
|
||||
|
||||
gistentryinit(*retval, PointerGetDatum(r), entry->rel, entry->page,
|
||||
entry->offset, sizeof(__BTREE_GIST_TYPE__KEY), FALSE);
|
||||
|
||||
}
|
||||
else
|
||||
retval = entry;
|
||||
PG_RETURN_POINTER(retval);
|
||||
}
|
||||
|
||||
Datum
|
||||
g__BTREE_GIST_TYPE2___consistent(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
#ifdef BTREE_GIST_INT2
|
||||
int16 query = PG_GETARG_INT16(1);
|
||||
#endif
|
||||
#ifdef BTREE_GIST_INT4
|
||||
int32 query = PG_GETARG_INT32(1);
|
||||
#endif
|
||||
#ifdef BTREE_GIST_INT8
|
||||
int64 query = PG_GETARG_INT64(1);
|
||||
#endif
|
||||
#ifdef BTREE_GIST_FLOAT4
|
||||
float4 query = PG_GETARG_FLOAT4(1);
|
||||
#endif
|
||||
#ifdef BTREE_GIST_FLOAT8
|
||||
float8 query = PG_GETARG_FLOAT8(1);
|
||||
#endif
|
||||
__BTREE_GIST_TYPE__KEY *kkk = (__BTREE_GIST_TYPE__KEY *) DatumGetPointer(entry->key);
|
||||
StrategyNumber strategy = (StrategyNumber) PG_GETARG_UINT16(2);
|
||||
bool retval;
|
||||
|
||||
switch (strategy)
|
||||
{
|
||||
case BTLessEqualStrategyNumber:
|
||||
retval = (query >= kkk->lower);
|
||||
break;
|
||||
case BTLessStrategyNumber:
|
||||
if (GIST_LEAF(entry))
|
||||
retval = (query > kkk->lower);
|
||||
else
|
||||
retval = (query >= kkk->lower);
|
||||
break;
|
||||
case BTEqualStrategyNumber:
|
||||
/* in leaf page kkk->lower always = kkk->upper */
|
||||
if (GIST_LEAF(entry))
|
||||
retval = (query == kkk->lower);
|
||||
else
|
||||
retval = (kkk->lower <= query && query <= kkk->upper);
|
||||
break;
|
||||
case BTGreaterStrategyNumber:
|
||||
if (GIST_LEAF(entry))
|
||||
retval = (query < kkk->upper);
|
||||
else
|
||||
retval = (query <= kkk->upper);
|
||||
break;
|
||||
case BTGreaterEqualStrategyNumber:
|
||||
retval = (query <= kkk->upper);
|
||||
break;
|
||||
default:
|
||||
retval = FALSE;
|
||||
}
|
||||
PG_RETURN_BOOL(retval);
|
||||
}
|
||||
|
||||
Datum
|
||||
g__BTREE_GIST_TYPE2___union(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GistEntryVector *entryvec = (GistEntryVector *) PG_GETARG_POINTER(0);
|
||||
int i,
|
||||
numranges;
|
||||
__BTREE_GIST_TYPE__KEY *cur,
|
||||
*out = palloc(sizeof(__BTREE_GIST_TYPE__KEY));
|
||||
|
||||
numranges = entryvec->n;
|
||||
*(int *) PG_GETARG_POINTER(1) = sizeof(__BTREE_GIST_TYPE__KEY);
|
||||
|
||||
cur = (__BTREE_GIST_TYPE__KEY *) DatumGetPointer((entryvec->vector[0].key));
|
||||
out->lower = cur->lower;
|
||||
out->upper = cur->upper;
|
||||
|
||||
for (i = 1; i < numranges; i++)
|
||||
{
|
||||
cur = (__BTREE_GIST_TYPE__KEY *) DatumGetPointer((entryvec->vector[i].key));
|
||||
if (out->lower > cur->lower)
|
||||
out->lower = cur->lower;
|
||||
if (out->upper < cur->upper)
|
||||
out->upper = cur->upper;
|
||||
}
|
||||
|
||||
PG_RETURN_POINTER(out);
|
||||
}
|
||||
|
||||
Datum
|
||||
g__BTREE_GIST_TYPE2___penalty(PG_FUNCTION_ARGS)
|
||||
{
|
||||
__BTREE_GIST_TYPE__KEY *origentry = (__BTREE_GIST_TYPE__KEY *) DatumGetPointer(((GISTENTRY *) PG_GETARG_POINTER(0))->key);
|
||||
__BTREE_GIST_TYPE__KEY *newentry = (__BTREE_GIST_TYPE__KEY *) DatumGetPointer(((GISTENTRY *) PG_GETARG_POINTER(1))->key);
|
||||
float *result = (float *) PG_GETARG_POINTER(2);
|
||||
|
||||
*result = Max(newentry->upper - origentry->upper, 0) +
|
||||
Max(origentry->lower - newentry->lower, 0);
|
||||
|
||||
PG_RETURN_POINTER(result);
|
||||
}
|
||||
|
||||
Datum
|
||||
g__BTREE_GIST_TYPE2___picksplit(PG_FUNCTION_ARGS)
|
||||
{
|
||||
PG_RETURN_POINTER(btree_picksplit(
|
||||
(GistEntryVector *) PG_GETARG_POINTER(0),
|
||||
(GIST_SPLITVEC *) PG_GETARG_POINTER(1),
|
||||
g__BTREE_GIST_TYPE2___binary_union,
|
||||
__BTREE_GIST_TYPE2__key_cmp
|
||||
));
|
||||
}
|
||||
|
||||
Datum
|
||||
g__BTREE_GIST_TYPE2___same(PG_FUNCTION_ARGS)
|
||||
{
|
||||
__BTREE_GIST_TYPE__KEY *b1 = (__BTREE_GIST_TYPE__KEY *) PG_GETARG_POINTER(0);
|
||||
__BTREE_GIST_TYPE__KEY *b2 = (__BTREE_GIST_TYPE__KEY *) PG_GETARG_POINTER(1);
|
||||
bool *result = (bool *) PG_GETARG_POINTER(2);
|
||||
|
||||
*result = (b1->lower == b2->lower && b1->upper == b2->upper) ? TRUE : FALSE;
|
||||
PG_RETURN_POINTER(result);
|
||||
}
|
||||
|
||||
static void
|
||||
g__BTREE_GIST_TYPE2___binary_union(Datum *r1, char *r2)
|
||||
{
|
||||
__BTREE_GIST_TYPE__KEY *b1;
|
||||
__BTREE_GIST_TYPE__KEY *b2 = (__BTREE_GIST_TYPE__KEY *) r2;
|
||||
|
||||
if (!DatumGetPointer(*r1))
|
||||
{
|
||||
*r1 = PointerGetDatum(palloc(sizeof(__BTREE_GIST_TYPE__KEY)));
|
||||
b1 = (__BTREE_GIST_TYPE__KEY *) DatumGetPointer(*r1);
|
||||
b1->upper = b2->upper;
|
||||
b1->lower = b2->lower;
|
||||
}
|
||||
else
|
||||
{
|
||||
b1 = (__BTREE_GIST_TYPE__KEY *) DatumGetPointer(*r1);
|
||||
|
||||
b1->lower = (b1->lower > b2->lower) ?
|
||||
b2->lower : b1->lower;
|
||||
b1->upper = (b1->upper > b2->upper) ?
|
||||
b1->upper : b2->upper;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
__BTREE_GIST_TYPE2__key_cmp(const void *a, const void *b)
|
||||
{
|
||||
|
||||
|
||||
if (((__BTREE_GIST_TYPE__KEY *) (((RIX *) a)->r))->lower > ((__BTREE_GIST_TYPE__KEY *) (((RIX *) b)->r))->lower){
|
||||
return 1;
|
||||
} else if (((__BTREE_GIST_TYPE__KEY *) (((RIX *) a)->r))->lower < ((__BTREE_GIST_TYPE__KEY *) (((RIX *) b)->r))->lower){
|
||||
return -1;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**************************************************
|
||||
* In/Out for keys
|
||||
**************************************************/
|
||||
|
||||
Datum
|
||||
__BTREE_GIST_TYPE2__key_in(PG_FUNCTION_ARGS)
|
||||
{
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
|
||||
errmsg("<datatype>key_in() not implemented")));
|
||||
|
||||
PG_RETURN_POINTER(NULL);
|
||||
}
|
||||
|
||||
Datum
|
||||
__BTREE_GIST_TYPE2__key_out(PG_FUNCTION_ARGS)
|
||||
{
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
|
||||
errmsg("<datatype>key_out() not implemented")));
|
||||
|
||||
PG_RETURN_POINTER(NULL);
|
||||
}
|
||||
|
227
contrib/btree_gist/btree_numeric.c
Normal file
227
contrib/btree_gist/btree_numeric.c
Normal file
|
@ -0,0 +1,227 @@
|
|||
#include "btree_gist.h"
|
||||
#include "btree_utils_var.h"
|
||||
#include "utils/builtins.h"
|
||||
#include "utils/numeric.h"
|
||||
|
||||
/*
|
||||
** Bytea ops
|
||||
*/
|
||||
PG_FUNCTION_INFO_V1(gbt_numeric_compress);
|
||||
PG_FUNCTION_INFO_V1(gbt_numeric_union);
|
||||
PG_FUNCTION_INFO_V1(gbt_numeric_picksplit);
|
||||
PG_FUNCTION_INFO_V1(gbt_numeric_consistent);
|
||||
PG_FUNCTION_INFO_V1(gbt_numeric_penalty);
|
||||
PG_FUNCTION_INFO_V1(gbt_numeric_same);
|
||||
|
||||
Datum gbt_numeric_compress(PG_FUNCTION_ARGS);
|
||||
Datum gbt_numeric_union(PG_FUNCTION_ARGS);
|
||||
Datum gbt_numeric_picksplit(PG_FUNCTION_ARGS);
|
||||
Datum gbt_numeric_consistent(PG_FUNCTION_ARGS);
|
||||
Datum gbt_numeric_penalty(PG_FUNCTION_ARGS);
|
||||
Datum gbt_numeric_same(PG_FUNCTION_ARGS);
|
||||
|
||||
|
||||
/* define for comparison */
|
||||
|
||||
static bool gbt_numeric_gt (const void *a, const void *b)
|
||||
{
|
||||
return ( DatumGetBool(DirectFunctionCall2( numeric_gt ,PointerGetDatum( a ),PointerGetDatum( b ) ) ) );
|
||||
}
|
||||
|
||||
static bool gbt_numeric_ge (const void *a, const void *b)
|
||||
{
|
||||
return ( DatumGetBool(DirectFunctionCall2( numeric_ge ,PointerGetDatum( a ),PointerGetDatum( b ) ) ) );
|
||||
}
|
||||
|
||||
static bool gbt_numeric_eq (const void *a, const void *b)
|
||||
{
|
||||
return ( DatumGetBool(DirectFunctionCall2( numeric_eq ,PointerGetDatum( a ),PointerGetDatum( b ) ) ) );
|
||||
}
|
||||
|
||||
static bool gbt_numeric_le (const void *a, const void *b)
|
||||
{
|
||||
return ( DatumGetBool(DirectFunctionCall2( numeric_le ,PointerGetDatum( a ),PointerGetDatum( b ) ) ) );
|
||||
}
|
||||
|
||||
static bool gbt_numeric_lt (const void *a, const void *b)
|
||||
{
|
||||
return ( DatumGetBool(DirectFunctionCall2( numeric_lt ,PointerGetDatum( a ),PointerGetDatum( b ) ) ) );
|
||||
}
|
||||
|
||||
|
||||
static int32 gbt_numeric_cmp ( const bytea * a , const bytea * b )
|
||||
{
|
||||
return
|
||||
( DatumGetInt32(DirectFunctionCall2(numeric_cmp,PointerGetDatum(a),PointerGetDatum(b) ) ) );
|
||||
}
|
||||
|
||||
|
||||
static const gbtree_vinfo tinfo =
|
||||
{
|
||||
gbt_t_numeric,
|
||||
FALSE,
|
||||
FALSE,
|
||||
gbt_numeric_gt,
|
||||
gbt_numeric_ge,
|
||||
gbt_numeric_eq,
|
||||
gbt_numeric_le,
|
||||
gbt_numeric_lt,
|
||||
gbt_numeric_cmp,
|
||||
NULL
|
||||
};
|
||||
|
||||
|
||||
/**************************************************
|
||||
* Text ops
|
||||
**************************************************/
|
||||
|
||||
|
||||
Datum
|
||||
gbt_numeric_compress (PG_FUNCTION_ARGS)
|
||||
{
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
PG_RETURN_POINTER ( gbt_var_compress( entry, &tinfo ) );
|
||||
}
|
||||
|
||||
|
||||
|
||||
Datum
|
||||
gbt_numeric_consistent(PG_FUNCTION_ARGS)
|
||||
{
|
||||
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
GBT_VARKEY *ktst = (GBT_VARKEY *) DatumGetPointer ( entry->key ) ;
|
||||
GBT_VARKEY *key = (GBT_VARKEY *) DatumGetPointer ( PG_DETOAST_DATUM( entry->key ) );
|
||||
void *qtst = ( void * ) DatumGetPointer ( PG_GETARG_DATUM(1) );
|
||||
void *query = ( void * ) DatumGetNumeric ( PG_GETARG_DATUM(1) );
|
||||
StrategyNumber strategy = (StrategyNumber) PG_GETARG_UINT16(2);
|
||||
bool retval = FALSE;
|
||||
GBT_VARKEY_R r = gbt_var_key_readable ( key );
|
||||
|
||||
retval = gbt_var_consistent( &r, query, &strategy, GIST_LEAF(entry), &tinfo );
|
||||
|
||||
if ( ktst != key ){
|
||||
pfree ( key );
|
||||
}
|
||||
if ( qtst != query ){
|
||||
pfree ( query );
|
||||
}
|
||||
PG_RETURN_BOOL(retval);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Datum
|
||||
gbt_numeric_union(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GistEntryVector *entryvec = (GistEntryVector *) PG_GETARG_POINTER(0);
|
||||
int32 * size = (int *) PG_GETARG_POINTER(1);
|
||||
PG_RETURN_POINTER( gbt_var_union ( entryvec , size , &tinfo ) );
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_numeric_same(PG_FUNCTION_ARGS)
|
||||
{
|
||||
Datum d1 = PG_GETARG_DATUM(0);
|
||||
Datum d2 = PG_GETARG_DATUM(1);
|
||||
bool *result = (bool *) PG_GETARG_POINTER(2);
|
||||
PG_RETURN_POINTER( gbt_var_same ( result, d1 , d2 , &tinfo ));
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_numeric_penalty (PG_FUNCTION_ARGS)
|
||||
{
|
||||
GISTENTRY * o = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
GISTENTRY * n = (GISTENTRY *) PG_GETARG_POINTER(1);
|
||||
float *result = (float *) PG_GETARG_POINTER(2);
|
||||
|
||||
Numeric us, os, ds ;
|
||||
|
||||
GBT_VARKEY *org = (GBT_VARKEY *) DatumGetPointer(o->key);
|
||||
GBT_VARKEY *newe = (GBT_VARKEY *) DatumGetPointer(n->key);
|
||||
Datum uni ;
|
||||
GBT_VARKEY_R rk , ok, uk ;
|
||||
|
||||
rk = gbt_var_key_readable ( org );
|
||||
uni = PointerGetDatum( gbt_var_key_copy( &rk, TRUE ) );
|
||||
gbt_var_bin_union ( &uni , newe, &tinfo );
|
||||
ok = gbt_var_key_readable ( org );
|
||||
uk = gbt_var_key_readable ( (GBT_VARKEY *) DatumGetPointer(uni) );
|
||||
|
||||
us = DatumGetNumeric(DirectFunctionCall2(
|
||||
numeric_sub,
|
||||
PointerGetDatum(uk.upper),
|
||||
PointerGetDatum(uk.lower)
|
||||
));
|
||||
|
||||
pfree ( DatumGetPointer(uni) );
|
||||
|
||||
os = DatumGetNumeric(DirectFunctionCall2(
|
||||
numeric_sub,
|
||||
PointerGetDatum(ok.upper),
|
||||
PointerGetDatum(ok.lower)
|
||||
));
|
||||
|
||||
ds = DatumGetNumeric(DirectFunctionCall2(
|
||||
numeric_sub,
|
||||
NumericGetDatum(us),
|
||||
NumericGetDatum(os)
|
||||
));
|
||||
|
||||
pfree ( os );
|
||||
|
||||
if ( NUMERIC_IS_NAN( us ) )
|
||||
{
|
||||
|
||||
if ( NUMERIC_IS_NAN( os ) )
|
||||
{
|
||||
*result = 0.0;
|
||||
} else {
|
||||
*result = 1.0;
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
Numeric nul = DatumGetNumeric(DirectFunctionCall1( int4_numeric , Int32GetDatum (0) ) );
|
||||
|
||||
*result = 0.0;
|
||||
|
||||
if ( DirectFunctionCall2( numeric_gt , NumericGetDatum(ds), NumericGetDatum(nul) ) )
|
||||
{
|
||||
|
||||
*result += FLT_MIN ;
|
||||
os = DatumGetNumeric(DirectFunctionCall2(
|
||||
numeric_div,
|
||||
NumericGetDatum(ds),
|
||||
NumericGetDatum(us)
|
||||
));
|
||||
*result += ( float4 ) DatumGetFloat8( DirectFunctionCall1( numeric_float8_no_overflow , NumericGetDatum(os) ) );
|
||||
pfree ( os );
|
||||
|
||||
}
|
||||
|
||||
pfree ( nul );
|
||||
}
|
||||
|
||||
if ( *result > 0 )
|
||||
*result *= ( FLT_MAX / ( ( (GISTENTRY *) PG_GETARG_POINTER(0))->rel->rd_att->natts + 1 ) );
|
||||
|
||||
pfree ( us );
|
||||
pfree ( ds );
|
||||
|
||||
PG_RETURN_POINTER( result );
|
||||
}
|
||||
|
||||
|
||||
|
||||
Datum
|
||||
gbt_numeric_picksplit(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GistEntryVector *entryvec = (GistEntryVector *) PG_GETARG_POINTER(0);
|
||||
GIST_SPLITVEC *v = (GIST_SPLITVEC *) PG_GETARG_POINTER(1);
|
||||
gbt_var_picksplit ( entryvec, v, &tinfo );
|
||||
PG_RETURN_POINTER(v);
|
||||
}
|
||||
|
160
contrib/btree_gist/btree_oid.c
Normal file
160
contrib/btree_gist/btree_oid.c
Normal file
|
@ -0,0 +1,160 @@
|
|||
#include "btree_gist.h"
|
||||
#include "btree_utils_num.h"
|
||||
|
||||
typedef struct
|
||||
{
|
||||
Oid lower;
|
||||
Oid upper;
|
||||
} oidKEY;
|
||||
|
||||
/*
|
||||
** OID ops
|
||||
*/
|
||||
PG_FUNCTION_INFO_V1(gbt_oid_compress);
|
||||
PG_FUNCTION_INFO_V1(gbt_oid_union);
|
||||
PG_FUNCTION_INFO_V1(gbt_oid_picksplit);
|
||||
PG_FUNCTION_INFO_V1(gbt_oid_consistent);
|
||||
PG_FUNCTION_INFO_V1(gbt_oid_penalty);
|
||||
PG_FUNCTION_INFO_V1(gbt_oid_same);
|
||||
|
||||
Datum gbt_oid_compress(PG_FUNCTION_ARGS);
|
||||
Datum gbt_oid_union(PG_FUNCTION_ARGS);
|
||||
Datum gbt_oid_picksplit(PG_FUNCTION_ARGS);
|
||||
Datum gbt_oid_consistent(PG_FUNCTION_ARGS);
|
||||
Datum gbt_oid_penalty(PG_FUNCTION_ARGS);
|
||||
Datum gbt_oid_same(PG_FUNCTION_ARGS);
|
||||
|
||||
|
||||
static bool gbt_oidgt (const void *a, const void *b)
|
||||
{
|
||||
return ( *((Oid*)a) > *((Oid*)b) );
|
||||
}
|
||||
static bool gbt_oidge (const void *a, const void *b)
|
||||
{
|
||||
return ( *((Oid*)a) >= *((Oid*)b) );
|
||||
}
|
||||
static bool gbt_oideq (const void *a, const void *b)
|
||||
{
|
||||
return ( *((Oid*)a) == *((Oid*)b) );
|
||||
}
|
||||
static bool gbt_oidle (const void *a, const void *b)
|
||||
{
|
||||
return ( *((Oid*)a) <= *((Oid*)b) );
|
||||
}
|
||||
static bool gbt_oidlt (const void *a, const void *b)
|
||||
{
|
||||
return ( *((Oid*)a) < *((Oid*)b) );
|
||||
}
|
||||
|
||||
static int
|
||||
gbt_oidkey_cmp(const void *a, const void *b)
|
||||
{
|
||||
|
||||
if ( *(Oid*)&(((Nsrt *) a)->t[0]) > *(Oid*)&(((Nsrt *) b)->t[0]) ){
|
||||
return 1;
|
||||
} else
|
||||
if ( *(Oid*)&(((Nsrt *) a)->t[0]) < *(Oid*)&(((Nsrt *) b)->t[0]) ){
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
|
||||
static const gbtree_ninfo tinfo =
|
||||
{
|
||||
gbt_t_oid,
|
||||
sizeof(Oid),
|
||||
gbt_oidgt,
|
||||
gbt_oidge,
|
||||
gbt_oideq,
|
||||
gbt_oidle,
|
||||
gbt_oidlt,
|
||||
gbt_oidkey_cmp
|
||||
};
|
||||
|
||||
|
||||
/**************************************************
|
||||
* Oid ops
|
||||
**************************************************/
|
||||
|
||||
|
||||
Datum
|
||||
gbt_oid_compress(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
GISTENTRY *retval = NULL;
|
||||
PG_RETURN_POINTER( gbt_num_compress( retval , entry , &tinfo ));
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_oid_consistent(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
Oid query = PG_GETARG_OID(1);
|
||||
oidKEY *kkk = (oidKEY *) DatumGetPointer(entry->key);
|
||||
GBT_NUMKEY_R key ;
|
||||
StrategyNumber strategy = (StrategyNumber) PG_GETARG_UINT16(2);
|
||||
key.lower = (GBT_NUMKEY*) &kkk->lower ;
|
||||
key.upper = (GBT_NUMKEY*) &kkk->upper ;
|
||||
|
||||
PG_RETURN_BOOL(
|
||||
gbt_num_consistent( &key, (void*)&query,&strategy,GIST_LEAF(entry),&tinfo)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_oid_union(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GistEntryVector *entryvec = (GistEntryVector *) PG_GETARG_POINTER(0);
|
||||
void *out = palloc(sizeof(oidKEY));
|
||||
*(int *) PG_GETARG_POINTER(1) = sizeof(oidKEY);
|
||||
PG_RETURN_POINTER( gbt_num_union ( (void*)out, entryvec, &tinfo ) );
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_oid_penalty(PG_FUNCTION_ARGS)
|
||||
{
|
||||
oidKEY *origentry = (oidKEY *) DatumGetPointer(((GISTENTRY *) PG_GETARG_POINTER(0))->key);
|
||||
oidKEY *newentry = (oidKEY *) DatumGetPointer(((GISTENTRY *) PG_GETARG_POINTER(1))->key);
|
||||
float *result = (float *) PG_GETARG_POINTER(2);
|
||||
|
||||
Oid res ;
|
||||
|
||||
*result = 0.0;
|
||||
|
||||
res = Max(newentry->upper - origentry->upper, 0) +
|
||||
Max(origentry->lower - newentry->lower, 0);
|
||||
|
||||
if ( res > 0 ){
|
||||
*result += FLT_MIN ;
|
||||
*result += (float) ( res / ( (double) ( res + origentry->upper - origentry->lower ) ) );
|
||||
*result *= ( FLT_MAX / ( ( (GISTENTRY *) PG_GETARG_POINTER(0))->rel->rd_att->natts + 1 ) );
|
||||
}
|
||||
|
||||
PG_RETURN_POINTER(result);
|
||||
}
|
||||
|
||||
Datum
|
||||
gbt_oid_picksplit(PG_FUNCTION_ARGS)
|
||||
{
|
||||
PG_RETURN_POINTER(gbt_num_picksplit(
|
||||
(GistEntryVector *) PG_GETARG_POINTER(0),
|
||||
(GIST_SPLITVEC *) PG_GETARG_POINTER(1),
|
||||
&tinfo
|
||||
));
|
||||
}
|
||||
|
||||
Datum
|
||||
gbt_oid_same(PG_FUNCTION_ARGS)
|
||||
{
|
||||
oidKEY *b1 = (oidKEY *) PG_GETARG_POINTER(0);
|
||||
oidKEY *b2 = (oidKEY *) PG_GETARG_POINTER(1);
|
||||
bool *result = (bool *) PG_GETARG_POINTER(2);
|
||||
|
||||
*result = gbt_num_same ( (void*)b1, (void*)b2, &tinfo );
|
||||
PG_RETURN_POINTER(result);
|
||||
}
|
271
contrib/btree_gist/btree_text.c
Normal file
271
contrib/btree_gist/btree_text.c
Normal file
|
@ -0,0 +1,271 @@
|
|||
#include "btree_gist.h"
|
||||
#include "btree_utils_var.h"
|
||||
#include "utils/builtins.h"
|
||||
|
||||
/*
|
||||
** Text ops
|
||||
*/
|
||||
PG_FUNCTION_INFO_V1(gbt_text_compress);
|
||||
PG_FUNCTION_INFO_V1(gbt_bpchar_compress);
|
||||
PG_FUNCTION_INFO_V1(gbt_text_union);
|
||||
PG_FUNCTION_INFO_V1(gbt_text_picksplit);
|
||||
PG_FUNCTION_INFO_V1(gbt_text_consistent);
|
||||
PG_FUNCTION_INFO_V1(gbt_bpchar_consistent);
|
||||
PG_FUNCTION_INFO_V1(gbt_text_penalty);
|
||||
PG_FUNCTION_INFO_V1(gbt_text_same);
|
||||
|
||||
Datum gbt_text_compress(PG_FUNCTION_ARGS);
|
||||
Datum gbt_bpchar_compress(PG_FUNCTION_ARGS);
|
||||
Datum gbt_text_union(PG_FUNCTION_ARGS);
|
||||
Datum gbt_text_picksplit(PG_FUNCTION_ARGS);
|
||||
Datum gbt_text_consistent(PG_FUNCTION_ARGS);
|
||||
Datum gbt_bpchar_consistent(PG_FUNCTION_ARGS);
|
||||
Datum gbt_text_penalty(PG_FUNCTION_ARGS);
|
||||
Datum gbt_text_same(PG_FUNCTION_ARGS);
|
||||
|
||||
|
||||
/* define for comparison */
|
||||
|
||||
static bool gbt_textgt (const void *a, const void *b)
|
||||
{
|
||||
return ( DatumGetBool(DirectFunctionCall2( text_gt ,PointerGetDatum( a ),PointerGetDatum( b ) ) ) );
|
||||
}
|
||||
|
||||
static bool gbt_textge (const void *a, const void *b)
|
||||
{
|
||||
return ( DatumGetBool(DirectFunctionCall2( text_ge ,PointerGetDatum( a ),PointerGetDatum( b ) ) ) );
|
||||
}
|
||||
|
||||
static bool gbt_texteq (const void *a, const void *b)
|
||||
{
|
||||
return ( DatumGetBool(DirectFunctionCall2( texteq ,PointerGetDatum( a ),PointerGetDatum( b ) ) ) );
|
||||
}
|
||||
|
||||
static bool gbt_textle (const void *a, const void *b)
|
||||
{
|
||||
return ( DatumGetBool(DirectFunctionCall2( text_le ,PointerGetDatum( a ),PointerGetDatum( b ) ) ) );
|
||||
}
|
||||
|
||||
static bool gbt_textlt (const void *a, const void *b)
|
||||
{
|
||||
return ( DatumGetBool(DirectFunctionCall2( text_lt ,PointerGetDatum( a ),PointerGetDatum( b ) ) ) );
|
||||
}
|
||||
|
||||
static int32 gbt_textcmp ( const bytea * a , const bytea * b )
|
||||
{
|
||||
return strcmp( VARDATA(a), VARDATA(b) );
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Converts data of leaf using strxfrm ( locale support )
|
||||
*/
|
||||
|
||||
static bytea *
|
||||
gbt_text_xfrm ( bytea * leaf )
|
||||
{
|
||||
bytea * out = leaf;
|
||||
|
||||
int32 ilen = VARSIZE (leaf) - VARHDRSZ;
|
||||
int32 olen ;
|
||||
char sin[ilen+1];
|
||||
char * sou = NULL;
|
||||
memcpy ( (void*)&sin[0], (void*) VARDATA(leaf) ,ilen );
|
||||
sin[ilen] = '\0';
|
||||
olen = strxfrm ( NULL, &sin[0], 0 ) + 1;
|
||||
sou = palloc ( olen );
|
||||
olen = strxfrm ( sou , &sin[0] , olen );
|
||||
olen += VARHDRSZ;
|
||||
out = palloc ( olen + 1 );
|
||||
out->vl_len = olen+1;
|
||||
memcpy( (void*) VARDATA(out), sou, olen-VARHDRSZ );
|
||||
((char*)out)[olen] = '\0';
|
||||
pfree(sou);
|
||||
|
||||
return out;
|
||||
}
|
||||
|
||||
|
||||
static GBT_VARKEY * gbt_text_l2n ( GBT_VARKEY * leaf )
|
||||
{
|
||||
|
||||
GBT_VARKEY *out = leaf ;
|
||||
GBT_VARKEY_R r = gbt_var_key_readable ( leaf );
|
||||
bytea * o ;
|
||||
|
||||
o = gbt_text_xfrm ( r.lower );
|
||||
r.lower = r.upper = o;
|
||||
out = gbt_var_key_copy ( &r , TRUE );
|
||||
pfree(o);
|
||||
|
||||
return out;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
static const gbtree_vinfo tinfo =
|
||||
{
|
||||
gbt_t_text,
|
||||
TRUE,
|
||||
TRUE,
|
||||
gbt_textgt,
|
||||
gbt_textge,
|
||||
gbt_texteq,
|
||||
gbt_textle,
|
||||
gbt_textlt,
|
||||
gbt_textcmp,
|
||||
gbt_text_l2n
|
||||
};
|
||||
|
||||
|
||||
|
||||
/**************************************************
|
||||
* Text ops
|
||||
**************************************************/
|
||||
|
||||
|
||||
Datum
|
||||
gbt_text_compress (PG_FUNCTION_ARGS)
|
||||
{
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
PG_RETURN_POINTER ( gbt_var_compress( entry, &tinfo ) );
|
||||
}
|
||||
|
||||
Datum
|
||||
gbt_bpchar_compress (PG_FUNCTION_ARGS)
|
||||
{
|
||||
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
GISTENTRY * retval ;
|
||||
|
||||
if (entry->leafkey)
|
||||
{
|
||||
|
||||
Datum d = DirectFunctionCall1 ( rtrim1, entry->key );
|
||||
GISTENTRY * trim = palloc(sizeof(GISTENTRY));
|
||||
|
||||
gistentryinit(*trim, d ,
|
||||
entry->rel, entry->page,
|
||||
entry->offset, VARSIZE(DatumGetPointer(d)), TRUE);
|
||||
retval = gbt_var_compress( trim , &tinfo ) ;
|
||||
|
||||
pfree ( trim );
|
||||
pfree ( DatumGetPointer(d) );
|
||||
} else
|
||||
retval = entry;
|
||||
|
||||
PG_RETURN_POINTER ( retval );
|
||||
}
|
||||
|
||||
|
||||
|
||||
Datum
|
||||
gbt_text_consistent(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
GBT_VARKEY *ktst = (GBT_VARKEY *) DatumGetPointer ( entry->key ) ;
|
||||
GBT_VARKEY *key = (GBT_VARKEY *) DatumGetPointer ( PG_DETOAST_DATUM( entry->key ) );
|
||||
void *qtst = ( void * ) DatumGetPointer( PG_GETARG_DATUM(1) );
|
||||
void *query = ( void * ) DatumGetTextP ( PG_GETARG_DATUM(1) );
|
||||
StrategyNumber strategy = (StrategyNumber) PG_GETARG_UINT16(2);
|
||||
bool retval = FALSE;
|
||||
GBT_VARKEY_R r = gbt_var_key_readable ( key );
|
||||
|
||||
if ( GIST_LEAF(entry) )
|
||||
{
|
||||
retval = gbt_var_consistent( &r, query, &strategy, TRUE, &tinfo );
|
||||
} else {
|
||||
bytea * q = gbt_text_xfrm ( ( bytea * ) query );
|
||||
retval = gbt_var_consistent( &r, (void*)q, &strategy, FALSE, &tinfo );
|
||||
if ( q != query )
|
||||
pfree(q);
|
||||
}
|
||||
|
||||
if ( ktst != key ){
|
||||
pfree ( key );
|
||||
}
|
||||
if ( qtst != query ){
|
||||
pfree ( query );
|
||||
}
|
||||
|
||||
PG_RETURN_BOOL(retval);
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_bpchar_consistent(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
GBT_VARKEY *ktst = (GBT_VARKEY *) DatumGetPointer ( entry->key ) ;
|
||||
GBT_VARKEY *key = (GBT_VARKEY *) DatumGetPointer ( PG_DETOAST_DATUM( entry->key ) );
|
||||
void *qtst = ( void * ) DatumGetPointer ( PG_GETARG_DATUM(1) );
|
||||
void *query = ( void * ) DatumGetPointer (PG_DETOAST_DATUM( PG_GETARG_DATUM(1) ) );
|
||||
void *trim = ( void * ) DatumGetPointer ( DirectFunctionCall1 ( rtrim1, PointerGetDatum ( query ) ) ) ;
|
||||
StrategyNumber strategy = (StrategyNumber) PG_GETARG_UINT16(2);
|
||||
bool retval = FALSE;
|
||||
GBT_VARKEY_R r = gbt_var_key_readable ( key );
|
||||
|
||||
if ( GIST_LEAF(entry) )
|
||||
{
|
||||
retval = gbt_var_consistent( &r, trim , &strategy, TRUE, &tinfo );
|
||||
} else {
|
||||
bytea * q = gbt_text_xfrm ( ( bytea * ) trim );
|
||||
retval = gbt_var_consistent( &r, (void*)q, &strategy, FALSE, &tinfo );
|
||||
if ( q != trim )
|
||||
pfree(q);
|
||||
}
|
||||
|
||||
pfree(trim);
|
||||
|
||||
if ( ktst != key ){
|
||||
pfree ( key );
|
||||
}
|
||||
if ( qtst != query ){
|
||||
pfree ( query );
|
||||
}
|
||||
PG_RETURN_BOOL(retval);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Datum
|
||||
gbt_text_union(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GistEntryVector *entryvec = (GistEntryVector *) PG_GETARG_POINTER(0);
|
||||
int32 *size = (int *) PG_GETARG_POINTER(1);
|
||||
PG_RETURN_POINTER( gbt_var_union ( entryvec , size , &tinfo ) );
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_text_picksplit(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GistEntryVector *entryvec = (GistEntryVector *) PG_GETARG_POINTER(0);
|
||||
GIST_SPLITVEC *v = (GIST_SPLITVEC *) PG_GETARG_POINTER(1);
|
||||
gbt_var_picksplit ( entryvec, v, &tinfo );
|
||||
PG_RETURN_POINTER(v);
|
||||
}
|
||||
|
||||
Datum
|
||||
gbt_text_same(PG_FUNCTION_ARGS)
|
||||
{
|
||||
Datum d1 = PG_GETARG_DATUM(0);
|
||||
Datum d2 = PG_GETARG_DATUM(1);
|
||||
bool *result = (bool *) PG_GETARG_POINTER(2);
|
||||
PG_RETURN_POINTER( gbt_var_same ( result, d1 , d2 , &tinfo ));
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_text_penalty(PG_FUNCTION_ARGS)
|
||||
{
|
||||
float *result = (float *) PG_GETARG_POINTER(2);
|
||||
GISTENTRY * o = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
GISTENTRY * n = (GISTENTRY *) PG_GETARG_POINTER(1);
|
||||
PG_RETURN_POINTER( gbt_var_penalty ( result ,o , n, &tinfo ) );
|
||||
}
|
||||
|
248
contrib/btree_gist/btree_time.c
Normal file
248
contrib/btree_gist/btree_time.c
Normal file
|
@ -0,0 +1,248 @@
|
|||
#include "btree_gist.h"
|
||||
#include "btree_utils_num.h"
|
||||
#include "utils/date.h"
|
||||
|
||||
typedef struct
|
||||
{
|
||||
TimeADT lower;
|
||||
TimeADT upper;
|
||||
} timeKEY;
|
||||
|
||||
/*
|
||||
** time ops
|
||||
*/
|
||||
PG_FUNCTION_INFO_V1(gbt_time_compress);
|
||||
PG_FUNCTION_INFO_V1(gbt_timetz_compress);
|
||||
PG_FUNCTION_INFO_V1(gbt_time_union);
|
||||
PG_FUNCTION_INFO_V1(gbt_time_picksplit);
|
||||
PG_FUNCTION_INFO_V1(gbt_time_consistent);
|
||||
PG_FUNCTION_INFO_V1(gbt_timetz_consistent);
|
||||
PG_FUNCTION_INFO_V1(gbt_time_penalty);
|
||||
PG_FUNCTION_INFO_V1(gbt_time_same);
|
||||
|
||||
Datum gbt_time_compress(PG_FUNCTION_ARGS);
|
||||
Datum gbt_timetz_compress(PG_FUNCTION_ARGS);
|
||||
Datum gbt_time_union(PG_FUNCTION_ARGS);
|
||||
Datum gbt_time_picksplit(PG_FUNCTION_ARGS);
|
||||
Datum gbt_time_consistent(PG_FUNCTION_ARGS);
|
||||
Datum gbt_timetz_consistent(PG_FUNCTION_ARGS);
|
||||
Datum gbt_time_penalty(PG_FUNCTION_ARGS);
|
||||
Datum gbt_time_same(PG_FUNCTION_ARGS);
|
||||
|
||||
|
||||
static bool gbt_timegt (const void *a, const void *b)
|
||||
{
|
||||
return DatumGetBool(
|
||||
DirectFunctionCall2(time_gt,TimeADTGetDatum( *((TimeADT*)a) ), TimeADTGetDatum( *((TimeADT*)b) ) )
|
||||
);
|
||||
}
|
||||
|
||||
static bool gbt_timege (const void *a, const void *b)
|
||||
{
|
||||
return DatumGetBool(
|
||||
DirectFunctionCall2(time_ge,TimeADTGetDatum( *((TimeADT*)a) ), TimeADTGetDatum( *((TimeADT*)b) ) )
|
||||
);
|
||||
}
|
||||
|
||||
static bool gbt_timeeq (const void *a, const void *b)
|
||||
{
|
||||
return DatumGetBool(
|
||||
DirectFunctionCall2(time_eq,TimeADTGetDatum( *((TimeADT*)a) ), TimeADTGetDatum( *((TimeADT*)b) ) )
|
||||
);
|
||||
}
|
||||
|
||||
static bool gbt_timele (const void *a, const void *b)
|
||||
{
|
||||
return DatumGetBool(
|
||||
DirectFunctionCall2(time_le,TimeADTGetDatum( *((TimeADT*)a) ), TimeADTGetDatum( *((TimeADT*)b) ) )
|
||||
);
|
||||
}
|
||||
|
||||
static bool gbt_timelt (const void *a, const void *b)
|
||||
{
|
||||
return DatumGetBool(
|
||||
DirectFunctionCall2(time_lt,TimeADTGetDatum( *((TimeADT*)a) ), TimeADTGetDatum( *((TimeADT*)b) ) )
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
static int
|
||||
gbt_timekey_cmp(const void *a, const void *b)
|
||||
{
|
||||
if ( gbt_timegt( (void*)&(((Nsrt *) a)->t[0]) , (void*)&(((Nsrt *) b)->t[0]) ) ){
|
||||
return 1;
|
||||
} else
|
||||
if ( gbt_timelt( (void*)&(((Nsrt *) a)->t[0]) , (void*)&(((Nsrt *) b)->t[0]) ) ){
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static const gbtree_ninfo tinfo =
|
||||
{
|
||||
gbt_t_time,
|
||||
sizeof(TimeADT),
|
||||
gbt_timegt,
|
||||
gbt_timege,
|
||||
gbt_timeeq,
|
||||
gbt_timele,
|
||||
gbt_timelt,
|
||||
gbt_timekey_cmp
|
||||
};
|
||||
|
||||
|
||||
/**************************************************
|
||||
* time ops
|
||||
**************************************************/
|
||||
|
||||
|
||||
|
||||
Datum
|
||||
gbt_time_compress(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
GISTENTRY *retval = NULL;
|
||||
PG_RETURN_POINTER( gbt_num_compress( retval , entry , &tinfo ));
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_timetz_compress(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
GISTENTRY *retval;
|
||||
|
||||
if (entry->leafkey)
|
||||
{
|
||||
timeKEY *r = (timeKEY *) palloc(sizeof(timeKEY));
|
||||
TimeTzADT *tz = DatumGetTimeTzADTP(entry->key);
|
||||
|
||||
retval = palloc(sizeof(GISTENTRY));
|
||||
|
||||
/* We are using the time + zone only to compress */
|
||||
r->lower = r->upper = ( tz->time + tz->zone ) ;
|
||||
gistentryinit(*retval, PointerGetDatum(r),
|
||||
entry->rel, entry->page,
|
||||
entry->offset, sizeof(timeKEY), FALSE);
|
||||
}
|
||||
else
|
||||
retval = entry;
|
||||
PG_RETURN_POINTER(retval);
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_time_consistent(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
TimeADT query = PG_GETARG_TIMEADT( 1 );
|
||||
timeKEY *kkk = (timeKEY *) DatumGetPointer(entry->key);
|
||||
GBT_NUMKEY_R key ;
|
||||
StrategyNumber strategy = (StrategyNumber) PG_GETARG_UINT16(2);
|
||||
key.lower = (GBT_NUMKEY*) &kkk->lower ;
|
||||
key.upper = (GBT_NUMKEY*) &kkk->upper ;
|
||||
|
||||
PG_RETURN_BOOL(
|
||||
gbt_num_consistent( &key, (void*)&query,&strategy,GIST_LEAF(entry),&tinfo)
|
||||
);
|
||||
}
|
||||
|
||||
Datum
|
||||
gbt_timetz_consistent(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
TimeTzADT *query = PG_GETARG_TIMETZADT_P( 1 );
|
||||
TimeADT qqq = query->time + query->zone ;
|
||||
timeKEY *kkk = (timeKEY *) DatumGetPointer(entry->key);
|
||||
GBT_NUMKEY_R key ;
|
||||
StrategyNumber strategy = (StrategyNumber) PG_GETARG_UINT16(2);
|
||||
key.lower = (GBT_NUMKEY*) &kkk->lower ;
|
||||
key.upper = (GBT_NUMKEY*) &kkk->upper ;
|
||||
|
||||
PG_RETURN_BOOL(
|
||||
gbt_num_consistent( &key, (void*)&qqq, &strategy,GIST_LEAF(entry),&tinfo)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_time_union(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GistEntryVector *entryvec = (GistEntryVector *) PG_GETARG_POINTER(0);
|
||||
void *out = palloc(sizeof(timeKEY));
|
||||
*(int *) PG_GETARG_POINTER(1) = sizeof(timeKEY);
|
||||
PG_RETURN_POINTER( gbt_num_union ( (void*)out, entryvec, &tinfo ) );
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_time_penalty(PG_FUNCTION_ARGS)
|
||||
{
|
||||
timeKEY *origentry = (timeKEY *) DatumGetPointer(((GISTENTRY *) PG_GETARG_POINTER(0))->key);
|
||||
timeKEY *newentry = (timeKEY *) DatumGetPointer(((GISTENTRY *) PG_GETARG_POINTER(1))->key);
|
||||
float *result = (float *) PG_GETARG_POINTER(2);
|
||||
Interval *intr;
|
||||
#ifdef HAVE_INT64_TIMESTAMP
|
||||
int64 res;
|
||||
#else
|
||||
double res;
|
||||
#endif
|
||||
|
||||
intr = DatumGetIntervalP(DirectFunctionCall2(
|
||||
time_mi_time,
|
||||
TimeADTGetDatum(newentry->upper),
|
||||
TimeADTGetDatum(origentry->upper)));
|
||||
|
||||
/* see interval_larger */
|
||||
res = Max(intr->time + intr->month * (30 * 86400), 0);
|
||||
pfree(intr);
|
||||
|
||||
intr = DatumGetIntervalP(DirectFunctionCall2(
|
||||
time_mi_time,
|
||||
TimeADTGetDatum(origentry->lower),
|
||||
TimeADTGetDatum(newentry->lower)));
|
||||
|
||||
/* see interval_larger */
|
||||
res += Max(intr->time + intr->month * (30 * 86400), 0);
|
||||
pfree(intr);
|
||||
|
||||
*result = 0.0;
|
||||
|
||||
if ( res > 0 ){
|
||||
intr = DatumGetIntervalP(DirectFunctionCall2(
|
||||
time_mi_time,
|
||||
TimeADTGetDatum(origentry->upper),
|
||||
TimeADTGetDatum(origentry->lower)));
|
||||
*result += FLT_MIN ;
|
||||
*result += (float) ( res / ( (double) ( res + intr->time + intr->month * (30 * 86400) ) ) );
|
||||
*result *= ( FLT_MAX / ( ( (GISTENTRY *) PG_GETARG_POINTER(0))->rel->rd_att->natts + 1 ) );
|
||||
pfree ( intr );
|
||||
}
|
||||
|
||||
PG_RETURN_POINTER(result);
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_time_picksplit(PG_FUNCTION_ARGS)
|
||||
{
|
||||
PG_RETURN_POINTER(gbt_num_picksplit(
|
||||
(GistEntryVector *) PG_GETARG_POINTER(0),
|
||||
(GIST_SPLITVEC *) PG_GETARG_POINTER(1),
|
||||
&tinfo
|
||||
));
|
||||
}
|
||||
|
||||
Datum
|
||||
gbt_time_same(PG_FUNCTION_ARGS)
|
||||
{
|
||||
timeKEY *b1 = (timeKEY *) PG_GETARG_POINTER(0);
|
||||
timeKEY *b2 = (timeKEY *) PG_GETARG_POINTER(1);
|
||||
bool *result = (bool *) PG_GETARG_POINTER(2);
|
||||
|
||||
*result = gbt_num_same ( (void*)b1, (void*)b2, &tinfo );
|
||||
PG_RETURN_POINTER(result);
|
||||
}
|
||||
|
|
@ -1,288 +1,281 @@
|
|||
#include "btree_gist.h"
|
||||
#include "btree_utils_num.h"
|
||||
|
||||
|
||||
typedef struct tskey
|
||||
typedef struct
|
||||
{
|
||||
Timestamp lower;
|
||||
Timestamp upper;
|
||||
} TSKEY;
|
||||
|
||||
|
||||
/*
|
||||
** tskey in/out
|
||||
*/
|
||||
PG_FUNCTION_INFO_V1(tskey_in);
|
||||
PG_FUNCTION_INFO_V1(tskey_out);
|
||||
Datum tskey_in(PG_FUNCTION_ARGS);
|
||||
Datum tskey_out(PG_FUNCTION_ARGS);
|
||||
|
||||
Timestamp lower;
|
||||
Timestamp upper;
|
||||
} tsKEY;
|
||||
|
||||
/*
|
||||
** timestamp ops
|
||||
*/
|
||||
PG_FUNCTION_INFO_V1(gts_compress);
|
||||
PG_FUNCTION_INFO_V1(gts_union);
|
||||
PG_FUNCTION_INFO_V1(gts_picksplit);
|
||||
PG_FUNCTION_INFO_V1(gts_consistent);
|
||||
PG_FUNCTION_INFO_V1(gts_penalty);
|
||||
PG_FUNCTION_INFO_V1(gts_same);
|
||||
PG_FUNCTION_INFO_V1(gbt_ts_compress);
|
||||
PG_FUNCTION_INFO_V1(gbt_tstz_compress);
|
||||
PG_FUNCTION_INFO_V1(gbt_ts_union);
|
||||
PG_FUNCTION_INFO_V1(gbt_ts_picksplit);
|
||||
PG_FUNCTION_INFO_V1(gbt_ts_consistent);
|
||||
PG_FUNCTION_INFO_V1(gbt_tstz_consistent);
|
||||
PG_FUNCTION_INFO_V1(gbt_ts_penalty);
|
||||
PG_FUNCTION_INFO_V1(gbt_ts_same);
|
||||
|
||||
Datum gts_compress(PG_FUNCTION_ARGS);
|
||||
Datum gts_union(PG_FUNCTION_ARGS);
|
||||
Datum gts_picksplit(PG_FUNCTION_ARGS);
|
||||
Datum gts_consistent(PG_FUNCTION_ARGS);
|
||||
Datum gts_penalty(PG_FUNCTION_ARGS);
|
||||
Datum gts_same(PG_FUNCTION_ARGS);
|
||||
Datum gbt_ts_compress(PG_FUNCTION_ARGS);
|
||||
Datum gbt_tstz_compress(PG_FUNCTION_ARGS);
|
||||
Datum gbt_ts_union(PG_FUNCTION_ARGS);
|
||||
Datum gbt_ts_picksplit(PG_FUNCTION_ARGS);
|
||||
Datum gbt_ts_consistent(PG_FUNCTION_ARGS);
|
||||
Datum gbt_tstz_consistent(PG_FUNCTION_ARGS);
|
||||
Datum gbt_ts_penalty(PG_FUNCTION_ARGS);
|
||||
Datum gbt_ts_same(PG_FUNCTION_ARGS);
|
||||
|
||||
static void gts_binary_union(Datum *r1, char *r2);
|
||||
static int tskey_cmp(const void *a, const void *b);
|
||||
|
||||
#define TimestampGetDatumFast(X) Float8GetDatumFast(X)
|
||||
static bool gbt_tsgt (const void *a, const void *b)
|
||||
{
|
||||
return DatumGetBool(
|
||||
DirectFunctionCall2(timestamp_gt,PointerGetDatum( a ), PointerGetDatum( b ) )
|
||||
);
|
||||
}
|
||||
|
||||
/* define for comparison */
|
||||
#define TSGE( ts1, ts2 ) (DatumGetBool(DirectFunctionCall2( \
|
||||
timestamp_ge, \
|
||||
PointerGetDatum( ts1 ), \
|
||||
PointerGetDatum( ts2 ) \
|
||||
)))
|
||||
#define TSGT( ts1, ts2 ) (DatumGetBool(DirectFunctionCall2( \
|
||||
timestamp_gt, \
|
||||
PointerGetDatum( ts1 ), \
|
||||
PointerGetDatum( ts2 ) \
|
||||
)))
|
||||
#define TSEQ( ts1, ts2 ) (DatumGetBool(DirectFunctionCall2( \
|
||||
timestamp_eq, \
|
||||
PointerGetDatum( ts1 ), \
|
||||
PointerGetDatum( ts2 ) \
|
||||
)))
|
||||
#define TSLT( ts1, ts2 ) (DatumGetBool(DirectFunctionCall2( \
|
||||
timestamp_lt, \
|
||||
PointerGetDatum( ts1 ), \
|
||||
PointerGetDatum( ts2 ) \
|
||||
)))
|
||||
#define TSLE( ts1, ts2 ) (DatumGetBool(DirectFunctionCall2( \
|
||||
timestamp_le, \
|
||||
PointerGetDatum( ts1 ), \
|
||||
PointerGetDatum( ts2 ) \
|
||||
)))
|
||||
static bool gbt_tsge (const void *a, const void *b)
|
||||
{
|
||||
return DatumGetBool(
|
||||
DirectFunctionCall2(timestamp_ge,PointerGetDatum( a ), PointerGetDatum( b ) )
|
||||
);
|
||||
}
|
||||
|
||||
static bool gbt_tseq (const void *a, const void *b)
|
||||
{
|
||||
return DatumGetBool(
|
||||
DirectFunctionCall2(timestamp_eq,PointerGetDatum( a ), PointerGetDatum( b ) )
|
||||
);
|
||||
}
|
||||
|
||||
static bool gbt_tsle (const void *a, const void *b)
|
||||
{
|
||||
return DatumGetBool(
|
||||
DirectFunctionCall2(timestamp_le,PointerGetDatum( a ), PointerGetDatum( b ) )
|
||||
);
|
||||
}
|
||||
|
||||
static bool gbt_tslt (const void *a, const void *b)
|
||||
{
|
||||
return DatumGetBool(
|
||||
DirectFunctionCall2(timestamp_lt,PointerGetDatum( a ), PointerGetDatum( b ) )
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
gbt_tskey_cmp(const void *a, const void *b)
|
||||
{
|
||||
if ( gbt_tsgt( (void*)&(((Nsrt *) a)->t[0]) , (void*)&(((Nsrt *) b)->t[0]) ) ){
|
||||
return 1;
|
||||
} else
|
||||
if ( gbt_tslt( (void*)&(((Nsrt *) a)->t[0]) , (void*)&(((Nsrt *) b)->t[0]) ) ){
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static const gbtree_ninfo tinfo =
|
||||
{
|
||||
gbt_t_ts,
|
||||
sizeof(Timestamp),
|
||||
gbt_tsgt,
|
||||
gbt_tsge,
|
||||
gbt_tseq,
|
||||
gbt_tsle,
|
||||
gbt_tslt,
|
||||
gbt_tskey_cmp
|
||||
};
|
||||
|
||||
|
||||
/**************************************************
|
||||
* timestamp ops
|
||||
**************************************************/
|
||||
|
||||
Datum
|
||||
gts_compress(PG_FUNCTION_ARGS)
|
||||
|
||||
|
||||
static Timestamp * tstz_to_ts_gmt ( Timestamp * gmt, TimestampTz * ts )
|
||||
{
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
GISTENTRY *retval;
|
||||
int val, tz ;
|
||||
|
||||
if (entry->leafkey)
|
||||
{
|
||||
TSKEY *r = (TSKEY *) palloc(sizeof(TSKEY));
|
||||
*gmt = *ts;
|
||||
DecodeSpecial(0, "gmt", &val);
|
||||
|
||||
if ( ! TIMESTAMP_NOT_FINITE(*ts))
|
||||
{
|
||||
tz = val * 60;
|
||||
|
||||
retval = palloc(sizeof(GISTENTRY));
|
||||
r->lower = r->upper = *(Timestamp *) (entry->key);
|
||||
gistentryinit(*retval, PointerGetDatum(r),
|
||||
entry->rel, entry->page,
|
||||
entry->offset, sizeof(TSKEY), FALSE);
|
||||
}
|
||||
else
|
||||
retval = entry;
|
||||
PG_RETURN_POINTER(retval);
|
||||
#ifdef HAVE_INT64_TIMESTAMP
|
||||
*gmt -= (tz * INT64CONST(1000000));
|
||||
#else
|
||||
*gmt -= tz;
|
||||
*gmt = JROUND(*gmt);
|
||||
#endif
|
||||
|
||||
}
|
||||
return gmt;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Datum
|
||||
gbt_ts_compress(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
GISTENTRY *retval = NULL;
|
||||
PG_RETURN_POINTER( gbt_num_compress( retval , entry , &tinfo ));
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_tstz_compress(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
GISTENTRY *retval ;
|
||||
|
||||
if (entry->leafkey)
|
||||
{
|
||||
tsKEY *r = (tsKEY *) palloc(sizeof(tsKEY));
|
||||
|
||||
TimestampTz ts = *(TimestampTz *) DatumGetPointer(entry->key);
|
||||
Timestamp gmt ;
|
||||
|
||||
tstz_to_ts_gmt ( &gmt, &ts );
|
||||
|
||||
retval = palloc(sizeof(GISTENTRY));
|
||||
r->lower = r->upper = gmt ;
|
||||
gistentryinit(*retval, PointerGetDatum(r),
|
||||
entry->rel, entry->page,
|
||||
entry->offset, sizeof(tsKEY), FALSE);
|
||||
}
|
||||
else
|
||||
retval = entry;
|
||||
|
||||
PG_RETURN_POINTER( retval );
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_ts_consistent(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
Timestamp *query = (Timestamp *) PG_GETARG_POINTER(1);
|
||||
tsKEY *kkk = (tsKEY *) DatumGetPointer(entry->key);
|
||||
GBT_NUMKEY_R key ;
|
||||
StrategyNumber strategy = (StrategyNumber) PG_GETARG_UINT16(2);
|
||||
key.lower = (GBT_NUMKEY*) &kkk->lower ;
|
||||
key.upper = (GBT_NUMKEY*) &kkk->upper ;
|
||||
|
||||
PG_RETURN_BOOL(
|
||||
gbt_num_consistent( &key, (void*)query,&strategy,GIST_LEAF(entry),&tinfo)
|
||||
);
|
||||
}
|
||||
|
||||
Datum
|
||||
gts_consistent(PG_FUNCTION_ARGS)
|
||||
gbt_tstz_consistent(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
Timestamp *query = (Timestamp *) PG_GETARG_POINTER(1);
|
||||
StrategyNumber strategy = (StrategyNumber) PG_GETARG_UINT16(2);
|
||||
bool retval;
|
||||
TSKEY *key;
|
||||
GISTENTRY *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
|
||||
TimestampTz *query = (Timestamp *) PG_GETARG_POINTER(1);
|
||||
tsKEY *kkk = (tsKEY *) DatumGetPointer(entry->key);
|
||||
GBT_NUMKEY_R key ;
|
||||
StrategyNumber strategy = (StrategyNumber) PG_GETARG_UINT16(2);
|
||||
Timestamp qqq ;
|
||||
key.lower = (GBT_NUMKEY*) &kkk->lower ;
|
||||
key.upper = (GBT_NUMKEY*) &kkk->upper ;
|
||||
tstz_to_ts_gmt ( &qqq, query );
|
||||
|
||||
/*
|
||||
* * if entry is not leaf, use gbox_internal_consistent, * else use
|
||||
* gbox_leaf_consistent
|
||||
*/
|
||||
if (!entry->key)
|
||||
return FALSE;
|
||||
key = (TSKEY *) DatumGetPointer(entry->key);
|
||||
PG_RETURN_BOOL(
|
||||
gbt_num_consistent( &key, (void*)&qqq,&strategy,GIST_LEAF(entry),&tinfo)
|
||||
);
|
||||
}
|
||||
|
||||
switch (strategy)
|
||||
{
|
||||
case BTLessEqualStrategyNumber:
|
||||
retval = TSGE(query, &(key->lower));
|
||||
break;
|
||||
case BTLessStrategyNumber:
|
||||
if (GIST_LEAF(entry))
|
||||
retval = TSGT(query, &(key->lower));
|
||||
else
|
||||
retval = TSGE(query, &(key->lower));
|
||||
break;
|
||||
case BTEqualStrategyNumber:
|
||||
/* in leaf page key->lower always = key->upper */
|
||||
if (GIST_LEAF(entry))
|
||||
retval = TSEQ(query, &(key->lower));
|
||||
else
|
||||
retval = (TSLE(&(key->lower), query) && TSLE(query, &(key->upper)));
|
||||
break;
|
||||
case BTGreaterStrategyNumber:
|
||||
if (GIST_LEAF(entry))
|
||||
retval = TSLT(query, &(key->upper));
|
||||
else
|
||||
retval = TSLE(query, &(key->upper));
|
||||
break;
|
||||
case BTGreaterEqualStrategyNumber:
|
||||
retval = TSLE(query, &(key->upper));
|
||||
break;
|
||||
default:
|
||||
retval = FALSE;
|
||||
}
|
||||
PG_RETURN_BOOL(retval);
|
||||
|
||||
Datum
|
||||
gbt_ts_union(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GistEntryVector *entryvec = (GistEntryVector *) PG_GETARG_POINTER(0);
|
||||
void *out = palloc(sizeof(tsKEY));
|
||||
*(int *) PG_GETARG_POINTER(1) = sizeof(tsKEY);
|
||||
PG_RETURN_POINTER( gbt_num_union ( (void*)out, entryvec, &tinfo ) );
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_ts_penalty(PG_FUNCTION_ARGS)
|
||||
{
|
||||
|
||||
tsKEY *origentry = (tsKEY *) DatumGetPointer(((GISTENTRY *) PG_GETARG_POINTER(0))->key);
|
||||
tsKEY *newentry = (tsKEY *) DatumGetPointer(((GISTENTRY *) PG_GETARG_POINTER(1))->key);
|
||||
float *result = (float *) PG_GETARG_POINTER(2);
|
||||
Interval *intr;
|
||||
#ifdef HAVE_INT64_TIMESTAMP
|
||||
int64 res;
|
||||
#else
|
||||
double res;
|
||||
#endif
|
||||
|
||||
intr = DatumGetIntervalP(DirectFunctionCall2(
|
||||
timestamp_mi,
|
||||
TimestampGetDatum(newentry->upper),
|
||||
TimestampGetDatum(origentry->upper)
|
||||
));
|
||||
|
||||
/* see interval_larger */
|
||||
|
||||
res = Max(intr->time + intr->month * (30 * 86400), 0);
|
||||
pfree(intr);
|
||||
|
||||
intr = DatumGetIntervalP(DirectFunctionCall2(
|
||||
timestamp_mi,
|
||||
TimestampGetDatum(origentry->lower),
|
||||
TimestampGetDatum(newentry->lower)
|
||||
));
|
||||
|
||||
/* see interval_larger */
|
||||
res += Max(intr->time + intr->month * (30 * 86400), 0);
|
||||
pfree(intr);
|
||||
|
||||
*result = 0.0;
|
||||
|
||||
if ( res > 0 ){
|
||||
intr = DatumGetIntervalP(DirectFunctionCall2(
|
||||
timestamp_mi,
|
||||
TimestampGetDatum(origentry->upper),
|
||||
TimestampGetDatum(origentry->lower)
|
||||
));
|
||||
*result += FLT_MIN ;
|
||||
*result += (float) ( res / ( (double) ( res + intr->time + intr->month * (30 * 86400) ) ) );
|
||||
*result *= ( FLT_MAX / ( ( (GISTENTRY *) PG_GETARG_POINTER(0))->rel->rd_att->natts + 1 ) );
|
||||
pfree(intr);
|
||||
}
|
||||
|
||||
PG_RETURN_POINTER(result);
|
||||
|
||||
}
|
||||
|
||||
|
||||
Datum
|
||||
gbt_ts_picksplit(PG_FUNCTION_ARGS)
|
||||
{
|
||||
PG_RETURN_POINTER(gbt_num_picksplit(
|
||||
(GistEntryVector *) PG_GETARG_POINTER(0),
|
||||
(GIST_SPLITVEC *) PG_GETARG_POINTER(1),
|
||||
&tinfo
|
||||
));
|
||||
}
|
||||
|
||||
Datum
|
||||
gts_union(PG_FUNCTION_ARGS)
|
||||
gbt_ts_same(PG_FUNCTION_ARGS)
|
||||
{
|
||||
GistEntryVector *entryvec = (GistEntryVector *) PG_GETARG_POINTER(0);
|
||||
int i,
|
||||
numranges;
|
||||
TSKEY *cur,
|
||||
*out = palloc(sizeof(TSKEY));
|
||||
tsKEY *b1 = (tsKEY *) PG_GETARG_POINTER(0);
|
||||
tsKEY *b2 = (tsKEY *) PG_GETARG_POINTER(1);
|
||||
bool *result = (bool *) PG_GETARG_POINTER(2);
|
||||
|
||||
numranges = entryvec->n;
|
||||
*(int *) PG_GETARG_POINTER(1) = sizeof(TSKEY);
|
||||
|
||||
cur = (TSKEY *) DatumGetPointer((entryvec->vector[0].key));
|
||||
out->lower = cur->lower;
|
||||
out->upper = cur->upper;
|
||||
|
||||
for (i = 1; i < numranges; i++)
|
||||
{
|
||||
cur = (TSKEY *) DatumGetPointer((entryvec->vector[i].key));
|
||||
if (TSGT(&out->lower, &cur->lower))
|
||||
out->lower = cur->lower;
|
||||
if (TSLT(&out->upper, &cur->upper))
|
||||
out->upper = cur->upper;
|
||||
}
|
||||
|
||||
PG_RETURN_POINTER(out);
|
||||
*result = gbt_num_same ( (void*)b1, (void*)b2, &tinfo );
|
||||
PG_RETURN_POINTER(result);
|
||||
}
|
||||
|
||||
Datum
|
||||
gts_penalty(PG_FUNCTION_ARGS)
|
||||
{
|
||||
TSKEY *origentry = (TSKEY *) DatumGetPointer(((GISTENTRY *) PG_GETARG_POINTER(0))->key);
|
||||
TSKEY *newentry = (TSKEY *) DatumGetPointer(((GISTENTRY *) PG_GETARG_POINTER(1))->key);
|
||||
float *result = (float *) PG_GETARG_POINTER(2);
|
||||
Interval *intr;
|
||||
|
||||
intr = DatumGetIntervalP(DirectFunctionCall2(
|
||||
timestamp_mi,
|
||||
TimestampGetDatumFast(newentry->upper),
|
||||
TimestampGetDatumFast(origentry->upper)));
|
||||
|
||||
/* see interval_larger */
|
||||
*result = Max(intr->time + intr->month * (30.0 * 86400), 0);
|
||||
pfree(intr);
|
||||
|
||||
intr = DatumGetIntervalP(DirectFunctionCall2(
|
||||
timestamp_mi,
|
||||
TimestampGetDatumFast(origentry->lower),
|
||||
TimestampGetDatumFast(newentry->lower)));
|
||||
|
||||
/* see interval_larger */
|
||||
*result += Max(intr->time + intr->month * (30.0 * 86400), 0);
|
||||
pfree(intr);
|
||||
|
||||
PG_RETURN_POINTER(result);
|
||||
}
|
||||
|
||||
Datum
|
||||
gts_picksplit(PG_FUNCTION_ARGS)
|
||||
{
|
||||
PG_RETURN_POINTER(btree_picksplit(
|
||||
(GistEntryVector *) PG_GETARG_POINTER(0),
|
||||
(GIST_SPLITVEC *) PG_GETARG_POINTER(1),
|
||||
gts_binary_union,
|
||||
tskey_cmp
|
||||
));
|
||||
}
|
||||
|
||||
Datum
|
||||
gts_same(PG_FUNCTION_ARGS)
|
||||
{
|
||||
TSKEY *b1 = (TSKEY *) PG_GETARG_POINTER(0);
|
||||
TSKEY *b2 = (TSKEY *) PG_GETARG_POINTER(1);
|
||||
|
||||
bool *result = (bool *) PG_GETARG_POINTER(2);
|
||||
|
||||
if (b1 && b2)
|
||||
*result = (TSEQ(&(b1->lower), &(b2->lower)) && TSEQ(&(b1->upper), &(b2->upper))) ? TRUE : FALSE;
|
||||
else
|
||||
*result = (b1 == NULL && b2 == NULL) ? TRUE : FALSE;
|
||||
PG_RETURN_POINTER(result);
|
||||
}
|
||||
|
||||
static void
|
||||
gts_binary_union(Datum *r1, char *r2)
|
||||
{
|
||||
TSKEY *b1;
|
||||
TSKEY *b2 = (TSKEY *) r2;
|
||||
|
||||
if (!DatumGetPointer(*r1))
|
||||
{
|
||||
*r1 = PointerGetDatum(palloc(sizeof(TSKEY)));
|
||||
b1 = (TSKEY *) DatumGetPointer(*r1);
|
||||
b1->upper = b2->upper;
|
||||
b1->lower = b2->lower;
|
||||
}
|
||||
else
|
||||
{
|
||||
b1 = (TSKEY *) DatumGetPointer(*r1);
|
||||
|
||||
b1->lower = (TSGT(&b1->lower, &b2->lower)) ?
|
||||
b2->lower : b1->lower;
|
||||
b1->upper = (TSGT(&b1->upper, &b2->upper)) ?
|
||||
b1->upper : b2->upper;
|
||||
}
|
||||
}
|
||||
|
||||
static int
|
||||
tskey_cmp(const void *a, const void *b)
|
||||
{
|
||||
return DatumGetInt32(
|
||||
DirectFunctionCall2(
|
||||
timestamp_cmp,
|
||||
TimestampGetDatumFast(((TSKEY *) (((RIX *) a)->r))->lower),
|
||||
TimestampGetDatumFast(((TSKEY *) (((RIX *) b)->r))->lower)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
/**************************************************
|
||||
* In/Out for keys, not really needed
|
||||
**************************************************/
|
||||
|
||||
Datum
|
||||
tskey_in(PG_FUNCTION_ARGS)
|
||||
{
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
|
||||
errmsg("feature not implemented")));
|
||||
|
||||
PG_RETURN_POINTER(NULL);
|
||||
}
|
||||
|
||||
Datum
|
||||
tskey_out(PG_FUNCTION_ARGS)
|
||||
{
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
|
||||
errmsg("feature not implemented")));
|
||||
|
||||
PG_RETURN_POINTER(NULL);
|
||||
}
|
||||
|
|
255
contrib/btree_gist/btree_utils_num.c
Normal file
255
contrib/btree_gist/btree_utils_num.c
Normal file
|
@ -0,0 +1,255 @@
|
|||
#include "btree_gist.h"
|
||||
#include "btree_utils_num.h"
|
||||
#include "utils/date.h"
|
||||
|
||||
extern GISTENTRY *
|
||||
gbt_num_compress( GISTENTRY *retval , GISTENTRY *entry , const gbtree_ninfo * tinfo )
|
||||
{
|
||||
|
||||
if (entry->leafkey)
|
||||
{
|
||||
|
||||
union {
|
||||
int16 i2;
|
||||
int32 i4;
|
||||
TimeADT ts;
|
||||
DateADT dt;
|
||||
} v ;
|
||||
|
||||
GBT_NUMKEY *r = ( GBT_NUMKEY * ) palloc(2 * tinfo->size);
|
||||
void *leaf = NULL;
|
||||
|
||||
switch ( tinfo->t )
|
||||
{
|
||||
case gbt_t_int2 :
|
||||
v.i2 = DatumGetInt16(entry->key);
|
||||
leaf = &v.i2;
|
||||
break;
|
||||
case gbt_t_int4 :
|
||||
v.i4 = DatumGetInt32(entry->key);
|
||||
leaf = &v.i4;
|
||||
break;
|
||||
case gbt_t_oid :
|
||||
v.i4 = DatumGetObjectId(entry->key);
|
||||
leaf = &v.i4;
|
||||
break;
|
||||
case gbt_t_time :
|
||||
v.ts = DatumGetTimeADT(entry->key);
|
||||
leaf = &v.ts;
|
||||
break;
|
||||
case gbt_t_date :
|
||||
v.dt = DatumGetDateADT(entry->key);
|
||||
leaf = &v.dt;
|
||||
break;
|
||||
default :
|
||||
leaf = DatumGetPointer(entry->key);
|
||||
}
|
||||
|
||||
memcpy ( (void*) &r[0] , leaf, tinfo->size );
|
||||
memcpy ( (void*) &r[tinfo->size] , leaf, tinfo->size );
|
||||
|
||||
retval = palloc(sizeof(GISTENTRY));
|
||||
gistentryinit(*retval, PointerGetDatum(r), entry->rel, entry->page,
|
||||
entry->offset,( 2 * tinfo->size), FALSE);
|
||||
} else
|
||||
retval = entry;
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
** The GiST union method for numerical values
|
||||
*/
|
||||
|
||||
extern void *
|
||||
gbt_num_union( GBT_NUMKEY * out, const GistEntryVector * entryvec, const gbtree_ninfo * tinfo )
|
||||
{
|
||||
int i,
|
||||
numranges;
|
||||
GBT_NUMKEY * cur ;
|
||||
GBT_NUMKEY_R o, c;
|
||||
|
||||
numranges = entryvec->n;
|
||||
cur = (GBT_NUMKEY *) DatumGetPointer((entryvec->vector[0].key));
|
||||
|
||||
|
||||
o.lower = &((GBT_NUMKEY *)out)[0];
|
||||
o.upper = &((GBT_NUMKEY *)out)[tinfo->size];
|
||||
|
||||
memcpy( (void*)out, (void*) cur, 2*tinfo->size );
|
||||
|
||||
for (i = 1; i < numranges; i++)
|
||||
{
|
||||
cur = (GBT_NUMKEY *) DatumGetPointer((entryvec->vector[i].key));
|
||||
c.lower = &cur[0];
|
||||
c.upper = &cur[tinfo->size];
|
||||
|
||||
if ( (*tinfo->f_gt)(o.lower, c.lower) ) /* out->lower > cur->lower */
|
||||
memcpy( (void* ) o.lower, (void*) c.lower, tinfo->size );
|
||||
if ( (*tinfo->f_lt)(o.upper, c.upper) ) /* out->upper < cur->upper */
|
||||
memcpy( (void*) o.upper, (void*) c.upper, tinfo->size );
|
||||
}
|
||||
|
||||
return out;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
** The GiST same method for numerical values
|
||||
*/
|
||||
|
||||
extern bool gbt_num_same ( const GBT_NUMKEY * a, const GBT_NUMKEY * b, const gbtree_ninfo * tinfo )
|
||||
{
|
||||
|
||||
GBT_NUMKEY_R b1, b2 ;
|
||||
|
||||
b1.lower = &(((GBT_NUMKEY *)a)[0]);
|
||||
b1.upper = &(((GBT_NUMKEY *)a)[tinfo->size]);
|
||||
b2.lower = &(((GBT_NUMKEY *)b)[0]);
|
||||
b2.upper = &(((GBT_NUMKEY *)b)[tinfo->size]);
|
||||
|
||||
if (
|
||||
(*tinfo->f_eq)( b1.lower, b2.lower) &&
|
||||
(*tinfo->f_eq)( b1.upper, b2.upper)
|
||||
)
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
|
||||
}
|
||||
|
||||
|
||||
extern void
|
||||
gbt_num_bin_union(Datum * u , GBT_NUMKEY * e , const gbtree_ninfo * tinfo )
|
||||
{
|
||||
|
||||
GBT_NUMKEY_R rd;
|
||||
rd.lower = &e[0];
|
||||
rd.upper = &e[tinfo->size];
|
||||
|
||||
if (!DatumGetPointer(*u))
|
||||
{
|
||||
*u = PointerGetDatum(palloc(2 * tinfo->size));
|
||||
memcpy( (void* ) &( ( (GBT_NUMKEY *) DatumGetPointer(*u) )[0] ) , (void*)rd.lower , tinfo->size );
|
||||
memcpy( (void* ) &( ( (GBT_NUMKEY *) DatumGetPointer(*u) )[tinfo->size]) , (void*)rd.upper , tinfo->size );
|
||||
}
|
||||
else
|
||||
{
|
||||
GBT_NUMKEY_R ur ;
|
||||
ur.lower = &( ( (GBT_NUMKEY *) DatumGetPointer(*u) )[0] ) ;
|
||||
ur.upper = &( ( (GBT_NUMKEY *) DatumGetPointer(*u) )[tinfo->size]) ;
|
||||
if ( (*tinfo->f_gt)((void*)ur.lower, (void*)rd.lower) )
|
||||
memcpy( (void*) ur.lower, (void*) rd.lower, tinfo->size );
|
||||
if ( (*tinfo->f_lt)((void*)ur.upper, (void*)rd.upper) )
|
||||
memcpy( (void*) ur.upper, (void*) rd.upper, tinfo->size );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
** The GiST consistent method
|
||||
*/
|
||||
|
||||
extern bool
|
||||
gbt_num_consistent(
|
||||
const GBT_NUMKEY_R * key,
|
||||
const void * query,
|
||||
const StrategyNumber * strategy,
|
||||
bool is_leaf,
|
||||
const gbtree_ninfo * tinfo
|
||||
)
|
||||
{
|
||||
|
||||
bool retval = FALSE;
|
||||
|
||||
switch (*strategy)
|
||||
{
|
||||
case BTLessEqualStrategyNumber:
|
||||
retval = (*tinfo->f_ge)(query, key->lower);
|
||||
break;
|
||||
case BTLessStrategyNumber:
|
||||
if ( is_leaf )
|
||||
retval = (*tinfo->f_gt)(query, key->lower);
|
||||
else
|
||||
retval = (*tinfo->f_ge)(query, key->lower);
|
||||
break;
|
||||
case BTEqualStrategyNumber:
|
||||
if ( is_leaf )
|
||||
retval = (*tinfo->f_eq)(query, key->lower);
|
||||
else
|
||||
retval = (*tinfo->f_le)(key->lower, query) && (*tinfo->f_le)(query, key->upper );
|
||||
break;
|
||||
case BTGreaterStrategyNumber:
|
||||
if ( is_leaf )
|
||||
retval = (*tinfo->f_lt)(query, key->upper);
|
||||
else
|
||||
retval = (*tinfo->f_le)(query, key->upper);
|
||||
break;
|
||||
case BTGreaterEqualStrategyNumber:
|
||||
retval = (*tinfo->f_le)(query, key->upper);
|
||||
break;
|
||||
default:
|
||||
retval = FALSE;
|
||||
}
|
||||
|
||||
return (retval);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
GIST_SPLITVEC *
|
||||
gbt_num_picksplit( const GistEntryVector *entryvec, GIST_SPLITVEC *v, const gbtree_ninfo * tinfo )
|
||||
{
|
||||
|
||||
OffsetNumber i ,
|
||||
|
||||
maxoff = entryvec->n - 1;
|
||||
|
||||
Nsrt arr[maxoff+1] ;
|
||||
int nbytes ;
|
||||
|
||||
nbytes = (maxoff + 2) * sizeof(OffsetNumber);
|
||||
v->spl_left = (OffsetNumber *) palloc(nbytes);
|
||||
v->spl_right = (OffsetNumber *) palloc(nbytes);
|
||||
v->spl_ldatum = PointerGetDatum(0);
|
||||
v->spl_rdatum = PointerGetDatum(0);
|
||||
v->spl_nleft = 0;
|
||||
v->spl_nright = 0;
|
||||
|
||||
/* Sort entries */
|
||||
|
||||
for (i = FirstOffsetNumber; i <= maxoff; i = OffsetNumberNext(i))
|
||||
{
|
||||
arr[i].t = (GBT_NUMKEY *) DatumGetPointer((entryvec->vector[i].key));
|
||||
arr[i].i = i;
|
||||
}
|
||||
qsort ( (void*) &arr[FirstOffsetNumber], maxoff-FirstOffsetNumber+1,sizeof(Nsrt), tinfo->f_cmp );
|
||||
|
||||
/* We do simply create two parts */
|
||||
|
||||
for (i = FirstOffsetNumber; i <= maxoff; i = OffsetNumberNext(i))
|
||||
{
|
||||
if (i <= (maxoff - FirstOffsetNumber + 1) / 2)
|
||||
{
|
||||
gbt_num_bin_union(&v->spl_ldatum, arr[i].t, tinfo);
|
||||
v->spl_left[v->spl_nleft] = arr[i].i;
|
||||
v->spl_nleft++;
|
||||
}
|
||||
else
|
||||
{
|
||||
gbt_num_bin_union(&v->spl_rdatum, arr[i].t, tinfo);
|
||||
v->spl_right[v->spl_nright] = arr[i].i;
|
||||
v->spl_nright++;
|
||||
}
|
||||
}
|
||||
|
||||
return v;
|
||||
|
||||
}
|
||||
|
62
contrib/btree_gist/btree_utils_num.h
Normal file
62
contrib/btree_gist/btree_utils_num.h
Normal file
|
@ -0,0 +1,62 @@
|
|||
|
||||
typedef char GBT_NUMKEY;
|
||||
|
||||
/* Better readable key */
|
||||
typedef struct
|
||||
{
|
||||
const GBT_NUMKEY * lower, * upper;
|
||||
} GBT_NUMKEY_R;
|
||||
|
||||
|
||||
/* for sorting */
|
||||
typedef struct
|
||||
{
|
||||
int i;
|
||||
GBT_NUMKEY * t;
|
||||
} Nsrt;
|
||||
|
||||
|
||||
/* type description */
|
||||
|
||||
typedef struct
|
||||
{
|
||||
|
||||
/* Attribs */
|
||||
|
||||
enum gbtree_type t ; /* data type */
|
||||
int32 size ; /* size of type , 0 means variable */
|
||||
|
||||
/* Methods */
|
||||
|
||||
bool (*f_gt) ( const void * , const void * ); /* greater then */
|
||||
bool (*f_ge) ( const void * , const void * ); /* greater equal */
|
||||
bool (*f_eq) ( const void * , const void * ); /* equal */
|
||||
bool (*f_le) ( const void * , const void * ); /* less equal */
|
||||
bool (*f_lt) ( const void * , const void * ); /* less then */
|
||||
int (*f_cmp) ( const void * , const void * ); /* key compare function */
|
||||
} gbtree_ninfo;
|
||||
|
||||
|
||||
/*
|
||||
* Numeric btree functions
|
||||
*/
|
||||
|
||||
extern bool gbt_num_consistent( const GBT_NUMKEY_R * key , const void * query,
|
||||
const StrategyNumber * strategy , bool is_leaf,
|
||||
const gbtree_ninfo * tinfo );
|
||||
|
||||
extern GIST_SPLITVEC *gbt_num_picksplit ( const GistEntryVector *entryvec, GIST_SPLITVEC *v,
|
||||
const gbtree_ninfo * tinfo );
|
||||
|
||||
extern GISTENTRY *gbt_num_compress( GISTENTRY *retval , GISTENTRY *entry ,
|
||||
const gbtree_ninfo * tinfo );
|
||||
|
||||
|
||||
extern void *gbt_num_union ( GBT_NUMKEY * out, const GistEntryVector * entryvec,
|
||||
const gbtree_ninfo * tinfo );
|
||||
|
||||
extern bool gbt_num_same ( const GBT_NUMKEY * a, const GBT_NUMKEY * b,
|
||||
const gbtree_ninfo * tinfo );
|
||||
|
||||
extern void gbt_num_bin_union(Datum * u , GBT_NUMKEY * e ,
|
||||
const gbtree_ninfo * tinfo );
|
617
contrib/btree_gist/btree_utils_var.c
Normal file
617
contrib/btree_gist/btree_utils_var.c
Normal file
|
@ -0,0 +1,617 @@
|
|||
#include "btree_gist.h"
|
||||
#include "utils/pg_locale.h"
|
||||
#include "btree_utils_var.h"
|
||||
|
||||
/* Returns a better readable representaion of variable key ( sets pointer ) */
|
||||
|
||||
extern GBT_VARKEY_R gbt_var_key_readable ( const GBT_VARKEY * k ){
|
||||
|
||||
GBT_VARKEY_R r ;
|
||||
r.lower = ( bytea * ) &(((char*)k)[VARHDRSZ] ) ;
|
||||
if ( VARSIZE(k) > ( VARHDRSZ+(VARSIZE(r.lower)) ) )
|
||||
r.upper = ( bytea * ) &(((char*)k)[VARHDRSZ+(VARSIZE(r.lower))] ) ;
|
||||
else
|
||||
r.upper = r.lower;
|
||||
return r;
|
||||
}
|
||||
|
||||
|
||||
extern GBT_VARKEY * gbt_var_key_copy ( const GBT_VARKEY_R * u , bool force_node ){
|
||||
|
||||
GBT_VARKEY * r = NULL;
|
||||
|
||||
if ( u->lower == u->upper && !force_node ){ /* leaf key mode */
|
||||
|
||||
r = (GBT_VARKEY *) palloc(VARSIZE(u->lower) + VARHDRSZ );
|
||||
memcpy ( (void*) VARDATA(r), (void*) u->lower , VARSIZE(u->lower) );
|
||||
r->vl_len = VARSIZE(u->lower) + VARHDRSZ ;
|
||||
|
||||
} else { /* node key mode */
|
||||
|
||||
r = (GBT_VARKEY *) palloc(VARSIZE(u->lower) + VARSIZE(u->upper) + VARHDRSZ );
|
||||
memcpy ( (void*) VARDATA(r) , (void*) u->lower , VARSIZE(u->lower) );
|
||||
memcpy ( (void*)&(((char *)r)[VARHDRSZ+VARSIZE(u->lower)]), (void*) u->upper , VARSIZE(u->upper) );
|
||||
r->vl_len = VARSIZE(u->lower) + VARSIZE(u->upper) + VARHDRSZ ;
|
||||
|
||||
}
|
||||
return r;
|
||||
|
||||
}
|
||||
|
||||
|
||||
static GBT_VARKEY * gbt_var_leaf2node ( GBT_VARKEY * leaf, const gbtree_vinfo * tinfo )
|
||||
{
|
||||
|
||||
GBT_VARKEY *out = leaf ;
|
||||
|
||||
if ( tinfo->f_l2n )
|
||||
{
|
||||
out = (*tinfo->f_l2n) (leaf);
|
||||
}
|
||||
|
||||
return out;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* returns the common prefix length of a node key
|
||||
*/
|
||||
static int32 gbt_var_node_cp_len ( const GBT_VARKEY * node , const gbtree_vinfo * tinfo )
|
||||
{
|
||||
int32 i ;
|
||||
int32 s = (tinfo->str)?(1):(0);
|
||||
GBT_VARKEY_R r = gbt_var_key_readable ( node );
|
||||
int32 t1len = VARSIZE(r.lower) - VARHDRSZ - s;
|
||||
int32 t2len = VARSIZE(r.upper) - VARHDRSZ - s;
|
||||
int32 ml = Min(t1len,t2len) ;
|
||||
|
||||
char * p1 = VARDATA(r.lower) ,
|
||||
* p2 = VARDATA(r.upper) ;
|
||||
|
||||
for ( i=0 ; i<ml; i++ )
|
||||
{
|
||||
if ( *p1 != *p2 )
|
||||
{
|
||||
return i;
|
||||
}
|
||||
p1++;
|
||||
p2++;
|
||||
}
|
||||
return ( ml );
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* returns true, if query matches prefix using common prefix
|
||||
*/
|
||||
|
||||
static bool gbt_bytea_pf_match ( const bytea * pf , const bytea * query , const gbtree_vinfo * tinfo )
|
||||
{
|
||||
|
||||
int k ;
|
||||
int32 s = (tinfo->str)?(1):(0);
|
||||
bool out = FALSE ;
|
||||
int32 qlen = VARSIZE(query) - VARHDRSZ - s ;
|
||||
int32 nlen = VARSIZE(pf) - VARHDRSZ - s ;
|
||||
if ( nlen <= qlen )
|
||||
{
|
||||
char *q = VARDATA(query) ;
|
||||
char *n = VARDATA(pf) ;
|
||||
out = TRUE;
|
||||
for ( k=0 ; k<nlen; k++ )
|
||||
{
|
||||
if ( *n != *q ){
|
||||
out = FALSE;
|
||||
break;
|
||||
}
|
||||
if ( k < (nlen-1) )
|
||||
{
|
||||
q++;
|
||||
n++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return out;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* returns true, if query matches node using common prefix
|
||||
*/
|
||||
|
||||
static bool gbt_var_node_pf_match ( const GBT_VARKEY_R * node , const bytea * query , const gbtree_vinfo * tinfo )
|
||||
{
|
||||
|
||||
return (
|
||||
gbt_bytea_pf_match ( node->lower, query , tinfo ) ||
|
||||
gbt_bytea_pf_match ( node->upper, query , tinfo )
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* truncates / compresses the node key
|
||||
*/
|
||||
static GBT_VARKEY * gbt_var_node_truncate ( const GBT_VARKEY * node , int32 length , const gbtree_vinfo * tinfo )
|
||||
{
|
||||
|
||||
int32 s = (tinfo->str)?(1):(0);
|
||||
GBT_VARKEY * out = NULL;
|
||||
GBT_VARKEY_R r = gbt_var_key_readable ( node );
|
||||
int32 len1 = VARSIZE(r.lower) - VARHDRSZ;
|
||||
int32 len2 = VARSIZE(r.upper) - VARHDRSZ;
|
||||
int32 si = 0;
|
||||
|
||||
if (tinfo->str)
|
||||
length++; /* because of tailing '\0' */
|
||||
|
||||
len1 = Min( len1, length ) ;
|
||||
len2 = Min( len2, length ) ;
|
||||
si = 3*VARHDRSZ + len1 + len2;
|
||||
out = (GBT_VARKEY *) palloc ( si );
|
||||
out->vl_len = si;
|
||||
memcpy ( (void*) &(((char*)out)[VARHDRSZ]) , (void*)r.lower, len1+VARHDRSZ-s );
|
||||
memcpy ( (void*) &(((char*)out)[2*VARHDRSZ+len1]) , (void*)r.upper, len2+VARHDRSZ-s );
|
||||
|
||||
if (tinfo->str)
|
||||
{
|
||||
((char*)out)[2*VARHDRSZ+len1-1] = '\0';
|
||||
((char*)out)[3*VARHDRSZ+len1+len2-1] = '\0';
|
||||
}
|
||||
*((int32*)&(((char*)out)[VARHDRSZ])) = len1 + VARHDRSZ;
|
||||
*((int32*)&(((char*)out)[2*VARHDRSZ+len1])) = len2 + VARHDRSZ;
|
||||
|
||||
return out;
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void
|
||||
gbt_var_bin_union ( Datum * u , GBT_VARKEY * e , const gbtree_vinfo * tinfo )
|
||||
{
|
||||
|
||||
GBT_VARKEY * nk = NULL;
|
||||
GBT_VARKEY * tmp = NULL;
|
||||
GBT_VARKEY_R nr ;
|
||||
GBT_VARKEY_R eo = gbt_var_key_readable ( e );
|
||||
|
||||
|
||||
if ( eo.lower == eo.upper ) /* leaf */
|
||||
{
|
||||
tmp = gbt_var_leaf2node ( e , tinfo );
|
||||
if ( tmp != e )
|
||||
eo = gbt_var_key_readable ( tmp );
|
||||
}
|
||||
|
||||
if ( DatumGetPointer(*u))
|
||||
{
|
||||
|
||||
GBT_VARKEY_R ro = gbt_var_key_readable ( ( GBT_VARKEY *) DatumGetPointer (*u) );
|
||||
|
||||
if ( (*tinfo->f_cmp) ( (bytea*)ro.lower, (bytea*)eo.lower ) > 0 ) {
|
||||
nr.lower = eo.lower;
|
||||
nr.upper = ro.upper;
|
||||
nk = gbt_var_key_copy ( &nr, TRUE );
|
||||
}
|
||||
if ( (*tinfo->f_cmp) ( (bytea*)ro.upper, (bytea*)eo.upper ) < 0 ) {
|
||||
nr.upper = eo.upper;
|
||||
nr.lower = ro.lower;
|
||||
nk = gbt_var_key_copy ( &nr, TRUE );
|
||||
}
|
||||
if ( nk )
|
||||
{
|
||||
pfree( DatumGetPointer (*u) );
|
||||
*u = PointerGetDatum(nk);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
nr.lower = eo.lower;
|
||||
nr.upper = eo.upper;
|
||||
*u = PointerGetDatum( gbt_var_key_copy ( &nr, TRUE ) );
|
||||
}
|
||||
|
||||
if ( tmp && tmp != e )
|
||||
pfree ( tmp );
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern GISTENTRY *
|
||||
gbt_var_compress ( GISTENTRY *entry , const gbtree_vinfo * tinfo )
|
||||
{
|
||||
|
||||
GISTENTRY * retval;
|
||||
|
||||
if (entry->leafkey)
|
||||
{
|
||||
GBT_VARKEY * r = NULL;
|
||||
bytea * tstd = ( bytea * ) DatumGetPointer ( entry->key ); /* toasted */
|
||||
bytea * leaf = ( bytea * ) DatumGetPointer ( PG_DETOAST_DATUM ( entry->key ) ); /* untoasted */
|
||||
GBT_VARKEY_R u ;
|
||||
|
||||
u.lower = u.upper = leaf;
|
||||
r = gbt_var_key_copy ( &u , FALSE );
|
||||
|
||||
if ( tstd != leaf ){
|
||||
pfree(leaf);
|
||||
}
|
||||
retval = palloc(sizeof(GISTENTRY));
|
||||
gistentryinit(*retval, PointerGetDatum(r),
|
||||
entry->rel, entry->page,
|
||||
entry->offset, VARSIZE(r), TRUE);
|
||||
} else {
|
||||
retval = entry;
|
||||
|
||||
|
||||
}
|
||||
|
||||
return (retval);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern GBT_VARKEY *
|
||||
gbt_var_union ( const GistEntryVector * entryvec , int32 * size , const gbtree_vinfo * tinfo )
|
||||
{
|
||||
|
||||
int i = 0,
|
||||
numranges = entryvec->n;
|
||||
GBT_VARKEY *cur,
|
||||
*tst=NULL;
|
||||
Datum out;
|
||||
GBT_VARKEY_R rk;
|
||||
|
||||
*size = sizeof(GBT_VARKEY);
|
||||
|
||||
tst = (GBT_VARKEY *) DatumGetPointer((entryvec->vector[0].key));
|
||||
cur = (GBT_VARKEY *) DatumGetPointer(PG_DETOAST_DATUM((entryvec->vector[0].key)));
|
||||
rk = gbt_var_key_readable ( cur );
|
||||
out = PointerGetDatum ( gbt_var_key_copy( &rk, TRUE ) );
|
||||
if ( tst != cur ) pfree ( cur );
|
||||
|
||||
for (i = 1; i < numranges; i++)
|
||||
{
|
||||
tst = (GBT_VARKEY *) DatumGetPointer((entryvec->vector[i].key));
|
||||
cur = (GBT_VARKEY *) DatumGetPointer(PG_DETOAST_DATUM((entryvec->vector[i].key)));
|
||||
gbt_var_bin_union ( &out , cur , tinfo );
|
||||
if ( tst != cur ) pfree ( cur );
|
||||
}
|
||||
|
||||
|
||||
/* Truncate (=compress) key */
|
||||
|
||||
if ( tinfo->trnc )
|
||||
{
|
||||
int32 plen ;
|
||||
GBT_VARKEY *trc = NULL;
|
||||
|
||||
plen = gbt_var_node_cp_len ( (GBT_VARKEY *) DatumGetPointer(out) , tinfo );
|
||||
trc = gbt_var_node_truncate ( (GBT_VARKEY *) DatumGetPointer(out) , plen+1 , tinfo ) ;
|
||||
|
||||
pfree ( DatumGetPointer(out) );
|
||||
out = PointerGetDatum ( trc );
|
||||
}
|
||||
|
||||
return ( (GBT_VARKEY *) DatumGetPointer ( out ) );
|
||||
}
|
||||
|
||||
|
||||
extern bool gbt_var_same ( bool * result, const Datum d1 , const Datum d2 , const gbtree_vinfo * tinfo ){
|
||||
|
||||
GBT_VARKEY *tst1 = (GBT_VARKEY *) DatumGetPointer(d1);
|
||||
GBT_VARKEY *t1 = (GBT_VARKEY *) DatumGetPointer( PG_DETOAST_DATUM(d1) );
|
||||
GBT_VARKEY *tst2 = (GBT_VARKEY *) DatumGetPointer(d2);
|
||||
GBT_VARKEY *t2 = (GBT_VARKEY *) DatumGetPointer( PG_DETOAST_DATUM(d2) );
|
||||
GBT_VARKEY_R r1, r2;
|
||||
r1 = gbt_var_key_readable ( t1 );
|
||||
r2 = gbt_var_key_readable ( t2 );
|
||||
|
||||
if (t1 && t2){
|
||||
*result = ( ( (*tinfo->f_cmp ) ( (bytea*)r1.lower, (bytea*)r2.lower) == 0
|
||||
&& (*tinfo->f_cmp) ( (bytea*)r1.upper, (bytea*)r2.upper) == 0 ) ? TRUE : FALSE );
|
||||
} else
|
||||
*result = (t1 == NULL && t2 == NULL) ? TRUE : FALSE;
|
||||
|
||||
if ( tst1 != t1 ) pfree (t1);
|
||||
if ( tst2 != t2 ) pfree (t2);
|
||||
|
||||
PG_RETURN_POINTER(result);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern float *
|
||||
gbt_var_penalty ( float * res , const GISTENTRY * o , const GISTENTRY * n, const gbtree_vinfo * tinfo )
|
||||
{
|
||||
|
||||
GBT_VARKEY *orgt = (GBT_VARKEY *) DatumGetPointer(o->key);
|
||||
GBT_VARKEY *orge = (GBT_VARKEY *) DatumGetPointer( PG_DETOAST_DATUM(o->key) );
|
||||
GBT_VARKEY *newt = (GBT_VARKEY *) DatumGetPointer(n->key);
|
||||
GBT_VARKEY *newe = (GBT_VARKEY *) DatumGetPointer( PG_DETOAST_DATUM(n->key) );
|
||||
GBT_VARKEY_R ok , nk;
|
||||
GBT_VARKEY *tmp = NULL;
|
||||
int32 s = (tinfo->str)?(1):(0);
|
||||
|
||||
*res = 0.0;
|
||||
|
||||
nk = gbt_var_key_readable ( newe );
|
||||
if ( nk.lower == nk.upper ) /* leaf */
|
||||
{
|
||||
tmp = gbt_var_leaf2node ( newe , tinfo );
|
||||
if ( tmp != newe )
|
||||
nk = gbt_var_key_readable ( tmp );
|
||||
}
|
||||
ok = gbt_var_key_readable ( orge );
|
||||
|
||||
if ( ( VARSIZE(ok.lower) - VARHDRSZ ) == s && ( VARSIZE(ok.upper) - VARHDRSZ ) == s )
|
||||
{
|
||||
*res = 0.0;
|
||||
} else
|
||||
if ( ! (
|
||||
(
|
||||
( (*tinfo->f_cmp) (nk.lower, ok.lower)>=0 || gbt_bytea_pf_match(ok.lower, nk.lower, tinfo ) ) &&
|
||||
( (*tinfo->f_cmp) (nk.upper, ok.upper)<=0 || gbt_bytea_pf_match(ok.upper, nk.upper, tinfo ) )
|
||||
)
|
||||
) )
|
||||
{
|
||||
Datum d = PointerGetDatum (0);
|
||||
double dres = 0.0;
|
||||
int32 ol, ul;
|
||||
|
||||
gbt_var_bin_union ( &d , orge , tinfo );
|
||||
ol = gbt_var_node_cp_len ( ( GBT_VARKEY *) DatumGetPointer(d), tinfo );
|
||||
gbt_var_bin_union ( &d , newe , tinfo );
|
||||
ul = gbt_var_node_cp_len ( ( GBT_VARKEY *) DatumGetPointer(d), tinfo );
|
||||
|
||||
if ( ul < ol ) {
|
||||
dres = ( ol-ul ) ; /* lost of common prefix len */
|
||||
} else {
|
||||
GBT_VARKEY_R uk = gbt_var_key_readable ( ( GBT_VARKEY *) DatumGetPointer(d) );
|
||||
if ( tinfo->str )
|
||||
{
|
||||
dres = ( VARDATA(ok.lower)[ul]-VARDATA(uk.lower)[ul] ) +
|
||||
( VARDATA(uk.upper)[ul]-VARDATA(ok.upper)[ul] );
|
||||
} else {
|
||||
char tmp[4];
|
||||
tmp[0] = ( ( VARSIZE(ok.lower) - VARHDRSZ ) == ul )?(CHAR_MIN):(VARDATA(ok.lower)[ul]);
|
||||
tmp[1] = ( ( VARSIZE(uk.lower) - VARHDRSZ ) == ul )?(CHAR_MIN):(VARDATA(uk.lower)[ul]);
|
||||
tmp[2] = ( ( VARSIZE(ok.upper) - VARHDRSZ ) == ul )?(CHAR_MIN):(VARDATA(ok.upper)[ul]);
|
||||
tmp[3] = ( ( VARSIZE(uk.upper) - VARHDRSZ ) == ul )?(CHAR_MIN):(VARDATA(uk.upper)[ul]);
|
||||
dres = ( tmp[0] - tmp[1] ) +
|
||||
( tmp[3] - tmp[2] );
|
||||
}
|
||||
dres /= 256.0;
|
||||
}
|
||||
pfree ( DatumGetPointer(d) );
|
||||
|
||||
*res += FLT_MIN ;
|
||||
*res += (float) ( dres / ( (double) ( ol +1 ) ) );
|
||||
*res *= ( FLT_MAX / ( o->rel->rd_att->natts + 1 ) );
|
||||
|
||||
}
|
||||
|
||||
if ( tmp && tmp != newe )
|
||||
pfree (tmp);
|
||||
|
||||
if ( newe != newt ){
|
||||
pfree ( newe );
|
||||
}
|
||||
|
||||
if ( orge != orgt ){
|
||||
pfree ( orge );
|
||||
}
|
||||
return res ;
|
||||
|
||||
}
|
||||
|
||||
|
||||
static int32 gbt_vsrt_cmp ( const Vsrt * a , const Vsrt * b , const gbtree_vinfo * tinfo )
|
||||
{
|
||||
GBT_VARKEY_R ar = gbt_var_key_readable ( a->t );
|
||||
GBT_VARKEY_R br = gbt_var_key_readable ( b->t );
|
||||
return (*tinfo->f_cmp) ( ar.lower, br.lower );
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern GIST_SPLITVEC *
|
||||
gbt_var_picksplit( const GistEntryVector *entryvec, GIST_SPLITVEC *v, const gbtree_vinfo * tinfo )
|
||||
{
|
||||
|
||||
OffsetNumber i ,
|
||||
maxoff = entryvec->n - 1;
|
||||
|
||||
Vsrt arr[maxoff+1] ;
|
||||
int pfrcntr = 0 ,
|
||||
svcntr = 0 ,
|
||||
nbytes ;
|
||||
char * tst ,
|
||||
* cur ;
|
||||
|
||||
char **pfr = NULL ;
|
||||
GBT_VARKEY **sv = NULL;
|
||||
|
||||
static int cmp (const void *a, const void *b ){
|
||||
return gbt_vsrt_cmp ((Vsrt *) a , (Vsrt *) b , tinfo );
|
||||
}
|
||||
|
||||
nbytes = (maxoff + 2) * sizeof(OffsetNumber);
|
||||
v->spl_left = (OffsetNumber *) palloc(nbytes);
|
||||
v->spl_right = (OffsetNumber *) palloc(nbytes);
|
||||
v->spl_ldatum = PointerGetDatum(0);
|
||||
v->spl_rdatum = PointerGetDatum(0);
|
||||
v->spl_nleft = 0;
|
||||
v->spl_nright = 0;
|
||||
|
||||
pfr = palloc ( sizeof ( GBT_VARKEY* ) * (maxoff+1) );
|
||||
sv = palloc ( sizeof ( bytea * ) * (maxoff+1) );
|
||||
|
||||
/* Sort entries */
|
||||
|
||||
for (i = FirstOffsetNumber; i <= maxoff; i = OffsetNumberNext(i))
|
||||
{
|
||||
GBT_VARKEY_R ro;
|
||||
tst = (char *) DatumGetPointer((entryvec->vector[i].key));
|
||||
cur = (char *) DatumGetPointer(PG_DETOAST_DATUM((entryvec->vector[i].key)));
|
||||
if ( tst != cur ){
|
||||
pfr[pfrcntr] = cur ;
|
||||
pfrcntr++;
|
||||
}
|
||||
ro = gbt_var_key_readable( ( GBT_VARKEY *) cur );
|
||||
if ( ro.lower == ro.upper ) /* leaf */
|
||||
{
|
||||
sv[svcntr] = gbt_var_leaf2node ( ( GBT_VARKEY *) cur , tinfo );
|
||||
arr[i].t = sv[svcntr];
|
||||
if ( sv[svcntr] != ( GBT_VARKEY *) cur )
|
||||
svcntr++;
|
||||
} else {
|
||||
arr[i].t = ( GBT_VARKEY *) cur;
|
||||
}
|
||||
arr[i].i = i;
|
||||
}
|
||||
|
||||
/* sort */
|
||||
qsort ( (void*) &arr[FirstOffsetNumber], maxoff-FirstOffsetNumber+1,sizeof(Vsrt), cmp );
|
||||
|
||||
|
||||
/* We do simply create two parts */
|
||||
|
||||
for (i = FirstOffsetNumber; i <= maxoff; i = OffsetNumberNext(i))
|
||||
{
|
||||
if (i <= (maxoff - FirstOffsetNumber + 1) / 2)
|
||||
{
|
||||
gbt_var_bin_union(&v->spl_ldatum, arr[i].t, tinfo);
|
||||
v->spl_left[v->spl_nleft] = arr[i].i;
|
||||
v->spl_nleft++;
|
||||
}
|
||||
else
|
||||
{
|
||||
gbt_var_bin_union(&v->spl_rdatum, arr[i].t, tinfo);
|
||||
v->spl_right[v->spl_nright] = arr[i].i;
|
||||
v->spl_nright++;
|
||||
}
|
||||
}
|
||||
|
||||
/* Free detoasted keys */
|
||||
for ( i=0 ; i<pfrcntr; i++ ){
|
||||
pfree( pfr[i] );
|
||||
}
|
||||
|
||||
/* Free strxfrm'ed leafs */
|
||||
for ( i=0 ; i<svcntr; i++ ){
|
||||
pfree( sv[i] );
|
||||
}
|
||||
|
||||
if ( pfr )
|
||||
{
|
||||
pfree (pfr);
|
||||
}
|
||||
|
||||
if ( sv )
|
||||
{
|
||||
pfree (sv);
|
||||
}
|
||||
|
||||
/* Truncate (=compress) key */
|
||||
|
||||
if ( tinfo->trnc )
|
||||
{
|
||||
|
||||
int32 ll = gbt_var_node_cp_len ( (GBT_VARKEY *) DatumGetPointer(v->spl_ldatum) , tinfo );
|
||||
int32 lr = gbt_var_node_cp_len ( (GBT_VARKEY *) DatumGetPointer(v->spl_rdatum) , tinfo );
|
||||
GBT_VARKEY * dl ;
|
||||
GBT_VARKEY * dr ;
|
||||
|
||||
ll = Max (ll,lr);
|
||||
ll++;
|
||||
|
||||
dl = gbt_var_node_truncate ( (GBT_VARKEY *) DatumGetPointer(v->spl_ldatum) , ll, tinfo ) ;
|
||||
dr = gbt_var_node_truncate ( (GBT_VARKEY *) DatumGetPointer(v->spl_rdatum) , ll, tinfo ) ;
|
||||
pfree( DatumGetPointer(v->spl_ldatum) );
|
||||
pfree( DatumGetPointer(v->spl_rdatum) );
|
||||
v->spl_ldatum = PointerGetDatum ( dl );
|
||||
v->spl_rdatum = PointerGetDatum ( dr );
|
||||
|
||||
}
|
||||
|
||||
return v;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
** The GiST consistent method
|
||||
*/
|
||||
|
||||
extern bool
|
||||
gbt_var_consistent(
|
||||
GBT_VARKEY_R * key,
|
||||
const void * query,
|
||||
const StrategyNumber * strategy,
|
||||
bool is_leaf,
|
||||
const gbtree_vinfo * tinfo
|
||||
)
|
||||
{
|
||||
bool retval = FALSE;
|
||||
|
||||
switch (*strategy)
|
||||
{
|
||||
case BTLessEqualStrategyNumber:
|
||||
if ( is_leaf )
|
||||
retval = (*tinfo->f_ge)(query, (void*) key->lower);
|
||||
else
|
||||
retval = (*tinfo->f_cmp)((bytea*) query, key->lower) >= 0
|
||||
|| gbt_var_node_pf_match( key ,query, tinfo );
|
||||
break;
|
||||
case BTLessStrategyNumber:
|
||||
if ( is_leaf )
|
||||
retval = (*tinfo->f_gt)(query, (void*) key->lower);
|
||||
else
|
||||
retval = (*tinfo->f_cmp)((bytea*)query, key->lower) >= 0
|
||||
|| gbt_var_node_pf_match( key, query , tinfo );
|
||||
break;
|
||||
case BTEqualStrategyNumber:
|
||||
if ( is_leaf )
|
||||
retval = (*tinfo->f_eq)(query, (void*) key->lower);
|
||||
else
|
||||
retval = (
|
||||
(
|
||||
(*tinfo->f_cmp) (key->lower,(bytea*) query)<=0 &&
|
||||
(*tinfo->f_cmp) ((bytea*)query, (void*) key->upper)<=0
|
||||
) || gbt_var_node_pf_match( key, query, tinfo )
|
||||
);
|
||||
break;
|
||||
case BTGreaterStrategyNumber:
|
||||
if ( is_leaf )
|
||||
retval = (*tinfo->f_lt)(query, (void*) key->upper);
|
||||
else
|
||||
retval = (*tinfo->f_cmp)((bytea*)query, key->upper)<=0
|
||||
|| gbt_var_node_pf_match( key, query, tinfo );
|
||||
break;
|
||||
case BTGreaterEqualStrategyNumber:
|
||||
if ( is_leaf )
|
||||
retval = (*tinfo->f_le)(query, (void*) key->upper);
|
||||
else
|
||||
retval = (*tinfo->f_cmp)((bytea*) query, key->upper)<=0
|
||||
|| gbt_var_node_pf_match( key, query, tinfo );
|
||||
break;
|
||||
default:
|
||||
retval = FALSE;
|
||||
}
|
||||
|
||||
return (retval);
|
||||
}
|
67
contrib/btree_gist/btree_utils_var.h
Normal file
67
contrib/btree_gist/btree_utils_var.h
Normal file
|
@ -0,0 +1,67 @@
|
|||
|
||||
/* Variable length key */
|
||||
typedef bytea GBT_VARKEY;
|
||||
|
||||
/* Better readable key */
|
||||
typedef struct
|
||||
{
|
||||
bytea * lower, * upper;
|
||||
} GBT_VARKEY_R;
|
||||
|
||||
/* used for key sorting */
|
||||
typedef struct
|
||||
{
|
||||
int i ;
|
||||
GBT_VARKEY * t ;
|
||||
} Vsrt ;
|
||||
|
||||
/*
|
||||
type description
|
||||
*/
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
|
||||
/* Attribs */
|
||||
|
||||
enum gbtree_type t ; /* data type */
|
||||
bool str ; /* true, if string ( else binary ) */
|
||||
bool trnc ; /* truncate (=compress) key */
|
||||
|
||||
/* Methods */
|
||||
|
||||
bool (*f_gt) ( const void * , const void * ); /* greater then */
|
||||
bool (*f_ge) ( const void * , const void * ); /* greater equal */
|
||||
bool (*f_eq) ( const void * , const void * ); /* equal */
|
||||
bool (*f_le) ( const void * , const void * ); /* less equal */
|
||||
bool (*f_lt) ( const void * , const void * ); /* less then */
|
||||
int32 (*f_cmp) ( const bytea * , const bytea * ); /* node compare */
|
||||
GBT_VARKEY* (*f_l2n) ( GBT_VARKEY * ); /* convert leaf to node */
|
||||
} gbtree_vinfo;
|
||||
|
||||
|
||||
|
||||
extern GBT_VARKEY_R gbt_var_key_readable ( const GBT_VARKEY * k );
|
||||
|
||||
extern GBT_VARKEY *gbt_var_key_copy ( const GBT_VARKEY_R * u, bool force_node );
|
||||
|
||||
extern GISTENTRY *gbt_var_compress ( GISTENTRY *entry , const gbtree_vinfo * tinfo );
|
||||
|
||||
extern GBT_VARKEY *gbt_var_union ( const GistEntryVector * entryvec , int32 * size ,
|
||||
const gbtree_vinfo * tinfo );
|
||||
|
||||
extern bool gbt_var_same ( bool * result, const Datum d1 , const Datum d2 ,
|
||||
const gbtree_vinfo * tinfo );
|
||||
|
||||
extern float *gbt_var_penalty ( float * res , const GISTENTRY * o , const GISTENTRY * n,
|
||||
const gbtree_vinfo * tinfo );
|
||||
|
||||
extern bool gbt_var_consistent( GBT_VARKEY_R * key , const void * query,
|
||||
const StrategyNumber * strategy , bool is_leaf,
|
||||
const gbtree_vinfo * tinfo );
|
||||
|
||||
extern GIST_SPLITVEC *gbt_var_picksplit ( const GistEntryVector *entryvec, GIST_SPLITVEC *v,
|
||||
const gbtree_vinfo * tinfo );
|
||||
extern void gbt_var_bin_union ( Datum * u , GBT_VARKEY * e ,
|
||||
const gbtree_vinfo * tinfo );
|
612
contrib/btree_gist/data/bit.data
Normal file
612
contrib/btree_gist/data/bit.data
Normal file
|
@ -0,0 +1,612 @@
|
|||
010000100100001100101100011110110
|
||||
010110001111011000001101000000101
|
||||
101100011110110000011010000001010
|
||||
001101100101000001110001000001101
|
||||
000110100111111111101001011111010
|
||||
001100000100111101000011111100000
|
||||
001100010100010001010010000011010
|
||||
000101001000001101000111100100010
|
||||
110110101100010001000101001111000
|
||||
110110110110100010000110100000011
|
||||
110101011101101111110111110010101
|
||||
010001111000000110010101010011100
|
||||
111010010111110101101100110011010
|
||||
010000100100001100101100011110110
|
||||
010101001101100101000001110001000
|
||||
110111101011110001111110011001011
|
||||
110001011110101000011101101011100
|
||||
011001011010100000000100000111100
|
||||
101000011101100110000111010100111
|
||||
011000111000011011110101010001110
|
||||
000111001110101000110000011000000
|
||||
110101000010001101010111011000001
|
||||
010100100000010110010011011111111
|
||||
110000110011011010111101010001100
|
||||
101010100110000010011110100001111
|
||||
\N
|
||||
100000111100001111011001001011101
|
||||
111100100011001110101000010010111
|
||||
011010001111111111011100001011110
|
||||
110010001100111010100001001011101
|
||||
110110111111010010100111110010001
|
||||
101110011110000110000000000110110
|
||||
100100110000001101010111100111010
|
||||
001001010111100011101101100001100
|
||||
010000001100010100010001010010000
|
||||
111010000100100110101011011101010
|
||||
110100001000001100111000111101100
|
||||
111011001111111001111000111010110
|
||||
111111100000010110100111101011011
|
||||
011011111111101110110011111110011
|
||||
110100001000001100111000111101100
|
||||
001011101101010100101010010010001
|
||||
101010011100100011011000001101011
|
||||
000000110100000111011101010011101
|
||||
110100101111101011011001100110100
|
||||
011111010110110011001101000000110
|
||||
101010001100000110000000111000101
|
||||
101111111011001001001000000000011
|
||||
011000101100111000010011000100001
|
||||
000110101011110011101000000110001
|
||||
000111110101111010110000111011011
|
||||
100010001100101110011000110010110
|
||||
010000011010001111001000101000001
|
||||
111010001111010110101111010110111
|
||||
100110011011011100001001001010101
|
||||
110010010110011101110111101011110
|
||||
110010101101000011111111101110100
|
||||
011101011111111001100010010000011
|
||||
010100010011011011001100011100001
|
||||
110110111111010010100111110010001
|
||||
000011101110111100110111100111011
|
||||
101011110101101111111110111011001
|
||||
001100010001110100010010100101101
|
||||
111101011011001100110100000011000
|
||||
000000100000101101010100000110000
|
||||
101010110100010000001111010010010
|
||||
010111010011000101010110111000011
|
||||
100101101101101111001100111010000
|
||||
000001100110111000101101100001110
|
||||
\N
|
||||
110110111101010000011111100010000
|
||||
100010001010010000011010001111001
|
||||
110010100010110100100110000111010
|
||||
101101101101111001100111010000100
|
||||
010111101011000011101101110001011
|
||||
100000000000010101110011011100010
|
||||
100001101000010101111101001010100
|
||||
101000110001011001110000100110001
|
||||
110011011111011100010000010100011
|
||||
010011011100110000100001001100111
|
||||
001100010101110001110101111001001
|
||||
001110000010000001100011000110001
|
||||
000110001100011010111111101011100
|
||||
100010001111110100101100110010110
|
||||
000001001100110110111000010010010
|
||||
111101100100101110101100111001100
|
||||
010101011101100001111111110011011
|
||||
001011111111001100101101110101001
|
||||
110111111111111110111000010011001
|
||||
010101111001101011011111011111000
|
||||
011110111100101001000111111001100
|
||||
010111001001111010011000101000011
|
||||
010001110111111100000011100100000
|
||||
100001111111001110011001110010101
|
||||
011000010110001010011011011101111
|
||||
000000001010111001101110001011010
|
||||
100011100000001111011010011010110
|
||||
000011100100110111000001010001111
|
||||
100101010111110110000011001010101
|
||||
110000101100110010000010011001011
|
||||
110010000001011101011110110011011
|
||||
100010111100001111111001110011001
|
||||
111111101111101000000100000011111
|
||||
110100101011110110101110001101011
|
||||
011110111111010101011000001000111
|
||||
011111111110011001110011101100000
|
||||
101101000110001011001110000100110
|
||||
010101001001011011110110100010100
|
||||
011111111100000010110100111101011
|
||||
011000111101111110011000000010011
|
||||
011000010001000000000110101011001
|
||||
011011000100010111011000110000100
|
||||
100101100011111101110100011101000
|
||||
011100000011111110111111010011010
|
||||
010010111001111100010110011011111
|
||||
001100101111111101111111111111101
|
||||
111111111010000010101110100011011
|
||||
111010000110101001111001000101100
|
||||
100101100000000000010101110011011
|
||||
010001011000010010101100010001100
|
||||
010010011110010010111001100101111
|
||||
111010011101110110101110011110000
|
||||
000011100111010011100001111110110
|
||||
101110010010010010101100001001000
|
||||
100100011001010000011100100011101
|
||||
010111110001111111100101000100100
|
||||
110100000100101001110000111100011
|
||||
011111000111001100101111111101011
|
||||
110010000111111011111001001110111
|
||||
010111001111000011000000000011011
|
||||
110000110101111010101010110111000
|
||||
000111101001100011111110011000011
|
||||
000001001010011100001111000110000
|
||||
010010001101001110010001111111000
|
||||
010111101011000011101101110001011
|
||||
\N
|
||||
001001111001011100001010100101110
|
||||
110001110011100000000010000001001
|
||||
101111111111110101101111000110010
|
||||
011101111110011101110000001001111
|
||||
011010110001101010110010110101001
|
||||
101100110001100101011011001001111
|
||||
000000010010010111110001010001110
|
||||
110101110100110000100010011000100
|
||||
100101000100111110111001101101111
|
||||
101110000111100000110110101111001
|
||||
011111111001010001001001001001111
|
||||
111110011001011110111111010101011
|
||||
011100100000111101110001101000101
|
||||
011100100011001100011001010100000
|
||||
001010110101101100000100001101011
|
||||
101011000101101010000110110100000
|
||||
010000000011011000111010010001011
|
||||
001110100100010110110010010000001
|
||||
110111001101011111110000101100110
|
||||
101110001010111110110111111101011
|
||||
001111001010011010101101110011101
|
||||
000001001100000110100001111011001
|
||||
111011101010011101001100011011010
|
||||
101111000101101101101100100100011
|
||||
011011110011101101000111111111101
|
||||
000011101101101000001000111001111
|
||||
001101001110010001111111000110101
|
||||
101001010100000100011101110010101
|
||||
111001010010001111110011000100010
|
||||
001011110000110111001000010100010
|
||||
001110010010111110110111001111100
|
||||
000100111100100111010100010110001
|
||||
101000100111110111001101101111001
|
||||
111001011110111111101000111011011
|
||||
001011111111010111011001110101010
|
||||
000110101001110010100110000100000
|
||||
111000000101001000110111010011101
|
||||
011011000100000001010111111111101
|
||||
011011100001110101100100111100101
|
||||
111101101010011001110011001110000
|
||||
011000101001000010010101110101001
|
||||
010101001110100011110101101011110
|
||||
011011101001110100001000100011011
|
||||
110101111110011101101110100101111
|
||||
011011010101001110010000011000111
|
||||
100010110000000001111111001110011
|
||||
100100101110011001011110111100011
|
||||
001001100010001110001000000111000
|
||||
010000001101010001010011001100001
|
||||
011110011010110111110111110001011
|
||||
111111110100110111010010111011000
|
||||
101111111011001001001000000000011
|
||||
010110111101101000101001010010101
|
||||
001101010101100100100011001010001
|
||||
000011101100110000111010100111001
|
||||
111010001111010110101111010110111
|
||||
000110101111000101010101010100010
|
||||
111001100111011100000100011000110
|
||||
011110111111011100111010000100010
|
||||
000111010100111001001010100010001
|
||||
111010011111010100100101011110101
|
||||
110100100101011010100001010010010
|
||||
001111110001110100100101001001110
|
||||
100101011111001100101010011110101
|
||||
011110010111101001010011000110000
|
||||
\N
|
||||
011101010001011000110110001000101
|
||||
010100100100111000000011000110000
|
||||
100110111100110110010011111010110
|
||||
\N
|
||||
001000000010011011010000010001100
|
||||
010010101010101001000001111001010
|
||||
111100100111010100010110001101100
|
||||
111100000110010010101010101001000
|
||||
100001001000110101000110110101101
|
||||
110100000011011101011010101000101
|
||||
110111000010000001110000110011001
|
||||
011110001010101100110100000000111
|
||||
000100100111011010000000010100100
|
||||
010001000000000110101011001111100
|
||||
100110010101001110000100110101111
|
||||
001111100010011010000011000100101
|
||||
010010011000100111111101000011001
|
||||
000010001110101101111111010000010
|
||||
001100001101111000010100100110111
|
||||
100011011010000111000011111000011
|
||||
000110110101000010101001111110100
|
||||
110100101010010100101100101101111
|
||||
111111001110111000000100111110001
|
||||
101100101011101101001111011100100
|
||||
011100110011001001101000100101000
|
||||
101000110100100101011101110110100
|
||||
010100010111000111010100101100111
|
||||
011011101001100000011000011011100
|
||||
110011001100101111101010001011111
|
||||
001101110000011111001010010101010
|
||||
000001111010000111101011111110000
|
||||
000111000001010111110111000001010
|
||||
000000001111111001110011000100100
|
||||
100111110011111100011001100110110
|
||||
111001011000100001001001101101001
|
||||
000111010011100101101001110001010
|
||||
010011101101000100111101110010011
|
||||
000010101110100011011011011010101
|
||||
001001101111010001101101001111010
|
||||
011011110111110010110100000110110
|
||||
110011000010000100110011101111010
|
||||
010101110101101000000110010010011
|
||||
011000001101000011110110011000110
|
||||
101001111010100010000000110101011
|
||||
100110101111010100000000100101101
|
||||
010110000100110010110101111001111
|
||||
011000010101111101001110111000011
|
||||
011110010110100100100010110100101
|
||||
010101001001011011110110100010100
|
||||
010001110011100000010000111110001
|
||||
100101011010100001010010010011100
|
||||
100000100011000000010010010111110
|
||||
000101100110000011000110101010010
|
||||
010110100011010001001000011011000
|
||||
000010100100100111000000011000110
|
||||
101000011110001101000110110100000
|
||||
101011110100110000010011101110011
|
||||
011001010111111000100010101001001
|
||||
001100010111101100011011110101001
|
||||
110010001111010010111000101000100
|
||||
110111000010111101110101011100110
|
||||
100010011110010011100011011010000
|
||||
010010011010100000011000110010010
|
||||
001111011111100110000000100111011
|
||||
101100101001001010000000010100000
|
||||
111110100101011010100010110001100
|
||||
010110010111101001100010101110001
|
||||
011101110000000000001001010101100
|
||||
100011111001010101110010000001111
|
||||
100001011000111001011011011010100
|
||||
010001110010010000101010001100010
|
||||
100100000110000111001111110000010
|
||||
011101110011111100001001010010010
|
||||
011101111010111101101000001101100
|
||||
110101100100110001110111111010010
|
||||
011101011001010101000010010101101
|
||||
000111100101111010010100110001100
|
||||
111110101110101100111011110001001
|
||||
100001111011100011110100110001111
|
||||
001100001010101111101001111101100
|
||||
001100000010010010110110110001111
|
||||
111110110110011000111011001110010
|
||||
101011000111011111011000110010111
|
||||
001111011111100110000000100111011
|
||||
100001100000111111110110101010100
|
||||
101011111011000100011110110001101
|
||||
111010111111110011000100100000111
|
||||
100100101100010111010000000011110
|
||||
111100000110010010101010101001000
|
||||
110101111111111100100111010000000
|
||||
100101001010010110111000100000111
|
||||
010000011111100010000110111111110
|
||||
011001010011000110111110100000001
|
||||
101101001010011101101111111010111
|
||||
111000110011001101101010001111010
|
||||
110001011100101100011100000101011
|
||||
010010110011001011000001010110100
|
||||
101111101110001001110111100100010
|
||||
000011001101110110101101010111011
|
||||
101010000010100100111111000111001
|
||||
101110101111010101000101110001110
|
||||
101110000001001101010101100000111
|
||||
000101001010010101100100001111110
|
||||
111011100110001100010000001011001
|
||||
101011011011111010000101001100000
|
||||
101011101110000001010010011010100
|
||||
111101010011000111100001101011000
|
||||
001001000010101110111110001101011
|
||||
101110110011000011111000010101011
|
||||
100110000011011111010010010001100
|
||||
000010101000110110111110101000101
|
||||
110010001110000110000101111100001
|
||||
011000110010110010110101000000001
|
||||
001111000111000001100100011001111
|
||||
011001101100000011000101100111101
|
||||
110000101101101110001110010101011
|
||||
100101011011111110011011001000010
|
||||
101111111001111111101010101100010
|
||||
111111110110101010100101111010101
|
||||
010101101000011011001110100010101
|
||||
101000001101001111101111001110010
|
||||
011100000100100100000000100010111
|
||||
010011000110111110100000001110001
|
||||
111101011111011000001011000110110
|
||||
101010000011100110110111011011101
|
||||
100110110111010111110111100101010
|
||||
011111001101001001110110000011011
|
||||
101001101010010010000001011010100
|
||||
101101111111001011011111000010111
|
||||
001100111000000011100111010011100
|
||||
101001001111001001011100110010111
|
||||
101011110010000110110101100110011
|
||||
011001010101010001111001101100011
|
||||
010111111001111111011110000000001
|
||||
010010001111001011101001111001000
|
||||
\N
|
||||
000111010010001100010010101001101
|
||||
010110100111000000101001010110011
|
||||
111010000100100000011111110010110
|
||||
111000000111110111100010110110110
|
||||
110111101000100000011101110011111
|
||||
011110110100111000101110010000010
|
||||
011111011010100100011000011011010
|
||||
010001011000001001110100010101110
|
||||
100101000100111110101000001100110
|
||||
001011100001010111001011101011101
|
||||
101110001110011001100101111101010
|
||||
110100101001100011111011100100011
|
||||
101001000110000110110101000010101
|
||||
111010000110101001111001000101100
|
||||
100011110000011001001010101010100
|
||||
101111010110100110100010001111011
|
||||
000010110000101101100011001011001
|
||||
001011001000010011001111011110000
|
||||
110011110111110000001011011101101
|
||||
000101000110110100000100110100100
|
||||
000100010111011111011100100110100
|
||||
\N
|
||||
101011101110111111010000000100010
|
||||
000100100100001100010111010101010
|
||||
\N
|
||||
000100011001010101010001111001101
|
||||
111101010100010000011100101011000
|
||||
110000000110001011101000000101110
|
||||
111101111100110011010110100001000
|
||||
000011011101011010101000101001010
|
||||
010110000000001001010101001001111
|
||||
100110111111100011110011111111010
|
||||
010110100110000111000011100001111
|
||||
001000111100110111111010000101110
|
||||
100100010000101110011101011101110
|
||||
011111111110001100110110001100001
|
||||
010000100001110001100010101100101
|
||||
000001110111001001001001110000110
|
||||
101101001110001010000101101001011
|
||||
110011101010000100101110110101010
|
||||
100100100011000000001111100011001
|
||||
001000111111001100010001011000001
|
||||
111001100101010011110101000100000
|
||||
111001001100100110010001000000111
|
||||
110001111110010111111100010110100
|
||||
000111110001111010011011100110000
|
||||
001001011110001111111011010000100
|
||||
101110110011000000100111000111000
|
||||
101111000100000111011011111110001
|
||||
000011111101111100100111011111110
|
||||
001110100110101101111011110101001
|
||||
011000101001011110000011110100001
|
||||
100000001001111110101110000101100
|
||||
100010000110010101001010010000110
|
||||
111101010111001101101011000000111
|
||||
101010100000100101010101111010000
|
||||
011101111101110010011010010010110
|
||||
100010001010001101110011000010010
|
||||
101101100101101111000110110000010
|
||||
100111010011000110110101010111000
|
||||
000101101011111110110000111111010
|
||||
001100101110000011000110000111000
|
||||
100010010110111011001111000100000
|
||||
011000000000011110100100110100101
|
||||
101001100011111011100100011011010
|
||||
001111010111100101111100000010001
|
||||
111000000001101011110001010101010
|
||||
101101011011000001000011010110111
|
||||
\N
|
||||
000000000111110111111011110000110
|
||||
110010001010000100001001100100011
|
||||
001100011001110011101010011100000
|
||||
111111101010010001000000100100111
|
||||
010000000011101111000010000100011
|
||||
001011010101110011111100000001100
|
||||
101010000010100011010001111000110
|
||||
101010111100111010000001100010111
|
||||
011001110111110111110010001100010
|
||||
110010101100000010110110101111110
|
||||
111000001001001000000001000101111
|
||||
000001101000001100101001000101001
|
||||
010111101011011111111101110110011
|
||||
010001101101111101010001011011001
|
||||
100101100000111100000110101101000
|
||||
011110000001011100011110110110100
|
||||
000100101100101110101001000000001
|
||||
011011101110011011110001111011101
|
||||
000110101011001100010101111010110
|
||||
011111000000000010011001101101110
|
||||
100110001011110110001101111010100
|
||||
111100100100100111110001001001011
|
||||
100110110100111110100011000000000
|
||||
011000001001101110101110110110011
|
||||
111100110101011000001110110110011
|
||||
101001101100110111110111100100101
|
||||
000001111100010110110101100011000
|
||||
001100011100001000000101110110010
|
||||
011001011010101000110011010011111
|
||||
110010100010110001000001001111011
|
||||
100001001000011001011000111101100
|
||||
001010011110011101001000010011000
|
||||
000000101101001011001100100001101
|
||||
011100000010100110001010110100000
|
||||
011011001101111101010001110011001
|
||||
000001000111100110111111010000101
|
||||
110101110010010011011010111111000
|
||||
100111010111001110010000100001110
|
||||
101101001100011010001001010011000
|
||||
010111011011001110100110111011001
|
||||
001001001011100010011010100111010
|
||||
000000011001110101001110000100100
|
||||
011110101001010011110101101000001
|
||||
000101011101000000011101010100111
|
||||
001100111111011001000100101110100
|
||||
010101100011000101111011110000101
|
||||
111101010111001101101011000000111
|
||||
111000110100101011010010100111011
|
||||
111010011010111101000010101110000
|
||||
100111100110001110100100101001100
|
||||
111010010000100000101000000100001
|
||||
011000011110101111101100010001111
|
||||
100000110110010111010011101110010
|
||||
010100011111011000111100001100100
|
||||
010101010110001011011001110111101
|
||||
010101110100001010000000000010111
|
||||
111001011110010010010000001010000
|
||||
000100011110111010010101011000110
|
||||
111011000100000001100010100011010
|
||||
011111100010010111101010010000101
|
||||
001010111111111101110111101011000
|
||||
010111111010100100101010000101101
|
||||
111101010100100000100000101011100
|
||||
000001101100101110100111011100101
|
||||
111100100011110100101111010101101
|
||||
\N
|
||||
111111000010000001001100010110000
|
||||
111110100000010101001110010011110
|
||||
110000011110100001111010111111100
|
||||
111001101110001011010110001100100
|
||||
000100000010110010100100110011100
|
||||
111010001001011011101100111100010
|
||||
011001101101011110101000110001101
|
||||
100100110000001101010111100111010
|
||||
111000001010000010011111111000000
|
||||
011111001101011101101110111011100
|
||||
000000011011110100000011000100011
|
||||
000100110101100010010001101001000
|
||||
101000110001101011000100010001001
|
||||
110111101110011000110101101010101
|
||||
001101110010000101000101101101000
|
||||
100001001000011001011000111101100
|
||||
111110111010010111000011010011111
|
||||
001110100001000100010111101110110
|
||||
000101000111010000010111010010100
|
||||
110101010100101100110100111001110
|
||||
011110101011101111100101010000000
|
||||
000101110100100011000011111110000
|
||||
001011101110001111101110101101100
|
||||
110100010010001111111100100011010
|
||||
101010001100010000011101011111111
|
||||
101000010000100010101000011111111
|
||||
000000010101011110111110100110111
|
||||
110111001001101111100011010000101
|
||||
100010000000001100000111000010100
|
||||
011110101010110101010000011001000
|
||||
110110110111100010000111000110000
|
||||
110001111110010100010100011111100
|
||||
000001001100110100001010110011000
|
||||
010001111111011100101110000011001
|
||||
100100111000101101000111101101111
|
||||
000111111100011111001010101110010
|
||||
101100010000010011110111001100000
|
||||
110111100001110000000111001000110
|
||||
100000111011110001010010111101111
|
||||
100001001100100100000001011100111
|
||||
001010101111101000111000011010011
|
||||
001100100011110001101101011100001
|
||||
110011001011110111111010101011000
|
||||
001010101110010010101100010101011
|
||||
001011011000010110110100110011000
|
||||
100011000011110110000010011111001
|
||||
000000000000110010110000110100111
|
||||
011111111011111010001101110100111
|
||||
110111111010101011000001000111100
|
||||
000001110110011011000111010101001
|
||||
000100000010101001000010001001110
|
||||
101110100010010110111011001111000
|
||||
100010111010000000011110111011000
|
||||
001100110100101010000010001110111
|
||||
110110010011101011100011010101010
|
||||
101100000100011110000001100101010
|
||||
111010000000011001011010011001000
|
||||
010010011011000101111100000011101
|
||||
100110101101011111001111001110000
|
||||
110101100011010100011110000101111
|
||||
010101111010000101011010011101110
|
||||
111101100011110100100111000001110
|
||||
100010000000001101010110011111000
|
||||
100111010010001100100010100100010
|
||||
011100110101111010100111101001011
|
||||
\N
|
||||
001111101101000110000010001110011
|
||||
101110110000010100001000101100111
|
||||
101111110011010100111101100101001
|
||||
111111110011101011000110011001101
|
||||
110101100100010100100100010100001
|
||||
010101010000111001010001010000000
|
||||
101010010110111010011100011011110
|
||||
100010111111110000001110001101010
|
||||
001000110001101110010110101001001
|
||||
010111000111001000101001111111000
|
||||
100100101011001111001110100110110
|
||||
011101001101101000110010001010101
|
||||
001110011000100101001010011111010
|
||||
001000011101010010110111010011100
|
||||
111100110110000000101101101001010
|
||||
110010101010000111001010001010000
|
||||
000000011011110100001110110011000
|
||||
101010001110110100100100010101100
|
||||
101000101001111010111000100011100
|
||||
001000001100111000111101100111000
|
||||
000001110011111011001111100000001
|
||||
011110111001011000111101100010010
|
||||
100110110110010010111110111000110
|
||||
111101011010111101000001011111111
|
||||
010000111110010011010001110000001
|
||||
011110111100111001011010001000000
|
||||
101001100100011101111011100000011
|
||||
000011110010111110000000110001011
|
||||
000101111011100100100100101011000
|
||||
011101110111011011001011110010100
|
||||
011000110100101100001111010111110
|
||||
010011000000011011111100101010111
|
||||
100000101101101110000010010111111
|
||||
000111110100010011110010011000001
|
||||
001010001001110110011100110000001
|
||||
010000001011001001101111111111000
|
||||
000001000100011001011111111011111
|
||||
110111000101000100011101101011010
|
||||
010011111001010101101011001001000
|
||||
000100111100001010000010010010100
|
||||
011110101111101010100011000111111
|
||||
001011001101101000011011111000110
|
||||
011100100001001010011000001000101
|
||||
100101101100011111010100111001010
|
||||
111111100100101101001001111000101
|
||||
111110010011111001010101101011001
|
||||
011000011100001110110001001100100
|
||||
011011110101000001111110001000011
|
||||
111100000000110011001111011111000
|
||||
100101001011110100110011001110010
|
||||
100000101100011100111011000110001
|
||||
110010010110010001011101100100001
|
||||
110110010000000010100000101111100
|
||||
100011100010000101001101100010101
|
||||
001101111000011010100101010010101
|
||||
000100100011110001110101110010000
|
||||
100011110100101011111000110101100
|
||||
100011100011000011100000010001000
|
||||
100000110101110010101001001011000
|
||||
011110101101100100001000011100110
|
||||
101111111011011101111100110100000
|
||||
001110010111000001101001011110100
|
||||
000110011011101101011010101110110
|
||||
010101100101111111010001110001010
|
||||
000111100101111001111100010011010
|
||||
010110110001000101111111001101101
|
||||
010000111001001000011101111011001
|
||||
110100000110001011100110001111100
|
||||
000011110011110001011010111100001
|
||||
111011111100101011111100101000110
|
||||
\N
|
||||
101000111010000101111111000111000
|
||||
000111000111001111011011001001001
|
600
contrib/btree_gist/data/cash.data
Normal file
600
contrib/btree_gist/data/cash.data
Normal file
|
@ -0,0 +1,600 @@
|
|||
-166122.30
|
||||
-432746.26
|
||||
\N
|
||||
-282683.84
|
||||
454558.76
|
||||
-446358.85
|
||||
374604.84
|
||||
-207772.37
|
||||
-447987.84
|
||||
326562.77
|
||||
-269813.11
|
||||
-191115.13
|
||||
-70048.27
|
||||
150896.02
|
||||
-476375.00
|
||||
-390399.77
|
||||
212177.03
|
||||
-204062.17
|
||||
97619.20
|
||||
310057.22
|
||||
-39178.09
|
||||
-369182.60
|
||||
-149433.85
|
||||
-410022.92
|
||||
-373445.06
|
||||
108900.38
|
||||
-357486.45
|
||||
380320.26
|
||||
\N
|
||||
-483777.58
|
||||
-384690.86
|
||||
-115424.90
|
||||
-300012.64
|
||||
-261623.29
|
||||
-5423.17
|
||||
-159664.48
|
||||
-45458.63
|
||||
-379324.56
|
||||
280086.82
|
||||
491889.08
|
||||
117994.57
|
||||
-87318.07
|
||||
\N
|
||||
-247918.60
|
||||
-407705.26
|
||||
290100.50
|
||||
-120064.52
|
||||
-61386.63
|
||||
-256384.21
|
||||
205928.38
|
||||
453688.97
|
||||
63433.87
|
||||
489091.31
|
||||
454693.57
|
||||
\N
|
||||
-241552.75
|
||||
-18629.07
|
||||
399128.14
|
||||
421657.16
|
||||
\N
|
||||
-153046.41
|
||||
\N
|
||||
-259814.14
|
||||
351443.36
|
||||
112822.79
|
||||
207894.26
|
||||
-120775.66
|
||||
-454270.13
|
||||
-488281.40
|
||||
-332881.24
|
||||
\N
|
||||
113333.51
|
||||
-311200.38
|
||||
355731.15
|
||||
155154.56
|
||||
469754.45
|
||||
-168023.72
|
||||
-479427.28
|
||||
243797.84
|
||||
323948.38
|
||||
425953.89
|
||||
-119177.18
|
||||
180678.00
|
||||
426571.91
|
||||
65894.05
|
||||
\N
|
||||
-389103.14
|
||||
426557.67
|
||||
-403492.88
|
||||
292354.04
|
||||
195771.55
|
||||
-348533.49
|
||||
-2206.12
|
||||
425633.57
|
||||
-453156.39
|
||||
15382.26
|
||||
404980.85
|
||||
-401394.64
|
||||
\N
|
||||
-241207.65
|
||||
342900.81
|
||||
-171471.67
|
||||
81593.45
|
||||
-458067.19
|
||||
-306441.87
|
||||
\N
|
||||
-411424.46
|
||||
-318165.32
|
||||
30912.14
|
||||
\N
|
||||
49720.90
|
||||
351963.89
|
||||
238010.43
|
||||
404837.38
|
||||
275021.74
|
||||
126672.84
|
||||
439889.24
|
||||
-324251.18
|
||||
133075.86
|
||||
\N
|
||||
-198536.50
|
||||
206972.33
|
||||
170209.43
|
||||
-483750.81
|
||||
\N
|
||||
327444.80
|
||||
75763.63
|
||||
9840.43
|
||||
15700.78
|
||||
-51623.99
|
||||
-218733.26
|
||||
-36204.85
|
||||
60701.28
|
||||
-190014.00
|
||||
150597.22
|
||||
13545.90
|
||||
-314080.96
|
||||
-427964.35
|
||||
15262.72
|
||||
461174.33
|
||||
169218.74
|
||||
-74740.49
|
||||
-384598.83
|
||||
-483728.30
|
||||
287537.47
|
||||
234918.04
|
||||
-433550.83
|
||||
-230734.17
|
||||
323698.65
|
||||
-146197.04
|
||||
-255563.61
|
||||
83532.71
|
||||
-469513.46
|
||||
-36592.36
|
||||
-73146.17
|
||||
285947.07
|
||||
150015.40
|
||||
\N
|
||||
\N
|
||||
-209659.65
|
||||
355722.96
|
||||
243539.28
|
||||
-32803.88
|
||||
477435.65
|
||||
\N
|
||||
417338.19
|
||||
\N
|
||||
261176.47
|
||||
267675.86
|
||||
-229013.85
|
||||
-116379.58
|
||||
-476925.33
|
||||
-20226.29
|
||||
-143918.96
|
||||
143456.45
|
||||
306561.97
|
||||
290244.64
|
||||
119367.95
|
||||
252541.23
|
||||
-345895.39
|
||||
163329.59
|
||||
-113415.56
|
||||
-444697.34
|
||||
406232.17
|
||||
\N
|
||||
-100528.56
|
||||
-29727.60
|
||||
-432245.57
|
||||
-78154.99
|
||||
-40228.56
|
||||
388482.70
|
||||
-360892.31
|
||||
397567.58
|
||||
-61500.50
|
||||
197420.99
|
||||
-53405.45
|
||||
-10035.31
|
||||
307734.63
|
||||
-476264.93
|
||||
-187896.84
|
||||
74967.90
|
||||
-96352.04
|
||||
-204654.09
|
||||
-314590.02
|
||||
-498658.17
|
||||
\N
|
||||
459916.44
|
||||
-294815.05
|
||||
20507.27
|
||||
\N
|
||||
473415.90
|
||||
150774.51
|
||||
185491.97
|
||||
-74069.01
|
||||
\N
|
||||
46254.06
|
||||
-367453.99
|
||||
-168238.39
|
||||
-329399.97
|
||||
359048.54
|
||||
422343.40
|
||||
-380964.05
|
||||
-470561.40
|
||||
496663.18
|
||||
380409.42
|
||||
44918.95
|
||||
324580.02
|
||||
479079.72
|
||||
177174.87
|
||||
\N
|
||||
457126.55
|
||||
-112441.99
|
||||
-430676.25
|
||||
-135129.13
|
||||
336449.85
|
||||
487338.40
|
||||
7167.97
|
||||
-1800.51
|
||||
-291559.23
|
||||
304700.54
|
||||
-120904.61
|
||||
114795.52
|
||||
-430214.95
|
||||
408084.32
|
||||
-191474.36
|
||||
450118.77
|
||||
-352847.81
|
||||
437584.98
|
||||
156887.65
|
||||
\N
|
||||
-342586.53
|
||||
-79521.47
|
||||
190267.42
|
||||
463657.84
|
||||
-405475.24
|
||||
151640.70
|
||||
-415959.15
|
||||
107777.66
|
||||
285276.61
|
||||
341585.38
|
||||
-388847.32
|
||||
\N
|
||||
-18905.90
|
||||
\N
|
||||
-51094.80
|
||||
-398920.32
|
||||
-86554.74
|
||||
-239996.08
|
||||
-159324.69
|
||||
98208.93
|
||||
127700.52
|
||||
495535.34
|
||||
344071.85
|
||||
348527.75
|
||||
-159520.00
|
||||
\N
|
||||
341431.83
|
||||
33083.75
|
||||
-391284.15
|
||||
-192247.31
|
||||
-472981.85
|
||||
-205808.33
|
||||
-138646.73
|
||||
\N
|
||||
\N
|
||||
-310383.84
|
||||
-120621.38
|
||||
-67352.75
|
||||
434226.84
|
||||
460706.11
|
||||
-447900.16
|
||||
21469.25
|
||||
\N
|
||||
218925.44
|
||||
-413275.69
|
||||
-207067.87
|
||||
39712.27
|
||||
67008.72
|
||||
456794.17
|
||||
-379796.06
|
||||
261767.80
|
||||
-466546.12
|
||||
-305730.53
|
||||
\N
|
||||
-364597.47
|
||||
\N
|
||||
458787.41
|
||||
81602.89
|
||||
-271359.05
|
||||
-361870.59
|
||||
-28626.33
|
||||
481330.97
|
||||
-454201.68
|
||||
\N
|
||||
-287344.91
|
||||
-321038.68
|
||||
-449334.66
|
||||
-327779.24
|
||||
488133.53
|
||||
-329401.54
|
||||
316435.73
|
||||
60517.74
|
||||
-233468.01
|
||||
354078.72
|
||||
475270.56
|
||||
-276973.48
|
||||
2820.02
|
||||
-305523.48
|
||||
-119945.40
|
||||
-29204.15
|
||||
11065.46
|
||||
\N
|
||||
\N
|
||||
-349221.53
|
||||
402110.01
|
||||
-454995.32
|
||||
-830.00
|
||||
-463136.68
|
||||
\N
|
||||
-300999.19
|
||||
370635.37
|
||||
-292020.51
|
||||
-239004.63
|
||||
340136.68
|
||||
-262815.89
|
||||
-184908.59
|
||||
\N
|
||||
\N
|
||||
141849.58
|
||||
-498941.55
|
||||
95873.74
|
||||
-285016.93
|
||||
-107089.11
|
||||
-13721.30
|
||||
457191.81
|
||||
155699.77
|
||||
86327.14
|
||||
395889.04
|
||||
-229107.82
|
||||
324853.91
|
||||
-498107.17
|
||||
386767.59
|
||||
219841.13
|
||||
-27583.14
|
||||
-149702.20
|
||||
146393.57
|
||||
-437989.04
|
||||
159841.53
|
||||
32498.50
|
||||
396403.30
|
||||
-315063.83
|
||||
\N
|
||||
22649.64
|
||||
215343.21
|
||||
-175059.30
|
||||
-1847.18
|
||||
102497.28
|
||||
-247295.07
|
||||
332109.98
|
||||
-235782.85
|
||||
-295096.68
|
||||
\N
|
||||
498125.83
|
||||
-333733.57
|
||||
-433530.70
|
||||
449518.21
|
||||
316400.65
|
||||
280480.98
|
||||
180453.94
|
||||
457876.49
|
||||
412833.95
|
||||
428460.60
|
||||
-10056.74
|
||||
-214948.53
|
||||
37814.95
|
||||
102477.82
|
||||
-225564.43
|
||||
-92130.07
|
||||
-155741.02
|
||||
78450.91
|
||||
343105.39
|
||||
-130527.09
|
||||
33079.19
|
||||
329362.42
|
||||
200577.60
|
||||
212415.40
|
||||
-311348.62
|
||||
-21477.69
|
||||
333801.57
|
||||
-353712.01
|
||||
-433106.23
|
||||
-26081.60
|
||||
\N
|
||||
-163820.36
|
||||
151893.43
|
||||
205173.27
|
||||
-393163.22
|
||||
277938.44
|
||||
-276107.66
|
||||
-304649.71
|
||||
171386.20
|
||||
-306944.28
|
||||
370017.46
|
||||
249675.98
|
||||
-72023.48
|
||||
-372187.26
|
||||
-238104.04
|
||||
354749.41
|
||||
389572.21
|
||||
365556.59
|
||||
235734.34
|
||||
\N
|
||||
-280573.81
|
||||
128725.64
|
||||
71656.14
|
||||
400415.05
|
||||
-130616.30
|
||||
244866.96
|
||||
-415742.86
|
||||
-211304.73
|
||||
-267780.95
|
||||
-425028.29
|
||||
170832.02
|
||||
253488.32
|
||||
193520.19
|
||||
-25218.72
|
||||
-277658.68
|
||||
-167409.34
|
||||
-474770.31
|
||||
74591.72
|
||||
\N
|
||||
366618.43
|
||||
-171394.63
|
||||
329032.65
|
||||
-328557.90
|
||||
211902.62
|
||||
60210.12
|
||||
178715.93
|
||||
\N
|
||||
-456832.44
|
||||
344825.40
|
||||
64195.06
|
||||
-370332.57
|
||||
155903.15
|
||||
-265256.14
|
||||
15323.04
|
||||
\N
|
||||
233809.17
|
||||
411862.69
|
||||
6551.58
|
||||
-461516.27
|
||||
420681.92
|
||||
233340.82
|
||||
-373891.60
|
||||
440798.68
|
||||
-319872.00
|
||||
435051.22
|
||||
377502.70
|
||||
197215.84
|
||||
273887.91
|
||||
-360415.44
|
||||
-41466.42
|
||||
-335436.28
|
||||
441898.09
|
||||
1302.43
|
||||
144990.34
|
||||
188585.87
|
||||
\N
|
||||
174623.04
|
||||
322047.54
|
||||
230563.87
|
||||
-300142.22
|
||||
-120404.31
|
||||
21472.79
|
||||
444194.03
|
||||
80999.42
|
||||
83236.09
|
||||
-414005.44
|
||||
-181501.32
|
||||
48402.05
|
||||
181956.91
|
||||
-261939.44
|
||||
-155431.06
|
||||
388392.94
|
||||
337512.20
|
||||
-492902.69
|
||||
\N
|
||||
481390.20
|
||||
\N
|
||||
494812.78
|
||||
477359.18
|
||||
\N
|
||||
208828.94
|
||||
-51946.00
|
||||
378432.41
|
||||
137447.10
|
||||
-235678.90
|
||||
-260524.65
|
||||
286759.89
|
||||
86014.42
|
||||
303893.81
|
||||
-185836.92
|
||||
-339715.80
|
||||
474384.49
|
||||
-487805.30
|
||||
\N
|
||||
-135660.84
|
||||
\N
|
||||
-12158.99
|
||||
-24671.78
|
||||
104450.53
|
||||
\N
|
||||
-201014.92
|
||||
-430860.23
|
||||
-132855.90
|
||||
-339856.08
|
||||
431791.82
|
||||
406070.27
|
||||
-80184.35
|
||||
-330535.00
|
||||
371020.10
|
||||
446960.92
|
||||
-461880.13
|
||||
-399502.34
|
||||
221025.82
|
||||
-332205.06
|
||||
-394278.43
|
||||
-361844.93
|
||||
\N
|
||||
35170.25
|
||||
466405.94
|
||||
124030.12
|
||||
-412309.14
|
||||
\N
|
||||
-351146.89
|
||||
51070.28
|
||||
-322829.73
|
||||
233996.37
|
||||
482796.36
|
||||
-355095.23
|
||||
-489800.21
|
||||
21915.01
|
||||
282777.96
|
||||
169811.79
|
||||
301306.60
|
||||
\N
|
||||
-399859.75
|
||||
154814.04
|
||||
65509.24
|
||||
27086.81
|
||||
31231.96
|
||||
-304619.93
|
||||
494051.91
|
||||
-474057.76
|
||||
-263425.16
|
||||
6217.86
|
||||
-341118.74
|
||||
\N
|
||||
-306167.25
|
||||
410631.12
|
||||
-232238.14
|
||||
-316015.14
|
||||
-61724.14
|
||||
\N
|
||||
176961.97
|
||||
277381.68
|
||||
190797.28
|
||||
-457747.77
|
||||
-449873.37
|
||||
-484344.98
|
||||
-367413.81
|
||||
-43132.61
|
||||
121522.02
|
||||
87962.33
|
||||
\N
|
||||
370495.18
|
||||
191540.22
|
||||
-76890.93
|
||||
-232322.04
|
||||
-111047.08
|
534
contrib/btree_gist/data/char.data
Normal file
534
contrib/btree_gist/data/char.data
Normal file
|
@ -0,0 +1,534 @@
|
|||
b026324c6904b2a9cb4b88d6d
|
||||
26ab0db90d72e28ad0ba1e22ee
|
||||
6d7fce9fe
|
||||
48a24b70a0b376
|
||||
1dcc
|
||||
9ae0ea9
|
||||
84bc3da1b3e33
|
||||
c30f7472766d25af1dc80
|
||||
7c5aba41f53293b712fd
|
||||
3
|
||||
166d77ac1b46a1ec38aa
|
||||
2737
|
||||
aa6ed9e0f26a6eba784aae8267df19
|
||||
3677643294
|
||||
8c9eb6
|
||||
5b6b41ed9b343fed9cd05a66d366
|
||||
4d095eeac8ed659b1ce69dcef32ed0
|
||||
cf4278314ef8e
|
||||
3bb50ff8eeb
|
||||
dbbf82208
|
||||
fe9d26c3e62
|
||||
2fc57d6f63a9ee7e2f21a26fa5
|
||||
2a53da1a6fb
|
||||
7c67493bd
|
||||
2a52a5e65fc3c43f409550dfa
|
||||
b0771132ab2531a40c99413
|
||||
66a7c1
|
||||
5
|
||||
|
||||
d5b4c7d9b06b60a784
|
||||
4f89
|
||||
bb743fc2a7213949f2
|
||||
4fbafd6948b6529caa2b78e476359
|
||||
fd1bc138d22
|
||||
64
|
||||
fa84f696e31d07f55cd45cc3c
|
||||
87aa6
|
||||
bda81ba88c634b46394
|
||||
59885ebc737617addaaf0cb809
|
||||
90e2a51705594d033a3a
|
||||
21fa2e
|
||||
50a2fabfdd276f57
|
||||
f0287f33e
|
||||
e76
|
||||
93e
|
||||
d3a57c7e953913944c760093574695
|
||||
4a5c26d88c5
|
||||
08c61f3fd48f12fa7c88a
|
||||
a75f5a8337c6699916182
|
||||
6eb5cefde6fcb8463cea70880
|
||||
1aa55
|
||||
7efd8e
|
||||
c92841e00db
|
||||
2d999528ef1dd9ae433698abf3fe7f43
|
||||
8d7e35631f8
|
||||
a074c5929fb8088
|
||||
ec8b36fb3489
|
||||
f0810a
|
||||
6a
|
||||
ecf27a776cdfc
|
||||
1153ebfe1f3
|
||||
9a01df2f09a7bf076c0013
|
||||
d
|
||||
9ca
|
||||
767abe
|
||||
73b4c20
|
||||
b21dfa3fea
|
||||
59
|
||||
105be3ebd0677ec739afd851a6d8
|
||||
30b00ce4c04ddd6
|
||||
721327bfc0e276a87156
|
||||
8faff61bc119
|
||||
f634226e
|
||||
1ff1
|
||||
9f
|
||||
\N
|
||||
1709106f7c5dbb0539104f4ea3c17a7
|
||||
2b44a59db15a3ee2f1605ac82b028
|
||||
46107b341ed115c03ac287f00
|
||||
54a24082cfebcd031a
|
||||
cea4eca
|
||||
37a9aea1b
|
||||
a114f532e70502
|
||||
60f3db995d0676b576
|
||||
091b847d9660c
|
||||
d02a55da8edcc7ec95a59
|
||||
db0aa8bee7afe5a6e363ddcd890
|
||||
071
|
||||
9e01624ab7743bcdbd8cb316
|
||||
4b1709eb0990e993c3125c15
|
||||
1b28e946f4a8ffd5bdf939779c420
|
||||
80ad60f95
|
||||
ed31ca2c02fe2af071ee0089
|
||||
3368d7171580c61644211e59574674b
|
||||
c1cc2eeb27a86f85032b21
|
||||
9672a5e9c09fb71edf28
|
||||
27e4d3594a232b37951be232
|
||||
90fafcc60c7ee9f7a1
|
||||
18be9375e5a
|
||||
b68495714b0e1cad8ebaa1599766a94
|
||||
\N
|
||||
919d117956d3135
|
||||
cf6a52053ff904bca9d96f
|
||||
5aa8301da6367
|
||||
ff7f2c85af133d
|
||||
929ad9494d911e47cd54
|
||||
4df9699916
|
||||
48e3b
|
||||
0fa41cbcef9d3f
|
||||
f9926b3
|
||||
ca4047ce3d85454b067b93
|
||||
2fe51daae840593fb0f4076
|
||||
1181c1834012245d785120e350
|
||||
f3527f99
|
||||
754ee2a8de2d24e4e7
|
||||
83050114704e61f1c58d81d9b607
|
||||
980327c
|
||||
0a5e
|
||||
969049573085c71a5d6dc034e34b56
|
||||
12fc5425
|
||||
353a
|
||||
617119c2d67402b
|
||||
83de9f8ad800dc61db78100
|
||||
87ff3a697a3847ea7f3d
|
||||
ba1f2511fc30
|
||||
df8b712c4fe20a0df93381966
|
||||
f98
|
||||
f83be66
|
||||
52ee216e7ea72db74e87cc1
|
||||
650a1c9c9baa20730b4fcfdbe
|
||||
221a057e91928a3651f31d37
|
||||
|
||||
3be
|
||||
e051e54a58c467f7e3e23e648bf7ab8
|
||||
02e6b43d34792
|
||||
7162e6c8
|
||||
615010a6
|
||||
be8032a3ea812eeb288df3a
|
||||
557ff88fbe890cf23ab4c4b6526ebd
|
||||
26e41e2047e361fd54e4d19ec3
|
||||
6067e932002
|
||||
f52f16
|
||||
3c71a3f3482184ceca06acb7859
|
||||
b17bf99d69b88017
|
||||
f498cc
|
||||
8cf478ccdecd74e358a73857922d0bc
|
||||
95a283596833b3edcd
|
||||
9ae1400
|
||||
fca
|
||||
e6d604c19ab3dad
|
||||
\N
|
||||
b
|
||||
176e
|
||||
409cd9f3
|
||||
0f0254a
|
||||
699598531905f632234819bfa19c34
|
||||
f9c12
|
||||
df05072
|
||||
9f430be862c6c636d25
|
||||
2
|
||||
dc35b9fd881cc59bf54338af5
|
||||
7
|
||||
52154e9782f4ab05f7f77fc4abe6161
|
||||
cd3164cb1a8780dd
|
||||
0c0a5b8
|
||||
c5bb33d902ffd764f88adb1036c
|
||||
e2f06df03efbe62eae471
|
||||
12fd838288a9836dcb33694479b
|
||||
31c76c1c43008d0a9d396
|
||||
027f19cca4a7119da720f7f60314ce
|
||||
63cf7c8db392ec220067
|
||||
a187f54f5661d23769a5ab76651d1f8f
|
||||
36f3
|
||||
2
|
||||
21b97fc756c8732ba5cbf021792257
|
||||
3d1108469b16342a97c5b60b3
|
||||
41075c479e3066c
|
||||
261104cbe0eceac00eaf4bf5d
|
||||
ed6
|
||||
edeaea17b7bb5f989e8879a33c11
|
||||
7b7731085d04d325b618f8f83281d5e
|
||||
f584bd6f9cff10166a302a2ab5bc6e7
|
||||
e42002e140b29fc4
|
||||
8bd50a3a0da6
|
||||
993647e71651a205aba
|
||||
948cd06ca76467
|
||||
3b9be5cbb65a3
|
||||
ae8d333327fdf610b2e985
|
||||
1e1da348199896d5d
|
||||
0372c098401a1
|
||||
e6ce069c60d8e681ccd45b06ff3d47ad
|
||||
34c6e1feaf7f5084f3014d5d11fb72
|
||||
bd918538adde6
|
||||
035032ee8
|
||||
6be7de648b
|
||||
31
|
||||
939444082f2f746b655
|
||||
6f3898aad606
|
||||
3bcd6e8775
|
||||
cb
|
||||
5321951a8
|
||||
\N
|
||||
053ade8bc0514fd9f
|
||||
c1ba58b05f6245f221ad653
|
||||
1454
|
||||
b6e693b66d2003e1d08cb4d
|
||||
e7d14fa651db7754aff22716bfccb
|
||||
cd0a54e70051990d13f1fec
|
||||
1166083fc
|
||||
1041ba7e06b
|
||||
076decdd037ccb810d0e9e1756a9
|
||||
7c6139e8fb296b24
|
||||
cbb8413057f9176473225d
|
||||
301416f843b954c1f
|
||||
49a6957c6e2e1c5ce89cde8898949
|
||||
1ad002f8a
|
||||
6f36dfd82a1b64f6
|
||||
f
|
||||
c5db628ee33ef57f9e6aa
|
||||
8f9654eb7b0c528ed7edc173b692173e
|
||||
c64ee80b
|
||||
da4f2c32a51ddfa1
|
||||
545d8fdb508d46e
|
||||
f5d8eac62167a471f95928c
|
||||
48341ed4f1304fb01623d8f456
|
||||
348bd3ce10ec0
|
||||
9b779599da6
|
||||
f
|
||||
2485938
|
||||
4a6d02b7fc61f162e24ea
|
||||
dae34b
|
||||
a84fb2
|
||||
55fc63933ba0c92102a8e
|
||||
8226197b889d86f722471772777cc
|
||||
fac87b8618ebb0dc9ec3f1b557
|
||||
3d26e13f5daf5e
|
||||
9f3d9739b11c2a4b08ea
|
||||
e4
|
||||
bcb35cddc47f3df844ff2
|
||||
caec6c5b9f4424ac0b44c2cf
|
||||
427e8576c702d4d715
|
||||
4f61029d752be4d45c5e
|
||||
938a35
|
||||
ffbfc1313c9c85
|
||||
3482bfb20c3f103718e
|
||||
214311510e3d55d0291ad717f
|
||||
909596ec6cc7db
|
||||
16b70e
|
||||
1471e2c8fff7ddcce1acd0210c
|
||||
20007c50aa9258083faf59d69a0
|
||||
4479235f75efaad02357cbff
|
||||
\N
|
||||
\N
|
||||
fbaa030eee9a34cefd5248d7c9005
|
||||
4d685096123bcc72d0923df5c
|
||||
3c0efa1ba676ecbc802c3717f291ee
|
||||
bdeaa2482
|
||||
60ec2d50e99cbb811e8
|
||||
90922c
|
||||
64dbc39ab9cf
|
||||
de030a3d4e727eb9
|
||||
26b4cb0930a
|
||||
ac6a20237
|
||||
ee06d5a17b757b231d004946
|
||||
aeb75a20c5efa12e33eb54f1f7599
|
||||
0c4a96bf0bc4
|
||||
2bf1686588c741e0f407
|
||||
9f0ed6cee42549a57
|
||||
6b7e26a
|
||||
8c
|
||||
259a568c9e5262afa3bb020
|
||||
d9296b
|
||||
6f6fcb8d7
|
||||
457126a29df4c8
|
||||
cdd52d64d4c86b2807dfd31c5ee0
|
||||
d4d67ff03c419e3fafc227628690
|
||||
453
|
||||
2c028a63bb4a9b99dc57e
|
||||
b912d22e1bdb0027532bb318
|
||||
a3ab82e89ac30fdc459c5d
|
||||
bcd69f8c3
|
||||
94
|
||||
07ca93ea45d55d28894b8664
|
||||
3910a4fc69883
|
||||
fc28261e2becf14ad69ba
|
||||
af69b1990
|
||||
5dbd27ed12e6ca549c958d61db5
|
||||
9db1725416
|
||||
70d37da46913c0157ee
|
||||
33e2
|
||||
5131e6710ad926457f97
|
||||
849c49cb79d556969520a7ba510fa7
|
||||
ff4da50c05473ef35e9f3442d39f
|
||||
|
||||
4693b22f920e040c716c
|
||||
6c2a40def9f5197fdf4a9fbb98
|
||||
bc88b78c1fca882c19a55bb725134e
|
||||
352ad14d71a6069544a8592da
|
||||
a43e268d90bf08407
|
||||
d70d0dd90a6c3
|
||||
6ba01cd31a75dd3cab2b6800a7e
|
||||
5a592088ddbd5c96f25e13edd9
|
||||
fd1a71f57514f3d96aab5b
|
||||
4268c65769504e17a0bcd91407e23
|
||||
3de
|
||||
62b594
|
||||
1445f5c59eb6ef023569de
|
||||
06b904260b0d751caf00
|
||||
31b0
|
||||
c687a39f
|
||||
d31ba3c1c
|
||||
828007765429cc8470834c483ab625
|
||||
64a
|
||||
4eaed852e6857e6c196f20cfa49
|
||||
2dd746
|
||||
fe
|
||||
8373fa500
|
||||
39
|
||||
f1bbcefb43f8731a660091a
|
||||
642606e93992a316419e
|
||||
0d96f49fdbb
|
||||
47bcdd11e1cd38abf97
|
||||
098ddacdd558720b
|
||||
0116a06b76
|
||||
509a69c52a4bf
|
||||
6b23c0ac4415
|
||||
9492fe88f263d58e0b686885e8c9
|
||||
5c80dc6aeb95
|
||||
2ab5372e91b61384741a2
|
||||
\N
|
||||
36ef14
|
||||
7c1b3b869434ddf685bc503e3067
|
||||
2ba9cf6
|
||||
9a215d19e54bc4b2282e30c33214e3
|
||||
c2cff429a10edd8
|
||||
e049b6ef70e237d8fa
|
||||
96e6cdd58a6ef8e66f5188835
|
||||
080002b079e1c8f0c993
|
||||
aab4cdfa017
|
||||
40b134a
|
||||
7dbfc1a44c7463d842d9adc6481
|
||||
8a318bde4768cb68f23fc193354
|
||||
a9700592
|
||||
d1d39407e2dc464252ef76d6f
|
||||
7488b677139de1cfcff7c7
|
||||
30d310
|
||||
9ac1dce6537ab
|
||||
125dca018389717c78efafb
|
||||
7b95e765
|
||||
ca19fff8824c2
|
||||
71aeb19c
|
||||
4692d489b0638e49682df4f46dacd3c
|
||||
f37053cfdff777709610fe4e
|
||||
51c36ccac
|
||||
2eb2c961c1cbf6
|
||||
\N
|
||||
cf8d7b68cb9a2f36
|
||||
7bbedb4ae7
|
||||
06ec46c55611a466eb7e3edcc009ca6
|
||||
e
|
||||
5ed9cd0ea5a4e55d601027c56a
|
||||
|
||||
64cacf3a42afc
|
||||
90e63000c34506993345355640
|
||||
79bce
|
||||
173bb7
|
||||
c5
|
||||
574ea7c921cb0f25
|
||||
089d56d16dff24f336e4740
|
||||
6870470f1f9afcb4f7c56c9f
|
||||
b97e117fc965
|
||||
7013029
|
||||
e48f6dd481
|
||||
7d00e1e227beef84a9
|
||||
904d4c34241f
|
||||
cb5c0f14
|
||||
3a8a70
|
||||
f51a73164e92052fbb53b4cc2f1fed
|
||||
3c3fecaa0270175
|
||||
2521ef03594
|
||||
fa05756812648f450fb
|
||||
13c2f
|
||||
b39a0729d6182e9
|
||||
15b5ea204fe73
|
||||
d8991afd72d21acd188df1
|
||||
a29fff57ab897338
|
||||
de549b3ed5a024534c007125c
|
||||
2fcf3e5c3e3
|
||||
7427b6daec5c3f
|
||||
473
|
||||
8
|
||||
a5d9
|
||||
840410976ac2eeab58e1ca8bf46c2b7
|
||||
1db9cc85a336f1291ea19922
|
||||
db808f3548cda91
|
||||
2e379ce80af12bd7ed56d0338c
|
||||
a
|
||||
ea67a7c847f6620fc894f0ba10044
|
||||
0e
|
||||
52e97d975af7201d8
|
||||
d95e6f08184d8ff
|
||||
19762476fa
|
||||
42f278f3534f3f2be0abaed71
|
||||
f0aba11835e4e1d94
|
||||
e8534cf677046eafb8f5f761865
|
||||
ffbee273c7bb
|
||||
2bb77f6e780
|
||||
c77e81851c491
|
||||
e
|
||||
a9f45d765b01a030d5d317
|
||||
ff7345a22bc360
|
||||
c87363ba121297b063e83
|
||||
13ea32e9618d
|
||||
40304f6c2a7e92c1c66ff4208e
|
||||
a781b4a21419abfdf5eb467e4d48908
|
||||
8a65656e514b2b3ef8f86310aaf85
|
||||
4
|
||||
90b7b2862e3dbc8f0eef3dfc6075bfa
|
||||
eb94a1c
|
||||
a58abb5def4fa43840e6e2716
|
||||
260e6eaebb
|
||||
42415d712bf83944dcd1204e
|
||||
305254fc3b849150b5
|
||||
5bbd7f8471dcd3621
|
||||
2ae0548115a250
|
||||
0c1988e9
|
||||
76f98bef45639b7
|
||||
0d5a28f01dc
|
||||
b71
|
||||
c046576faa4d49eff8
|
||||
\N
|
||||
c1e8d01c
|
||||
10c86c457ea050455a742da4f8
|
||||
ea7676af85c71c7eeca635
|
||||
6a07137227404d
|
||||
a4
|
||||
7186172
|
||||
8150f31c9a15401c
|
||||
f1bb9057a9938bfa
|
||||
22b482be08f424ec4
|
||||
21daea994293589
|
||||
15bff393f6b17fef24786dd6f9
|
||||
d5a2d
|
||||
4b3b5dd9370543e
|
||||
b4a93b2ac4341945d06
|
||||
d384447812e0
|
||||
4e3c97e9b8f7
|
||||
f7d4d644b2a1d373
|
||||
5102c
|
||||
b9531f725674b28
|
||||
1aa16e7e34285797c1439
|
||||
51aa762ea14b40fb8876c887eea6
|
||||
45a62d3d5d3e946250904697486591
|
||||
b3f1a8
|
||||
243524767bf846d
|
||||
\N
|
||||
8
|
||||
95
|
||||
45a922872
|
||||
dd2497eb1e3da8d513d2
|
||||
7821db9e14d4f
|
||||
24c4f085de60d7c0c6ea3fc6bc
|
||||
e4c9f8c68596d7d
|
||||
afd6c8cb0f2516b87f24bbd8
|
||||
61d2e457c70949
|
||||
d2d362cdc657
|
||||
3605f9d27fd6d72
|
||||
32de91d66fe5bf537530
|
||||
859e1a08b65
|
||||
9b5a55f
|
||||
4116cda9fddeb843964002
|
||||
e81f3b2c0ca566ad3dbbc6e234
|
||||
0d3b1d54
|
||||
10c440be5c0bca95
|
||||
7dad841f
|
||||
a61f041967972e805ccfee55c
|
||||
deee9cc16e92ab197
|
||||
7627554073c1f56b9e
|
||||
21bebcbfd2e2282f84
|
||||
7b121a83eeb91db8
|
||||
\N
|
||||
4668b2019ebff30b970ccde7026e779
|
||||
2aa
|
||||
eeca4d01996bdc8af7e4dbd01
|
||||
|
||||
a3431c0758a8c
|
||||
52c07a135df1dda388
|
||||
6ee649b5a
|
||||
c4884
|
||||
dab3abb06371c8a32dda2231e6
|
||||
e0
|
||||
92
|
||||
8fdb98
|
||||
cfbb1
|
||||
96acd3e9
|
||||
73be4a4f277862904a52
|
||||
fa
|
||||
051b8f9c0d6d2b2
|
||||
bde
|
||||
23d51c87b6c931d314c88e44edcbc06
|
||||
e822a0497153
|
||||
1963a88d14ac0c9b7fe2
|
||||
3ffaff39b37650c5cf
|
||||
dc0
|
||||
aed3d3de6c6d9
|
||||
2347412d3332140012f
|
||||
0
|
||||
\N
|
||||
7b311463334cd1a
|
||||
973a0eb
|
||||
d1cc8f07f56a62d1386a
|
||||
905f2bb7e8852fb96cb9aeff95
|
||||
b026324c6904b2a9cb4b88d6d
|
||||
26ab0db90d72e28ad0ba1e22ee
|
||||
6d7fce9fe
|
||||
48a24b70a0b376
|
||||
1dcc
|
||||
9ae0ea9
|
||||
84bc3da1b3e33
|
||||
c30f7472766d25af1dc80
|
||||
7c5aba41f53293b712fd
|
||||
3
|
||||
166d77ac1b46a1ec38aa
|
||||
b026324c6904b2a9cb4b88d6d
|
||||
26ab0db90d72e28ad0ba1e22ee
|
||||
6d7fce9fe
|
||||
48a24b70a0b376
|
||||
1dcc
|
||||
9ae0ea9
|
||||
84bc3da1b3e33
|
||||
c30f7472766d25af1dc80
|
||||
7c5aba41f53293b712fd
|
||||
3
|
||||
166d77ac1b46a1ec38aa
|
600
contrib/btree_gist/data/date.data
Normal file
600
contrib/btree_gist/data/date.data
Normal file
|
@ -0,0 +1,600 @@
|
|||
2019-11-22
|
||||
1995-05-20
|
||||
1989-04-12
|
||||
\N
|
||||
2023-10-21
|
||||
2028-11-27
|
||||
2024-05-24
|
||||
2018-08-31
|
||||
1988-07-16
|
||||
\N
|
||||
2019-05-21
|
||||
1972-12-12
|
||||
1975-05-07
|
||||
2022-08-11
|
||||
1975-06-27
|
||||
2004-10-26
|
||||
1983-05-14
|
||||
2015-06-20
|
||||
1978-02-17
|
||||
\N
|
||||
1970-12-04
|
||||
1977-03-22
|
||||
2032-10-28
|
||||
2004-03-02
|
||||
1992-10-29
|
||||
2021-05-05
|
||||
2025-06-25
|
||||
2036-07-15
|
||||
1981-03-10
|
||||
2012-12-04
|
||||
1996-02-02
|
||||
1992-12-31
|
||||
2003-02-03
|
||||
2008-12-15
|
||||
1994-11-19
|
||||
2036-09-20
|
||||
2034-10-21
|
||||
2019-11-16
|
||||
1995-01-23
|
||||
1974-10-11
|
||||
2027-02-26
|
||||
2027-08-08
|
||||
2037-08-30
|
||||
2026-01-08
|
||||
2023-09-18
|
||||
2012-03-07
|
||||
2011-08-29
|
||||
1979-11-06
|
||||
2033-09-25
|
||||
1986-06-08
|
||||
2020-01-13
|
||||
2015-09-19
|
||||
2035-11-16
|
||||
1985-11-12
|
||||
2002-05-26
|
||||
2002-01-30
|
||||
1980-01-26
|
||||
2037-03-23
|
||||
2016-02-23
|
||||
2023-04-21
|
||||
2033-04-11
|
||||
1985-09-09
|
||||
1993-01-29
|
||||
2015-06-28
|
||||
2036-04-06
|
||||
2031-12-08
|
||||
2014-02-26
|
||||
1994-01-23
|
||||
2019-01-27
|
||||
1978-08-01
|
||||
1979-05-21
|
||||
2022-12-12
|
||||
\N
|
||||
\N
|
||||
2007-10-16
|
||||
\N
|
||||
2037-05-17
|
||||
2034-08-14
|
||||
2014-12-20
|
||||
2033-03-13
|
||||
2010-10-03
|
||||
\N
|
||||
1992-12-23
|
||||
2029-05-15
|
||||
1993-07-17
|
||||
2007-11-06
|
||||
2024-10-22
|
||||
2019-03-02
|
||||
2026-07-24
|
||||
1973-03-29
|
||||
2006-06-02
|
||||
2032-06-11
|
||||
1990-01-28
|
||||
2019-06-16
|
||||
1970-04-21
|
||||
2012-09-17
|
||||
1993-10-06
|
||||
1993-02-24
|
||||
2014-12-07
|
||||
2018-09-17
|
||||
2015-05-22
|
||||
1983-01-19
|
||||
1978-11-08
|
||||
\N
|
||||
2021-06-01
|
||||
1970-11-19
|
||||
\N
|
||||
2030-06-12
|
||||
2035-08-11
|
||||
2021-01-31
|
||||
\N
|
||||
1996-06-25
|
||||
1974-11-28
|
||||
1989-04-28
|
||||
1998-07-17
|
||||
2029-09-14
|
||||
2010-01-06
|
||||
2013-05-04
|
||||
\N
|
||||
2023-10-03
|
||||
1998-02-06
|
||||
1984-07-16
|
||||
2008-01-11
|
||||
2015-06-23
|
||||
2026-04-02
|
||||
2021-11-26
|
||||
2012-07-09
|
||||
1975-01-07
|
||||
2022-12-04
|
||||
2013-01-22
|
||||
2001-02-13
|
||||
2001-11-20
|
||||
2008-12-27
|
||||
2030-07-05
|
||||
1970-07-22
|
||||
2037-07-11
|
||||
2034-12-24
|
||||
2022-04-04
|
||||
2018-03-24
|
||||
2037-03-25
|
||||
1972-06-24
|
||||
2034-08-15
|
||||
\N
|
||||
2030-01-12
|
||||
2000-08-15
|
||||
\N
|
||||
2034-07-25
|
||||
2030-04-06
|
||||
2003-08-22
|
||||
2012-04-17
|
||||
\N
|
||||
1992-11-30
|
||||
2017-03-31
|
||||
2004-06-19
|
||||
1974-02-07
|
||||
1992-11-02
|
||||
2006-07-03
|
||||
2030-09-03
|
||||
1989-12-15
|
||||
1992-05-03
|
||||
1981-05-05
|
||||
1983-06-04
|
||||
2010-08-13
|
||||
\N
|
||||
2022-06-15
|
||||
2011-03-10
|
||||
1973-11-06
|
||||
1998-03-22
|
||||
1992-07-20
|
||||
2022-01-15
|
||||
2022-05-03
|
||||
1972-06-08
|
||||
1976-10-27
|
||||
2023-12-13
|
||||
2027-08-01
|
||||
2009-05-04
|
||||
2021-03-19
|
||||
2025-04-09
|
||||
1988-07-28
|
||||
2023-07-31
|
||||
2003-07-25
|
||||
\N
|
||||
1995-12-12
|
||||
1992-04-19
|
||||
1997-08-20
|
||||
2028-01-13
|
||||
1980-04-18
|
||||
\N
|
||||
2030-03-08
|
||||
2000-03-22
|
||||
1987-03-17
|
||||
2008-03-10
|
||||
1982-04-02
|
||||
1970-01-29
|
||||
2032-03-28
|
||||
1991-10-03
|
||||
\N
|
||||
\N
|
||||
\N
|
||||
2035-07-02
|
||||
1988-11-27
|
||||
2034-08-29
|
||||
2004-11-29
|
||||
\N
|
||||
2013-08-28
|
||||
1997-04-06
|
||||
1994-10-12
|
||||
2027-06-18
|
||||
1971-01-10
|
||||
2035-02-23
|
||||
2036-10-25
|
||||
2033-06-29
|
||||
\N
|
||||
2028-07-29
|
||||
2003-03-18
|
||||
1994-11-29
|
||||
2001-10-08
|
||||
2019-03-10
|
||||
2022-05-19
|
||||
1971-07-13
|
||||
1979-07-25
|
||||
1980-11-27
|
||||
2030-02-20
|
||||
1973-01-02
|
||||
1992-12-20
|
||||
2034-03-04
|
||||
\N
|
||||
2036-11-27
|
||||
\N
|
||||
2023-09-22
|
||||
2023-07-13
|
||||
1996-02-13
|
||||
1974-02-11
|
||||
1996-08-07
|
||||
1998-06-13
|
||||
2035-04-21
|
||||
1996-03-04
|
||||
2019-05-04
|
||||
2024-06-01
|
||||
2007-02-20
|
||||
2003-07-29
|
||||
2000-07-13
|
||||
2011-09-08
|
||||
2019-06-10
|
||||
1975-02-25
|
||||
2002-01-16
|
||||
\N
|
||||
1986-04-08
|
||||
1986-03-08
|
||||
2019-06-21
|
||||
1988-09-19
|
||||
2035-11-30
|
||||
1986-11-27
|
||||
2037-03-10
|
||||
2030-07-15
|
||||
1988-06-29
|
||||
\N
|
||||
1980-04-23
|
||||
2020-01-19
|
||||
2012-09-14
|
||||
1983-12-28
|
||||
1987-02-10
|
||||
2029-09-21
|
||||
1972-03-12
|
||||
2035-11-20
|
||||
1996-10-25
|
||||
1981-02-05
|
||||
2031-09-10
|
||||
1986-04-24
|
||||
1987-04-26
|
||||
2017-06-10
|
||||
1980-07-26
|
||||
2009-10-18
|
||||
1981-05-24
|
||||
2026-07-17
|
||||
2015-09-30
|
||||
2032-05-02
|
||||
1987-08-17
|
||||
2034-10-20
|
||||
2008-11-20
|
||||
1986-11-06
|
||||
1980-04-06
|
||||
1982-11-12
|
||||
1975-01-24
|
||||
2015-04-25
|
||||
1980-03-14
|
||||
1998-04-07
|
||||
2020-12-16
|
||||
2004-10-31
|
||||
1975-02-26
|
||||
2024-10-29
|
||||
1974-10-29
|
||||
1986-09-21
|
||||
2037-11-06
|
||||
\N
|
||||
1979-06-02
|
||||
2001-06-28
|
||||
\N
|
||||
2024-10-14
|
||||
2031-03-22
|
||||
1983-11-27
|
||||
1989-01-01
|
||||
\N
|
||||
2037-03-05
|
||||
2002-12-28
|
||||
\N
|
||||
2031-12-20
|
||||
2002-08-30
|
||||
1997-11-16
|
||||
2023-07-17
|
||||
2010-04-02
|
||||
2019-09-21
|
||||
1978-03-04
|
||||
1992-11-08
|
||||
2002-02-11
|
||||
2012-06-06
|
||||
2012-11-23
|
||||
1997-09-27
|
||||
1972-12-18
|
||||
1985-10-25
|
||||
2028-09-29
|
||||
1976-03-31
|
||||
1996-06-26
|
||||
2014-07-06
|
||||
2032-05-21
|
||||
2018-12-18
|
||||
\N
|
||||
1974-06-02
|
||||
\N
|
||||
2024-09-29
|
||||
1996-07-03
|
||||
1973-02-11
|
||||
2019-12-02
|
||||
2035-09-04
|
||||
2008-10-10
|
||||
2018-05-16
|
||||
2020-04-17
|
||||
2030-05-04
|
||||
2002-10-27
|
||||
2036-03-04
|
||||
2002-10-29
|
||||
2000-06-22
|
||||
1981-01-01
|
||||
2001-12-31
|
||||
2003-09-25
|
||||
2020-12-07
|
||||
2016-11-04
|
||||
2026-02-23
|
||||
1990-12-16
|
||||
2033-10-15
|
||||
2003-07-29
|
||||
1998-10-09
|
||||
2006-04-02
|
||||
1970-06-06
|
||||
2015-02-06
|
||||
2004-06-23
|
||||
2015-12-08
|
||||
2024-06-26
|
||||
1997-11-07
|
||||
2023-05-09
|
||||
1992-11-16
|
||||
2016-04-17
|
||||
1996-11-09
|
||||
2010-09-12
|
||||
2012-10-17
|
||||
\N
|
||||
1998-07-19
|
||||
1973-11-11
|
||||
1992-11-15
|
||||
2032-04-22
|
||||
2031-09-14
|
||||
2005-03-25
|
||||
1993-03-17
|
||||
2004-03-01
|
||||
2009-10-06
|
||||
\N
|
||||
1993-06-07
|
||||
1994-07-31
|
||||
1987-08-07
|
||||
2034-05-01
|
||||
2025-06-19
|
||||
2019-10-13
|
||||
1977-03-25
|
||||
1978-01-16
|
||||
2003-09-29
|
||||
2002-04-07
|
||||
2024-01-12
|
||||
1984-08-29
|
||||
2036-08-16
|
||||
1972-05-14
|
||||
2019-01-24
|
||||
2009-12-19
|
||||
1982-07-26
|
||||
2012-01-22
|
||||
1983-07-22
|
||||
1978-05-27
|
||||
1974-04-02
|
||||
2008-02-15
|
||||
2003-01-14
|
||||
1989-03-30
|
||||
2009-12-14
|
||||
2030-07-05
|
||||
2032-07-22
|
||||
2016-05-17
|
||||
2031-07-02
|
||||
\N
|
||||
1980-07-28
|
||||
2031-09-06
|
||||
1975-01-20
|
||||
2019-05-05
|
||||
2025-05-02
|
||||
2001-12-27
|
||||
1991-09-27
|
||||
2021-12-14
|
||||
\N
|
||||
2027-03-24
|
||||
2009-01-07
|
||||
1985-02-04
|
||||
\N
|
||||
\N
|
||||
1996-12-23
|
||||
2012-05-22
|
||||
1980-02-29
|
||||
2018-06-14
|
||||
1981-07-04
|
||||
1993-04-25
|
||||
2027-03-09
|
||||
1981-01-10
|
||||
\N
|
||||
1974-06-16
|
||||
1985-10-15
|
||||
1988-01-11
|
||||
\N
|
||||
1997-03-15
|
||||
1982-02-26
|
||||
1991-05-13
|
||||
2015-09-03
|
||||
\N
|
||||
1987-06-05
|
||||
1971-03-29
|
||||
2002-03-28
|
||||
2032-03-25
|
||||
1983-07-23
|
||||
\N
|
||||
1999-01-15
|
||||
2014-01-31
|
||||
2021-09-02
|
||||
1999-01-02
|
||||
2001-03-24
|
||||
2002-01-21
|
||||
2007-08-06
|
||||
\N
|
||||
2032-09-07
|
||||
1984-11-22
|
||||
2035-06-18
|
||||
1994-07-29
|
||||
2023-04-20
|
||||
2010-02-17
|
||||
2014-08-23
|
||||
2017-02-08
|
||||
2036-10-24
|
||||
1994-11-14
|
||||
1979-04-19
|
||||
1973-10-09
|
||||
1999-01-17
|
||||
2012-07-08
|
||||
2012-12-03
|
||||
1980-11-22
|
||||
2002-02-28
|
||||
\N
|
||||
\N
|
||||
2023-03-01
|
||||
\N
|
||||
1981-05-13
|
||||
2026-01-29
|
||||
2034-02-14
|
||||
2031-09-22
|
||||
1986-11-13
|
||||
2031-10-25
|
||||
2010-10-13
|
||||
2036-09-11
|
||||
2027-09-30
|
||||
\N
|
||||
1990-07-28
|
||||
2001-05-05
|
||||
2029-01-10
|
||||
1972-10-09
|
||||
2012-03-25
|
||||
1987-04-06
|
||||
1998-06-04
|
||||
\N
|
||||
2008-12-26
|
||||
\N
|
||||
1979-04-23
|
||||
2010-01-16
|
||||
1982-07-23
|
||||
2013-08-21
|
||||
1982-12-23
|
||||
1997-04-03
|
||||
1986-02-20
|
||||
2034-09-08
|
||||
\N
|
||||
1999-05-14
|
||||
1989-11-18
|
||||
1987-09-17
|
||||
\N
|
||||
1978-05-03
|
||||
2005-05-22
|
||||
2001-02-11
|
||||
1980-07-28
|
||||
1984-04-11
|
||||
2010-06-02
|
||||
2023-09-05
|
||||
2020-12-29
|
||||
1997-06-06
|
||||
2005-10-01
|
||||
2023-01-17
|
||||
2013-04-27
|
||||
2018-05-23
|
||||
2022-11-23
|
||||
1971-05-09
|
||||
1997-12-05
|
||||
2008-08-22
|
||||
2025-05-23
|
||||
1989-02-18
|
||||
\N
|
||||
2035-08-21
|
||||
1995-02-09
|
||||
1994-11-28
|
||||
1980-07-20
|
||||
1998-09-02
|
||||
1993-01-20
|
||||
1979-12-21
|
||||
2010-03-05
|
||||
\N
|
||||
1989-01-07
|
||||
2015-10-09
|
||||
2006-08-23
|
||||
\N
|
||||
2003-04-27
|
||||
2029-03-21
|
||||
2030-09-08
|
||||
2022-05-05
|
||||
1993-10-22
|
||||
2031-04-01
|
||||
2015-03-10
|
||||
1988-12-08
|
||||
2004-07-07
|
||||
1978-01-11
|
||||
2013-09-28
|
||||
2030-02-25
|
||||
2036-09-15
|
||||
2019-07-16
|
||||
2034-09-05
|
||||
2003-11-07
|
||||
2000-10-02
|
||||
2002-09-19
|
||||
2016-03-16
|
||||
1986-02-06
|
||||
2018-07-07
|
||||
1972-02-07
|
||||
2001-05-06
|
||||
1996-10-05
|
||||
1995-12-26
|
||||
1990-05-13
|
||||
1983-03-10
|
||||
2011-08-03
|
||||
2029-01-26
|
||||
2022-04-24
|
||||
1973-09-03
|
||||
2002-09-19
|
||||
1982-04-30
|
||||
2023-11-30
|
||||
1992-05-13
|
||||
\N
|
||||
1986-05-11
|
||||
1976-12-31
|
||||
2009-10-23
|
||||
2022-02-08
|
||||
1999-02-24
|
||||
2007-09-30
|
||||
1991-11-03
|
||||
1985-06-14
|
||||
1973-06-15
|
||||
1972-07-18
|
||||
2012-07-05
|
||||
1989-01-17
|
||||
1982-02-13
|
||||
1994-11-23
|
||||
2008-08-01
|
||||
2032-11-22
|
||||
1976-01-04
|
||||
2037-04-11
|
||||
2011-02-24
|
||||
1992-11-16
|
||||
2025-11-25
|
||||
2013-02-08
|
||||
\N
|
||||
2002-05-13
|
||||
1983-10-15
|
600
contrib/btree_gist/data/float4.data
Normal file
600
contrib/btree_gist/data/float4.data
Normal file
|
@ -0,0 +1,600 @@
|
|||
3926.686551
|
||||
-3078.593513
|
||||
-1523.429224
|
||||
-669.684166
|
||||
234.904986
|
||||
2226.918930
|
||||
-4718.612498
|
||||
2093.397950
|
||||
-1914.453566
|
||||
4027.226232
|
||||
391.864393
|
||||
4525.522995
|
||||
-158.177421
|
||||
-4801.751557
|
||||
3410.161728
|
||||
2481.256122
|
||||
-1640.183123
|
||||
1611.826046
|
||||
-2448.451169
|
||||
-1845.197308
|
||||
2683.842745
|
||||
-3542.172810
|
||||
3089.066696
|
||||
-2517.697386
|
||||
1892.967423
|
||||
727.945774
|
||||
-3513.884856
|
||||
-179.0
|
||||
\N
|
||||
-1469.088605
|
||||
-4739.206973
|
||||
145.945556
|
||||
4549.133936
|
||||
-4208.637634
|
||||
-1936.179384
|
||||
4602.395105
|
||||
-1804.145345
|
||||
2053.716787
|
||||
\N
|
||||
1456.927004
|
||||
4702.396402
|
||||
3268.547085
|
||||
-745.573619
|
||||
4625.357450
|
||||
-4765.915573
|
||||
-2790.475971
|
||||
-3403.123686
|
||||
-2817.878573
|
||||
-3274.289481
|
||||
-2413.766411
|
||||
-1374.753772
|
||||
-1924.610286
|
||||
475.397257
|
||||
3510.523368
|
||||
3814.010913
|
||||
-1859.390939
|
||||
168.847235
|
||||
2264.721811
|
||||
-2223.366707
|
||||
-1753.785013
|
||||
-3945.658993
|
||||
-4315.231992
|
||||
2746.639442
|
||||
-2342.824418
|
||||
-1044.805914
|
||||
3584.727458
|
||||
-3822.565833
|
||||
-2102.212746
|
||||
\N
|
||||
1818.932987
|
||||
-3585.541038
|
||||
1452.891425
|
||||
1165.643202
|
||||
2412.440259
|
||||
-1608.959230
|
||||
-2272.316845
|
||||
3352.859341
|
||||
\N
|
||||
1067.661511
|
||||
373.127556
|
||||
2907.255277
|
||||
\N
|
||||
\N
|
||||
-4119.844655
|
||||
425.751771
|
||||
-4652.598253
|
||||
3178.567043
|
||||
-2664.539180
|
||||
-1099.284997
|
||||
-2144.177909
|
||||
1805.341405
|
||||
\N
|
||||
2945.853662
|
||||
-3351.437225
|
||||
-4875.769736
|
||||
\N
|
||||
-412.211551
|
||||
-3334.087165
|
||||
1695.085786
|
||||
2535.912119
|
||||
\N
|
||||
374.050255
|
||||
-4771.851972
|
||||
2954.420418
|
||||
1929.919923
|
||||
-3434.967221
|
||||
\N
|
||||
2700.864965
|
||||
-2783.682392
|
||||
4985.334217
|
||||
-2062.958207
|
||||
4153.150501
|
||||
3012.590980
|
||||
-3011.189139
|
||||
\N
|
||||
2721.497588
|
||||
-4169.312617
|
||||
-64.988860
|
||||
-4188.005384
|
||||
1744.599224
|
||||
1067.803538
|
||||
-1660.431575
|
||||
2804.799493
|
||||
3088.508415
|
||||
-4646.231299
|
||||
4578.547883
|
||||
-294.892171
|
||||
-561.912989
|
||||
1867.265677
|
||||
11.839394
|
||||
582.688896
|
||||
1502.454824
|
||||
\N
|
||||
\N
|
||||
4301.881413
|
||||
\N
|
||||
-2194.430268
|
||||
-614.422083
|
||||
-690.354777
|
||||
4779.886957
|
||||
4531.156281
|
||||
4944.867236
|
||||
3858.390189
|
||||
3506.107763
|
||||
-4894.456207
|
||||
\N
|
||||
1322.857973
|
||||
2578.630265
|
||||
-2175.318379
|
||||
-4086.425476
|
||||
4630.773663
|
||||
-3800.461310
|
||||
3753.750072
|
||||
\N
|
||||
647.435317
|
||||
\N
|
||||
4110.477110
|
||||
514.193226
|
||||
-3441.902748
|
||||
2573.758703
|
||||
664.845479
|
||||
-384.002535
|
||||
2023.851111
|
||||
-4615.566879
|
||||
\N
|
||||
521.022754
|
||||
446.504990
|
||||
-3517.434806
|
||||
\N
|
||||
1710.468068
|
||||
-988.509024
|
||||
-93.124302
|
||||
-2974.066063
|
||||
-1466.562229
|
||||
4606.999513
|
||||
291.009348
|
||||
771.456014
|
||||
172.233984
|
||||
-1228.758016
|
||||
-1273.510068
|
||||
3472.468191
|
||||
3783.157877
|
||||
-260.342455
|
||||
-4133.938523
|
||||
-1558.345359
|
||||
818.740365
|
||||
2345.368051
|
||||
4818.590693
|
||||
\N
|
||||
-152.159210
|
||||
1395.434275
|
||||
-3107.620263
|
||||
4746.555020
|
||||
-189.023868
|
||||
3178.467591
|
||||
4922.804367
|
||||
-4963.738942
|
||||
\N
|
||||
-2933.352626
|
||||
-3894.560951
|
||||
-1721.494834
|
||||
\N
|
||||
-2491.926382
|
||||
-1659.638708
|
||||
3626.190726
|
||||
-1804.918329
|
||||
455.648226
|
||||
2244.824659
|
||||
2443.616389
|
||||
1022.869542
|
||||
3580.157235
|
||||
3348.054857
|
||||
-1537.855671
|
||||
1607.360266
|
||||
-1692.376280
|
||||
2292.201299
|
||||
3400.898151
|
||||
1889.594163
|
||||
239.448960
|
||||
4596.602567
|
||||
766.064066
|
||||
-1906.189177
|
||||
752.355324
|
||||
-2388.240838
|
||||
248.493708
|
||||
-4383.772933
|
||||
-3099.040067
|
||||
4912.247853
|
||||
2740.401308
|
||||
1334.028196
|
||||
-6.110885
|
||||
4208.217412
|
||||
2685.419516
|
||||
1947.814527
|
||||
4270.682796
|
||||
746.828278
|
||||
917.931886
|
||||
\N
|
||||
-1105.016263
|
||||
-406.957355
|
||||
-2023.670192
|
||||
-477.481347
|
||||
-1056.222565
|
||||
-4039.906966
|
||||
3609.872045
|
||||
-3297.475124
|
||||
1972.339566
|
||||
-1621.688887
|
||||
-1030.170236
|
||||
-4464.104576
|
||||
-2638.849336
|
||||
1175.210125
|
||||
-483.963827
|
||||
-3362.699658
|
||||
456.088565
|
||||
-4952.708059
|
||||
4982.336056
|
||||
801.148906
|
||||
-1533.282710
|
||||
-1739.269000
|
||||
\N
|
||||
-4390.957509
|
||||
4222.786482
|
||||
-4279.669281
|
||||
\N
|
||||
4937.803242
|
||||
\N
|
||||
2036.653081
|
||||
3409.729758
|
||||
3247.885061
|
||||
817.041977
|
||||
-822.372779
|
||||
2189.003680
|
||||
-3551.808846
|
||||
325.503762
|
||||
-2688.361261
|
||||
3833.177084
|
||||
2890.005446
|
||||
1325.965340
|
||||
-4132.875092
|
||||
-3011.022842
|
||||
1666.958698
|
||||
-4889.208372
|
||||
-157.283687
|
||||
-1516.214021
|
||||
3080.057571
|
||||
-2355.486070
|
||||
-539.260584
|
||||
-453.194364
|
||||
3574.346313
|
||||
-1012.181736
|
||||
1419.900389
|
||||
-3090.709731
|
||||
-811.664223
|
||||
1598.174198
|
||||
-1224.255663
|
||||
-1394.494598
|
||||
\N
|
||||
2972.381398
|
||||
220.199877
|
||||
3542.561032
|
||||
-2168.024176
|
||||
-3305.714558
|
||||
\N
|
||||
1754.880537
|
||||
3633.414739
|
||||
729.945999
|
||||
-2427.865606
|
||||
1648.939232
|
||||
-495.744751
|
||||
108.475352
|
||||
513.797465
|
||||
-3036.007973
|
||||
-3596.329479
|
||||
-3672.066260
|
||||
2261.791098
|
||||
-2077.391440
|
||||
-4873.215449
|
||||
4907.530537
|
||||
-3355.449754
|
||||
-3356.602051
|
||||
1232.493090
|
||||
-2822.598325
|
||||
1335.803283
|
||||
-1816.035000
|
||||
-479.029122
|
||||
\N
|
||||
\N
|
||||
4116.023187
|
||||
-259.211424
|
||||
-1636.301636
|
||||
151.567927
|
||||
\N
|
||||
615.774279
|
||||
4981.348277
|
||||
-4279.760471
|
||||
2122.969975
|
||||
2331.666647
|
||||
-1270.180538
|
||||
-2166.953835
|
||||
4085.841327
|
||||
2906.495024
|
||||
3656.341992
|
||||
2993.227550
|
||||
2151.115144
|
||||
-2275.655664
|
||||
-3203.291138
|
||||
2257.053474
|
||||
-4566.818042
|
||||
-4214.319326
|
||||
2730.795260
|
||||
-4194.037830
|
||||
116.563907
|
||||
-3036.016760
|
||||
1681.412271
|
||||
-3805.177421
|
||||
-1747.152073
|
||||
-4864.378627
|
||||
-3938.731704
|
||||
4232.011228
|
||||
20.740053
|
||||
-1645.529264
|
||||
2544.557875
|
||||
\N
|
||||
4777.722624
|
||||
-3356.018294
|
||||
1307.984314
|
||||
-1166.544462
|
||||
-1620.147366
|
||||
-137.408513
|
||||
724.484001
|
||||
-1343.453124
|
||||
4804.629749
|
||||
4522.789567
|
||||
2328.926240
|
||||
-1317.294201
|
||||
-4298.136513
|
||||
3398.895482
|
||||
3464.478505
|
||||
4943.133318
|
||||
3232.351173
|
||||
2893.212860
|
||||
1198.575174
|
||||
1121.555146
|
||||
-3552.881646
|
||||
4365.806104
|
||||
\N
|
||||
2352.417529
|
||||
\N
|
||||
4680.141932
|
||||
-2668.895399
|
||||
-238.973845
|
||||
-285.805471
|
||||
-3520.289230
|
||||
4878.743007
|
||||
1780.984535
|
||||
2832.673354
|
||||
4298.407435
|
||||
\N
|
||||
-1608.563991
|
||||
1684.308879
|
||||
4737.577396
|
||||
4101.170539
|
||||
\N
|
||||
-1464.015649
|
||||
\N
|
||||
-3738.782163
|
||||
-3621.216579
|
||||
2780.429035
|
||||
2384.467403
|
||||
\N
|
||||
552.970942
|
||||
3547.166413
|
||||
4900.754164
|
||||
4495.504335
|
||||
1607.961290
|
||||
4286.663369
|
||||
988.747024
|
||||
-2356.908041
|
||||
-1623.399549
|
||||
3724.461980
|
||||
-1540.581932
|
||||
561.640885
|
||||
3054.001451
|
||||
2224.754615
|
||||
3311.427291
|
||||
\N
|
||||
351.611318
|
||||
4176.146704
|
||||
-2049.963552
|
||||
2267.505572
|
||||
-4955.461980
|
||||
1276.636327
|
||||
-1508.073735
|
||||
-1598.198477
|
||||
1602.926844
|
||||
2157.874181
|
||||
1669.786780
|
||||
-3082.299418
|
||||
\N
|
||||
-1788.620850
|
||||
2555.355424
|
||||
-4870.338212
|
||||
-2851.518662
|
||||
3882.485213
|
||||
4641.214218
|
||||
2506.994706
|
||||
\N
|
||||
-1108.634810
|
||||
-4278.677501
|
||||
-2160.498210
|
||||
-806.103356
|
||||
\N
|
||||
880.145694
|
||||
1368.632529
|
||||
-2048.461217
|
||||
2899.266336
|
||||
-870.758219
|
||||
-2863.581156
|
||||
\N
|
||||
1682.631744
|
||||
3266.096445
|
||||
2626.991285
|
||||
1248.276847
|
||||
-4262.887118
|
||||
2777.053997
|
||||
1327.535555
|
||||
-426.769580
|
||||
-314.249841
|
||||
729.344234
|
||||
3891.552519
|
||||
-4918.473703
|
||||
4922.770997
|
||||
\N
|
||||
2679.172460
|
||||
\N
|
||||
4879.287118
|
||||
-4635.792221
|
||||
4496.176890
|
||||
2007.650308
|
||||
3821.565699
|
||||
-500.003884
|
||||
-1126.098170
|
||||
4487.603870
|
||||
3855.490996
|
||||
-56.857325
|
||||
1215.173530
|
||||
-1892.555336
|
||||
-1632.647536
|
||||
1942.954095
|
||||
64.593039
|
||||
-4396.942081
|
||||
-1643.806415
|
||||
363.886503
|
||||
3916.018470
|
||||
-2067.613754
|
||||
-1717.717134
|
||||
-3333.186669
|
||||
-3027.546004
|
||||
968.184544
|
||||
1210.732165
|
||||
2708.135698
|
||||
1052.369823
|
||||
-4434.389802
|
||||
-853.166476
|
||||
-1686.386083
|
||||
2647.478668
|
||||
2690.547401
|
||||
-4642.268889
|
||||
-3997.579827
|
||||
2927.765217
|
||||
3461.773129
|
||||
781.051482
|
||||
2525.672604
|
||||
3121.858727
|
||||
-2270.808321
|
||||
2873.250371
|
||||
\N
|
||||
4843.809511
|
||||
-1187.515681
|
||||
\N
|
||||
\N
|
||||
3528.188564
|
||||
-3487.236154
|
||||
845.094270
|
||||
3843.943537
|
||||
-558.746078
|
||||
-2471.493491
|
||||
611.999359
|
||||
-3199.954144
|
||||
-4988.404294
|
||||
4145.897291
|
||||
-1803.093537
|
||||
2876.372318
|
||||
-2474.919272
|
||||
4497.979139
|
||||
4625.114016
|
||||
-2221.654210
|
||||
4501.765724
|
||||
130.449252
|
||||
4534.131102
|
||||
1415.347330
|
||||
-993.720547
|
||||
\N
|
||||
3443.961678
|
||||
-4849.518817
|
||||
4573.353608
|
||||
4818.748920
|
||||
4330.041823
|
||||
3161.612855
|
||||
3607.737095
|
||||
-119.757296
|
||||
-1339.207751
|
||||
-331.384328
|
||||
2228.158823
|
||||
2697.192313
|
||||
-4775.355388
|
||||
-3594.790915
|
||||
-3397.374660
|
||||
3837.461611
|
||||
-4558.641468
|
||||
-1624.755387
|
||||
4430.022700
|
||||
-1940.296994
|
||||
4832.148761
|
||||
-2888.874695
|
||||
2894.719014
|
||||
2866.099508
|
||||
-1161.805185
|
||||
-4395.337603
|
||||
-1091.088679
|
||||
-819.707958
|
||||
4596.183826
|
||||
-1154.086625
|
||||
2249.981569
|
||||
2996.321776
|
||||
457.294320
|
||||
-66.348014
|
||||
-513.412089
|
||||
1125.862285
|
||||
\N
|
||||
-4243.177180
|
||||
-291.472275
|
||||
\N
|
||||
-2609.517713
|
||||
-2621.961719
|
||||
2269.398848
|
||||
-2249.532369
|
||||
4686.007011
|
||||
\N
|
||||
4873.354365
|
||||
3895.563571
|
||||
-2282.372172
|
||||
3784.030075
|
||||
-3485.082555
|
||||
2354.903229
|
||||
\N
|
||||
-2944.317869
|
||||
-2485.837190
|
||||
3776.108724
|
600
contrib/btree_gist/data/float8.data
Normal file
600
contrib/btree_gist/data/float8.data
Normal file
|
@ -0,0 +1,600 @@
|
|||
-39017.848619
|
||||
17104.680681
|
||||
-9885.090245
|
||||
-931.243017
|
||||
-29740.660628
|
||||
-14665.622294
|
||||
46069.995126
|
||||
2910.093476
|
||||
7714.560143
|
||||
1722.339844
|
||||
-12287.580158
|
||||
-12735.100679
|
||||
\N
|
||||
37831.578771
|
||||
-2603.424551
|
||||
-41339.385226
|
||||
-15583.453591
|
||||
8187.403650
|
||||
\N
|
||||
48185.906931
|
||||
34727.898466
|
||||
-1521.592099
|
||||
13954.342745
|
||||
-31076.202626
|
||||
47465.550200
|
||||
-1890.0
|
||||
31784.675914
|
||||
\N
|
||||
\N
|
||||
\N
|
||||
-29333.526259
|
||||
-38945.609512
|
||||
-17214.948343
|
||||
6871.406388
|
||||
\N
|
||||
-16596.387078
|
||||
36261.907260
|
||||
-18049.183287
|
||||
4556.482264
|
||||
22448.246587
|
||||
24436.163890
|
||||
10228.695423
|
||||
35801.572346
|
||||
\N
|
||||
-15378.556710
|
||||
16073.602655
|
||||
-16923.762796
|
||||
22922.012989
|
||||
34008.981513
|
||||
18895.941632
|
||||
2394.489596
|
||||
45966.025673
|
||||
7660.640663
|
||||
-19061.891767
|
||||
7523.553240
|
||||
-23882.408381
|
||||
2484.937083
|
||||
\N
|
||||
-30990.400669
|
||||
\N
|
||||
27404.013079
|
||||
13340.281957
|
||||
-61.108847
|
||||
42082.174119
|
||||
26854.195156
|
||||
19478.145274
|
||||
42706.827956
|
||||
7468.282784
|
||||
9179.318864
|
||||
-19064.482427
|
||||
-11050.162633
|
||||
-4069.573551
|
||||
-20236.701924
|
||||
-4774.813473
|
||||
-10562.225646
|
||||
-40399.069661
|
||||
36098.720453
|
||||
\N
|
||||
19723.395663
|
||||
-16216.888868
|
||||
-10301.702358
|
||||
-44641.045758
|
||||
-26388.493356
|
||||
11752.101249
|
||||
-4839.638274
|
||||
-33626.996578
|
||||
4560.885650
|
||||
\N
|
||||
49823.360564
|
||||
8011.489063
|
||||
-15332.827096
|
||||
-17392.689999
|
||||
-4894.502114
|
||||
-43909.575089
|
||||
42227.864821
|
||||
-42796.692808
|
||||
46124.794239
|
||||
49378.032423
|
||||
-14683.174325
|
||||
20366.530805
|
||||
34097.297575
|
||||
32478.850606
|
||||
8170.419772
|
||||
-8223.727792
|
||||
21890.036795
|
||||
-35518.088464
|
||||
3255.037616
|
||||
-26883.612609
|
||||
38331.770845
|
||||
28900.054460
|
||||
13259.653404
|
||||
-41328.750919
|
||||
-30110.228425
|
||||
16669.586984
|
||||
-48892.083717
|
||||
-1572.836866
|
||||
-15162.140208
|
||||
30800.575707
|
||||
-23554.860695
|
||||
-5392.605837
|
||||
-4531.943637
|
||||
35743.463126
|
||||
-10121.817356
|
||||
14199.003887
|
||||
-30907.097310
|
||||
\N
|
||||
15981.741979
|
||||
-12242.556625
|
||||
\N
|
||||
20565.261632
|
||||
29723.813981
|
||||
2201.998770
|
||||
35425.610321
|
||||
\N
|
||||
-33057.145580
|
||||
18323.757159
|
||||
\N
|
||||
36334.147391
|
||||
7299.459985
|
||||
-24278.656055
|
||||
16489.392317
|
||||
-4957.447506
|
||||
1084.753522
|
||||
5137.974655
|
||||
-30360.079734
|
||||
-35963.294788
|
||||
-36720.662604
|
||||
22617.910976
|
||||
-20773.914396
|
||||
-48732.154490
|
||||
49075.305368
|
||||
-33554.497540
|
||||
-33566.020515
|
||||
12324.930896
|
||||
-28225.983250
|
||||
13358.032826
|
||||
-18160.350001
|
||||
\N
|
||||
-34552.779135
|
||||
\N
|
||||
41160.231871
|
||||
-2592.114244
|
||||
-16363.016361
|
||||
1515.679272
|
||||
-25992.747897
|
||||
6157.742793
|
||||
49813.482771
|
||||
-42797.604712
|
||||
21229.699753
|
||||
23316.666471
|
||||
-12701.805384
|
||||
-21669.538352
|
||||
40858.413275
|
||||
29064.950244
|
||||
36563.419917
|
||||
29932.275498
|
||||
21511.151442
|
||||
-22756.556642
|
||||
-32032.911378
|
||||
22570.534736
|
||||
-45668.180425
|
||||
-42143.193256
|
||||
27307.952604
|
||||
-41940.378301
|
||||
1165.639074
|
||||
-30360.167604
|
||||
16814.122706
|
||||
-38051.774208
|
||||
-17471.520727
|
||||
-48643.786273
|
||||
-39387.317043
|
||||
42320.112275
|
||||
207.400532
|
||||
-16455.292640
|
||||
25445.578748
|
||||
31528.860601
|
||||
\N
|
||||
-33560.182938
|
||||
13079.843141
|
||||
-11665.444617
|
||||
-16201.473664
|
||||
-1374.085132
|
||||
7244.840012
|
||||
-13434.531243
|
||||
48046.297486
|
||||
45227.895675
|
||||
\N
|
||||
-13172.942010
|
||||
-42981.365134
|
||||
33988.954818
|
||||
34644.785051
|
||||
49431.333178
|
||||
32323.511728
|
||||
28932.128604
|
||||
11985.751736
|
||||
11215.551459
|
||||
-35528.816462
|
||||
43658.061043
|
||||
-25850.170886
|
||||
23524.175293
|
||||
17178.292092
|
||||
46801.419322
|
||||
-26688.953990
|
||||
-2389.738454
|
||||
-2858.054709
|
||||
-35202.892304
|
||||
48787.430068
|
||||
17809.845352
|
||||
28326.733540
|
||||
42984.074351
|
||||
-26945.552452
|
||||
-16085.639906
|
||||
16843.088794
|
||||
47375.773963
|
||||
41011.705385
|
||||
14885.293303
|
||||
\N
|
||||
22111.838158
|
||||
-37387.821631
|
||||
-36212.165787
|
||||
27804.290353
|
||||
23844.674031
|
||||
-39495.544038
|
||||
5529.709419
|
||||
35471.664130
|
||||
\N
|
||||
44955.043353
|
||||
16079.612899
|
||||
42866.633689
|
||||
\N
|
||||
\N
|
||||
-16233.995495
|
||||
37244.619796
|
||||
-15405.819316
|
||||
5616.408845
|
||||
30540.014515
|
||||
22247.546153
|
||||
33114.272907
|
||||
-45238.189304
|
||||
\N
|
||||
41761.467043
|
||||
-20499.635521
|
||||
22675.055718
|
||||
\N
|
||||
12766.363268
|
||||
-15080.737353
|
||||
-15981.984775
|
||||
16029.268441
|
||||
\N
|
||||
16697.867805
|
||||
-30822.994179
|
||||
-36990.879004
|
||||
-17886.208495
|
||||
25553.554239
|
||||
\N
|
||||
-28515.186616
|
||||
38824.852132
|
||||
46412.142178
|
||||
25069.947063
|
||||
14387.938736
|
||||
-11086.348100
|
||||
-42786.775014
|
||||
\N
|
||||
-8061.033561
|
||||
37733.424496
|
||||
8801.456941
|
||||
13686.325291
|
||||
-20484.612170
|
||||
28992.663361
|
||||
-8707.582186
|
||||
-28635.811563
|
||||
5881.871775
|
||||
16826.317444
|
||||
32660.964449
|
||||
26269.912848
|
||||
12482.768466
|
||||
-42628.871180
|
||||
27770.539968
|
||||
13275.355549
|
||||
-4267.695804
|
||||
\N
|
||||
\N
|
||||
38915.525185
|
||||
\N
|
||||
49227.709975
|
||||
45488.034233
|
||||
26791.724598
|
||||
20869.828235
|
||||
48792.871180
|
||||
-46357.922208
|
||||
44961.768899
|
||||
20076.503078
|
||||
38215.656992
|
||||
\N
|
||||
-11260.981700
|
||||
44876.038700
|
||||
38554.909960
|
||||
-568.573247
|
||||
12151.735305
|
||||
-18925.553360
|
||||
-16326.475361
|
||||
\N
|
||||
645.930390
|
||||
\N
|
||||
-16438.064150
|
||||
3638.865032
|
||||
39160.184697
|
||||
-20676.137540
|
||||
-17177.171338
|
||||
-33331.866694
|
||||
-30275.460044
|
||||
9681.845438
|
||||
\N
|
||||
27081.356979
|
||||
10523.698228
|
||||
-44343.898024
|
||||
\N
|
||||
-16863.860826
|
||||
26474.786679
|
||||
26905.474009
|
||||
-46422.688894
|
||||
-39975.798265
|
||||
29277.652166
|
||||
34617.731294
|
||||
7810.514820
|
||||
25256.726041
|
||||
31218.587272
|
||||
-22708.083211
|
||||
28732.503708
|
||||
-679.955515
|
||||
48438.095114
|
||||
-11875.156808
|
||||
-17232.257113
|
||||
-9389.997907
|
||||
35281.885641
|
||||
-34872.361545
|
||||
\N
|
||||
38439.435367
|
||||
-5587.460778
|
||||
-24714.934907
|
||||
6119.993588
|
||||
-31999.541438
|
||||
-49884.042935
|
||||
41458.972912
|
||||
-18030.935371
|
||||
\N
|
||||
-24749.192723
|
||||
44979.791387
|
||||
46251.140161
|
||||
\N
|
||||
45017.657240
|
||||
1304.492518
|
||||
45341.311020
|
||||
14153.473295
|
||||
-9937.205473
|
||||
-13588.917751
|
||||
34439.616783
|
||||
-48495.188168
|
||||
45733.536079
|
||||
48187.489201
|
||||
43300.418227
|
||||
31616.128553
|
||||
36077.370954
|
||||
-1197.572961
|
||||
-13392.077509
|
||||
-3313.843279
|
||||
22281.588229
|
||||
26971.923130
|
||||
-47753.553883
|
||||
-35947.909153
|
||||
-33973.746600
|
||||
38374.616107
|
||||
-45586.414680
|
||||
-16247.553875
|
||||
44300.227004
|
||||
-19402.969940
|
||||
48321.487614
|
||||
-28888.746947
|
||||
28947.190139
|
||||
28660.995084
|
||||
-11618.051846
|
||||
-43953.376028
|
||||
-10910.886787
|
||||
-8197.079579
|
||||
45961.838260
|
||||
\N
|
||||
22499.815688
|
||||
29963.217759
|
||||
4572.943204
|
||||
-663.480140
|
||||
-5134.120889
|
||||
11258.622846
|
||||
22652.566979
|
||||
-42431.771798
|
||||
-2914.722754
|
||||
-26206.211502
|
||||
-26095.177129
|
||||
-26219.617192
|
||||
22693.988482
|
||||
-22495.323686
|
||||
46860.070106
|
||||
-25156.352611
|
||||
48733.543651
|
||||
38955.635712
|
||||
-22823.721717
|
||||
37840.300746
|
||||
-34850.825549
|
||||
23549.032292
|
||||
\N
|
||||
-29443.178689
|
||||
-24858.371902
|
||||
37761.087244
|
||||
\N
|
||||
46819.624164
|
||||
\N
|
||||
-33693.144090
|
||||
40653.983453
|
||||
-26031.282486
|
||||
-24553.259497
|
||||
19714.503628
|
||||
-34474.345196
|
||||
8479.883456
|
||||
-33258.695939
|
||||
33087.950890
|
||||
17223.332481
|
||||
41600.595923
|
||||
-24101.627559
|
||||
45225.386273
|
||||
7144.885816
|
||||
-25243.179209
|
||||
-34920.445683
|
||||
-31098.240605
|
||||
-42560.678764
|
||||
16588.400754
|
||||
-35012.138861
|
||||
-8465.407211
|
||||
24885.269056
|
||||
1185.531892
|
||||
-42427.891210
|
||||
30568.514010
|
||||
-42910.065638
|
||||
-25427.667506
|
||||
49703.152850
|
||||
15339.563585
|
||||
-36162.816587
|
||||
\N
|
||||
25849.401427
|
||||
30508.323238
|
||||
39964.989009
|
||||
-29568.012561
|
||||
-22074.867353
|
||||
\N
|
||||
48713.154625
|
||||
-1520.744968
|
||||
36336.974374
|
||||
41062.088679
|
||||
-2003.634512
|
||||
-9037.801465
|
||||
28679.307540
|
||||
9146.625390
|
||||
23064.029018
|
||||
-37993.003516
|
||||
-16414.231186
|
||||
-2807.518818
|
||||
12352.072057
|
||||
13036.899205
|
||||
-9238.011185
|
||||
-45646.203680
|
||||
-26760.931302
|
||||
36327.588086
|
||||
-40820.465465
|
||||
-11081.759474
|
||||
15407.617374
|
||||
41678.071204
|
||||
\N
|
||||
\N
|
||||
-43507.700410
|
||||
24709.613796
|
||||
30447.305730
|
||||
-11054.192745
|
||||
\N
|
||||
23353.155969
|
||||
46508.126145
|
||||
6981.355956
|
||||
21083.087321
|
||||
23906.590032
|
||||
38666.058652
|
||||
-1769.736340
|
||||
47240.657405
|
||||
-1764.098532
|
||||
-5218.443393
|
||||
-33834.449008
|
||||
-2977.604676
|
||||
-432.298309
|
||||
24849.356606
|
||||
18835.457959
|
||||
32506.030883
|
||||
-19205.680149
|
||||
43736.106527
|
||||
-665.804581
|
||||
-7721.326434
|
||||
3269.641033
|
||||
-49370.767409
|
||||
16273.904297
|
||||
662.390678
|
||||
17499.127457
|
||||
30066.082524
|
||||
-9073.769189
|
||||
28401.596043
|
||||
-16385.018437
|
||||
18027.110150
|
||||
\N
|
||||
9804.530004
|
||||
12884.736463
|
||||
46511.284540
|
||||
-8051.955215
|
||||
-44326.810536
|
||||
-16389.214185
|
||||
41559.840176
|
||||
40672.067921
|
||||
1770.764334
|
||||
-15898.218176
|
||||
204.035430
|
||||
8434.125203
|
||||
-38309.302967
|
||||
-15565.175780
|
||||
-13882.281661
|
||||
-24141.443695
|
||||
44535.343952
|
||||
31507.292987
|
||||
23152.546758
|
||||
-39375.797840
|
||||
-38180.703478
|
||||
-415.027351
|
||||
\N
|
||||
29397.380994
|
||||
\N
|
||||
47904.062270
|
||||
-46523.514994
|
||||
22100.205660
|
||||
8730.225525
|
||||
-31533.990419
|
||||
11804.385093
|
||||
-30083.302585
|
||||
-37654.674513
|
||||
-43752.615104
|
||||
\N
|
||||
-1452.872507
|
||||
-21721.060142
|
||||
8709.210511
|
||||
38917.112904
|
||||
\N
|
||||
18148.277545
|
||||
\N
|
||||
-2368.107416
|
||||
-34462.417841
|
||||
40637.684702
|
||||
-42576.995163
|
||||
\N
|
||||
31314.380645
|
||||
-2993.921634
|
||||
-18056.906931
|
||||
26346.102998
|
||||
-31676.115180
|
||||
34094.465563
|
||||
7338.040814
|
||||
-27818.175767
|
||||
46722.334715
|
||||
-31033.022181
|
||||
-10355.819231
|
||||
12291.897909
|
||||
-35065.719851
|
||||
21197.209494
|
||||
-33092.215417
|
||||
\N
|
||||
34034.608716
|
||||
-33796.447601
|
||||
2756.714939
|
||||
-43451.564896
|
||||
-26799.277904
|
675
contrib/btree_gist/data/inet.data
Normal file
675
contrib/btree_gist/data/inet.data
Normal file
|
@ -0,0 +1,675 @@
|
|||
205.48.101.94
|
||||
64.191.16.251
|
||||
104.18.168.108
|
||||
32.163.254.222
|
||||
95.221.129.147
|
||||
183.253.140.85
|
||||
70.165.215.123
|
||||
84.170.107.43
|
||||
79.144.216.22
|
||||
\N
|
||||
165.90.225.162
|
||||
238.233.177.15
|
||||
88.24.114.39
|
||||
\N
|
||||
155.255.145.81
|
||||
83.13.81.117
|
||||
31.236.39.111
|
||||
31.223.45.140
|
||||
204.136.128.221
|
||||
\N
|
||||
160.69.78.40
|
||||
88.170.171.22
|
||||
27.205.158.253
|
||||
121.179.104.153
|
||||
225.15.14.165
|
||||
1.180.121.239
|
||||
83.5.70.6
|
||||
\N
|
||||
237.24.51.229
|
||||
120.151.214.171
|
||||
62.124.72.116
|
||||
253.74.141.202
|
||||
237.188.81.187
|
||||
61.252.190.144
|
||||
57.206.2.191
|
||||
\N
|
||||
240.82.109.101
|
||||
209.125.201.244
|
||||
93.213.169.237
|
||||
139.112.18.173
|
||||
82.154.56.140
|
||||
\N
|
||||
227.137.163.196
|
||||
69.77.51.75
|
||||
30.194.154.142
|
||||
193.185.41.198
|
||||
92.173.29.28
|
||||
103.28.183.154
|
||||
220.205.180.198
|
||||
74.216.214.72
|
||||
213.87.102.109
|
||||
240.47.114.57
|
||||
123.231.125.27
|
||||
134.239.185.20
|
||||
\N
|
||||
113.195.56.93
|
||||
24.40.244.54
|
||||
172.109.167.148
|
||||
231.44.133.66
|
||||
44.67.142.219
|
||||
239.181.165.233
|
||||
124.235.41.48
|
||||
190.73.207.202
|
||||
74.159.254.108
|
||||
153.37.38.182
|
||||
189.99.7.199
|
||||
37.164.159.15
|
||||
105.9.31.250
|
||||
\N
|
||||
4.16.24.165
|
||||
195.21.199.159
|
||||
162.106.77.88
|
||||
239.95.217.230
|
||||
150.197.150.14
|
||||
79.223.250.16
|
||||
65.207.143.228
|
||||
135.165.49.229
|
||||
91.1.57.212
|
||||
194.161.198.219
|
||||
\N
|
||||
1.163.185.97
|
||||
131.96.207.198
|
||||
\N
|
||||
216.88.243.136
|
||||
126.254.48.253
|
||||
\N
|
||||
56.199.135.75
|
||||
165.11.118.48
|
||||
247.7.198.248
|
||||
106.96.249.227
|
||||
96.14.187.22
|
||||
\N
|
||||
209.33.227.131
|
||||
136.206.43.175
|
||||
213.39.115.236
|
||||
\N
|
||||
124.100.183.145
|
||||
2.254.243.185
|
||||
80.111.117.99
|
||||
200.56.244.221
|
||||
232.45.235.183
|
||||
92.190.136.92
|
||||
\N
|
||||
194.45.213.168
|
||||
189.80.217.147
|
||||
221.149.51.2
|
||||
203.143.183.21
|
||||
10.76.215.130
|
||||
231.240.22.160
|
||||
228.107.124.145
|
||||
122.159.54.211
|
||||
249.175.223.152
|
||||
206.78.173.162
|
||||
176.177.135.225
|
||||
112.159.227.116
|
||||
\N
|
||||
140.34.214.128
|
||||
60.215.174.18
|
||||
120.23.162.179
|
||||
\N
|
||||
60.88.199.80
|
||||
\N
|
||||
190.199.234.228
|
||||
167.52.107.219
|
||||
163.230.62.220
|
||||
114.126.128.119
|
||||
28.212.246.115
|
||||
\N
|
||||
35.24.185.39
|
||||
74.11.153.183
|
||||
128.18.38.32
|
||||
56.38.113.145
|
||||
118.200.90.79
|
||||
90.216.40.68
|
||||
\N
|
||||
184.157.233.95
|
||||
247.216.240.149
|
||||
201.160.3.208
|
||||
121.229.71.154
|
||||
197.172.114.23
|
||||
147.134.141.252
|
||||
63.69.81.68
|
||||
172.15.14.208
|
||||
74.66.194.128
|
||||
102.73.67.147
|
||||
147.202.215.148
|
||||
40.253.212.235
|
||||
222.168.227.51
|
||||
193.171.47.212
|
||||
254.123.253.233
|
||||
13.238.20.95
|
||||
6.240.85.220
|
||||
63.50.72.59
|
||||
138.149.213.250
|
||||
\N
|
||||
204.155.97.217
|
||||
25.64.68.108
|
||||
175.95.119.68
|
||||
136.242.20.94
|
||||
218.65.176.89
|
||||
194.204.44.77
|
||||
147.246.187.105
|
||||
62.207.123.111
|
||||
\N
|
||||
128.90.38.245
|
||||
213.206.241.70
|
||||
143.101.67.30
|
||||
155.201.184.79
|
||||
205.190.209.57
|
||||
44.237.228.229
|
||||
222.109.77.139
|
||||
32.140.24.250
|
||||
36.125.139.29
|
||||
149.166.225.18
|
||||
172.242.93.116
|
||||
215.147.44.173
|
||||
230.46.69.48
|
||||
4.184.53.45
|
||||
241.179.116.11
|
||||
220.179.63.168
|
||||
193.4.38.153
|
||||
148.229.44.205
|
||||
213.60.22.146
|
||||
59.133.135.50
|
||||
198.49.80.122
|
||||
45.252.129.164
|
||||
161.123.162.124
|
||||
112.30.20.29
|
||||
58.133.184.67
|
||||
9.201.58.3
|
||||
146.112.143.36
|
||||
143.157.113.68
|
||||
147.14.52.62
|
||||
205.165.6.112
|
||||
29.89.113.154
|
||||
66.17.234.63
|
||||
52.41.89.181
|
||||
241.211.1.109
|
||||
177.36.163.207
|
||||
13.161.5.32
|
||||
125.114.169.247
|
||||
8.152.34.248
|
||||
20.31.119.242
|
||||
234.86.171.182
|
||||
59.226.121.144
|
||||
157.156.134.72
|
||||
143.41.246.125
|
||||
244.148.162.224
|
||||
161.221.171.40
|
||||
128.12.105.10
|
||||
\N
|
||||
211.96.181.118
|
||||
132.98.248.99
|
||||
128.151.39.43
|
||||
3.192.152.232
|
||||
206.13.203.250
|
||||
220.239.170.173
|
||||
149.215.24.9
|
||||
18.182.145.36
|
||||
179.212.151.153
|
||||
68.95.24.250
|
||||
223.255.215.176
|
||||
207.71.249.41
|
||||
60.90.154.16
|
||||
173.116.151.18
|
||||
121.111.63.82
|
||||
111.221.237.4
|
||||
238.209.54.62
|
||||
183.236.220.28
|
||||
126.186.123.78
|
||||
123.43.92.163
|
||||
89.23.85.100
|
||||
89.225.196.191
|
||||
85.136.41.16
|
||||
155.170.87.73
|
||||
31.13.161.188
|
||||
137.30.169.129
|
||||
78.32.92.76
|
||||
129.121.108.107
|
||||
78.239.221.76
|
||||
36.242.173.3
|
||||
151.134.174.87
|
||||
79.94.194.177
|
||||
\N
|
||||
9.108.86.70
|
||||
5.65.207.234
|
||||
84.59.213.76
|
||||
20.230.161.43
|
||||
247.180.220.136
|
||||
67.151.49.171
|
||||
47.147.80.252
|
||||
74.190.254.29
|
||||
\N
|
||||
111.24.200.106
|
||||
90.3.213.132
|
||||
110.101.207.168
|
||||
143.77.140.198
|
||||
\N
|
||||
236.62.95.154
|
||||
56.251.21.190
|
||||
231.154.66.237
|
||||
169.30.40.6
|
||||
94.91.100.20
|
||||
113.49.232.34
|
||||
215.47.246.82
|
||||
169.224.7.29
|
||||
\N
|
||||
37.231.196.152
|
||||
47.63.95.236
|
||||
181.49.112.52
|
||||
243.161.244.167
|
||||
175.242.48.116
|
||||
169.213.125.67
|
||||
196.130.108.140
|
||||
239.250.45.132
|
||||
35.136.41.79
|
||||
111.112.42.173
|
||||
29.151.75.38
|
||||
38.137.224.147
|
||||
64.101.177.59
|
||||
55.13.87.142
|
||||
131.53.181.224
|
||||
199.167.12.86
|
||||
168.11.48.234
|
||||
34.123.154.188
|
||||
213.4.129.9
|
||||
\N
|
||||
101.134.51.130
|
||||
193.64.107.205
|
||||
49.43.91.47
|
||||
104.238.95.198
|
||||
138.189.159.157
|
||||
120.251.32.52
|
||||
153.214.200.197
|
||||
243.134.30.100
|
||||
135.52.111.34
|
||||
\N
|
||||
112.42.87.159
|
||||
40.69.66.232
|
||||
207.81.62.124
|
||||
193.28.195.69
|
||||
55.96.199.235
|
||||
167.101.253.115
|
||||
\N
|
||||
246.147.199.115
|
||||
193.79.112.101
|
||||
241.244.120.200
|
||||
\N
|
||||
167.116.157.80
|
||||
102.31.171.101
|
||||
16.44.204.182
|
||||
34.17.92.190
|
||||
84.72.45.155
|
||||
193.109.167.147
|
||||
80.181.11.243
|
||||
130.181.212.219
|
||||
9.144.1.64
|
||||
246.224.132.58
|
||||
62.195.56.251
|
||||
142.66.251.66
|
||||
194.106.77.154
|
||||
\N
|
||||
90.221.121.253
|
||||
15.163.194.138
|
||||
230.46.78.158
|
||||
46.105.50.131
|
||||
119.50.45.238
|
||||
248.225.135.21
|
||||
\N
|
||||
124.214.84.154
|
||||
21.180.109.92
|
||||
115.101.89.130
|
||||
95.207.181.191
|
||||
125.235.193.182
|
||||
181.218.105.217
|
||||
133.89.141.43
|
||||
106.183.231.192
|
||||
115.35.116.107
|
||||
60.97.101.50
|
||||
\N
|
||||
169.250.64.192
|
||||
120.241.254.238
|
||||
137.194.100.209
|
||||
48.16.35.136
|
||||
182.211.204.114
|
||||
40.99.67.49
|
||||
89.125.172.183
|
||||
104.228.203.245
|
||||
81.84.155.227
|
||||
1.112.197.117
|
||||
59.117.175.134
|
||||
58.214.124.144
|
||||
33.129.223.81
|
||||
126.143.252.69
|
||||
195.211.137.176
|
||||
208.14.45.76
|
||||
74.96.74.146
|
||||
\N
|
||||
229.64.51.77
|
||||
65.21.152.189
|
||||
\N
|
||||
114.101.237.200
|
||||
175.166.116.210
|
||||
87.134.226.114
|
||||
213.95.222.202
|
||||
30.2.239.190
|
||||
\N
|
||||
159.81.159.223
|
||||
228.187.227.90
|
||||
\N
|
||||
67.251.123.95
|
||||
162.251.195.17
|
||||
96.240.115.112
|
||||
233.87.71.43
|
||||
161.114.80.142
|
||||
140.113.203.25
|
||||
22.40.68.5
|
||||
180.139.2.40
|
||||
\N
|
||||
111.38.231.216
|
||||
228.234.207.123
|
||||
\N
|
||||
250.176.79.79
|
||||
59.107.193.142
|
||||
161.218.191.212
|
||||
96.37.54.203
|
||||
46.192.107.103
|
||||
71.197.52.178
|
||||
111.105.63.26
|
||||
139.58.62.200
|
||||
72.105.233.160
|
||||
239.87.14.72
|
||||
171.229.121.185
|
||||
240.220.164.57
|
||||
149.13.111.63
|
||||
163.49.238.5
|
||||
7.149.70.239
|
||||
248.242.205.103
|
||||
17.229.150.23
|
||||
134.55.46.252
|
||||
98.238.40.42
|
||||
\N
|
||||
31.36.115.199
|
||||
64.234.158.9
|
||||
\N
|
||||
32.69.44.86
|
||||
186.204.118.229
|
||||
\N
|
||||
20.35.78.52
|
||||
132.47.83.153
|
||||
226.69.230.4
|
||||
33.33.156.254
|
||||
152.70.244.236
|
||||
247.180.160.113
|
||||
211.221.104.110
|
||||
129.124.231.41
|
||||
54.190.14.163
|
||||
49.180.34.117
|
||||
124.77.160.15
|
||||
52.3.82.192
|
||||
89.149.87.98
|
||||
67.71.146.173
|
||||
182.61.251.67
|
||||
14.180.19.120
|
||||
\N
|
||||
66.218.5.209
|
||||
188.58.131.244
|
||||
128.157.228.197
|
||||
\N
|
||||
223.221.76.172
|
||||
101.115.226.156
|
||||
229.17.33.101
|
||||
151.3.214.189
|
||||
37.180.117.157
|
||||
242.106.122.78
|
||||
30.95.165.92
|
||||
132.52.246.117
|
||||
\N
|
||||
173.52.188.128
|
||||
118.223.229.41
|
||||
132.231.133.56
|
||||
135.235.133.171
|
||||
78.200.1.131
|
||||
\N
|
||||
115.146.120.61
|
||||
20.96.157.214
|
||||
152.229.92.114
|
||||
109.190.145.204
|
||||
243.82.98.207
|
||||
\N
|
||||
184.107.160.144
|
||||
39.2.129.97
|
||||
48.192.2.91
|
||||
221.151.237.221
|
||||
4.246.15.78
|
||||
210.161.249.39
|
||||
255.75.10.97
|
||||
228.249.129.27
|
||||
30.115.201.232
|
||||
246.215.8.102
|
||||
\N
|
||||
63.16.75.23
|
||||
94.123.36.30
|
||||
132.61.79.239
|
||||
\N
|
||||
105.151.204.126
|
||||
\N
|
||||
243.229.8.172
|
||||
26.195.227.35
|
||||
219.206.181.101
|
||||
165.12.89.14
|
||||
62.24.41.190
|
||||
119.79.245.119
|
||||
202.197.197.152
|
||||
109.202.220.212
|
||||
35.183.214.65
|
||||
53.7.220.159
|
||||
\N
|
||||
55.184.109.15
|
||||
\N
|
||||
15.112.129.183
|
||||
44.124.131.125
|
||||
35.89.161.4
|
||||
220.242.200.101
|
||||
123.60.59.238
|
||||
211.223.96.183
|
||||
74.61.70.183
|
||||
\N
|
||||
209.150.35.249
|
||||
240.232.193.155
|
||||
194.231.101.62
|
||||
\N
|
||||
2.104.84.243
|
||||
221.162.167.181
|
||||
119.166.8.33
|
||||
40.72.241.71
|
||||
\N
|
||||
159.208.215.103
|
||||
\N
|
||||
61.22.131.30
|
||||
\N
|
||||
41.119.175.142
|
||||
117.85.224.118
|
||||
\N
|
||||
148.167.101.4
|
||||
45.106.131.138
|
||||
\N
|
||||
94.189.41.3
|
||||
108.55.214.7
|
||||
\N
|
||||
35.171.168.47
|
||||
90.252.21.131
|
||||
27.220.123.246
|
||||
20.78.135.63
|
||||
166.27.102.106
|
||||
142.222.1.91
|
||||
11.88.28.225
|
||||
38.175.101.188
|
||||
163.37.35.66
|
||||
12.97.128.208
|
||||
106.97.208.4
|
||||
\N
|
||||
152.139.250.11
|
||||
66.153.27.211
|
||||
102.132.218.38
|
||||
199.142.41.164
|
||||
18.231.165.111
|
||||
138.109.241.13
|
||||
118.10.77.46
|
||||
146.27.170.90
|
||||
168.77.102.159
|
||||
226.198.128.192
|
||||
66.92.232.222
|
||||
47.27.194.20
|
||||
164.182.228.118
|
||||
105.131.236.121
|
||||
234.46.48.100
|
||||
118.34.237.203
|
||||
175.160.139.46
|
||||
163.208.222.249
|
||||
9.166.171.40
|
||||
227.230.225.180
|
||||
244.160.119.181
|
||||
126.211.169.225
|
||||
72.112.141.239
|
||||
220.198.141.154
|
||||
197.173.63.107
|
||||
229.208.36.32
|
||||
132.26.237.169
|
||||
203.241.185.28
|
||||
191.42.250.138
|
||||
\N
|
||||
132.180.213.190
|
||||
190.210.77.219
|
||||
49.168.123.181
|
||||
78.189.91.119
|
||||
\N
|
||||
195.144.143.245
|
||||
85.75.58.30
|
||||
148.26.97.224
|
||||
65.174.36.247
|
||||
203.110.226.93
|
||||
6.176.17.101
|
||||
\N
|
||||
99.2.116.45
|
||||
203.207.156.164
|
||||
6.205.71.174
|
||||
146.246.43.100
|
||||
235.93.237.116
|
||||
158.220.15.72
|
||||
94.113.101.124
|
||||
51.194.52.42
|
||||
162.80.213.241
|
||||
\N
|
||||
23.1.97.65
|
||||
133.240.185.226
|
||||
7.27.121.41
|
||||
192.28.209.195
|
||||
179.208.158.65
|
||||
145.159.157.167
|
||||
173.41.74.199
|
||||
96.106.28.103
|
||||
244.63.22.62
|
||||
\N
|
||||
96.163.254.226
|
||||
58.221.131.199
|
||||
31.86.179.136
|
||||
127.219.60.48
|
||||
87.134.167.151
|
||||
135.52.126.134
|
||||
\N
|
||||
47.109.125.45
|
||||
41.170.113.98
|
||||
165.216.170.67
|
||||
252.176.159.106
|
||||
69.227.163.227
|
||||
225.251.187.1
|
||||
40.202.43.19
|
||||
4.104.139.43
|
||||
249.245.11.156
|
||||
93.180.123.182
|
||||
113.67.34.90
|
||||
142.211.245.230
|
||||
63.6.54.114
|
||||
77.65.223.214
|
||||
59.233.170.32
|
||||
131.172.204.238
|
||||
234.156.241.152
|
||||
\N
|
||||
8.91.22.29
|
||||
117.141.48.215
|
||||
79.171.208.203
|
||||
146.229.67.176
|
||||
66.85.44.114
|
||||
241.194.191.85
|
||||
63.255.71.88
|
||||
60.73.67.41
|
||||
48.149.137.56
|
||||
60.33.119.210
|
||||
220.121.61.208
|
||||
147.151.1.144
|
||||
\N
|
||||
184.155.244.115
|
||||
97.151.107.25
|
||||
249.167.212.72
|
||||
142.137.230.31
|
||||
24.86.8.16
|
||||
28.117.109.25
|
||||
149.148.184.221
|
||||
106.99.191.123
|
||||
\N
|
||||
65.14.167.10
|
||||
164.183.36.228
|
||||
52.175.120.249
|
||||
42.0.8.134
|
||||
223.54.80.64
|
||||
62.203.105.165
|
||||
144.148.207.249
|
||||
236.35.62.35
|
||||
\N
|
||||
21.116.77.153
|
||||
114.242.119.6
|
||||
136.30.45.211
|
||||
153.121.70.120
|
||||
\N
|
||||
216.116.169.127
|
||||
230.106.70.22
|
||||
96.164.134.139
|
||||
193.7.187.21
|
||||
35.121.231.194
|
||||
105.62.79.80
|
||||
224.235.238.193
|
||||
238.75.226.70
|
||||
176.162.92.173
|
||||
214.188.162.23
|
||||
162.58.151.104
|
||||
6.119.102.63
|
||||
56.63.61.114
|
||||
6.171.110.128
|
||||
51.155.66.187
|
||||
\N
|
||||
107.50.227.215
|
||||
219.149.74.222
|
||||
23.110.108.137
|
||||
244.190.60.52
|
||||
21.210.197.77
|
||||
249.88.71.119
|
||||
\N
|
||||
62.251.140.171
|
||||
62.118.73.196
|
||||
58.77.130.172
|
||||
233.131.155.245
|
||||
59.164.211.253
|
||||
218.33.169.7
|
||||
\N
|
600
contrib/btree_gist/data/int2.data
Normal file
600
contrib/btree_gist/data/int2.data
Normal file
|
@ -0,0 +1,600 @@
|
|||
3093
|
||||
4550
|
||||
-3556
|
||||
-3363
|
||||
324
|
||||
-149
|
||||
-265
|
||||
-3432
|
||||
1122
|
||||
-2534
|
||||
-4263
|
||||
660
|
||||
-2263
|
||||
-468
|
||||
-3605
|
||||
-663
|
||||
-4713
|
||||
\N
|
||||
1361
|
||||
\N
|
||||
\N
|
||||
2681
|
||||
-550
|
||||
\N
|
||||
1935
|
||||
\N
|
||||
2575
|
||||
-171
|
||||
-1557
|
||||
3897
|
||||
\N
|
||||
3732
|
||||
3315
|
||||
237
|
||||
4012
|
||||
-254
|
||||
2564
|
||||
-4842
|
||||
620
|
||||
4255
|
||||
3282
|
||||
-4427
|
||||
802
|
||||
845
|
||||
\N
|
||||
-62
|
||||
-4461
|
||||
2569
|
||||
4086
|
||||
-3787
|
||||
-2087
|
||||
2765
|
||||
2746
|
||||
\N
|
||||
-1826
|
||||
4876
|
||||
1981
|
||||
-297
|
||||
-469
|
||||
168
|
||||
-3594
|
||||
2289
|
||||
\N
|
||||
-3682
|
||||
2553
|
||||
2462
|
||||
3596
|
||||
-1129
|
||||
-4537
|
||||
\N
|
||||
-3733
|
||||
2268
|
||||
2876
|
||||
-2178
|
||||
3610
|
||||
-969
|
||||
-3189
|
||||
142
|
||||
2196
|
||||
-1401
|
||||
\N
|
||||
1827
|
||||
-2279
|
||||
2810
|
||||
-1459
|
||||
\N
|
||||
798
|
||||
-1397
|
||||
2246
|
||||
266
|
||||
1489
|
||||
-4491
|
||||
566
|
||||
\N
|
||||
\N
|
||||
\N
|
||||
-165
|
||||
\N
|
||||
-36
|
||||
1695
|
||||
-2135
|
||||
1563
|
||||
3973
|
||||
-2041
|
||||
-1513
|
||||
-4820
|
||||
-702
|
||||
\N
|
||||
3401
|
||||
\N
|
||||
-3200
|
||||
3674
|
||||
-118
|
||||
-3972
|
||||
3888
|
||||
-1619
|
||||
3231
|
||||
-276
|
||||
-2622
|
||||
-2011
|
||||
-3959
|
||||
-1561
|
||||
1120
|
||||
2912
|
||||
-593
|
||||
-1062
|
||||
1368
|
||||
3198
|
||||
-1471
|
||||
4271
|
||||
2054
|
||||
2468
|
||||
-4511
|
||||
1104
|
||||
-287
|
||||
-4836
|
||||
1065
|
||||
\N
|
||||
-3437
|
||||
-2120
|
||||
-2238
|
||||
1023
|
||||
-4333
|
||||
-412
|
||||
998
|
||||
1641
|
||||
3612
|
||||
3564
|
||||
4220
|
||||
\N
|
||||
\N
|
||||
4226
|
||||
-3195
|
||||
-3571
|
||||
-1505
|
||||
-3115
|
||||
494
|
||||
\N
|
||||
-368
|
||||
-3459
|
||||
-2643
|
||||
\N
|
||||
-620
|
||||
-210
|
||||
-4658
|
||||
2523
|
||||
-2482
|
||||
-3778
|
||||
1833
|
||||
509
|
||||
-4993
|
||||
\N
|
||||
3208
|
||||
4760
|
||||
\N
|
||||
-4898
|
||||
4324
|
||||
-3045
|
||||
-4555
|
||||
-3364
|
||||
1192
|
||||
4268
|
||||
-2170
|
||||
4229
|
||||
2952
|
||||
-3249
|
||||
-950
|
||||
2566
|
||||
\N
|
||||
-2026
|
||||
4611
|
||||
\N
|
||||
3042
|
||||
\N
|
||||
1671
|
||||
-4874
|
||||
1518
|
||||
-1875
|
||||
1600
|
||||
-4570
|
||||
-295
|
||||
-2710
|
||||
-4290
|
||||
101
|
||||
2180
|
||||
-1385
|
||||
1438
|
||||
\N
|
||||
-4992
|
||||
721
|
||||
1137
|
||||
1424
|
||||
4064
|
||||
1424
|
||||
842
|
||||
4073
|
||||
-4554
|
||||
1501
|
||||
-1886
|
||||
3087
|
||||
-3732
|
||||
1560
|
||||
2136
|
||||
\N
|
||||
986
|
||||
-3083
|
||||
1062
|
||||
1557
|
||||
-465
|
||||
-2744
|
||||
-130
|
||||
3663
|
||||
1220
|
||||
-3390
|
||||
1491
|
||||
-652
|
||||
-3981
|
||||
-233
|
||||
3559
|
||||
4461
|
||||
-3630
|
||||
1080
|
||||
\N
|
||||
-1289
|
||||
4821
|
||||
3670
|
||||
-965
|
||||
-969
|
||||
-784
|
||||
2877
|
||||
-772
|
||||
-1881
|
||||
-270
|
||||
-1645
|
||||
-1618
|
||||
-450
|
||||
-1353
|
||||
351
|
||||
-4492
|
||||
-1721
|
||||
-7
|
||||
-4545
|
||||
\N
|
||||
2080
|
||||
987
|
||||
1645
|
||||
-4774
|
||||
-1215
|
||||
-2215
|
||||
-2675
|
||||
3747
|
||||
1664
|
||||
-4609
|
||||
1177
|
||||
1368
|
||||
-4010
|
||||
-3768
|
||||
2435
|
||||
-825
|
||||
-963
|
||||
-442
|
||||
\N
|
||||
-991
|
||||
-3702
|
||||
2751
|
||||
1388
|
||||
808
|
||||
-2548
|
||||
3015
|
||||
-338
|
||||
811
|
||||
485
|
||||
-4178
|
||||
-1229
|
||||
\N
|
||||
3246
|
||||
-3976
|
||||
-1296
|
||||
-3479
|
||||
-2069
|
||||
4391
|
||||
\N
|
||||
-1462
|
||||
325
|
||||
4877
|
||||
2559
|
||||
-3954
|
||||
3456
|
||||
-476
|
||||
-2739
|
||||
-2737
|
||||
568
|
||||
-60
|
||||
-4371
|
||||
-4966
|
||||
-329
|
||||
4131
|
||||
\N
|
||||
-1841
|
||||
-2219
|
||||
-2604
|
||||
776
|
||||
-4635
|
||||
1972
|
||||
-3333
|
||||
-4281
|
||||
-3046
|
||||
-1781
|
||||
2941
|
||||
-3399
|
||||
-938
|
||||
-4728
|
||||
-517
|
||||
\N
|
||||
-3832
|
||||
-1096
|
||||
3094
|
||||
1949
|
||||
2494
|
||||
4686
|
||||
-3597
|
||||
-4346
|
||||
-437
|
||||
2490
|
||||
1625
|
||||
-4445
|
||||
752
|
||||
-3302
|
||||
2966
|
||||
-3870
|
||||
\N
|
||||
-2594
|
||||
3754
|
||||
-186
|
||||
-3611
|
||||
3738
|
||||
473
|
||||
3706
|
||||
-4756
|
||||
1184
|
||||
-927
|
||||
-984
|
||||
2760
|
||||
\N
|
||||
-456
|
||||
3202
|
||||
-1251
|
||||
894
|
||||
\N
|
||||
-2776
|
||||
2545
|
||||
1566
|
||||
-4043
|
||||
-4577
|
||||
-1113
|
||||
-4865
|
||||
-4459
|
||||
188
|
||||
232
|
||||
4559
|
||||
2355
|
||||
1747
|
||||
4140
|
||||
1051
|
||||
3989
|
||||
-430
|
||||
-3136
|
||||
-2172
|
||||
-1734
|
||||
927
|
||||
-1278
|
||||
1051
|
||||
2750
|
||||
18
|
||||
-2888
|
||||
-273
|
||||
-2380
|
||||
-3709
|
||||
-2889
|
||||
-4733
|
||||
1064
|
||||
-3281
|
||||
-4176
|
||||
-427
|
||||
-2789
|
||||
-4779
|
||||
\N
|
||||
-4472
|
||||
538
|
||||
3726
|
||||
3873
|
||||
-2263
|
||||
2414
|
||||
\N
|
||||
3628
|
||||
-4210
|
||||
-1475
|
||||
2938
|
||||
859
|
||||
\N
|
||||
-3648
|
||||
3644
|
||||
3967
|
||||
835
|
||||
1922
|
||||
-2946
|
||||
4903
|
||||
1090
|
||||
\N
|
||||
4057
|
||||
-2531
|
||||
2858
|
||||
558
|
||||
4570
|
||||
-1384
|
||||
362
|
||||
-135
|
||||
2864
|
||||
\N
|
||||
-1880
|
||||
1697
|
||||
-103
|
||||
980
|
||||
-2721
|
||||
2015
|
||||
490
|
||||
2561
|
||||
-1806
|
||||
-2533
|
||||
-672
|
||||
-108
|
||||
-2162
|
||||
613
|
||||
-2769
|
||||
618
|
||||
-4370
|
||||
3117
|
||||
-1692
|
||||
-1547
|
||||
-1034
|
||||
-4782
|
||||
502
|
||||
3117
|
||||
4913
|
||||
-4492
|
||||
188
|
||||
917
|
||||
465
|
||||
962
|
||||
-3792
|
||||
-1346
|
||||
-3899
|
||||
848
|
||||
-4530
|
||||
-3025
|
||||
1265
|
||||
3701
|
||||
2046
|
||||
3451
|
||||
\N
|
||||
-2628
|
||||
1758
|
||||
\N
|
||||
4732
|
||||
983
|
||||
\N
|
||||
370
|
||||
-3513
|
||||
-147
|
||||
2705
|
||||
-1167
|
||||
-4962
|
||||
1453
|
||||
1196
|
||||
-1890
|
||||
648
|
||||
-3137
|
||||
-158
|
||||
-499
|
||||
4982
|
||||
-2287
|
||||
-1767
|
||||
3892
|
||||
-3490
|
||||
\N
|
||||
-4331
|
||||
3110
|
||||
1613
|
||||
4379
|
||||
-2047
|
||||
3137
|
||||
713
|
||||
\N
|
||||
-2956
|
||||
2247
|
||||
2580
|
||||
3198
|
||||
-2453
|
||||
4420
|
||||
3192
|
||||
-658
|
||||
-3912
|
||||
3018
|
||||
-234
|
||||
-3049
|
||||
\N
|
||||
-2705
|
||||
2225
|
||||
-455
|
||||
4140
|
||||
145
|
||||
2198
|
||||
-4912
|
||||
-2327
|
||||
-2366
|
||||
-1114
|
||||
-172
|
||||
-748
|
||||
-2851
|
||||
-1596
|
||||
-4257
|
||||
-4451
|
||||
2070
|
||||
2161
|
||||
535
|
||||
1714
|
||||
\N
|
||||
4808
|
||||
-924
|
||||
-1990
|
||||
3560
|
||||
-1490
|
||||
-3458
|
||||
310
|
||||
1562
|
||||
-4423
|
||||
-1375
|
||||
1169
|
||||
2452
|
||||
-2944
|
||||
-1091
|
||||
-2156
|
||||
3378
|
||||
-4723
|
||||
-4549
|
||||
4893
|
||||
-4295
|
||||
4103
|
||||
-1213
|
||||
4542
|
||||
4192
|
||||
228
|
||||
\N
|
||||
566
|
||||
-2829
|
||||
750
|
||||
-2819
|
||||
\N
|
||||
54
|
||||
-745
|
||||
-2611
|
||||
-464
|
||||
2098
|
||||
255
|
||||
-2791
|
||||
110
|
||||
-1020
|
||||
1313
|
||||
3705
|
||||
-3461
|
||||
511
|
||||
2079
|
||||
-3852
|
||||
1177
|
||||
2751
|
||||
1023
|
||||
-3970
|
||||
-264
|
||||
-148
|
||||
2085
|
600
contrib/btree_gist/data/int4.data
Normal file
600
contrib/btree_gist/data/int4.data
Normal file
|
@ -0,0 +1,600 @@
|
|||
-278383369
|
||||
-747067264
|
||||
-444347454
|
||||
943059602
|
||||
760126298
|
||||
-313957087
|
||||
69871373
|
||||
1047228793
|
||||
549563771
|
||||
-849172813
|
||||
742152707
|
||||
-102126707
|
||||
-588216468
|
||||
-587679276
|
||||
121951908
|
||||
-12908316
|
||||
-938566787
|
||||
-1066376866
|
||||
-70757527
|
||||
887181957
|
||||
-416180675
|
||||
-395333602
|
||||
-476539199
|
||||
-559145553
|
||||
166603938
|
||||
-995460982
|
||||
423400029
|
||||
-715704678
|
||||
-919392688
|
||||
-654070990
|
||||
-382421072
|
||||
631560114
|
||||
-729854703
|
||||
-201487528
|
||||
-1015231681
|
||||
-111081607
|
||||
-150879882
|
||||
-822966764
|
||||
-235383789
|
||||
664472573
|
||||
418592852
|
||||
535580213
|
||||
1006220943
|
||||
-772410787
|
||||
-933257976
|
||||
-93888809
|
||||
534823075
|
||||
348910859
|
||||
-954633892
|
||||
161536478
|
||||
-709184521
|
||||
636988950
|
||||
-831019781
|
||||
\N
|
||||
-557156033
|
||||
806151247
|
||||
-39951046
|
||||
-775508567
|
||||
\N
|
||||
101482645
|
||||
795803474
|
||||
-1021371457
|
||||
254190941
|
||||
-198991605
|
||||
-211220357
|
||||
592642976
|
||||
159564926
|
||||
-97980046
|
||||
687623361
|
||||
-268671335
|
||||
192044603
|
||||
133023521
|
||||
-596127139
|
||||
546530680
|
||||
336306348
|
||||
-868276189
|
||||
-982853141
|
||||
-239020404
|
||||
-1044842390
|
||||
-957480672
|
||||
40377556
|
||||
49864481
|
||||
\N
|
||||
505742335
|
||||
375096111
|
||||
\N
|
||||
225695129
|
||||
856735725
|
||||
-92417405
|
||||
-673413352
|
||||
-466398428
|
||||
-372271859
|
||||
199069838
|
||||
-274470034
|
||||
225807793
|
||||
590462307
|
||||
3775258
|
||||
-620113195
|
||||
-58682105
|
||||
-511020053
|
||||
-796515704
|
||||
-620432149
|
||||
-1016328347
|
||||
228460677
|
||||
-704579869
|
||||
-896860429
|
||||
\N
|
||||
\N
|
||||
-1026387226
|
||||
-974499141
|
||||
-960283687
|
||||
115614636
|
||||
800148518
|
||||
831654092
|
||||
\N
|
||||
518360994
|
||||
\N
|
||||
779114556
|
||||
-904139163
|
||||
-316769082
|
||||
630950752
|
||||
\N
|
||||
-55878393
|
||||
-783306330
|
||||
\N
|
||||
852002029
|
||||
179256342
|
||||
412777993
|
||||
-632735583
|
||||
1052807112
|
||||
234006613
|
||||
528787810
|
||||
871273145
|
||||
-543437833
|
||||
613656227
|
||||
119746596
|
||||
981397980
|
||||
-297248487
|
||||
77649335
|
||||
-28913402
|
||||
614934531
|
||||
929940199
|
||||
-403660500
|
||||
364477031
|
||||
-22124387
|
||||
210404268
|
||||
\N
|
||||
432660770
|
||||
105294608
|
||||
\N
|
||||
-387805780
|
||||
-543871814
|
||||
-144364887
|
||||
-23259185
|
||||
-464225973
|
||||
131691359
|
||||
-594587949
|
||||
132792222
|
||||
-938482467
|
||||
669399965
|
||||
-363432139
|
||||
-332135297
|
||||
-222020946
|
||||
-1026899728
|
||||
107886324
|
||||
669465840
|
||||
1055107642
|
||||
-964572059
|
||||
\N
|
||||
196967371
|
||||
99878136
|
||||
206583116
|
||||
-814267157
|
||||
-288969105
|
||||
-837297170
|
||||
182146005
|
||||
-972850964
|
||||
-649642105
|
||||
271750475
|
||||
794876066
|
||||
439409907
|
||||
741102414
|
||||
-896013712
|
||||
-564452917
|
||||
377584215
|
||||
785128489
|
||||
1016266473
|
||||
211032352
|
||||
-860051372
|
||||
79557251
|
||||
-754415346
|
||||
-31656520
|
||||
580909957
|
||||
-250670377
|
||||
-1065498478
|
||||
312055768
|
||||
256848844
|
||||
-405941467
|
||||
139226727
|
||||
-673719257
|
||||
-33907454
|
||||
-107071600
|
||||
\N
|
||||
-491151352
|
||||
-379374978
|
||||
835717683
|
||||
-749442365
|
||||
391779355
|
||||
-930175254
|
||||
667789784
|
||||
346287223
|
||||
940296232
|
||||
-439643120
|
||||
673648096
|
||||
153155023
|
||||
761570957
|
||||
-634729660
|
||||
482454328
|
||||
553985095
|
||||
686753002
|
||||
-526797052
|
||||
949281215
|
||||
685507933
|
||||
-141218391
|
||||
-840157851
|
||||
648180473
|
||||
-50333869
|
||||
-654708416
|
||||
1040352328
|
||||
-580798126
|
||||
477781101
|
||||
-97755360
|
||||
889044981
|
||||
31130520
|
||||
472121821
|
||||
-1054910894
|
||||
-499784982
|
||||
-508051907
|
||||
-239312888
|
||||
-36874490
|
||||
-160560442
|
||||
-612146051
|
||||
\N
|
||||
-914254016
|
||||
-955919451
|
||||
444572750
|
||||
464011997
|
||||
114922279
|
||||
368088103
|
||||
\N
|
||||
1032465403
|
||||
-198412817
|
||||
-427355634
|
||||
764561021
|
||||
-319968927
|
||||
-742495989
|
||||
66602125
|
||||
335474465
|
||||
\N
|
||||
-295255877
|
||||
250999059
|
||||
526539904
|
||||
-632305975
|
||||
\N
|
||||
-462933479
|
||||
725444821
|
||||
-1014220649
|
||||
-976950894
|
||||
1050779420
|
||||
-922337893
|
||||
881175599
|
||||
-260490744
|
||||
975381286
|
||||
900263262
|
||||
48922968
|
||||
-598347542
|
||||
121514864
|
||||
-607528559
|
||||
\N
|
||||
-605421206
|
||||
-1033560416
|
||||
11538600
|
||||
-160000018
|
||||
-560613615
|
||||
-99553157
|
||||
450510072
|
||||
54811495
|
||||
-599428633
|
||||
23616163
|
||||
-218984524
|
||||
281874162
|
||||
795632049
|
||||
-743284993
|
||||
109773364
|
||||
446413166
|
||||
-827212018
|
||||
\N
|
||||
590703606
|
||||
219585528
|
||||
-852527230
|
||||
-56743535
|
||||
-31888159
|
||||
447756894
|
||||
81597117
|
||||
-514906619
|
||||
829002820
|
||||
194782415
|
||||
-861939426
|
||||
789235257
|
||||
1002760541
|
||||
77986645
|
||||
124541179
|
||||
839847275
|
||||
688643973
|
||||
\N
|
||||
-818330059
|
||||
\N
|
||||
\N
|
||||
571483597
|
||||
1043237102
|
||||
\N
|
||||
-260795164
|
||||
\N
|
||||
-80635223
|
||||
883946580
|
||||
-997239646
|
||||
417377536
|
||||
\N
|
||||
905148727
|
||||
75086673
|
||||
240863213
|
||||
-974803948
|
||||
-514042316
|
||||
780396140
|
||||
-773002241
|
||||
-839043143
|
||||
-1050961764
|
||||
-944793472
|
||||
971511639
|
||||
862816002
|
||||
-87163815
|
||||
\N
|
||||
601763342
|
||||
409313850
|
||||
-376132854
|
||||
-104608772
|
||||
793131268
|
||||
-402748367
|
||||
103010521
|
||||
589866409
|
||||
\N
|
||||
-806207129
|
||||
-92467487
|
||||
382080273
|
||||
-537053065
|
||||
296991677
|
||||
450543728
|
||||
36073823
|
||||
-518334030
|
||||
\N
|
||||
-823745191
|
||||
567487602
|
||||
82546145
|
||||
-388387055
|
||||
862364138
|
||||
1063492312
|
||||
\N
|
||||
-758175718
|
||||
910291639
|
||||
-161138360
|
||||
-397892038
|
||||
-543779825
|
||||
-678530933
|
||||
-245281302
|
||||
1038476033
|
||||
992074486
|
||||
248548658
|
||||
\N
|
||||
98497175
|
||||
-171252301
|
||||
18217558
|
||||
682347077
|
||||
\N
|
||||
310612886
|
||||
-118028644
|
||||
337185821
|
||||
-210791469
|
||||
301448323
|
||||
-906803508
|
||||
-356807299
|
||||
\N
|
||||
\N
|
||||
\N
|
||||
559848005
|
||||
\N
|
||||
31316502
|
||||
-952852111
|
||||
-906201820
|
||||
86880549
|
||||
-1067074828
|
||||
-554439888
|
||||
-372251154
|
||||
767868870
|
||||
485181743
|
||||
\N
|
||||
234322120
|
||||
\N
|
||||
469476289
|
||||
120818420
|
||||
973859819
|
||||
553938979
|
||||
666244197
|
||||
-1034134335
|
||||
-643847604
|
||||
-928942436
|
||||
-40098720
|
||||
913202598
|
||||
-634013637
|
||||
-124514124
|
||||
88422182
|
||||
362344229
|
||||
-955696569
|
||||
-883518062
|
||||
-589118966
|
||||
-917271271
|
||||
-789577219
|
||||
-1055370400
|
||||
653530707
|
||||
751509060
|
||||
-923377500
|
||||
-896739670
|
||||
1049674425
|
||||
713830537
|
||||
-919850486
|
||||
\N
|
||||
464008848
|
||||
-500611805
|
||||
1052904894
|
||||
1005514228
|
||||
-464230048
|
||||
940348010
|
||||
-521487154
|
||||
196319826
|
||||
-827331032
|
||||
606501605
|
||||
419601479
|
||||
\N
|
||||
\N
|
||||
-763299772
|
||||
-551662126
|
||||
-996151300
|
||||
656870503
|
||||
569347075
|
||||
-768904837
|
||||
\N
|
||||
-364654847
|
||||
-352793070
|
||||
-560639559
|
||||
\N
|
||||
69488952
|
||||
-236949153
|
||||
8643035
|
||||
722046549
|
||||
772759204
|
||||
934327163
|
||||
952426653
|
||||
-992250784
|
||||
-688516267
|
||||
\N
|
||||
23371654
|
||||
-277401737
|
||||
\N
|
||||
392817327
|
||||
-455495167
|
||||
208331771
|
||||
76220225
|
||||
-965469751
|
||||
-117604765
|
||||
134109425
|
||||
-286846823
|
||||
-976521495
|
||||
359070260
|
||||
-1033796401
|
||||
397275542
|
||||
928779613
|
||||
\N
|
||||
-479010011
|
||||
-408187297
|
||||
\N
|
||||
-544847539
|
||||
\N
|
||||
-328541470
|
||||
862677577
|
||||
-742793122
|
||||
-221057238
|
||||
-743659309
|
||||
-165126079
|
||||
-241769542
|
||||
-634439156
|
||||
228542599
|
||||
70091032
|
||||
763329904
|
||||
-269836367
|
||||
-86158045
|
||||
\N
|
||||
279028361
|
||||
-575426235
|
||||
-726811335
|
||||
260613141
|
||||
176220403
|
||||
-722725936
|
||||
800015615
|
||||
-223367075
|
||||
338624364
|
||||
195939828
|
||||
-751945238
|
||||
348787257
|
||||
-997923024
|
||||
-8605001
|
||||
-568010250
|
||||
\N
|
||||
-962777966
|
||||
870581366
|
||||
-713036908
|
||||
-307366031
|
||||
1058650551
|
||||
-8016540
|
||||
604533525
|
||||
774656817
|
||||
-148155805
|
||||
194042034
|
||||
944121304
|
||||
502530876
|
||||
-728423603
|
||||
567787452
|
||||
1051834880
|
||||
-1050394394
|
||||
843329917
|
||||
-583580255
|
||||
\N
|
||||
814196699
|
||||
1041013209
|
||||
-532683489
|
||||
644480699
|
||||
-1064568183
|
||||
-302358011
|
||||
66224442
|
||||
-779159623
|
||||
373241073
|
||||
652059193
|
||||
153158612
|
||||
1019561792
|
||||
-159367912
|
||||
764825007
|
||||
277019219
|
||||
539033342
|
||||
-99541768
|
||||
-748934480
|
||||
683758505
|
||||
\N
|
||||
110932412
|
||||
875195202
|
||||
154556209
|
||||
109603003
|
||||
32090837
|
||||
-763742564
|
||||
-76548222
|
||||
-910116085
|
||||
675149363
|
||||
-813726843
|
||||
-366033349
|
||||
995685874
|
||||
-987030706
|
||||
-135458917
|
||||
985423987
|
||||
-293582113
|
||||
88167527
|
||||
962971281
|
||||
\N
|
||||
345458787
|
||||
244011716
|
||||
530986493
|
||||
-985258624
|
||||
-972350494
|
||||
84247136
|
||||
854078794
|
||||
377796622
|
||||
-324275021
|
||||
-878489620
|
||||
864262985
|
||||
180124912
|
||||
\N
|
||||
-793083147
|
||||
-352435244
|
||||
-462586860
|
||||
-74556106
|
||||
28209937
|
||||
222627005
|
||||
\N
|
||||
-760794594
|
600
contrib/btree_gist/data/int8.data
Normal file
600
contrib/btree_gist/data/int8.data
Normal file
|
@ -0,0 +1,600 @@
|
|||
571162582773129
|
||||
-968633726566092
|
||||
-84469929177915858
|
||||
4162557330816307
|
||||
37260777124104530
|
||||
-4777143170215921
|
||||
-18226963197866476
|
||||
-8625828876661828
|
||||
7656239724464679
|
||||
-5489288588377948
|
||||
-63386438189169149
|
||||
75567289191112039
|
||||
-41526404145192890
|
||||
-4533895872892689
|
||||
-82739169202936497
|
||||
6911236575041352
|
||||
75842816214481185
|
||||
\N
|
||||
7669153338841222
|
||||
-37026243121878430
|
||||
-3175877126637642
|
||||
-16007995163334251
|
||||
-3395795664631244
|
||||
63935989156878460
|
||||
-16954091159640632
|
||||
5318858710978884
|
||||
-3108641393657255
|
||||
55102218209821952
|
||||
-8798896163938228
|
||||
-2840321381342671
|
||||
73738755119374157
|
||||
59644096131825710
|
||||
-84322607121172895
|
||||
-60180910135826388
|
||||
-2124570924863354
|
||||
-10333657186851396
|
||||
58703296194197255
|
||||
56676327154787999
|
||||
8481545099866909
|
||||
464571291354841
|
||||
\N
|
||||
-32049226128340060
|
||||
\N
|
||||
62491046169211228
|
||||
-4178902379487935
|
||||
-58704035165707105
|
||||
-4370744691117233
|
||||
-1145699597209467
|
||||
71898480208016040
|
||||
40210785139855015
|
||||
30111868125808287
|
||||
3442459016537352
|
||||
\N
|
||||
-9847254040823009
|
||||
28204892100790341
|
||||
58222430175280391
|
||||
-5250734726525414
|
||||
\N
|
||||
7331215572768482
|
||||
\N
|
||||
7855555216013852
|
||||
-8445953483741985
|
||||
-553872842685130
|
||||
3758966176486019
|
||||
\N
|
||||
68254106110727666
|
||||
-779085030760061
|
||||
9530941396584628
|
||||
17210298132952098
|
||||
15654503142207692
|
||||
-12642726199954453
|
||||
95074133209723437
|
||||
-44100539106198634
|
||||
-42897443120872206
|
||||
-70803370174642981
|
||||
53824237192501978
|
||||
14091118778760
|
||||
-72030601214124822
|
||||
27500286125861367
|
||||
-4058285263735350
|
||||
\N
|
||||
850104221271283
|
||||
101571367179586565
|
||||
-105758499180483916
|
||||
14231743102597792
|
||||
9115311735961929
|
||||
-5264208557722402
|
||||
1462317488951483
|
||||
88960681204192702
|
||||
79197578144317932
|
||||
32261563115032881
|
||||
-19665360148210462
|
||||
-94405000169758831
|
||||
\N
|
||||
5681300149925625
|
||||
5558458639524735
|
||||
-81538564141087644
|
||||
5508723459108571
|
||||
-29815658164026313
|
||||
46416288118123076
|
||||
-2080732169659869
|
||||
\N
|
||||
6778478169280557
|
||||
-51815253164990834
|
||||
-5552057233004262
|
||||
-3530123878334630
|
||||
\N
|
||||
-79781393192459088
|
||||
81091470135265063
|
||||
-3174546872057439
|
||||
-43491832133972989
|
||||
-26029833130989740
|
||||
3551109553373570
|
||||
\N
|
||||
-982183979826234
|
||||
13323171191699130
|
||||
-3271539392992822
|
||||
478227196042750
|
||||
-41112576193858203
|
||||
97184864103977346
|
||||
73232664160658748
|
||||
3461370054794093
|
||||
5763508331306600
|
||||
-54067138148025345
|
||||
-75460101103530266
|
||||
-315484375600487
|
||||
9769190516994377
|
||||
\N
|
||||
-72400967138661448
|
||||
\N
|
||||
-10234725547449166
|
||||
-6051348037059350
|
||||
-2952261266043490
|
||||
75387914189279439
|
||||
3625967156008709
|
||||
-3766224622641800
|
||||
5898363257062410
|
||||
7698143425285206
|
||||
66546389146435468
|
||||
31200605132406177
|
||||
-3455213658576548
|
||||
47528730130302036
|
||||
62432830201286045
|
||||
-88472988116517129
|
||||
6825920650153638
|
||||
-46045869146143591
|
||||
6326172435402615
|
||||
-5919362998522005
|
||||
36401689161832477
|
||||
80326684899441
|
||||
4144471433608822
|
||||
5800063247595057
|
||||
-44301689196562406
|
||||
-6466479342162519
|
||||
-89535305105978555
|
||||
37464982130305086
|
||||
60232609173699392
|
||||
98323565101041419
|
||||
40099224107628429
|
||||
3226497172413119
|
||||
9238219853212754
|
||||
-1319461392548924
|
||||
97305838213564393
|
||||
752930892266536
|
||||
28408158162749842
|
||||
-87755317206819285
|
||||
80611167141629044
|
||||
-94055745195646002
|
||||
-73914297162645226
|
||||
-8246391150836051
|
||||
48938555118563058
|
||||
\N
|
||||
-21228069105374351
|
||||
-31494183206308739
|
||||
\N
|
||||
\N
|
||||
-559081218598528
|
||||
17582315157740574
|
||||
74577592104106586
|
||||
-66735635209305671
|
||||
68257070213090596
|
||||
-6488749444380913
|
||||
-36968819122130413
|
||||
-35640469185246031
|
||||
9784971155581421
|
||||
21965956184257469
|
||||
-33025198141891978
|
||||
49224647180407910
|
||||
5142127206085466
|
||||
-40935100123530887
|
||||
533636213233375
|
||||
105489717166223849
|
||||
-131230197744959
|
||||
41828998199086393
|
||||
1971243766433517
|
||||
-873934263916195
|
||||
-2268220620617840
|
||||
\N
|
||||
-2212273711508266
|
||||
2523744596981136
|
||||
97944271015587
|
||||
1720454174447185
|
||||
-1051086313079088
|
||||
-91905196206426419
|
||||
-31531876151110971
|
||||
69747799124920022
|
||||
4700849531099668
|
||||
-57732117189691029
|
||||
2847488818621365
|
||||
357976652379232
|
||||
-32560447173517911
|
||||
-1158053397641905
|
||||
-21736437137866308
|
||||
-17430356141694709
|
||||
-29946543151537742
|
||||
4728756183450097
|
||||
-70989678146724148
|
||||
78026986123049651
|
||||
3541070096728143
|
||||
1103371642176407
|
||||
-78857021155945773
|
||||
-104651503212762593
|
||||
-72082479133841767
|
||||
2868615668375126
|
||||
-7420152739539637
|
||||
-556652372234871
|
||||
-55819000120597832
|
||||
-91907154152964612
|
||||
-2727691960839202
|
||||
62416504185893525
|
||||
4619484558504848
|
||||
484698539302511
|
||||
5864338017307905
|
||||
-65197962143482233
|
||||
\N
|
||||
90881747107819569
|
||||
54643963175081891
|
||||
\N
|
||||
-34792399104423355
|
||||
-28850436210552816
|
||||
5001330979085503
|
||||
72990723181773288
|
||||
69414211169505452
|
||||
\N
|
||||
-55512818157891961
|
||||
10050528050060089
|
||||
-613762631776546
|
||||
38246351168205376
|
||||
-5786513272830532
|
||||
101738698195446145
|
||||
\N
|
||||
-77765032167083438
|
||||
-84816033119249140
|
||||
105242892203914398
|
||||
92055393128607360
|
||||
-34862239187356390
|
||||
12061146172958360
|
||||
7111235810225910
|
||||
8968206663351549
|
||||
-106417733134789736
|
||||
-34321050141796771
|
||||
3585839741182305
|
||||
-38410339162250019
|
||||
-61235896190749913
|
||||
53837300138272042
|
||||
-9188389860977835
|
||||
81031910126275164
|
||||
-43990369169635449
|
||||
-61494936120005403
|
||||
70138886163788387
|
||||
-91544802167010959
|
||||
-9164807100625716
|
||||
835704521750764
|
||||
97684808164908969
|
||||
1047818917821302
|
||||
43113961189441677
|
||||
-24182774203744737
|
||||
-1221002133469832
|
||||
-35060838149098801
|
||||
\N
|
||||
8409585462972514
|
||||
-7157963742358126
|
||||
26000275165530950
|
||||
-9522779489052570
|
||||
56854170165153244
|
||||
-85847371170247458
|
||||
16772952161612585
|
||||
-48765236169076760
|
||||
10402001581872476
|
||||
\N
|
||||
18148261189922237
|
||||
-53074917120516766
|
||||
\N
|
||||
6176962454225695
|
||||
9932356559664520
|
||||
\N
|
||||
-2133998678192202
|
||||
-104142621205586199
|
||||
92986938175269298
|
||||
-257176878614913
|
||||
47849345165295943
|
||||
-7719754534416116
|
||||
-9789607872482825
|
||||
-41667560211143782
|
||||
62163616168923197
|
||||
-9438915483943230
|
||||
9870229482590359
|
||||
64345519117194501
|
||||
-11025440131551888
|
||||
-91121534101114861
|
||||
-5603896551067982
|
||||
\N
|
||||
104654486191030769
|
||||
8126142532532604
|
||||
2739168944145437
|
||||
810913166922484
|
||||
-2275160635018706
|
||||
-5590175254646458
|
||||
-74033091125584591
|
||||
71055832144361004
|
||||
-51757850204494955
|
||||
-5420931332383096
|
||||
-91398360142997499
|
||||
-18179323160814887
|
||||
-91113201173019563
|
||||
-54605499214110886
|
||||
-7765905699369496
|
||||
65516124193198338
|
||||
-47405416136137551
|
||||
\N
|
||||
-430277287965650
|
||||
19642228156903804
|
||||
-35249292101345079
|
||||
2799652787535702
|
||||
-57468661185387080
|
||||
-23797897140461786
|
||||
4713853950884486
|
||||
53063490172759270
|
||||
-97546793157524699
|
||||
14992347152649764
|
||||
83034727103573700
|
||||
-378837396167658
|
||||
-6394357106445826
|
||||
40448837177180348
|
||||
93922571105944376
|
||||
70215001351267
|
||||
1422473144953269
|
||||
-19485771168366142
|
||||
3871292384756271
|
||||
27669760207256401
|
||||
-9519109972178611
|
||||
87342599111176867
|
||||
438163125486326
|
||||
-3342596077562208
|
||||
95638921175035575
|
||||
-8455888025381745
|
||||
-5553812170504574
|
||||
1028731887465695
|
||||
1874801639655453
|
||||
-6460339926511384
|
||||
12935207104254160
|
||||
18702887190948042
|
||||
38973128194072985
|
||||
-74007477194642941
|
||||
48329901174621299
|
||||
-38776912163952004
|
||||
73217306123132502
|
||||
10033544840731274
|
||||
\N
|
||||
-7106499073575381
|
||||
-72577317113294180
|
||||
-5755101056886868
|
||||
-2153332538359850
|
||||
3675308624690700
|
||||
-103461942101729940
|
||||
-64592601205133764
|
||||
31745072163056028
|
||||
-8827303101164453
|
||||
\N
|
||||
9920716477549680
|
||||
19269113140876068
|
||||
10346764378482915
|
||||
-9547067291656372
|
||||
\N
|
||||
68899277111163150
|
||||
-5154067635858711
|
||||
94977075194786589
|
||||
87693228128699438
|
||||
7485821479753669
|
||||
-8472668186271245
|
||||
2589559354466271
|
||||
107349961123032263
|
||||
-78000859126368058
|
||||
3033692340944986
|
||||
-56442118204131253
|
||||
\N
|
||||
8313139926300583
|
||||
\N
|
||||
20174427169387802
|
||||
-20817519112818564
|
||||
29328370152711004
|
||||
-10310696988128501
|
||||
6742185960379702
|
||||
9975388579236356
|
||||
\N
|
||||
-75913155126775951
|
||||
-47356034144438153
|
||||
64337514105141385
|
||||
84133515165177048
|
||||
85904591142596001
|
||||
154102825333184
|
||||
82448968210511128
|
||||
\N
|
||||
-4132665145813622
|
||||
457257666629329
|
||||
\N
|
||||
-65756686131235045
|
||||
5770121211587146
|
||||
\N
|
||||
-681329651615480
|
||||
18252938164428001
|
||||
\N
|
||||
-964719458030678
|
||||
-4727044638245516
|
||||
14382487198474686
|
||||
104931686129854363
|
||||
\N
|
||||
-524490443508808
|
||||
-5409828867122403
|
||||
-9181546297405233
|
||||
148961126577670
|
||||
-457861622113867
|
||||
\N
|
||||
-8291535678315181
|
||||
31193366146847993
|
||||
-29045667151925792
|
||||
76199591212655385
|
||||
101708151208313969
|
||||
\N
|
||||
7611981289809249
|
||||
-4063202412293642
|
||||
93382613193471632
|
||||
-66793190128641761
|
||||
2119337550577124
|
||||
50006559150465155
|
||||
-37785078129030470
|
||||
67070256141072548
|
||||
-57427591153091745
|
||||
\N
|
||||
56930159168628907
|
||||
6262653086116434
|
||||
1812020175980923
|
||||
-60824628201994696
|
||||
-41445956104770511
|
||||
-98561174197889445
|
||||
65081378137952117
|
||||
-4709913937816332
|
||||
15168293135976771
|
||||
-79444556211593680
|
||||
54524573183207193
|
||||
\N
|
||||
80599107103738466
|
||||
-15080292202625850
|
||||
3599922292681710
|
||||
10548113488081741
|
||||
-16095559175518178
|
||||
77523877187189428
|
||||
-1425168149826835
|
||||
3224427236896674
|
||||
-35199492127195051
|
||||
-6069164398850959
|
||||
9796493012969240
|
||||
1655940150099642
|
||||
5593028453315162
|
||||
54543795101679613
|
||||
-4901907019878396
|
||||
-16277768201853340
|
||||
42702008211664372
|
||||
100465864162056788
|
||||
\N
|
||||
-7259772955295969
|
||||
-43344869168379475
|
||||
2387994273960108
|
||||
6813412213220101
|
||||
-35045975201264603
|
||||
-4169039115935033
|
||||
-3465320744627564
|
||||
\N
|
||||
-8774505320366729
|
||||
-10234221080903233
|
||||
\N
|
||||
-33431287210348996
|
||||
-18686684154709649
|
||||
11065021143131398
|
||||
98202891135320415
|
||||
-4804117047782001
|
||||
-8602172936734534
|
||||
1510532842674793
|
||||
\N
|
||||
-48895594123983692
|
||||
1551674012705189
|
||||
-9340844216200742
|
||||
45730748190013165
|
||||
94523139162337073
|
||||
2609069738447319
|
||||
7695297236865360
|
||||
-18562157167827878
|
||||
-1388967693233129
|
||||
-3838287274649635
|
||||
36110661195956474
|
||||
-5738342872254390
|
||||
-5116252556595312
|
||||
7682319991347229
|
||||
55542449158580255
|
||||
-3007003760543423
|
||||
7296692443452118
|
||||
1155927925107625
|
||||
7543653043525059
|
||||
\N
|
||||
-94909898165568234
|
||||
41218109154904764
|
||||
6633352313198796
|
||||
-15778782124332590
|
||||
103491985174098803
|
||||
-1784322577952292
|
||||
-9096880634185423
|
||||
5075356316566121
|
||||
5795491194207193
|
||||
70413333187654805
|
||||
60851035164462435
|
||||
-81411679171424293
|
||||
89150284196809557
|
||||
-8141710960632445
|
||||
21739482143854904
|
||||
104172284182307094
|
||||
-9010915383273451
|
||||
102243779193394851
|
||||
1446591350291789
|
||||
20672486141595277
|
||||
-10451707129953600
|
||||
3808314557084451
|
||||
4202888939347042
|
||||
61647148205322240
|
||||
\N
|
||||
79376379132868914
|
||||
8760919795930088
|
||||
-45661711132605083
|
||||
-970917635875382
|
||||
\N
|
||||
-105361387199605165
|
||||
-4047373221704350
|
||||
50014571178988278
|
||||
\N
|
||||
-1945986026058284
|
||||
-70697134125038763
|
||||
968299419395944
|
||||
-54310692168796488
|
||||
-57071775143358867
|
||||
634196190032528
|
||||
87012477120875722
|
||||
1524418494420369
|
||||
4675805785402153
|
||||
-6649246646077956
|
||||
29400170100479605
|
||||
-88735135555188
|
||||
958687447945394
|
||||
36322738110509385
|
||||
-4530787153175354
|
||||
7246095930595264
|
||||
25762424121462081
|
||||
-101889593195744622
|
||||
-12299006125085795
|
||||
-8970808434914172
|
||||
-6316433271930092
|
||||
-4071744674545863
|
||||
12598555199787281
|
||||
64522791141639046
|
||||
91810857119110814
|
||||
-63801044209819006
|
||||
-8216052623004959
|
||||
\N
|
||||
-43255707123485242
|
||||
4483587649977559
|
||||
-7266625765593156
|
||||
-3085636132347609
|
||||
-72544126194422740
|
||||
-42452203161494667
|
||||
\N
|
||||
-65498988106251024
|
||||
-53102696163635269
|
||||
6547188826700461
|
||||
13150951201167246
|
||||
10110681961565834
|
||||
-73380538100200918
|
||||
98881899210477509
|
||||
21804516135251682
|
||||
-78292833188851738
|
||||
-31304191599521
|
||||
-21287065172320779
|
||||
3221074184065080
|
612
contrib/btree_gist/data/interval.data
Normal file
612
contrib/btree_gist/data/interval.data
Normal file
|
@ -0,0 +1,612 @@
|
|||
1748 days 11:26:21
|
||||
-2771 days -11:53:23
|
||||
-6230 days -20:26:04
|
||||
8945 days 14:56:37
|
||||
3581 days 23:33:20
|
||||
199 days 21:21:23
|
||||
\N
|
||||
\N
|
||||
-3568 days -06:07:25
|
||||
-3738 days -10:16:35
|
||||
1798 days 04:44:12
|
||||
10847 days 22:03:35
|
||||
-9527 days -15:38:39
|
||||
9648 days 10:24:38
|
||||
2256 days 12:07:24
|
||||
-4327 days -18:09:39
|
||||
-10857 days -13:31:07
|
||||
-5953 days -22:31:57
|
||||
6040 days 10:40:15
|
||||
10316 days 08:23:28
|
||||
-6639 days -19:43:47
|
||||
-8066 days -00:23:40
|
||||
2249 days 15:40:53
|
||||
10792 days 15:10:06
|
||||
-6302 days -16:08:38
|
||||
-12058 days -02:55:05
|
||||
-5738 days -10:39:26
|
||||
-10108 days -21:09:51
|
||||
-58 days -02:15:25
|
||||
-12240 days -03:38:13
|
||||
-59 days -11:53:16
|
||||
799 days 02:04:53
|
||||
7911 days 23:12:01
|
||||
242 days 03:57:29
|
||||
-390 days -13:23:08
|
||||
-5179 days -18:01:34
|
||||
-8577 days -17:10:05
|
||||
-11369 days -02:10:38
|
||||
-332 days -12:27:59
|
||||
1421 days 05:21:36
|
||||
-1310 days -17:18:48
|
||||
11773 days 16:56:50
|
||||
-4543 days -00:45:49
|
||||
-662 days -15:27:34
|
||||
-4847 days -13:30:15
|
||||
-7971 days -06:18:34
|
||||
1757 days 09:59:42
|
||||
3574 days 17:17:41
|
||||
2119 days 23:22:46
|
||||
-2935 days -00:26:37
|
||||
-3700 days -15:35:25
|
||||
-12058 days -21:45:31
|
||||
1503 days 09:38:15
|
||||
10519 days 23:34:24
|
||||
3575 days 18:19:24
|
||||
-10828 days -04:14:35
|
||||
-10607 days -12:28:31
|
||||
-938 days -02:09:57
|
||||
3453 days 17:25:05
|
||||
\N
|
||||
-548 days -16:15:50
|
||||
-2594 days -09:39:39
|
||||
9024 days 05:44:35
|
||||
3370 days 21:44:34
|
||||
5502 days 15:10:21
|
||||
-11567 days -18:48:51
|
||||
-8329 days -12:27:53
|
||||
-6252 days -20:27:48
|
||||
9289 days 07:37:58
|
||||
8992 days 06:37:03
|
||||
-394 days -20:24:39
|
||||
-7805 days -00:20:59
|
||||
-12405 days -02:00:04
|
||||
11065 days 23:25:32
|
||||
-5991 days -05:00:15
|
||||
-2667 days -22:58:04
|
||||
7340 days 03:25:50
|
||||
-3432 days -02:02:37
|
||||
6979 days 12:44:26
|
||||
8861 days 12:43:57
|
||||
10377 days 06:21:51
|
||||
-1995 days -03:16:36
|
||||
-136 days -20:25:24
|
||||
4901 days 00:01:21
|
||||
-2662 days -17:36:30
|
||||
-10533 days -00:09:32
|
||||
90 days 15:09:55
|
||||
8068 days 00:10:48
|
||||
-10598 days -23:22:17
|
||||
10085 days 00:31:05
|
||||
-8281 days -13:41:52
|
||||
3990 days 05:29:52
|
||||
-8972 days -12:32:59
|
||||
-2321 days -22:15:46
|
||||
6416 days 13:43:59
|
||||
7215 days 15:02:19
|
||||
2076 days 01:43:17
|
||||
-3553 days -07:10:15
|
||||
8218 days 00:01:00
|
||||
-5766 days -19:25:21
|
||||
7727 days 10:36:16
|
||||
3414 days 01:24:30
|
||||
-8957 days -15:29:24
|
||||
7902 days 12:30:47
|
||||
-1183 days -04:35:24
|
||||
10302 days 09:31:47
|
||||
6163 days 06:46:15
|
||||
-10350 days -16:27:57
|
||||
1994 days 09:38:44
|
||||
7490 days 03:19:36
|
||||
4127 days 01:50:41
|
||||
\N
|
||||
-4752 days -00:03:05
|
||||
9072 days 06:11:14
|
||||
5565 days 12:40:05
|
||||
11477 days 07:08:16
|
||||
155 days 08:17:54
|
||||
-10799 days -21:17:31
|
||||
6978 days 06:44:44
|
||||
-11813 days -04:32:46
|
||||
1322 days 23:25:33
|
||||
-4172 days -07:54:00
|
||||
-6942 days -21:56:44
|
||||
1335 days 21:19:11
|
||||
523 days 18:08:28
|
||||
220 days 19:05:42
|
||||
-1801 days -17:12:44
|
||||
9763 days 05:23:55
|
||||
-10965 days -20:16:30
|
||||
6490 days 09:05:30
|
||||
-11980 days -18:36:02
|
||||
2954 days 00:41:14
|
||||
-7538 days -14:38:35
|
||||
-2728 days -06:27:30
|
||||
-4375 days -16:56:38
|
||||
-5275 days -17:22:29
|
||||
-12473 days -22:15:51
|
||||
\N
|
||||
2846 days 01:22:08
|
||||
8534 days 23:36:42
|
||||
10552 days 08:10:01
|
||||
1321 days 07:26:00
|
||||
-3600 days -00:48:35
|
||||
7951 days 17:51:17
|
||||
183 days 06:52:48
|
||||
-8472 days -18:01:29
|
||||
-936 days -12:03:46
|
||||
5467 days 14:23:59
|
||||
-8553 days -02:53:57
|
||||
-11491 days -03:21:12
|
||||
-10648 days -02:26:43
|
||||
-2966 days -06:58:23
|
||||
-12431 days -06:22:30
|
||||
-9162 days -11:37:47
|
||||
2698 days 22:29:45
|
||||
4416 days 08:44:27
|
||||
482 days 16:02:41
|
||||
-9629 days -22:39:29
|
||||
10917 days 12:49:36
|
||||
-3495 days -07:20:56
|
||||
5625 days 20:16:12
|
||||
1548 days 10:21:09
|
||||
-12923 days -05:28:48
|
||||
-2310 days -07:49:09
|
||||
7677 days 13:21:01
|
||||
8530 days 06:54:22
|
||||
-2696 days -09:55:01
|
||||
7343 days 01:40:45
|
||||
-4009 days -08:22:33
|
||||
7190 days 21:23:41
|
||||
1974 days 22:02:10
|
||||
6034 days 22:30:57
|
||||
-11697 days -04:47:36
|
||||
10012 days 08:11:09
|
||||
1204 days 14:58:21
|
||||
4667 days 23:00:42
|
||||
-10120 days -01:41:49
|
||||
8885 days 22:17:23
|
||||
-995 days -14:46:27
|
||||
565 days 02:23:32
|
||||
8068 days 19:50:34
|
||||
6715 days 00:51:20
|
||||
-2833 days -02:13:10
|
||||
-7675 days -19:12:28
|
||||
-6696 days -06:23:39
|
||||
1911 days 12:17:48
|
||||
-1128 days -04:26:05
|
||||
-7445 days -08:21:53
|
||||
-3892 days -14:50:27
|
||||
-5745 days -12:46:01
|
||||
-7389 days -21:27:09
|
||||
11436 days 05:06:06
|
||||
-2183 days -17:44:21
|
||||
-8301 days -19:05:16
|
||||
4941 days 10:04:16
|
||||
-1342 days -00:42:15
|
||||
-12044 days -01:16:13
|
||||
2758 days 20:28:33
|
||||
2832 days 18:05:22
|
||||
8076 days 00:20:56
|
||||
1457 days 19:01:58
|
||||
3509 days 06:02:22
|
||||
8288 days 14:43:44
|
||||
-7354 days -22:38:15
|
||||
-1453 days -23:14:42
|
||||
-7944 days -18:27:40
|
||||
-239 days -13:56:15
|
||||
-9699 days -18:33:50
|
||||
-10236 days -01:21:09
|
||||
-7188 days -09:39:59
|
||||
3234 days 15:52:22
|
||||
-10441 days -02:00:33
|
||||
-4574 days -17:32:16
|
||||
5013 days 04:00:31
|
||||
-4047 days -11:12:00
|
||||
\N
|
||||
-10041 days -01:03:19
|
||||
-12435 days -15:40:06
|
||||
-11694 days -07:11:46
|
||||
-434 days -05:39:07
|
||||
-19 days -16:31:13
|
||||
-4947 days -03:22:20
|
||||
6049 days 18:30:28
|
||||
-5790 days -13:09:39
|
||||
480 days 23:23:21
|
||||
2155 days 05:03:12
|
||||
2438 days 18:45:31
|
||||
7113 days 01:18:52
|
||||
-3259 days -19:19:31
|
||||
-9646 days -06:50:26
|
||||
-7176 days -15:17:24
|
||||
10588 days 22:57:01
|
||||
7427 days 09:25:16
|
||||
-7762 days -14:43:54
|
||||
3761 days 15:53:03
|
||||
290 days 15:40:32
|
||||
5955 days 19:07:54
|
||||
-7101 days -15:58:50
|
||||
1283 days 15:54:51
|
||||
-1856 days -20:27:35
|
||||
3953 days 03:13:19
|
||||
\N
|
||||
6286 days 00:33:36
|
||||
10668 days 05:28:51
|
||||
11000 days 14:01:35
|
||||
4973 days 08:38:59
|
||||
7503 days 08:55:14
|
||||
2837 days 06:51:40
|
||||
-2162 days -17:29:50
|
||||
9735 days 22:31:27
|
||||
-12643 days -09:03:02
|
||||
-3099 days -23:05:58
|
||||
3574 days 14:34:48
|
||||
-8487 days -16:33:27
|
||||
-3814 days -13:46:46
|
||||
-247 days -13:57:10
|
||||
109 days 02:01:52
|
||||
6894 days 03:39:53
|
||||
2791 days 23:24:16
|
||||
5763 days 15:52:42
|
||||
4160 days 22:20:52
|
||||
-3047 days -15:41:28
|
||||
10129 days 05:48:14
|
||||
655 days 21:22:30
|
||||
-1249 days -13:46:55
|
||||
-670 days -09:57:10
|
||||
8853 days 20:36:22
|
||||
31 days 23:14:00
|
||||
9370 days 13:03:26
|
||||
3914 days 00:30:54
|
||||
5921 days 22:43:34
|
||||
-3753 days -06:14:50
|
||||
9099 days 02:17:12
|
||||
2865 days 11:17:43
|
||||
2057 days 15:01:53
|
||||
-4108 days -10:23:00
|
||||
-5066 days -21:37:35
|
||||
2863 days 22:15:47
|
||||
-5654 days -14:37:25
|
||||
-11724 days -08:14:41
|
||||
-9317 days -17:40:37
|
||||
-12683 days -19:56:10
|
||||
-10364 days -01:28:57
|
||||
-12270 days -05:47:08
|
||||
-12181 days -06:26:48
|
||||
8378 days 09:56:31
|
||||
-9114 days -01:00:41
|
||||
-1174 days -22:58:50
|
||||
-9308 days -12:04:06
|
||||
1535 days 01:19:45
|
||||
-7855 days -05:25:15
|
||||
4205 days 00:35:17
|
||||
10507 days 04:27:33
|
||||
\N
|
||||
-566 days -01:36:09
|
||||
-11306 days -14:17:28
|
||||
-10463 days -09:44:02
|
||||
-2679 days -12:29:05
|
||||
7233 days 00:29:37
|
||||
-2959 days -14:45:29
|
||||
7409 days 12:12:27
|
||||
-2951 days -00:37:54
|
||||
6076 days 00:27:14
|
||||
1989 days 12:23:54
|
||||
-6286 days -00:15:17
|
||||
-5485 days -14:17:50
|
||||
-8739 days -17:42:24
|
||||
3875 days 11:24:17
|
||||
-3004 days -13:30:19
|
||||
10383 days 10:08:29
|
||||
-8261 days -01:24:41
|
||||
-4398 days -10:43:25
|
||||
8738 days 00:40:22
|
||||
6148 days 23:56:32
|
||||
-5789 days -14:22:50
|
||||
4747 days 18:58:16
|
||||
11555 days 21:52:56
|
||||
7034 days 06:35:38
|
||||
-12510 days -12:02:30
|
||||
-7087 days -08:28:34
|
||||
-7587 days -23:09:54
|
||||
4831 days 16:01:13
|
||||
-7746 days -16:43:47
|
||||
1962 days 11:08:54
|
||||
-7050 days -07:09:35
|
||||
-2595 days -08:02:15
|
||||
3135 days 16:20:43
|
||||
4114 days 06:42:47
|
||||
6542 days 05:09:18
|
||||
-11449 days -20:54:48
|
||||
9299 days 12:41:02
|
||||
4299 days 05:30:41
|
||||
-196 days -14:43:53
|
||||
9134 days 16:01:15
|
||||
10910 days 00:53:35
|
||||
-10974 days -17:26:16
|
||||
2952 days 07:37:10
|
||||
-8030 days -20:45:05
|
||||
-4037 days -05:51:34
|
||||
7553 days 01:05:58
|
||||
-2253 days -15:17:36
|
||||
-3808 days -13:47:12
|
||||
-5893 days -02:28:14
|
||||
8697 days 09:10:41
|
||||
-12560 days -21:45:19
|
||||
\N
|
||||
-6808 days -23:17:31
|
||||
-9275 days -06:24:17
|
||||
-4576 days -04:40:00
|
||||
-926 days -01:54:23
|
||||
-516 days -05:17:15
|
||||
4180 days 07:04:20
|
||||
-9826 days -23:33:11
|
||||
-77 days -03:56:25
|
||||
5599 days 05:02:56
|
||||
1247 days 11:33:16
|
||||
-11522 days -22:07:08
|
||||
1513 days 19:37:30
|
||||
-4664 days -17:59:08
|
||||
1202 days 14:16:15
|
||||
-5539 days -05:18:35
|
||||
-12706 days -23:17:47
|
||||
1735 days 00:57:48
|
||||
3471 days 20:40:18
|
||||
1365 days 00:44:23
|
||||
-8385 days -09:01:45
|
||||
7335 days 06:33:44
|
||||
-9736 days -06:09:59
|
||||
-8423 days -16:05:19
|
||||
-5411 days -17:11:17
|
||||
4304 days 01:12:07
|
||||
-4230 days -03:34:05
|
||||
-6570 days -22:06:27
|
||||
3576 days 05:13:19
|
||||
-2792 days -04:07:12
|
||||
-11528 days -13:42:31
|
||||
6526 days 19:45:07
|
||||
488 days 12:28:03
|
||||
2206 days 11:11:23
|
||||
10428 days 23:47:56
|
||||
-11168 days -16:23:59
|
||||
-689 days -15:58:43
|
||||
-5443 days -06:59:01
|
||||
-8505 days -05:59:07
|
||||
-6971 days -16:02:43
|
||||
5759 days 02:47:33
|
||||
-8460 days -12:54:34
|
||||
-6811 days -04:41:10
|
||||
161 days 04:05:43
|
||||
-3793 days -19:54:41
|
||||
5175 days 16:56:13
|
||||
9629 days 06:41:59
|
||||
-1957 days -20:57:17
|
||||
1386 days 02:52:34
|
||||
-11433 days -12:15:19
|
||||
6995 days 08:16:54
|
||||
-5440 days -13:50:07
|
||||
\N
|
||||
-12569 days -02:07:24
|
||||
-745 days -23:01:35
|
||||
-12126 days -09:59:26
|
||||
-6827 days -06:16:45
|
||||
5415 days 05:31:17
|
||||
-8860 days -05:00:30
|
||||
4263 days 22:01:16
|
||||
5529 days 19:33:03
|
||||
-9951 days -04:31:38
|
||||
4518 days 23:16:10
|
||||
-7559 days -02:17:48
|
||||
-3262 days -00:19:03
|
||||
3369 days 12:43:16
|
||||
7394 days 01:50:49
|
||||
-8384 days -05:35:48
|
||||
10399 days 22:57:43
|
||||
-3315 days -07:19:47
|
||||
3558 days 10:47:06
|
||||
-11365 days -08:52:35
|
||||
7162 days 05:55:08
|
||||
-15 days -11:28:55
|
||||
-1488 days -21:17:32
|
||||
1888 days 11:33:40
|
||||
6764 days 16:00:41
|
||||
3693 days 20:33:29
|
||||
3903 days 20:46:46
|
||||
4438 days 19:02:47
|
||||
10668 days 19:53:49
|
||||
9658 days 03:06:51
|
||||
9572 days 18:13:11
|
||||
11185 days 19:57:35
|
||||
11347 days 15:46:14
|
||||
2565 days 21:15:51
|
||||
-1429 days -16:46:30
|
||||
-7691 days -15:31:38
|
||||
-199 days -22:25:06
|
||||
-2118 days -16:03:13
|
||||
3371 days 12:32:24
|
||||
-12416 days -21:18:04
|
||||
11799 days 18:51:26
|
||||
-5976 days -19:33:37
|
||||
5980 days 13:44:23
|
||||
-1778 days -17:18:48
|
||||
-4636 days -17:45:06
|
||||
-8502 days -15:11:20
|
||||
-3732 days -14:34:28
|
||||
-7282 days -18:28:40
|
||||
5062 days 13:33:02
|
||||
6399 days 13:41:08
|
||||
2291 days 09:09:56
|
||||
9458 days 16:06:07
|
||||
7678 days 05:05:33
|
||||
-12054 days -13:31:00
|
||||
-3362 days -07:41:50
|
||||
-5693 days -21:32:36
|
||||
6597 days 19:10:20
|
||||
5161 days 09:56:55
|
||||
-9860 days -17:18:35
|
||||
-2293 days -23:12:04
|
||||
10459 days 13:16:26
|
||||
2265 days 13:04:27
|
||||
10313 days 14:45:01
|
||||
10054 days 22:24:22
|
||||
2984 days 07:57:12
|
||||
-5791 days -03:00:07
|
||||
6534 days 08:35:43
|
||||
-11438 days -14:25:10
|
||||
-6859 days -16:50:55
|
||||
-8909 days -10:22:34
|
||||
-3517 days -21:18:12
|
||||
7480 days 00:21:27
|
||||
-795 days -15:06:11
|
||||
-9404 days -23:24:01
|
||||
7663 days 01:41:12
|
||||
-713 days -01:01:42
|
||||
1650 days 12:24:05
|
||||
-7495 days -05:04:58
|
||||
4000 days 21:11:36
|
||||
1138 days 18:33:07
|
||||
3944 days 15:56:41
|
||||
3289 days 17:22:03
|
||||
-8837 days -21:25:58
|
||||
-4677 days -15:32:13
|
||||
-10750 days -23:04:22
|
||||
10140 days 05:58:50
|
||||
6143 days 21:16:02
|
||||
3566 days 23:49:41
|
||||
5887 days 06:12:51
|
||||
5423 days 20:58:45
|
||||
5379 days 11:15:53
|
||||
2123 days 03:34:50
|
||||
-9389 days -22:55:12
|
||||
1357 days 02:09:47
|
||||
10142 days 04:25:36
|
||||
-6926 days -18:43:31
|
||||
-6424 days -21:14:28
|
||||
2982 days 10:44:03
|
||||
4922 days 11:17:28
|
||||
-2045 days -18:22:51
|
||||
-8943 days -13:02:39
|
||||
6900 days 17:08:21
|
||||
2510 days 06:39:59
|
||||
-1835 days -22:15:12
|
||||
\N
|
||||
9024 days 00:03:49
|
||||
-2045 days -06:37:43
|
||||
6892 days 06:31:32
|
||||
-9844 days -06:17:20
|
||||
2870 days 23:46:12
|
||||
-5579 days -06:20:34
|
||||
-5641 days -22:13:10
|
||||
10487 days 10:27:35
|
||||
-7233 days -17:17:43
|
||||
-11226 days -05:05:14
|
||||
-5268 days -18:53:33
|
||||
-5999 days -09:32:42
|
||||
11656 days 06:29:49
|
||||
-8175 days -17:55:50
|
||||
10402 days 10:08:40
|
||||
-6480 days -11:33:32
|
||||
1328 days 08:48:12
|
||||
-2460 days -20:50:25
|
||||
-4343 days -20:26:12
|
||||
-12476 days -16:52:49
|
||||
-8221 days -00:19:12
|
||||
10934 days 04:29:47
|
||||
1567 days 06:22:11
|
||||
2907 days 10:19:15
|
||||
9512 days 13:17:14
|
||||
\N
|
||||
10031 days 05:58:55
|
||||
7973 days 06:57:28
|
||||
9828 days 05:58:27
|
||||
-6372 days -11:15:50
|
||||
10012 days 15:27:44
|
||||
-9097 days -03:49:51
|
||||
-7206 days -00:00:34
|
||||
1026 days 00:49:11
|
||||
-1597 days -12:20:05
|
||||
-8648 days -00:44:16
|
||||
-9790 days -02:52:49
|
||||
-981 days -04:10:39
|
||||
-7541 days -05:47:56
|
||||
-7105 days -15:37:54
|
||||
-1748 days -11:26:21
|
||||
-4519 days -23:19:44
|
||||
-7979 days -07:52:25
|
||||
7197 days 03:30:16
|
||||
1833 days 12:06:59
|
||||
-1548 days -14:04:58
|
||||
-5316 days -17:33:46
|
||||
-5486 days -21:42:56
|
||||
49 days 17:17:51
|
||||
9099 days 10:37:14
|
||||
-11276 days -03:05:00
|
||||
7899 days 22:58:17
|
||||
508 days 00:41:03
|
||||
-6076 days -05:36:00
|
||||
-12606 days -00:57:28
|
||||
-7702 days -09:58:18
|
||||
4291 days 23:13:54
|
||||
8567 days 20:57:07
|
||||
-8388 days -07:10:08
|
||||
-9814 days -11:50:01
|
||||
501 days 04:14:32
|
||||
9044 days 03:43:45
|
||||
-8051 days -03:34:59
|
||||
-13806 days -14:21:26
|
||||
-7486 days -22:05:47
|
||||
-11857 days -08:36:12
|
||||
-1806 days -13:41:46
|
||||
-13988 days -15:04:34
|
||||
-1807 days -23:19:37
|
||||
-949 days -09:21:28
|
||||
6163 days 11:45:40
|
||||
-1506 days -07:28:52
|
||||
-2139 days -00:49:29
|
||||
-6928 days -05:27:55
|
||||
-10326 days -04:36:26
|
||||
-13117 days -13:36:59
|
||||
-2080 days -23:54:20
|
||||
-327 days -06:04:45
|
||||
-3059 days -04:45:09
|
||||
10025 days 05:30:29
|
||||
-6291 days -12:12:10
|
||||
-2411 days -02:53:55
|
||||
-6596 days -00:56:36
|
||||
-9719 days -17:44:55
|
||||
8 days 22:33:21
|
||||
1826 days 05:51:20
|
||||
371 days 11:56:25
|
||||
-4683 days -11:52:58
|
||||
-5449 days -03:01:46
|
||||
-13807 days -09:11:52
|
||||
-245 days -01:48:06
|
||||
8771 days 12:08:03
|
||||
1827 days 06:53:03
|
||||
-12576 days -15:40:56
|
||||
-12355 days -23:54:52
|
||||
-2686 days -13:36:18
|
||||
1705 days 05:58:44
|
||||
-2297 days -03:42:11
|
||||
-4342 days -21:06:00
|
||||
7275 days 18:18:14
|
||||
1622 days 10:18:13
|
||||
3754 days 03:44:00
|
||||
-13316 days -06:15:12
|
||||
-10077 days -23:54:14
|
||||
-8001 days -07:54:09
|
||||
7540 days 20:11:37
|
||||
7243 days 19:10:42
|
||||
-2143 days -07:51:00
|
||||
-9553 days -11:47:20
|
||||
-14153 days -13:26:25
|
644
contrib/btree_gist/data/macaddr.data
Normal file
644
contrib/btree_gist/data/macaddr.data
Normal file
|
@ -0,0 +1,644 @@
|
|||
4a:31:57:23:9b:54
|
||||
e2:cc:11:0d:3a:a5
|
||||
a9:2b:32:79:3e:60
|
||||
53:1c:b9:1d:db:c7
|
||||
\N
|
||||
70:8a:83:2b:c0:23
|
||||
4c:55:af:1e:79:f9
|
||||
b9:4c:7c:39:c1:ee
|
||||
c5:83:ab:17:63:50
|
||||
b4:cf:fc:c4:fe:db
|
||||
12:33:a4:22:4e:a4
|
||||
99:db:22:10:3f:ae
|
||||
f4:31:5b:3a:26:c4
|
||||
\N
|
||||
db:a5:1a:67:bf:b5
|
||||
9c:c6:3f:59:ec:96
|
||||
8f:52:b2:83:41:b4
|
||||
49:ac:2a:44:a4:28
|
||||
0c:51:53:4e:10:79
|
||||
e5:54:31:9d:51:d9
|
||||
d0:8d:79:bd:4f:a1
|
||||
ee:ba:f1:4f:a1:bc
|
||||
76:25:97:80:8b:a7
|
||||
3a:dd:50:3b:82:d0
|
||||
34:8d:ca:fd:24:fc
|
||||
2f:f9:aa:93:0e:70
|
||||
93:29:d0:c2:7a:cb
|
||||
3a:a8:a7:c9:9c:5b
|
||||
8f:6c:0b:a1:1a:22
|
||||
ce:4a:b7:a6:59:9e
|
||||
\N
|
||||
\N
|
||||
e5:bd:83:62:cb:59
|
||||
ba:d9:ed:2f:68:58
|
||||
48:18:7a:6c:cc:2f
|
||||
76:03:b0:d3:ae:9d
|
||||
ef:3c:db:66:d9:82
|
||||
2d:73:91:dd:fb:69
|
||||
33:35:c3:7d:50:49
|
||||
50:a3:e9:24:18:32
|
||||
66:eb:ab:3a:14:2e
|
||||
a9:13:53:36:ee:95
|
||||
1f:4f:b4:57:34:0a
|
||||
60:26:2c:17:5c:d8
|
||||
01:43:b5:79:eb:0f
|
||||
c0:94:5d:b5:41:2c
|
||||
fb:e6:51:d6:49:9c
|
||||
87:7a:23:90:e9:df
|
||||
78:52:28:a5:f9:1f
|
||||
38:b2:03:d7:5d:b3
|
||||
bf:b5:5e:99:80:9f
|
||||
7c:8f:73:5c:07:95
|
||||
ba:b8:6b:d2:ef:ab
|
||||
9f:25:81:eb:33:0a
|
||||
82:cb:7c:44:6a:5f
|
||||
ca:46:2b:3c:cf:7f
|
||||
17:64:2a:89:cf:59
|
||||
\N
|
||||
35:59:4c:9d:5a:0d
|
||||
c9:5e:a4:dd:bb:ae
|
||||
d0:90:56:ef:30:05
|
||||
bd:2d:22:41:42:5e
|
||||
be:49:c2:de:66:22
|
||||
21:cb:55:17:01:c8
|
||||
22:00:5c:e5:9b:0d
|
||||
23:c8:5f:22:33:ca
|
||||
01:02:37:05:4f:36
|
||||
91:ba:08:fd:9e:ed
|
||||
bf:ad:23:1f:3e:4d
|
||||
c4:a6:c5:bd:89:dc
|
||||
b9:13:9f:85:d9:fa
|
||||
7d:b2:c9:07:4f:bc
|
||||
\N
|
||||
7a:84:d0:53:46:30
|
||||
f7:32:0c:87:f0:2f
|
||||
77:15:22:cd:68:a0
|
||||
17:f9:26:35:6e:73
|
||||
d7:21:4d:fe:43:22
|
||||
63:13:3a:af:94:e9
|
||||
f3:11:3c:68:ef:5e
|
||||
76:5a:06:33:31:fe
|
||||
63:d9:b8:ef:ec:36
|
||||
3b:f3:4d:c4:22:e6
|
||||
d0:a2:cb:f9:f1:0b
|
||||
95:0e:76:bc:99:ee
|
||||
ae:e7:64:d9:ce:5b
|
||||
ff:5a:6f:a2:26:9a
|
||||
75:96:d4:72:db:49
|
||||
a8:ac:2a:2a:23:67
|
||||
db:4e:14:4d:b1:7c
|
||||
45:fd:c8:52:05:cf
|
||||
91:7b:e7:6e:23:07
|
||||
71:50:0c:46:78:3d
|
||||
a9:90:9b:c0:b4:fc
|
||||
47:0e:9a:82:af:48
|
||||
e8:1c:cf:c0:16:d1
|
||||
e1:6a:42:25:89:c3
|
||||
\N
|
||||
55:8e:63:3b:44:c8
|
||||
93:8a:78:62:38:70
|
||||
29:81:d2:3d:12:80
|
||||
3e:d1:1e:94:2f:5d
|
||||
fb:8c:c4:ee:84:7c
|
||||
\N
|
||||
cc:ad:28:56:b2:4a
|
||||
52:f6:13:94:b7:03
|
||||
a2:8d:f8:f9:f8:c0
|
||||
57:68:00:9c:1b:f8
|
||||
a6:e2:31:88:8a:b4
|
||||
41:f7:0a:bd:47:08
|
||||
bf:5c:7d:64:08:73
|
||||
33:cc:60:43:05:e1
|
||||
cd:a5:a8:b0:99:14
|
||||
ef:fd:75:f1:3e:99
|
||||
b8:b0:b8:85:80:53
|
||||
7b:1c:fc:5c:b2:c8
|
||||
92:38:0c:df:81:57
|
||||
1e:ab:d4:18:c5:3a
|
||||
b0:a1:c6:88:a3:29
|
||||
c7:37:ec:30:2b:7c
|
||||
5e:5b:32:94:60:f7
|
||||
9d:ab:93:1f:de:1d
|
||||
ff:32:af:ef:10:2e
|
||||
f8:54:03:77:0d:e0
|
||||
49:e4:f8:f7:63:41
|
||||
18:f7:95:42:ea:32
|
||||
f8:a2:40:af:9e:af
|
||||
1d:e2:71:c3:be:6e
|
||||
\N
|
||||
6a:38:d7:a5:b7:cd
|
||||
df:51:52:74:c6:d4
|
||||
f2:05:5e:d2:1e:f3
|
||||
85:a7:b9:dd:80:72
|
||||
ae:ad:f5:1f:d1:7e
|
||||
cf:71:9a:9c:b4:4d
|
||||
\N
|
||||
ac:8d:0f:5b:63:21
|
||||
c4:f0:3e:23:9e:7d
|
||||
45:91:19:00:06:fa
|
||||
c6:b6:30:24:e2:c5
|
||||
48:e1:e1:4a:8f:99
|
||||
cd:74:2c:39:14:e3
|
||||
9b:bb:32:10:ec:14
|
||||
a5:3c:a6:c9:64:14
|
||||
bc:ea:9c:03:76:75
|
||||
d5:29:75:05:8a:5d
|
||||
\N
|
||||
37:92:8f:cb:f1:e5
|
||||
e5:eb:1b:0e:02:58
|
||||
9f:9c:a2:22:a4:25
|
||||
26:f4:f4:e6:b8:cb
|
||||
dd:79:87:70:0b:e7
|
||||
80:87:95:20:cd:ce
|
||||
0d:28:2a:d1:0f:e2
|
||||
05:b8:34:36:55:b0
|
||||
89:03:74:cd:43:a9
|
||||
74:10:93:21:1e:04
|
||||
27:bb:a9:3a:7b:f0
|
||||
73:3c:06:b1:51:ad
|
||||
47:0e:59:c0:5d:38
|
||||
13:13:e1:1c:aa:25
|
||||
4a:31:57:23:9b:54
|
||||
e2:cc:11:0d:3a:a5
|
||||
a9:2b:32:79:3e:60
|
||||
53:1c:b9:1d:db:c7
|
||||
\N
|
||||
70:8a:83:2b:c0:23
|
||||
4c:55:af:1e:79:f9
|
||||
b9:4c:7c:39:c1:ee
|
||||
c5:83:ab:17:63:50
|
||||
b4:cf:fc:c4:fe:db
|
||||
12:33:a4:22:4e:a4
|
||||
99:db:22:10:3f:ae
|
||||
f4:31:5b:3a:26:c4
|
||||
\N
|
||||
db:a5:1a:67:bf:b5
|
||||
9c:c6:3f:59:ec:96
|
||||
8f:52:b2:83:41:b4
|
||||
49:ac:2a:44:a4:28
|
||||
0c:51:53:4e:10:79
|
||||
e5:54:31:9d:51:d9
|
||||
d0:8d:79:bd:4f:a1
|
||||
ee:ba:f1:4f:a1:bc
|
||||
76:25:97:80:8b:a7
|
||||
3a:dd:50:3b:82:d0
|
||||
34:8d:ca:fd:24:fc
|
||||
2f:f9:aa:93:0e:70
|
||||
93:29:d0:c2:7a:cb
|
||||
3a:a8:a7:c9:9c:5b
|
||||
8f:6c:0b:a1:1a:22
|
||||
ce:4a:b7:a6:59:9e
|
||||
\N
|
||||
\N
|
||||
e5:bd:83:62:cb:59
|
||||
ba:d9:ed:2f:68:58
|
||||
48:18:7a:6c:cc:2f
|
||||
76:03:b0:d3:ae:9d
|
||||
ef:3c:db:66:d9:82
|
||||
2d:73:91:dd:fb:69
|
||||
33:35:c3:7d:50:49
|
||||
50:a3:e9:24:18:32
|
||||
66:eb:ab:3a:14:2e
|
||||
a9:13:53:36:ee:95
|
||||
1f:4f:b4:57:34:0a
|
||||
60:26:2c:17:5c:d8
|
||||
01:43:b5:79:eb:0f
|
||||
c0:94:5d:b5:41:2c
|
||||
fb:e6:51:d6:49:9c
|
||||
87:7a:23:90:e9:df
|
||||
78:52:28:a5:f9:1f
|
||||
38:b2:03:d7:5d:b3
|
||||
bf:b5:5e:99:80:9f
|
||||
7c:8f:73:5c:07:95
|
||||
ba:b8:6b:d2:ef:ab
|
||||
9f:25:81:eb:33:0a
|
||||
82:cb:7c:44:6a:5f
|
||||
ca:46:2b:3c:cf:7f
|
||||
17:64:2a:89:cf:59
|
||||
\N
|
||||
35:59:4c:9d:5a:0d
|
||||
c9:5e:a4:dd:bb:ae
|
||||
d0:90:56:ef:30:05
|
||||
bd:2d:22:41:42:5e
|
||||
be:49:c2:de:66:22
|
||||
21:cb:55:17:01:c8
|
||||
22:00:5c:e5:9b:0d
|
||||
23:c8:5f:22:33:ca
|
||||
01:02:37:05:4f:36
|
||||
91:ba:08:fd:9e:ed
|
||||
bf:ad:23:1f:3e:4d
|
||||
c4:a6:c5:bd:89:dc
|
||||
b9:13:9f:85:d9:fa
|
||||
7d:b2:c9:07:4f:bc
|
||||
\N
|
||||
7a:84:d0:53:46:30
|
||||
f7:32:0c:87:f0:2f
|
||||
77:15:22:cd:68:a0
|
||||
17:f9:26:35:6e:73
|
||||
d7:21:4d:fe:43:22
|
||||
63:13:3a:af:94:e9
|
||||
f3:11:3c:68:ef:5e
|
||||
76:5a:06:33:31:fe
|
||||
63:d9:b8:ef:ec:36
|
||||
3b:f3:4d:c4:22:e6
|
||||
d0:a2:cb:f9:f1:0b
|
||||
95:0e:76:bc:99:ee
|
||||
ae:e7:64:d9:ce:5b
|
||||
ff:5a:6f:a2:26:9a
|
||||
75:96:d4:72:db:49
|
||||
a8:ac:2a:2a:23:67
|
||||
db:4e:14:4d:b1:7c
|
||||
45:fd:c8:52:05:cf
|
||||
91:7b:e7:6e:23:07
|
||||
71:50:0c:46:78:3d
|
||||
a9:90:9b:c0:b4:fc
|
||||
47:0e:9a:82:af:48
|
||||
e8:1c:cf:c0:16:d1
|
||||
e1:6a:42:25:89:c3
|
||||
\N
|
||||
55:8e:63:3b:44:c8
|
||||
93:8a:78:62:38:70
|
||||
29:81:d2:3d:12:80
|
||||
3e:d1:1e:94:2f:5d
|
||||
fb:8c:c4:ee:84:7c
|
||||
\N
|
||||
cc:ad:28:56:b2:4a
|
||||
52:f6:13:94:b7:03
|
||||
a2:8d:f8:f9:f8:c0
|
||||
57:68:00:9c:1b:f8
|
||||
a6:e2:31:88:8a:b4
|
||||
41:f7:0a:bd:47:08
|
||||
bf:5c:7d:64:08:73
|
||||
33:cc:60:43:05:e1
|
||||
cd:a5:a8:b0:99:14
|
||||
ef:fd:75:f1:3e:99
|
||||
b8:b0:b8:85:80:53
|
||||
7b:1c:fc:5c:b2:c8
|
||||
92:38:0c:df:81:57
|
||||
1e:ab:d4:18:c5:3a
|
||||
b0:a1:c6:88:a3:29
|
||||
c7:37:ec:30:2b:7c
|
||||
5e:5b:32:94:60:f7
|
||||
9d:ab:93:1f:de:1d
|
||||
ff:32:af:ef:10:2e
|
||||
f8:54:03:77:0d:e0
|
||||
49:e4:f8:f7:63:41
|
||||
18:f7:95:42:ea:32
|
||||
f8:a2:40:af:9e:af
|
||||
1d:e2:71:c3:be:6e
|
||||
\N
|
||||
6a:38:d7:a5:b7:cd
|
||||
df:51:52:74:c6:d4
|
||||
f2:05:5e:d2:1e:f3
|
||||
85:a7:b9:dd:80:72
|
||||
ae:ad:f5:1f:d1:7e
|
||||
cf:71:9a:9c:b4:4d
|
||||
\N
|
||||
ac:8d:0f:5b:63:21
|
||||
c4:f0:3e:23:9e:7d
|
||||
45:91:19:00:06:fa
|
||||
c6:b6:30:24:e2:c5
|
||||
48:e1:e1:4a:8f:99
|
||||
cd:74:2c:39:14:e3
|
||||
9b:bb:32:10:ec:14
|
||||
a5:3c:a6:c9:64:14
|
||||
bc:ea:9c:03:76:75
|
||||
d5:29:75:05:8a:5d
|
||||
\N
|
||||
37:92:8f:cb:f1:e5
|
||||
e5:eb:1b:0e:02:58
|
||||
9f:9c:a2:22:a4:25
|
||||
26:f4:f4:e6:b8:cb
|
||||
dd:79:87:70:0b:e7
|
||||
80:87:95:20:cd:ce
|
||||
0d:28:2a:d1:0f:e2
|
||||
05:b8:34:36:55:b0
|
||||
89:03:74:cd:43:a9
|
||||
74:10:93:21:1e:04
|
||||
27:bb:a9:3a:7b:f0
|
||||
73:3c:06:b1:51:ad
|
||||
47:0e:59:c0:5d:38
|
||||
13:13:e1:1c:aa:25
|
||||
4a:31:57:23:9b:54
|
||||
e2:cc:11:0d:3a:a5
|
||||
a9:2b:32:79:3e:60
|
||||
53:1c:b9:1d:db:c7
|
||||
\N
|
||||
70:8a:83:2b:c0:23
|
||||
4c:55:af:1e:79:f9
|
||||
b9:4c:7c:39:c1:ee
|
||||
c5:83:ab:17:63:50
|
||||
b4:cf:fc:c4:fe:db
|
||||
12:33:a4:22:4e:a4
|
||||
99:db:22:10:3f:ae
|
||||
f4:31:5b:3a:26:c4
|
||||
\N
|
||||
db:a5:1a:67:bf:b5
|
||||
9c:c6:3f:59:ec:96
|
||||
8f:52:b2:83:41:b4
|
||||
49:ac:2a:44:a4:28
|
||||
0c:51:53:4e:10:79
|
||||
e5:54:31:9d:51:d9
|
||||
d0:8d:79:bd:4f:a1
|
||||
ee:ba:f1:4f:a1:bc
|
||||
76:25:97:80:8b:a7
|
||||
3a:dd:50:3b:82:d0
|
||||
34:8d:ca:fd:24:fc
|
||||
2f:f9:aa:93:0e:70
|
||||
93:29:d0:c2:7a:cb
|
||||
3a:a8:a7:c9:9c:5b
|
||||
8f:6c:0b:a1:1a:22
|
||||
ce:4a:b7:a6:59:9e
|
||||
\N
|
||||
\N
|
||||
e5:bd:83:62:cb:59
|
||||
ba:d9:ed:2f:68:58
|
||||
48:18:7a:6c:cc:2f
|
||||
76:03:b0:d3:ae:9d
|
||||
ef:3c:db:66:d9:82
|
||||
2d:73:91:dd:fb:69
|
||||
33:35:c3:7d:50:49
|
||||
50:a3:e9:24:18:32
|
||||
66:eb:ab:3a:14:2e
|
||||
a9:13:53:36:ee:95
|
||||
1f:4f:b4:57:34:0a
|
||||
60:26:2c:17:5c:d8
|
||||
01:43:b5:79:eb:0f
|
||||
c0:94:5d:b5:41:2c
|
||||
fb:e6:51:d6:49:9c
|
||||
87:7a:23:90:e9:df
|
||||
78:52:28:a5:f9:1f
|
||||
38:b2:03:d7:5d:b3
|
||||
bf:b5:5e:99:80:9f
|
||||
7c:8f:73:5c:07:95
|
||||
ba:b8:6b:d2:ef:ab
|
||||
9f:25:81:eb:33:0a
|
||||
82:cb:7c:44:6a:5f
|
||||
ca:46:2b:3c:cf:7f
|
||||
17:64:2a:89:cf:59
|
||||
\N
|
||||
35:59:4c:9d:5a:0d
|
||||
c9:5e:a4:dd:bb:ae
|
||||
d0:90:56:ef:30:05
|
||||
bd:2d:22:41:42:5e
|
||||
be:49:c2:de:66:22
|
||||
21:cb:55:17:01:c8
|
||||
22:00:5c:e5:9b:0d
|
||||
23:c8:5f:22:33:ca
|
||||
01:02:37:05:4f:36
|
||||
91:ba:08:fd:9e:ed
|
||||
bf:ad:23:1f:3e:4d
|
||||
c4:a6:c5:bd:89:dc
|
||||
b9:13:9f:85:d9:fa
|
||||
7d:b2:c9:07:4f:bc
|
||||
\N
|
||||
7a:84:d0:53:46:30
|
||||
f7:32:0c:87:f0:2f
|
||||
77:15:22:cd:68:a0
|
||||
17:f9:26:35:6e:73
|
||||
d7:21:4d:fe:43:22
|
||||
63:13:3a:af:94:e9
|
||||
f3:11:3c:68:ef:5e
|
||||
76:5a:06:33:31:fe
|
||||
63:d9:b8:ef:ec:36
|
||||
3b:f3:4d:c4:22:e6
|
||||
d0:a2:cb:f9:f1:0b
|
||||
95:0e:76:bc:99:ee
|
||||
ae:e7:64:d9:ce:5b
|
||||
ff:5a:6f:a2:26:9a
|
||||
75:96:d4:72:db:49
|
||||
a8:ac:2a:2a:23:67
|
||||
db:4e:14:4d:b1:7c
|
||||
45:fd:c8:52:05:cf
|
||||
91:7b:e7:6e:23:07
|
||||
71:50:0c:46:78:3d
|
||||
a9:90:9b:c0:b4:fc
|
||||
47:0e:9a:82:af:48
|
||||
e8:1c:cf:c0:16:d1
|
||||
e1:6a:42:25:89:c3
|
||||
\N
|
||||
55:8e:63:3b:44:c8
|
||||
93:8a:78:62:38:70
|
||||
29:81:d2:3d:12:80
|
||||
3e:d1:1e:94:2f:5d
|
||||
fb:8c:c4:ee:84:7c
|
||||
\N
|
||||
cc:ad:28:56:b2:4a
|
||||
52:f6:13:94:b7:03
|
||||
a2:8d:f8:f9:f8:c0
|
||||
57:68:00:9c:1b:f8
|
||||
a6:e2:31:88:8a:b4
|
||||
41:f7:0a:bd:47:08
|
||||
bf:5c:7d:64:08:73
|
||||
33:cc:60:43:05:e1
|
||||
cd:a5:a8:b0:99:14
|
||||
ef:fd:75:f1:3e:99
|
||||
b8:b0:b8:85:80:53
|
||||
7b:1c:fc:5c:b2:c8
|
||||
92:38:0c:df:81:57
|
||||
1e:ab:d4:18:c5:3a
|
||||
b0:a1:c6:88:a3:29
|
||||
c7:37:ec:30:2b:7c
|
||||
5e:5b:32:94:60:f7
|
||||
9d:ab:93:1f:de:1d
|
||||
ff:32:af:ef:10:2e
|
||||
f8:54:03:77:0d:e0
|
||||
49:e4:f8:f7:63:41
|
||||
18:f7:95:42:ea:32
|
||||
f8:a2:40:af:9e:af
|
||||
1d:e2:71:c3:be:6e
|
||||
\N
|
||||
6a:38:d7:a5:b7:cd
|
||||
df:51:52:74:c6:d4
|
||||
f2:05:5e:d2:1e:f3
|
||||
85:a7:b9:dd:80:72
|
||||
ae:ad:f5:1f:d1:7e
|
||||
cf:71:9a:9c:b4:4d
|
||||
\N
|
||||
ac:8d:0f:5b:63:21
|
||||
c4:f0:3e:23:9e:7d
|
||||
45:91:19:00:06:fa
|
||||
c6:b6:30:24:e2:c5
|
||||
48:e1:e1:4a:8f:99
|
||||
cd:74:2c:39:14:e3
|
||||
9b:bb:32:10:ec:14
|
||||
a5:3c:a6:c9:64:14
|
||||
bc:ea:9c:03:76:75
|
||||
d5:29:75:05:8a:5d
|
||||
\N
|
||||
37:92:8f:cb:f1:e5
|
||||
e5:eb:1b:0e:02:58
|
||||
9f:9c:a2:22:a4:25
|
||||
26:f4:f4:e6:b8:cb
|
||||
dd:79:87:70:0b:e7
|
||||
80:87:95:20:cd:ce
|
||||
0d:28:2a:d1:0f:e2
|
||||
05:b8:34:36:55:b0
|
||||
89:03:74:cd:43:a9
|
||||
74:10:93:21:1e:04
|
||||
27:bb:a9:3a:7b:f0
|
||||
73:3c:06:b1:51:ad
|
||||
47:0e:59:c0:5d:38
|
||||
13:13:e1:1c:aa:25
|
||||
4a:31:57:23:9b:54
|
||||
e2:cc:11:0d:3a:a5
|
||||
a9:2b:32:79:3e:60
|
||||
53:1c:b9:1d:db:c7
|
||||
\N
|
||||
70:8a:83:2b:c0:23
|
||||
4c:55:af:1e:79:f9
|
||||
b9:4c:7c:39:c1:ee
|
||||
c5:83:ab:17:63:50
|
||||
b4:cf:fc:c4:fe:db
|
||||
12:33:a4:22:4e:a4
|
||||
99:db:22:10:3f:ae
|
||||
f4:31:5b:3a:26:c4
|
||||
\N
|
||||
db:a5:1a:67:bf:b5
|
||||
9c:c6:3f:59:ec:96
|
||||
8f:52:b2:83:41:b4
|
||||
49:ac:2a:44:a4:28
|
||||
0c:51:53:4e:10:79
|
||||
e5:54:31:9d:51:d9
|
||||
d0:8d:79:bd:4f:a1
|
||||
ee:ba:f1:4f:a1:bc
|
||||
76:25:97:80:8b:a7
|
||||
3a:dd:50:3b:82:d0
|
||||
34:8d:ca:fd:24:fc
|
||||
2f:f9:aa:93:0e:70
|
||||
93:29:d0:c2:7a:cb
|
||||
3a:a8:a7:c9:9c:5b
|
||||
8f:6c:0b:a1:1a:22
|
||||
ce:4a:b7:a6:59:9e
|
||||
\N
|
||||
\N
|
||||
e5:bd:83:62:cb:59
|
||||
ba:d9:ed:2f:68:58
|
||||
48:18:7a:6c:cc:2f
|
||||
76:03:b0:d3:ae:9d
|
||||
ef:3c:db:66:d9:82
|
||||
2d:73:91:dd:fb:69
|
||||
33:35:c3:7d:50:49
|
||||
50:a3:e9:24:18:32
|
||||
66:eb:ab:3a:14:2e
|
||||
a9:13:53:36:ee:95
|
||||
1f:4f:b4:57:34:0a
|
||||
60:26:2c:17:5c:d8
|
||||
01:43:b5:79:eb:0f
|
||||
c0:94:5d:b5:41:2c
|
||||
fb:e6:51:d6:49:9c
|
||||
87:7a:23:90:e9:df
|
||||
78:52:28:a5:f9:1f
|
||||
38:b2:03:d7:5d:b3
|
||||
bf:b5:5e:99:80:9f
|
||||
7c:8f:73:5c:07:95
|
||||
ba:b8:6b:d2:ef:ab
|
||||
9f:25:81:eb:33:0a
|
||||
82:cb:7c:44:6a:5f
|
||||
ca:46:2b:3c:cf:7f
|
||||
17:64:2a:89:cf:59
|
||||
\N
|
||||
35:59:4c:9d:5a:0d
|
||||
c9:5e:a4:dd:bb:ae
|
||||
d0:90:56:ef:30:05
|
||||
bd:2d:22:41:42:5e
|
||||
be:49:c2:de:66:22
|
||||
21:cb:55:17:01:c8
|
||||
22:00:5c:e5:9b:0d
|
||||
23:c8:5f:22:33:ca
|
||||
01:02:37:05:4f:36
|
||||
91:ba:08:fd:9e:ed
|
||||
bf:ad:23:1f:3e:4d
|
||||
c4:a6:c5:bd:89:dc
|
||||
b9:13:9f:85:d9:fa
|
||||
7d:b2:c9:07:4f:bc
|
||||
\N
|
||||
7a:84:d0:53:46:30
|
||||
f7:32:0c:87:f0:2f
|
||||
77:15:22:cd:68:a0
|
||||
17:f9:26:35:6e:73
|
||||
d7:21:4d:fe:43:22
|
||||
63:13:3a:af:94:e9
|
||||
f3:11:3c:68:ef:5e
|
||||
76:5a:06:33:31:fe
|
||||
63:d9:b8:ef:ec:36
|
||||
3b:f3:4d:c4:22:e6
|
||||
d0:a2:cb:f9:f1:0b
|
||||
95:0e:76:bc:99:ee
|
||||
ae:e7:64:d9:ce:5b
|
||||
ff:5a:6f:a2:26:9a
|
||||
75:96:d4:72:db:49
|
||||
a8:ac:2a:2a:23:67
|
||||
db:4e:14:4d:b1:7c
|
||||
45:fd:c8:52:05:cf
|
||||
91:7b:e7:6e:23:07
|
||||
71:50:0c:46:78:3d
|
||||
a9:90:9b:c0:b4:fc
|
||||
47:0e:9a:82:af:48
|
||||
e8:1c:cf:c0:16:d1
|
||||
e1:6a:42:25:89:c3
|
||||
\N
|
||||
55:8e:63:3b:44:c8
|
||||
93:8a:78:62:38:70
|
||||
29:81:d2:3d:12:80
|
||||
3e:d1:1e:94:2f:5d
|
||||
fb:8c:c4:ee:84:7c
|
||||
\N
|
||||
cc:ad:28:56:b2:4a
|
||||
52:f6:13:94:b7:03
|
||||
a2:8d:f8:f9:f8:c0
|
||||
57:68:00:9c:1b:f8
|
||||
a6:e2:31:88:8a:b4
|
||||
41:f7:0a:bd:47:08
|
||||
bf:5c:7d:64:08:73
|
||||
33:cc:60:43:05:e1
|
||||
cd:a5:a8:b0:99:14
|
||||
ef:fd:75:f1:3e:99
|
||||
b8:b0:b8:85:80:53
|
||||
7b:1c:fc:5c:b2:c8
|
||||
92:38:0c:df:81:57
|
||||
1e:ab:d4:18:c5:3a
|
||||
b0:a1:c6:88:a3:29
|
||||
c7:37:ec:30:2b:7c
|
||||
5e:5b:32:94:60:f7
|
||||
9d:ab:93:1f:de:1d
|
||||
ff:32:af:ef:10:2e
|
||||
f8:54:03:77:0d:e0
|
||||
49:e4:f8:f7:63:41
|
||||
18:f7:95:42:ea:32
|
||||
f8:a2:40:af:9e:af
|
||||
1d:e2:71:c3:be:6e
|
||||
\N
|
||||
6a:38:d7:a5:b7:cd
|
||||
df:51:52:74:c6:d4
|
||||
f2:05:5e:d2:1e:f3
|
||||
85:a7:b9:dd:80:72
|
||||
ae:ad:f5:1f:d1:7e
|
||||
cf:71:9a:9c:b4:4d
|
||||
\N
|
||||
ac:8d:0f:5b:63:21
|
||||
c4:f0:3e:23:9e:7d
|
||||
45:91:19:00:06:fa
|
||||
c6:b6:30:24:e2:c5
|
||||
48:e1:e1:4a:8f:99
|
||||
cd:74:2c:39:14:e3
|
||||
9b:bb:32:10:ec:14
|
||||
a5:3c:a6:c9:64:14
|
||||
bc:ea:9c:03:76:75
|
||||
d5:29:75:05:8a:5d
|
||||
\N
|
||||
37:92:8f:cb:f1:e5
|
||||
e5:eb:1b:0e:02:58
|
||||
9f:9c:a2:22:a4:25
|
||||
26:f4:f4:e6:b8:cb
|
||||
dd:79:87:70:0b:e7
|
||||
80:87:95:20:cd:ce
|
||||
0d:28:2a:d1:0f:e2
|
||||
05:b8:34:36:55:b0
|
||||
89:03:74:cd:43:a9
|
||||
74:10:93:21:1e:04
|
||||
27:bb:a9:3a:7b:f0
|
||||
73:3c:06:b1:51:ad
|
||||
47:0e:59:c0:5d:38
|
||||
13:13:e1:1c:aa:25
|
11
contrib/btree_gist/data/numeric.data
Normal file
11
contrib/btree_gist/data/numeric.data
Normal file
|
@ -0,0 +1,11 @@
|
|||
-1890.000000000000000000000000000000000000000000000000000000000000000000000000001
|
||||
-1889.999999999999999999999999999999999999999999999999999999999999999999999999999
|
||||
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
|
||||
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567891
|
||||
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567892
|
||||
10000
|
||||
0
|
||||
0
|
||||
0
|
||||
NaN
|
||||
NaN
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
1
contrib/btree_gist/data/text.data
Normal file
1
contrib/btree_gist/data/text.data
Normal file
File diff suppressed because one or more lines are too long
599
contrib/btree_gist/data/time.data
Normal file
599
contrib/btree_gist/data/time.data
Normal file
|
@ -0,0 +1,599 @@
|
|||
23:56:29
|
||||
14:23:32
|
||||
15:46:58
|
||||
\N
|
||||
18:47:20
|
||||
11:54:06
|
||||
08:35:07
|
||||
06:37:29
|
||||
11:27:58
|
||||
\N
|
||||
14:05:32
|
||||
17:18:35
|
||||
20:40:36
|
||||
01:53:24
|
||||
06:30:54
|
||||
08:55:08
|
||||
14:09:40
|
||||
19:45:28
|
||||
18:56:29
|
||||
\N
|
||||
03:07:47
|
||||
20:07:06
|
||||
08:54:31
|
||||
03:48:12
|
||||
14:58:09
|
||||
04:23:51
|
||||
04:35:11
|
||||
17:51:38
|
||||
04:19:35
|
||||
14:54:46
|
||||
03:31:30
|
||||
17:03:30
|
||||
01:52:27
|
||||
07:45:51
|
||||
10:30:45
|
||||
14:55:59
|
||||
02:30:42
|
||||
04:28:11
|
||||
10:57:11
|
||||
12:47:13
|
||||
14:37:11
|
||||
15:47:57
|
||||
20:59:33
|
||||
15:51:53
|
||||
18:28:37
|
||||
16:24:13
|
||||
06:58:48
|
||||
20:58:13
|
||||
22:05:01
|
||||
13:20:20
|
||||
13:46:46
|
||||
08:06:45
|
||||
03:56:45
|
||||
00:48:10
|
||||
16:15:59
|
||||
05:39:04
|
||||
21:11:01
|
||||
18:57:40
|
||||
06:28:28
|
||||
07:09:17
|
||||
09:35:47
|
||||
07:08:00
|
||||
12:02:01
|
||||
00:32:50
|
||||
23:06:16
|
||||
02:57:27
|
||||
08:50:33
|
||||
18:40:40
|
||||
12:51:38
|
||||
19:34:22
|
||||
00:37:59
|
||||
09:39:35
|
||||
\N
|
||||
\N
|
||||
01:36:43
|
||||
\N
|
||||
12:58:39
|
||||
06:53:03
|
||||
05:14:10
|
||||
04:02:08
|
||||
04:40:02
|
||||
\N
|
||||
15:03:29
|
||||
20:25:02
|
||||
12:19:17
|
||||
13:47:39
|
||||
09:53:23
|
||||
06:23:25
|
||||
05:56:20
|
||||
14:18:24
|
||||
14:02:34
|
||||
12:27:36
|
||||
09:31:29
|
||||
13:35:03
|
||||
17:47:47
|
||||
17:55:57
|
||||
06:30:39
|
||||
06:21:38
|
||||
16:55:11
|
||||
01:49:01
|
||||
22:16:13
|
||||
12:17:35
|
||||
11:25:40
|
||||
\N
|
||||
00:29:46
|
||||
07:37:36
|
||||
\N
|
||||
14:52:12
|
||||
10:49:02
|
||||
18:40:02
|
||||
\N
|
||||
02:58:13
|
||||
21:33:44
|
||||
16:52:33
|
||||
01:40:26
|
||||
08:15:03
|
||||
05:20:44
|
||||
09:43:11
|
||||
\N
|
||||
19:34:51
|
||||
07:51:41
|
||||
04:20:43
|
||||
13:20:32
|
||||
20:30:08
|
||||
13:50:55
|
||||
00:44:30
|
||||
06:13:26
|
||||
03:29:43
|
||||
00:19:51
|
||||
05:11:23
|
||||
20:48:53
|
||||
12:52:42
|
||||
09:41:18
|
||||
03:45:21
|
||||
16:13:59
|
||||
06:19:58
|
||||
17:17:55
|
||||
18:28:12
|
||||
19:58:59
|
||||
03:25:07
|
||||
06:50:23
|
||||
23:00:13
|
||||
\N
|
||||
03:52:47
|
||||
21:13:06
|
||||
\N
|
||||
15:36:11
|
||||
12:36:08
|
||||
07:56:23
|
||||
23:32:03
|
||||
\N
|
||||
15:23:39
|
||||
21:20:05
|
||||
04:44:09
|
||||
22:48:19
|
||||
21:44:28
|
||||
02:17:10
|
||||
23:12:24
|
||||
12:38:57
|
||||
05:47:43
|
||||
23:17:09
|
||||
15:27:41
|
||||
02:04:03
|
||||
\N
|
||||
18:11:40
|
||||
06:54:54
|
||||
20:57:42
|
||||
01:14:59
|
||||
02:45:54
|
||||
22:51:42
|
||||
01:00:42
|
||||
04:29:29
|
||||
13:41:28
|
||||
14:36:19
|
||||
22:25:02
|
||||
23:08:45
|
||||
04:50:50
|
||||
01:44:02
|
||||
12:37:17
|
||||
03:40:05
|
||||
15:31:07
|
||||
\N
|
||||
00:32:35
|
||||
13:11:45
|
||||
18:05:35
|
||||
23:15:08
|
||||
01:52:35
|
||||
\N
|
||||
18:46:10
|
||||
20:06:36
|
||||
16:17:06
|
||||
17:47:39
|
||||
02:54:56
|
||||
20:42:39
|
||||
08:00:44
|
||||
23:53:40
|
||||
\N
|
||||
\N
|
||||
10:24:10
|
||||
15:46:42
|
||||
20:23:26
|
||||
20:12:43
|
||||
\N
|
||||
12:21:58
|
||||
17:52:22
|
||||
01:33:40
|
||||
15:55:22
|
||||
01:33:07
|
||||
17:46:27
|
||||
17:10:28
|
||||
00:39:40
|
||||
\N
|
||||
17:30:25
|
||||
22:48:37
|
||||
23:45:32
|
||||
23:45:59
|
||||
17:27:33
|
||||
13:23:46
|
||||
09:34:22
|
||||
16:59:06
|
||||
09:19:23
|
||||
16:06:27
|
||||
01:03:41
|
||||
06:10:45
|
||||
11:45:10
|
||||
\N
|
||||
23:30:22
|
||||
\N
|
||||
12:19:21
|
||||
09:06:09
|
||||
22:14:02
|
||||
22:30:58
|
||||
17:38:16
|
||||
06:07:40
|
||||
12:38:59
|
||||
02:39:50
|
||||
00:14:12
|
||||
01:09:47
|
||||
05:16:45
|
||||
17:47:53
|
||||
13:23:16
|
||||
23:54:39
|
||||
23:26:01
|
||||
03:14:19
|
||||
03:36:47
|
||||
\N
|
||||
15:49:11
|
||||
16:30:21
|
||||
06:31:21
|
||||
09:46:53
|
||||
17:48:40
|
||||
23:07:33
|
||||
09:30:58
|
||||
03:01:28
|
||||
18:48:39
|
||||
\N
|
||||
10:20:37
|
||||
18:03:26
|
||||
23:38:14
|
||||
11:12:46
|
||||
00:39:00
|
||||
05:15:56
|
||||
06:07:20
|
||||
16:32:30
|
||||
08:42:21
|
||||
03:10:56
|
||||
06:03:47
|
||||
12:57:58
|
||||
21:42:59
|
||||
17:12:12
|
||||
00:08:11
|
||||
08:05:07
|
||||
03:45:59
|
||||
16:55:19
|
||||
12:47:20
|
||||
12:49:35
|
||||
03:48:21
|
||||
11:32:33
|
||||
11:30:51
|
||||
09:11:06
|
||||
03:02:36
|
||||
02:23:03
|
||||
02:16:44
|
||||
17:16:26
|
||||
07:04:20
|
||||
13:29:28
|
||||
21:01:12
|
||||
06:35:03
|
||||
02:23:14
|
||||
10:53:45
|
||||
06:06:18
|
||||
13:40:10
|
||||
09:27:36
|
||||
\N
|
||||
07:00:44
|
||||
04:22:42
|
||||
\N
|
||||
12:50:38
|
||||
23:03:05
|
||||
10:32:59
|
||||
20:54:04
|
||||
\N
|
||||
07:53:27
|
||||
15:00:51
|
||||
\N
|
||||
15:30:20
|
||||
15:27:57
|
||||
06:01:36
|
||||
22:20:26
|
||||
01:21:20
|
||||
05:54:01
|
||||
09:31:20
|
||||
19:54:37
|
||||
19:06:34
|
||||
18:35:22
|
||||
22:44:32
|
||||
12:43:45
|
||||
04:24:22
|
||||
03:26:29
|
||||
22:06:36
|
||||
15:03:19
|
||||
06:20:33
|
||||
05:37:36
|
||||
18:59:04
|
||||
10:59:54
|
||||
\N
|
||||
17:04:29
|
||||
\N
|
||||
08:51:37
|
||||
02:47:04
|
||||
11:17:51
|
||||
01:36:35
|
||||
07:23:02
|
||||
21:01:14
|
||||
21:07:23
|
||||
15:58:20
|
||||
03:37:48
|
||||
17:43:22
|
||||
08:06:10
|
||||
03:21:13
|
||||
14:23:04
|
||||
00:15:56
|
||||
12:30:28
|
||||
04:51:05
|
||||
22:47:38
|
||||
04:29:31
|
||||
00:38:02
|
||||
00:16:09
|
||||
07:38:35
|
||||
03:55:56
|
||||
12:06:21
|
||||
07:46:45
|
||||
10:31:07
|
||||
12:13:46
|
||||
06:55:31
|
||||
00:58:12
|
||||
14:46:31
|
||||
07:28:15
|
||||
21:43:37
|
||||
02:10:16
|
||||
07:30:34
|
||||
19:05:11
|
||||
13:54:34
|
||||
04:03:22
|
||||
\N
|
||||
07:49:42
|
||||
02:53:33
|
||||
01:08:33
|
||||
09:42:32
|
||||
17:56:28
|
||||
17:37:54
|
||||
02:02:52
|
||||
07:43:47
|
||||
23:07:36
|
||||
\N
|
||||
21:43:23
|
||||
04:34:38
|
||||
06:17:36
|
||||
23:16:48
|
||||
19:55:50
|
||||
05:55:45
|
||||
16:49:59
|
||||
17:50:54
|
||||
11:52:36
|
||||
20:21:19
|
||||
08:48:56
|
||||
11:18:58
|
||||
06:28:01
|
||||
03:02:25
|
||||
15:28:12
|
||||
12:26:01
|
||||
20:02:07
|
||||
14:30:34
|
||||
09:43:31
|
||||
11:44:00
|
||||
20:06:06
|
||||
17:44:33
|
||||
11:53:21
|
||||
20:26:36
|
||||
07:04:27
|
||||
13:13:37
|
||||
14:56:54
|
||||
10:18:04
|
||||
05:37:29
|
||||
\N
|
||||
23:17:09
|
||||
04:50:14
|
||||
00:56:52
|
||||
09:20:10
|
||||
21:09:49
|
||||
11:10:24
|
||||
13:58:05
|
||||
23:14:01
|
||||
\N
|
||||
20:00:56
|
||||
11:43:43
|
||||
08:43:58
|
||||
\N
|
||||
\N
|
||||
15:44:40
|
||||
19:38:12
|
||||
23:26:57
|
||||
05:53:18
|
||||
12:51:41
|
||||
18:03:27
|
||||
22:57:21
|
||||
10:57:10
|
||||
\N
|
||||
15:56:10
|
||||
14:41:42
|
||||
04:04:38
|
||||
\N
|
||||
07:49:13
|
||||
20:08:21
|
||||
17:37:16
|
||||
11:31:02
|
||||
\N
|
||||
08:47:52
|
||||
20:19:41
|
||||
08:10:03
|
||||
02:45:28
|
||||
15:43:13
|
||||
\N
|
||||
18:02:24
|
||||
19:21:57
|
||||
07:24:41
|
||||
20:08:46
|
||||
22:19:29
|
||||
21:22:15
|
||||
07:40:41
|
||||
\N
|
||||
01:44:27
|
||||
13:22:27
|
||||
23:03:59
|
||||
17:46:43
|
||||
23:06:32
|
||||
19:55:27
|
||||
04:24:35
|
||||
03:50:26
|
||||
01:43:48
|
||||
17:05:49
|
||||
00:51:15
|
||||
18:17:56
|
||||
10:01:57
|
||||
13:16:32
|
||||
16:28:12
|
||||
05:36:40
|
||||
09:35:09
|
||||
\N
|
||||
\N
|
||||
04:36:40
|
||||
\N
|
||||
09:31:47
|
||||
10:21:54
|
||||
07:49:09
|
||||
19:51:28
|
||||
14:02:25
|
||||
07:54:40
|
||||
20:26:20
|
||||
09:50:27
|
||||
19:05:44
|
||||
\N
|
||||
11:43:30
|
||||
00:25:16
|
||||
05:07:26
|
||||
13:38:21
|
||||
19:48:53
|
||||
01:11:45
|
||||
07:06:48
|
||||
\N
|
||||
21:17:06
|
||||
\N
|
||||
17:33:35
|
||||
23:22:58
|
||||
21:47:12
|
||||
20:50:30
|
||||
01:04:16
|
||||
19:25:47
|
||||
22:57:00
|
||||
09:15:33
|
||||
\N
|
||||
02:29:36
|
||||
21:27:15
|
||||
13:29:22
|
||||
\N
|
||||
02:10:34
|
||||
06:14:24
|
||||
14:04:25
|
||||
03:37:23
|
||||
21:36:37
|
||||
15:41:07
|
||||
03:40:25
|
||||
15:51:36
|
||||
05:10:09
|
||||
18:54:02
|
||||
16:49:50
|
||||
03:18:24
|
||||
23:13:58
|
||||
05:55:06
|
||||
22:21:51
|
||||
02:23:28
|
||||
07:12:18
|
||||
02:33:13
|
||||
10:23:41
|
||||
\N
|
||||
05:44:10
|
||||
21:59:24
|
||||
00:22:35
|
||||
23:07:01
|
||||
22:25:59
|
||||
13:25:35
|
||||
08:44:13
|
||||
04:25:14
|
||||
\N
|
||||
14:04:18
|
||||
11:05:27
|
||||
13:42:39
|
||||
\N
|
||||
05:24:12
|
||||
01:01:47
|
||||
07:49:06
|
||||
19:07:56
|
||||
03:35:35
|
||||
07:28:30
|
||||
05:00:13
|
||||
16:27:26
|
||||
00:14:42
|
||||
02:57:18
|
||||
23:39:57
|
||||
07:31:16
|
||||
19:08:03
|
||||
13:26:21
|
||||
11:39:43
|
||||
21:07:04
|
||||
03:30:59
|
||||
07:59:10
|
||||
14:50:17
|
||||
02:57:29
|
||||
23:37:36
|
||||
07:48:10
|
||||
17:04:36
|
||||
13:24:45
|
||||
23:42:26
|
||||
04:31:37
|
||||
21:09:05
|
||||
07:47:28
|
||||
13:18:23
|
||||
00:45:21
|
||||
03:30:56
|
||||
10:09:02
|
||||
14:02:41
|
||||
23:11:51
|
||||
03:34:54
|
||||
\N
|
||||
02:20:03
|
||||
04:46:49
|
||||
06:12:58
|
||||
01:26:47
|
||||
01:33:06
|
||||
10:55:32
|
||||
16:14:38
|
||||
21:54:21
|
||||
20:59:06
|
||||
12:26:22
|
||||
19:34:40
|
||||
11:48:58
|
||||
14:32:43
|
||||
11:36:17
|
||||
06:57:47
|
||||
15:34:23
|
||||
02:56:30
|
||||
12:30:59
|
||||
11:33:55
|
||||
04:53:09
|
||||
00:01:24
|
||||
02:14:43
|
||||
\N
|
||||
14:26:05
|
||||
18:48:04
|
600
contrib/btree_gist/data/timestamp.data
Normal file
600
contrib/btree_gist/data/timestamp.data
Normal file
|
@ -0,0 +1,600 @@
|
|||
2019-11-22 23:56:29
|
||||
1995-05-20 14:23:32
|
||||
1989-04-12 15:46:58
|
||||
\N
|
||||
2023-10-21 18:47:20
|
||||
2028-11-27 11:54:06
|
||||
2024-05-24 08:35:07
|
||||
2018-08-31 06:37:29
|
||||
1988-07-16 11:27:58
|
||||
\N
|
||||
2019-05-21 14:05:32
|
||||
1972-12-12 17:18:35
|
||||
1975-05-07 20:40:36
|
||||
2022-08-11 01:53:24
|
||||
1975-06-27 06:30:54
|
||||
2004-10-26 08:55:08
|
||||
1983-05-14 14:09:40
|
||||
2015-06-20 19:45:28
|
||||
1978-02-17 18:56:29
|
||||
\N
|
||||
1970-12-04 03:07:47
|
||||
1977-03-22 20:07:06
|
||||
2032-10-28 08:54:31
|
||||
2004-03-02 03:48:12
|
||||
1992-10-29 14:58:09
|
||||
2021-05-05 04:23:51
|
||||
2025-06-25 04:35:11
|
||||
2036-07-15 17:51:38
|
||||
1981-03-10 04:19:35
|
||||
2012-12-04 14:54:46
|
||||
1996-02-02 03:31:30
|
||||
1992-12-31 17:03:30
|
||||
2003-02-03 01:52:27
|
||||
2008-12-15 07:45:51
|
||||
1994-11-19 10:30:45
|
||||
2036-09-20 14:55:59
|
||||
2034-10-21 02:30:42
|
||||
2019-11-16 04:28:11
|
||||
1995-01-23 10:57:11
|
||||
1974-10-11 12:47:13
|
||||
2027-02-26 14:37:11
|
||||
2027-08-08 15:47:57
|
||||
2037-08-30 20:59:33
|
||||
2026-01-08 15:51:53
|
||||
2023-09-18 18:28:37
|
||||
2012-03-07 16:24:13
|
||||
2011-08-29 06:58:48
|
||||
1979-11-06 20:58:13
|
||||
2033-09-25 22:05:01
|
||||
1986-06-08 13:20:20
|
||||
2020-01-13 13:46:46
|
||||
2015-09-19 08:06:45
|
||||
2035-11-16 03:56:45
|
||||
1985-11-12 00:48:10
|
||||
2002-05-26 16:15:59
|
||||
2002-01-30 05:39:04
|
||||
1980-01-26 21:11:01
|
||||
2037-03-23 18:57:40
|
||||
2016-02-23 06:28:28
|
||||
2023-04-21 07:09:17
|
||||
2033-04-11 09:35:47
|
||||
1985-09-09 07:08:00
|
||||
1993-01-29 12:02:01
|
||||
2015-06-28 00:32:50
|
||||
2036-04-06 23:06:16
|
||||
2031-12-08 02:57:27
|
||||
2014-02-26 08:50:33
|
||||
1994-01-23 18:40:40
|
||||
2019-01-27 12:51:38
|
||||
1978-08-01 19:34:22
|
||||
1979-05-21 00:37:59
|
||||
2022-12-12 09:39:35
|
||||
\N
|
||||
\N
|
||||
2007-10-16 01:36:43
|
||||
\N
|
||||
2037-05-17 12:58:39
|
||||
2034-08-14 06:53:03
|
||||
2014-12-20 05:14:10
|
||||
2033-03-13 04:02:08
|
||||
2010-10-03 04:40:02
|
||||
\N
|
||||
1992-12-23 15:03:29
|
||||
2029-05-15 20:25:02
|
||||
1993-07-17 12:19:17
|
||||
2007-11-06 13:47:39
|
||||
2024-10-22 09:53:23
|
||||
2019-03-02 06:23:25
|
||||
2026-07-24 05:56:20
|
||||
1973-03-29 14:18:24
|
||||
2006-06-02 14:02:34
|
||||
2032-06-11 12:27:36
|
||||
1990-01-28 09:31:29
|
||||
2019-06-16 13:35:03
|
||||
1970-04-21 17:47:47
|
||||
2012-09-17 17:55:57
|
||||
1993-10-06 06:30:39
|
||||
1993-02-24 06:21:38
|
||||
2014-12-07 16:55:11
|
||||
2018-09-17 01:49:01
|
||||
2015-05-22 22:16:13
|
||||
1983-01-19 12:17:35
|
||||
1978-11-08 11:25:40
|
||||
\N
|
||||
2021-06-01 00:29:46
|
||||
1970-11-19 07:37:36
|
||||
\N
|
||||
2030-06-12 14:52:12
|
||||
2035-08-11 10:49:02
|
||||
2021-01-31 18:40:02
|
||||
\N
|
||||
1996-06-25 02:58:13
|
||||
1974-11-28 21:33:44
|
||||
1989-04-28 16:52:33
|
||||
1998-07-17 01:40:26
|
||||
2029-09-14 08:15:03
|
||||
2010-01-06 05:20:44
|
||||
2013-05-04 09:43:11
|
||||
\N
|
||||
2023-10-03 19:34:51
|
||||
1998-02-06 07:51:41
|
||||
1984-07-16 04:20:43
|
||||
2008-01-11 13:20:32
|
||||
2015-06-23 20:30:08
|
||||
2026-04-02 13:50:55
|
||||
2021-11-26 00:44:30
|
||||
2012-07-09 06:13:26
|
||||
1975-01-07 03:29:43
|
||||
2022-12-04 00:19:51
|
||||
2013-01-22 05:11:23
|
||||
2001-02-13 20:48:53
|
||||
2001-11-20 12:52:42
|
||||
2008-12-27 09:41:18
|
||||
2030-07-05 03:45:21
|
||||
1970-07-22 16:13:59
|
||||
2037-07-11 06:19:58
|
||||
2034-12-24 17:17:55
|
||||
2022-04-04 18:28:12
|
||||
2018-03-24 19:58:59
|
||||
2037-03-25 03:25:07
|
||||
1972-06-24 06:50:23
|
||||
2034-08-15 23:00:13
|
||||
\N
|
||||
2030-01-12 03:52:47
|
||||
2000-08-15 21:13:06
|
||||
\N
|
||||
2034-07-25 15:36:11
|
||||
2030-04-06 12:36:08
|
||||
2003-08-22 07:56:23
|
||||
2012-04-17 23:32:03
|
||||
\N
|
||||
1992-11-30 15:23:39
|
||||
2017-03-31 21:20:05
|
||||
2004-06-19 04:44:09
|
||||
1974-02-07 22:48:19
|
||||
1992-11-02 21:44:28
|
||||
2006-07-03 02:17:10
|
||||
2030-09-03 23:12:24
|
||||
1989-12-15 12:38:57
|
||||
1992-05-03 05:47:43
|
||||
1981-05-05 23:17:09
|
||||
1983-06-04 15:27:41
|
||||
2010-08-13 02:04:03
|
||||
\N
|
||||
2022-06-15 18:11:40
|
||||
2011-03-10 06:54:54
|
||||
1973-11-06 20:57:42
|
||||
1998-03-22 01:14:59
|
||||
1992-07-20 02:45:54
|
||||
2022-01-15 22:51:42
|
||||
2022-05-03 01:00:42
|
||||
1972-06-08 04:29:29
|
||||
1976-10-27 13:41:28
|
||||
2023-12-13 14:36:19
|
||||
2027-08-01 22:25:02
|
||||
2009-05-04 23:08:45
|
||||
2021-03-19 04:50:50
|
||||
2025-04-09 01:44:02
|
||||
1988-07-28 12:37:17
|
||||
2023-07-31 03:40:05
|
||||
2003-07-25 15:31:07
|
||||
\N
|
||||
1995-12-12 00:32:35
|
||||
1992-04-19 13:11:45
|
||||
1997-08-20 18:05:35
|
||||
2028-01-13 23:15:08
|
||||
1980-04-18 01:52:35
|
||||
\N
|
||||
2030-03-08 18:46:10
|
||||
2000-03-22 20:06:36
|
||||
1987-03-17 16:17:06
|
||||
2008-03-10 17:47:39
|
||||
1982-04-02 02:54:56
|
||||
1970-01-29 20:42:39
|
||||
2032-03-28 08:00:44
|
||||
1991-10-03 23:53:40
|
||||
\N
|
||||
\N
|
||||
\N
|
||||
2035-07-02 10:24:10
|
||||
1988-11-27 15:46:42
|
||||
2034-08-29 20:23:26
|
||||
2004-11-29 20:12:43
|
||||
\N
|
||||
2013-08-28 12:21:58
|
||||
1997-04-06 17:52:22
|
||||
1994-10-12 01:33:40
|
||||
2027-06-18 15:55:22
|
||||
1971-01-10 01:33:07
|
||||
2035-02-23 17:46:27
|
||||
2036-10-25 17:10:28
|
||||
2033-06-29 00:39:40
|
||||
\N
|
||||
2028-07-29 17:30:25
|
||||
2003-03-18 22:48:37
|
||||
1994-11-29 23:45:32
|
||||
2001-10-08 23:45:59
|
||||
2019-03-10 17:27:33
|
||||
2022-05-19 13:23:46
|
||||
1971-07-13 09:34:22
|
||||
1979-07-25 16:59:06
|
||||
1980-11-27 09:19:23
|
||||
2030-02-20 16:06:27
|
||||
1973-01-02 01:03:41
|
||||
1992-12-20 06:10:45
|
||||
2034-03-04 11:45:10
|
||||
\N
|
||||
2036-11-27 23:30:22
|
||||
\N
|
||||
2023-09-22 12:19:21
|
||||
2023-07-13 09:06:09
|
||||
1996-02-13 22:14:02
|
||||
1974-02-11 22:30:58
|
||||
1996-08-07 17:38:16
|
||||
1998-06-13 06:07:40
|
||||
2035-04-21 12:38:59
|
||||
1996-03-04 02:39:50
|
||||
2019-05-04 00:14:12
|
||||
2024-06-01 01:09:47
|
||||
2007-02-20 05:16:45
|
||||
2003-07-29 17:47:53
|
||||
2000-07-13 13:23:16
|
||||
2011-09-08 23:54:39
|
||||
2019-06-10 23:26:01
|
||||
1975-02-25 03:14:19
|
||||
2002-01-16 03:36:47
|
||||
\N
|
||||
1986-04-08 15:49:11
|
||||
1986-03-08 16:30:21
|
||||
2019-06-21 06:31:21
|
||||
1988-09-19 09:46:53
|
||||
2035-11-30 17:48:40
|
||||
1986-11-27 23:07:33
|
||||
2037-03-10 09:30:58
|
||||
2030-07-15 03:01:28
|
||||
1988-06-29 18:48:39
|
||||
\N
|
||||
1980-04-23 10:20:37
|
||||
2020-01-19 18:03:26
|
||||
2012-09-14 23:38:14
|
||||
1983-12-28 11:12:46
|
||||
1987-02-10 00:39:00
|
||||
2029-09-21 05:15:56
|
||||
1972-03-12 06:07:20
|
||||
2035-11-20 16:32:30
|
||||
1996-10-25 08:42:21
|
||||
1981-02-05 03:10:56
|
||||
2031-09-10 06:03:47
|
||||
1986-04-24 12:57:58
|
||||
1987-04-26 21:42:59
|
||||
2017-06-10 17:12:12
|
||||
1980-07-26 00:08:11
|
||||
2009-10-18 08:05:07
|
||||
1981-05-24 03:45:59
|
||||
2026-07-17 16:55:19
|
||||
2015-09-30 12:47:20
|
||||
2032-05-02 12:49:35
|
||||
1987-08-17 03:48:21
|
||||
2034-10-20 11:32:33
|
||||
2008-11-20 11:30:51
|
||||
1986-11-06 09:11:06
|
||||
1980-04-06 03:02:36
|
||||
1982-11-12 02:23:03
|
||||
1975-01-24 02:16:44
|
||||
2015-04-25 17:16:26
|
||||
1980-03-14 07:04:20
|
||||
1998-04-07 13:29:28
|
||||
2020-12-16 21:01:12
|
||||
2004-10-31 06:35:03
|
||||
1975-02-26 02:23:14
|
||||
2024-10-29 10:53:45
|
||||
1974-10-29 06:06:18
|
||||
1986-09-21 13:40:10
|
||||
2037-11-06 09:27:36
|
||||
\N
|
||||
1979-06-02 07:00:44
|
||||
2001-06-28 04:22:42
|
||||
\N
|
||||
2024-10-14 12:50:38
|
||||
2031-03-22 23:03:05
|
||||
1983-11-27 10:32:59
|
||||
1989-01-01 20:54:04
|
||||
\N
|
||||
2037-03-05 07:53:27
|
||||
2002-12-28 15:00:51
|
||||
\N
|
||||
2031-12-20 15:30:20
|
||||
2002-08-30 15:27:57
|
||||
1997-11-16 06:01:36
|
||||
2023-07-17 22:20:26
|
||||
2010-04-02 01:21:20
|
||||
2019-09-21 05:54:01
|
||||
1978-03-04 09:31:20
|
||||
1992-11-08 19:54:37
|
||||
2002-02-11 19:06:34
|
||||
2012-06-06 18:35:22
|
||||
2012-11-23 22:44:32
|
||||
1997-09-27 12:43:45
|
||||
1972-12-18 04:24:22
|
||||
1985-10-25 03:26:29
|
||||
2028-09-29 22:06:36
|
||||
1976-03-31 15:03:19
|
||||
1996-06-26 06:20:33
|
||||
2014-07-06 05:37:36
|
||||
2032-05-21 18:59:04
|
||||
2018-12-18 10:59:54
|
||||
\N
|
||||
1974-06-02 17:04:29
|
||||
\N
|
||||
2024-09-29 08:51:37
|
||||
1996-07-03 02:47:04
|
||||
1973-02-11 11:17:51
|
||||
2019-12-02 01:36:35
|
||||
2035-09-04 07:23:02
|
||||
2008-10-10 21:01:14
|
||||
2018-05-16 21:07:23
|
||||
2020-04-17 15:58:20
|
||||
2030-05-04 03:37:48
|
||||
2002-10-27 17:43:22
|
||||
2036-03-04 08:06:10
|
||||
2002-10-29 03:21:13
|
||||
2000-06-22 14:23:04
|
||||
1981-01-01 00:15:56
|
||||
2001-12-31 12:30:28
|
||||
2003-09-25 04:51:05
|
||||
2020-12-07 22:47:38
|
||||
2016-11-04 04:29:31
|
||||
2026-02-23 00:38:02
|
||||
1990-12-16 00:16:09
|
||||
2033-10-15 07:38:35
|
||||
2003-07-29 03:55:56
|
||||
1998-10-09 12:06:21
|
||||
2006-04-02 07:46:45
|
||||
1970-06-06 10:31:07
|
||||
2015-02-06 12:13:46
|
||||
2004-06-23 06:55:31
|
||||
2015-12-08 00:58:12
|
||||
2024-06-26 14:46:31
|
||||
1997-11-07 07:28:15
|
||||
2023-05-09 21:43:37
|
||||
1992-11-16 02:10:16
|
||||
2016-04-17 07:30:34
|
||||
1996-11-09 19:05:11
|
||||
2010-09-12 13:54:34
|
||||
2012-10-17 04:03:22
|
||||
\N
|
||||
1998-07-19 07:49:42
|
||||
1973-11-11 02:53:33
|
||||
1992-11-15 01:08:33
|
||||
2032-04-22 09:42:32
|
||||
2031-09-14 17:56:28
|
||||
2005-03-25 17:37:54
|
||||
1993-03-17 02:02:52
|
||||
2004-03-01 07:43:47
|
||||
2009-10-06 23:07:36
|
||||
\N
|
||||
1993-06-07 21:43:23
|
||||
1994-07-31 04:34:38
|
||||
1987-08-07 06:17:36
|
||||
2034-05-01 23:16:48
|
||||
2025-06-19 19:55:50
|
||||
2019-10-13 05:55:45
|
||||
1977-03-25 16:49:59
|
||||
1978-01-16 17:50:54
|
||||
2003-09-29 11:52:36
|
||||
2002-04-07 20:21:19
|
||||
2024-01-12 08:48:56
|
||||
1984-08-29 11:18:58
|
||||
2036-08-16 06:28:01
|
||||
1972-05-14 03:02:25
|
||||
2019-01-24 15:28:12
|
||||
2009-12-19 12:26:01
|
||||
1982-07-26 20:02:07
|
||||
2012-01-22 14:30:34
|
||||
1983-07-22 09:43:31
|
||||
1978-05-27 11:44:00
|
||||
1974-04-02 20:06:06
|
||||
2008-02-15 17:44:33
|
||||
2003-01-14 11:53:21
|
||||
1989-03-30 20:26:36
|
||||
2009-12-14 07:04:27
|
||||
2030-07-05 13:13:37
|
||||
2032-07-22 14:56:54
|
||||
2016-05-17 10:18:04
|
||||
2031-07-02 05:37:29
|
||||
\N
|
||||
1980-07-28 23:17:09
|
||||
2031-09-06 04:50:14
|
||||
1975-01-20 00:56:52
|
||||
2019-05-05 09:20:10
|
||||
2025-05-02 21:09:49
|
||||
2001-12-27 11:10:24
|
||||
1991-09-27 13:58:05
|
||||
2021-12-14 23:14:01
|
||||
\N
|
||||
2027-03-24 20:00:56
|
||||
2009-01-07 11:43:43
|
||||
1985-02-04 08:43:58
|
||||
\N
|
||||
\N
|
||||
1996-12-23 15:44:40
|
||||
2012-05-22 19:38:12
|
||||
1980-02-29 23:26:57
|
||||
2018-06-14 05:53:18
|
||||
1981-07-04 12:51:41
|
||||
1993-04-25 18:03:27
|
||||
2027-03-09 22:57:21
|
||||
1981-01-10 10:57:10
|
||||
\N
|
||||
1974-06-16 15:56:10
|
||||
1985-10-15 14:41:42
|
||||
1988-01-11 04:04:38
|
||||
\N
|
||||
1997-03-15 07:49:13
|
||||
1982-02-26 20:08:21
|
||||
1991-05-13 17:37:16
|
||||
2015-09-03 11:31:02
|
||||
\N
|
||||
1987-06-05 08:47:52
|
||||
1971-03-29 20:19:41
|
||||
2002-03-28 08:10:03
|
||||
2032-03-25 02:45:28
|
||||
1983-07-23 15:43:13
|
||||
\N
|
||||
1999-01-15 18:02:24
|
||||
2014-01-31 19:21:57
|
||||
2021-09-02 07:24:41
|
||||
1999-01-02 20:08:46
|
||||
2001-03-24 22:19:29
|
||||
2002-01-21 21:22:15
|
||||
2007-08-06 07:40:41
|
||||
\N
|
||||
2032-09-07 01:44:27
|
||||
1984-11-22 13:22:27
|
||||
2035-06-18 23:03:59
|
||||
1994-07-29 17:46:43
|
||||
2023-04-20 23:06:32
|
||||
2010-02-17 19:55:27
|
||||
2014-08-23 04:24:35
|
||||
2017-02-08 03:50:26
|
||||
2036-10-24 01:43:48
|
||||
1994-11-14 17:05:49
|
||||
1979-04-19 00:51:15
|
||||
1973-10-09 18:17:56
|
||||
1999-01-17 10:01:57
|
||||
2012-07-08 13:16:32
|
||||
2012-12-03 16:28:12
|
||||
1980-11-22 05:36:40
|
||||
2002-02-28 09:35:09
|
||||
\N
|
||||
\N
|
||||
2023-03-01 04:36:40
|
||||
\N
|
||||
1981-05-13 09:31:47
|
||||
2026-01-29 10:21:54
|
||||
2034-02-14 07:49:09
|
||||
2031-09-22 19:51:28
|
||||
1986-11-13 14:02:25
|
||||
2031-10-25 07:54:40
|
||||
2010-10-13 20:26:20
|
||||
2036-09-11 09:50:27
|
||||
2027-09-30 19:05:44
|
||||
\N
|
||||
1990-07-28 11:43:30
|
||||
2001-05-05 00:25:16
|
||||
2029-01-10 05:07:26
|
||||
1972-10-09 13:38:21
|
||||
2012-03-25 19:48:53
|
||||
1987-04-06 01:11:45
|
||||
1998-06-04 07:06:48
|
||||
\N
|
||||
2008-12-26 21:17:06
|
||||
\N
|
||||
1979-04-23 17:33:35
|
||||
2010-01-16 23:22:58
|
||||
1982-07-23 21:47:12
|
||||
2013-08-21 20:50:30
|
||||
1982-12-23 01:04:16
|
||||
1997-04-03 19:25:47
|
||||
1986-02-20 22:57:00
|
||||
2034-09-08 09:15:33
|
||||
\N
|
||||
1999-05-14 02:29:36
|
||||
1989-11-18 21:27:15
|
||||
1987-09-17 13:29:22
|
||||
\N
|
||||
1978-05-03 02:10:34
|
||||
2005-05-22 06:14:24
|
||||
2001-02-11 14:04:25
|
||||
1980-07-28 03:37:23
|
||||
1984-04-11 21:36:37
|
||||
2010-06-02 15:41:07
|
||||
2023-09-05 03:40:25
|
||||
2020-12-29 15:51:36
|
||||
1997-06-06 05:10:09
|
||||
2005-10-01 18:54:02
|
||||
2023-01-17 16:49:50
|
||||
2013-04-27 03:18:24
|
||||
2018-05-23 23:13:58
|
||||
2022-11-23 05:55:06
|
||||
1971-05-09 22:21:51
|
||||
1997-12-05 02:23:28
|
||||
2008-08-22 07:12:18
|
||||
2025-05-23 02:33:13
|
||||
1989-02-18 10:23:41
|
||||
\N
|
||||
2035-08-21 05:44:10
|
||||
1995-02-09 21:59:24
|
||||
1994-11-28 00:22:35
|
||||
1980-07-20 23:07:01
|
||||
1998-09-02 22:25:59
|
||||
1993-01-20 13:25:35
|
||||
1979-12-21 08:44:13
|
||||
2010-03-05 04:25:14
|
||||
\N
|
||||
1989-01-07 14:04:18
|
||||
2015-10-09 11:05:27
|
||||
2006-08-23 13:42:39
|
||||
\N
|
||||
2003-04-27 05:24:12
|
||||
2029-03-21 01:01:47
|
||||
2030-09-08 07:49:06
|
||||
2022-05-05 19:07:56
|
||||
1993-10-22 03:35:35
|
||||
2031-04-01 07:28:30
|
||||
2015-03-10 05:00:13
|
||||
1988-12-08 16:27:26
|
||||
2004-07-07 00:14:42
|
||||
1978-01-11 02:57:18
|
||||
2013-09-28 23:39:57
|
||||
2030-02-25 07:31:16
|
||||
2036-09-15 19:08:03
|
||||
2019-07-16 13:26:21
|
||||
2034-09-05 11:39:43
|
||||
2003-11-07 21:07:04
|
||||
2000-10-02 03:30:59
|
||||
2002-09-19 07:59:10
|
||||
2016-03-16 14:50:17
|
||||
1986-02-06 02:57:29
|
||||
2018-07-07 23:37:36
|
||||
1972-02-07 07:48:10
|
||||
2001-05-06 17:04:36
|
||||
1996-10-05 13:24:45
|
||||
1995-12-26 23:42:26
|
||||
1990-05-13 04:31:37
|
||||
1983-03-10 21:09:05
|
||||
2011-08-03 07:47:28
|
||||
2029-01-26 13:18:23
|
||||
2022-04-24 00:45:21
|
||||
1973-09-03 03:30:56
|
||||
2002-09-19 10:09:02
|
||||
1982-04-30 14:02:41
|
||||
2023-11-30 23:11:51
|
||||
1992-05-13 03:34:54
|
||||
\N
|
||||
1986-05-11 02:20:03
|
||||
1976-12-31 04:46:49
|
||||
2009-10-23 06:12:58
|
||||
2022-02-08 01:26:47
|
||||
1999-02-24 01:33:06
|
||||
2007-09-30 10:55:32
|
||||
1991-11-03 16:14:38
|
||||
1985-06-14 21:54:21
|
||||
1973-06-15 20:59:06
|
||||
1972-07-18 12:26:22
|
||||
2012-07-05 19:34:40
|
||||
1989-01-17 11:48:58
|
||||
1982-02-13 14:32:43
|
||||
1994-11-23 11:36:17
|
||||
2008-08-01 06:57:47
|
||||
2032-11-22 15:34:23
|
||||
1976-01-04 02:56:30
|
||||
2037-04-11 12:30:59
|
||||
2011-02-24 11:33:55
|
||||
1992-11-16 04:53:09
|
||||
2025-11-25 00:01:24
|
||||
2013-02-08 02:14:43
|
||||
\N
|
||||
2002-05-13 14:26:05
|
||||
1983-10-15 18:48:04
|
600
contrib/btree_gist/data/timestamptz.data
Normal file
600
contrib/btree_gist/data/timestamptz.data
Normal file
|
@ -0,0 +1,600 @@
|
|||
\N
|
||||
2002-08-30 15:27:57 GMT
|
||||
1997-11-16 06:01:36 GMT-2
|
||||
\N
|
||||
2010-04-02 01:21:20 GMT+2
|
||||
2019-09-21 05:54:01 GMT+6
|
||||
1978-03-04 09:31:20 GMT-9
|
||||
1992-11-08 19:54:37 GMT-4
|
||||
2002-02-11 19:06:34 GMT-1
|
||||
2012-06-06 18:35:22 GMT+3
|
||||
2012-11-23 22:44:32 GMT+3
|
||||
1997-09-27 12:43:45 GMT-2
|
||||
1972-12-18 04:24:22 GMT-11
|
||||
\N
|
||||
2028-09-29 22:06:36 GMT+9
|
||||
1976-03-31 15:03:19 GMT-10
|
||||
1996-06-26 06:20:33 GMT-3
|
||||
2014-07-06 05:37:36 GMT+4
|
||||
2032-05-21 18:59:04 GMT+10
|
||||
2018-12-18 10:59:54 GMT+3
|
||||
1986-02-15 10:47:42 GMT-6
|
||||
1974-06-02 17:04:29 GMT-10
|
||||
2020-11-03 05:11:44 GMT+6
|
||||
2024-09-29 08:51:37 GMT+7
|
||||
1996-07-03 02:47:04 GMT-3
|
||||
1973-02-11 11:17:51 GMT-11
|
||||
2019-12-02 01:36:35 GMT+6
|
||||
2035-09-04 07:23:02 GMT+11
|
||||
\N
|
||||
2018-05-16 21:07:23 GMT+5
|
||||
\N
|
||||
2030-05-04 03:37:48 GMT+9
|
||||
2002-10-27 17:43:22 GMT
|
||||
2036-03-04 08:06:10 GMT+11
|
||||
2002-10-29 03:21:13 GMT
|
||||
2000-06-22 14:23:04 GMT-1
|
||||
1981-01-01 00:15:56 GMT-8
|
||||
2001-12-31 12:30:28 GMT-1
|
||||
2003-09-25 04:51:05 GMT
|
||||
\N
|
||||
2016-11-04 04:29:31 GMT+5
|
||||
2026-02-23 00:38:02 GMT+8
|
||||
\N
|
||||
2033-10-15 07:38:35 GMT+10
|
||||
2003-07-29 03:55:56 GMT
|
||||
1998-10-09 12:06:21 GMT-2
|
||||
2006-04-02 07:46:45 GMT+1
|
||||
1970-06-06 10:31:07 GMT-12
|
||||
2015-02-06 12:13:46 GMT+4
|
||||
2004-06-23 06:55:31 GMT+0
|
||||
2015-12-08 00:58:12 GMT+4
|
||||
2024-06-26 14:46:31 GMT+7
|
||||
1997-11-07 07:28:15 GMT-2
|
||||
\N
|
||||
1992-11-16 02:10:16 GMT-4
|
||||
\N
|
||||
1996-11-09 19:05:11 GMT-3
|
||||
2010-09-12 13:54:34 GMT+2
|
||||
2012-10-17 04:03:22 GMT+3
|
||||
2035-09-05 02:13:28 GMT+11
|
||||
1998-07-19 07:49:42 GMT-2
|
||||
1973-11-11 02:53:33 GMT-11
|
||||
1992-11-15 01:08:33 GMT-4
|
||||
2032-04-22 09:42:32 GMT+10
|
||||
2031-09-14 17:56:28 GMT+10
|
||||
2005-03-25 17:37:54 GMT+0
|
||||
1993-03-17 02:02:52 GMT-4
|
||||
2004-03-01 07:43:47 GMT+0
|
||||
2009-10-06 23:07:36 GMT+2
|
||||
1977-12-15 18:43:22 GMT-9
|
||||
1993-06-07 21:43:23 GMT-4
|
||||
\N
|
||||
1987-08-07 06:17:36 GMT-6
|
||||
2034-05-01 23:16:48 GMT+11
|
||||
2025-06-19 19:55:50 GMT+8
|
||||
2019-10-13 05:55:45 GMT+6
|
||||
1977-03-25 16:49:59 GMT-9
|
||||
1978-01-16 17:50:54 GMT-9
|
||||
2003-09-29 11:52:36 GMT
|
||||
\N
|
||||
2024-01-12 08:48:56 GMT+7
|
||||
\N
|
||||
2036-08-16 06:28:01 GMT+11
|
||||
1972-05-14 03:02:25 GMT-11
|
||||
2019-01-24 15:28:12 GMT+5
|
||||
2009-12-19 12:26:01 GMT+2
|
||||
1982-07-26 20:02:07 GMT-8
|
||||
2012-01-22 14:30:34 GMT+3
|
||||
1983-07-22 09:43:31 GMT-7
|
||||
1978-05-27 11:44:00 GMT-9
|
||||
1974-04-02 20:06:06 GMT-11
|
||||
2008-02-15 17:44:33 GMT+1
|
||||
2003-01-14 11:53:21 GMT
|
||||
1989-03-30 20:26:36 GMT-5
|
||||
2009-12-14 07:04:27 GMT+2
|
||||
\N
|
||||
\N
|
||||
\N
|
||||
2031-07-02 05:37:29 GMT+10
|
||||
2002-06-01 01:18:02 GMT-1
|
||||
1980-07-28 23:17:09 GMT-8
|
||||
2031-09-06 04:50:14 GMT+10
|
||||
1975-01-20 00:56:52 GMT-10
|
||||
\N
|
||||
2025-05-02 21:09:49 GMT+8
|
||||
\N
|
||||
1991-09-27 13:58:05 GMT-4
|
||||
\N
|
||||
\N
|
||||
2027-03-24 20:00:56 GMT+8
|
||||
2009-01-07 11:43:43 GMT+2
|
||||
1985-02-04 08:43:58 GMT-7
|
||||
\N
|
||||
1982-11-28 07:25:38 GMT-7
|
||||
1996-12-23 15:44:40 GMT-2
|
||||
2012-05-22 19:38:12 GMT+3
|
||||
1980-02-29 23:26:57 GMT-8
|
||||
2018-06-14 05:53:18 GMT+5
|
||||
1981-07-04 12:51:41 GMT-8
|
||||
1993-04-25 18:03:27 GMT-4
|
||||
2027-03-09 22:57:21 GMT+8
|
||||
1981-01-10 10:57:10 GMT-8
|
||||
2005-11-25 19:03:21 GMT+1
|
||||
1974-06-16 15:56:10 GMT-10
|
||||
1985-10-15 14:41:42 GMT-6
|
||||
\N
|
||||
2030-12-31 21:55:54 GMT+10
|
||||
1997-03-15 07:49:13 GMT-2
|
||||
1982-02-26 20:08:21 GMT-8
|
||||
1991-05-13 17:37:16 GMT-4
|
||||
2015-09-03 11:31:02 GMT+4
|
||||
1977-10-28 18:16:43 GMT-9
|
||||
1987-06-05 08:47:52 GMT-6
|
||||
1971-03-29 20:19:41 GMT-12
|
||||
2002-03-28 08:10:03 GMT-1
|
||||
2032-03-25 02:45:28 GMT+10
|
||||
1983-07-23 15:43:13 GMT-7
|
||||
2035-01-02 09:00:43 GMT+11
|
||||
1999-01-15 18:02:24 GMT-2
|
||||
2014-01-31 19:21:57 GMT+4
|
||||
2021-09-02 07:24:41 GMT+6
|
||||
1999-01-02 20:08:46 GMT-2
|
||||
2001-03-24 22:19:29 GMT-1
|
||||
2002-01-21 21:22:15 GMT-1
|
||||
2007-08-06 07:40:41 GMT+1
|
||||
1975-12-07 20:04:02 GMT-10
|
||||
2032-09-07 01:44:27 GMT+10
|
||||
1984-11-22 13:22:27 GMT-7
|
||||
2035-06-18 23:03:59 GMT+11
|
||||
1994-07-29 17:46:43 GMT-3
|
||||
2023-04-20 23:06:32 GMT+7
|
||||
2010-02-17 19:55:27 GMT+2
|
||||
2014-08-23 04:24:35 GMT+4
|
||||
2017-02-08 03:50:26 GMT+5
|
||||
2036-10-24 01:43:48 GMT+12
|
||||
1994-11-14 17:05:49 GMT-3
|
||||
1979-04-19 00:51:15 GMT-9
|
||||
1973-10-09 18:17:56 GMT-11
|
||||
1999-01-17 10:01:57 GMT-2
|
||||
2012-07-08 13:16:32 GMT+3
|
||||
\N
|
||||
1980-11-22 05:36:40 GMT-8
|
||||
2002-02-28 09:35:09 GMT-1
|
||||
2025-11-10 01:29:26 GMT+8
|
||||
2005-03-24 03:31:43 GMT+0
|
||||
\N
|
||||
1987-09-11 07:03:58 GMT-6
|
||||
\N
|
||||
2026-01-29 10:21:54 GMT+8
|
||||
2034-02-14 07:49:09 GMT+11
|
||||
\N
|
||||
\N
|
||||
2031-10-25 07:54:40 GMT+10
|
||||
2010-10-13 20:26:20 GMT+2
|
||||
2036-09-11 09:50:27 GMT+12
|
||||
2027-09-30 19:05:44 GMT+8
|
||||
1995-04-10 19:58:12 GMT-3
|
||||
1990-07-28 11:43:30 GMT-5
|
||||
2001-05-05 00:25:16 GMT-1
|
||||
2029-01-10 05:07:26 GMT+9
|
||||
1972-10-09 13:38:21 GMT-11
|
||||
2012-03-25 19:48:53 GMT+3
|
||||
1987-04-06 01:11:45 GMT-6
|
||||
1998-06-04 07:06:48 GMT-2
|
||||
2038-01-16 08:56:45 GMT+12
|
||||
2008-12-26 21:17:06 GMT+2
|
||||
1981-08-23 10:06:56 GMT-8
|
||||
1979-04-23 17:33:35 GMT-9
|
||||
2010-01-16 23:22:58 GMT+2
|
||||
1982-07-23 21:47:12 GMT-8
|
||||
2013-08-21 20:50:30 GMT+3
|
||||
1982-12-23 01:04:16 GMT-7
|
||||
1997-04-03 19:25:47 GMT-2
|
||||
1986-02-20 22:57:00 GMT-6
|
||||
2034-09-08 09:15:33 GMT+11
|
||||
1975-04-02 17:16:48 GMT-10
|
||||
1999-05-14 02:29:36 GMT-2
|
||||
1989-11-18 21:27:15 GMT-5
|
||||
\N
|
||||
2030-05-15 08:09:46 GMT+9
|
||||
1978-05-03 02:10:34 GMT-9
|
||||
2005-05-22 06:14:24 GMT+0
|
||||
2001-02-11 14:04:25 GMT-1
|
||||
1980-07-28 03:37:23 GMT-8
|
||||
1984-04-11 21:36:37 GMT-7
|
||||
2010-06-02 15:41:07 GMT+2
|
||||
2023-09-05 03:40:25 GMT+7
|
||||
2020-12-29 15:51:36 GMT+6
|
||||
1997-06-06 05:10:09 GMT-2
|
||||
2005-10-01 18:54:02 GMT+1
|
||||
2023-01-17 16:49:50 GMT+7
|
||||
2013-04-27 03:18:24 GMT+3
|
||||
2018-05-23 23:13:58 GMT+5
|
||||
2022-11-23 05:55:06 GMT+7
|
||||
1971-05-09 22:21:51 GMT-12
|
||||
\N
|
||||
2008-08-22 07:12:18 GMT+2
|
||||
2025-05-23 02:33:13 GMT+8
|
||||
1989-02-18 10:23:41 GMT-5
|
||||
2006-05-03 15:10:12 GMT+1
|
||||
2035-08-21 05:44:10 GMT+11
|
||||
1995-02-09 21:59:24 GMT-3
|
||||
1994-11-28 00:22:35 GMT-3
|
||||
1980-07-20 23:07:01 GMT-8
|
||||
1998-09-02 22:25:59 GMT-2
|
||||
1993-01-20 13:25:35 GMT-4
|
||||
1979-12-21 08:44:13 GMT-8
|
||||
\N
|
||||
2022-10-19 07:06:12 GMT+7
|
||||
\N
|
||||
\N
|
||||
2006-08-23 13:42:39 GMT+1
|
||||
2024-05-31 02:55:37 GMT+7
|
||||
2003-04-27 05:24:12 GMT
|
||||
2029-03-21 01:01:47 GMT+9
|
||||
2030-09-08 07:49:06 GMT+9
|
||||
2022-05-05 19:07:56 GMT+6
|
||||
1993-10-22 03:35:35 GMT-4
|
||||
2031-04-01 07:28:30 GMT+10
|
||||
2015-03-10 05:00:13 GMT+4
|
||||
1988-12-08 16:27:26 GMT-5
|
||||
\N
|
||||
\N
|
||||
2013-09-28 23:39:57 GMT+3
|
||||
2030-02-25 07:31:16 GMT+9
|
||||
2036-09-15 19:08:03 GMT+12
|
||||
\N
|
||||
2034-09-05 11:39:43 GMT+11
|
||||
2003-11-07 21:07:04 GMT
|
||||
\N
|
||||
2002-09-19 07:59:10 GMT
|
||||
2016-03-16 14:50:17 GMT+4
|
||||
1986-02-06 02:57:29 GMT-6
|
||||
2018-07-07 23:37:36 GMT+5
|
||||
\N
|
||||
2001-05-06 17:04:36 GMT-1
|
||||
1996-10-05 13:24:45 GMT-3
|
||||
1995-12-26 23:42:26 GMT-3
|
||||
\N
|
||||
1983-03-10 21:09:05 GMT-7
|
||||
2011-08-03 07:47:28 GMT+3
|
||||
2029-01-26 13:18:23 GMT+9
|
||||
2022-04-24 00:45:21 GMT+6
|
||||
1973-09-03 03:30:56 GMT-11
|
||||
\N
|
||||
1982-04-30 14:02:41 GMT-8
|
||||
2023-11-30 23:11:51 GMT+7
|
||||
1992-05-13 03:34:54 GMT-4
|
||||
2001-11-13 00:47:25 GMT-1
|
||||
1986-05-11 02:20:03 GMT-6
|
||||
\N
|
||||
\N
|
||||
2022-02-08 01:26:47 GMT+6
|
||||
1999-02-24 01:33:06 GMT-2
|
||||
2007-09-30 10:55:32 GMT+1
|
||||
1991-11-03 16:14:38 GMT-4
|
||||
1985-06-14 21:54:21 GMT-7
|
||||
1973-06-15 20:59:06 GMT-11
|
||||
1972-07-18 12:26:22 GMT-11
|
||||
\N
|
||||
1989-01-17 11:48:58 GMT-5
|
||||
1982-02-13 14:32:43 GMT-8
|
||||
1994-11-23 11:36:17 GMT-3
|
||||
2008-08-01 06:57:47 GMT+2
|
||||
\N
|
||||
1976-01-04 02:56:30 GMT-10
|
||||
2037-04-11 12:30:59 GMT+12
|
||||
2011-02-24 11:33:55 GMT+3
|
||||
1992-11-16 04:53:09 GMT-4
|
||||
2025-11-25 00:01:24 GMT+8
|
||||
2013-02-08 02:14:43 GMT+3
|
||||
2003-05-05 05:25:07 GMT
|
||||
2002-05-13 14:26:05 GMT-1
|
||||
1983-10-15 18:48:04 GMT-7
|
||||
1995-01-07 19:03:41 GMT-3
|
||||
1986-11-19 05:35:15 GMT-6
|
||||
1991-04-09 21:07:05 GMT-4
|
||||
2011-01-03 05:09:25 GMT+2
|
||||
1974-12-06 19:39:43 GMT-10
|
||||
2000-11-12 19:05:27 GMT-1
|
||||
2006-01-31 04:14:52 GMT+1
|
||||
2004-07-01 01:25:07 GMT+0
|
||||
1978-06-04 03:51:35 GMT-9
|
||||
\N
|
||||
2002-07-29 17:13:57 GMT-1
|
||||
1977-01-03 12:24:31 GMT-10
|
||||
1991-12-12 18:57:03 GMT-4
|
||||
1986-06-13 22:44:23 GMT-6
|
||||
2012-12-08 18:42:47 GMT+3
|
||||
\N
|
||||
1977-10-01 22:10:45 GMT-9
|
||||
1994-10-26 07:10:14 GMT-3
|
||||
1997-01-11 02:26:04 GMT-2
|
||||
2013-11-28 22:50:57 GMT+3
|
||||
2016-07-14 09:05:32 GMT+4
|
||||
\N
|
||||
1994-10-27 20:12:10 GMT-3
|
||||
2018-02-22 01:05:22 GMT+5
|
||||
2034-10-05 12:42:38 GMT+11
|
||||
2028-03-04 00:08:34 GMT+9
|
||||
2037-05-21 23:24:07 GMT+12
|
||||
2031-01-14 06:56:54 GMT+10
|
||||
2036-04-03 10:15:05 GMT+11
|
||||
2036-01-05 10:54:45 GMT+11
|
||||
1979-09-22 14:31:26 GMT-9
|
||||
\N
|
||||
2027-08-13 08:28:38 GMT+8
|
||||
2005-11-17 13:26:47 GMT+1
|
||||
2028-02-23 18:32:03 GMT+9
|
||||
1998-06-17 16:08:12 GMT-2
|
||||
2024-03-02 13:53:12 GMT+7
|
||||
1991-02-24 19:52:40 GMT-5
|
||||
1973-11-23 22:00:24 GMT-11
|
||||
2004-03-18 17:04:06 GMT+0
|
||||
2033-08-13 19:45:25 GMT+10
|
||||
2031-04-23 15:11:59 GMT+10
|
||||
2009-12-31 01:57:02 GMT+2
|
||||
1982-11-10 21:58:20 GMT-7
|
||||
2010-10-07 04:13:26 GMT+2
|
||||
1982-05-18 11:15:30 GMT-8
|
||||
2010-09-28 14:05:51 GMT+2
|
||||
1986-01-10 21:00:43 GMT-6
|
||||
1997-03-20 05:04:03 GMT-2
|
||||
2019-11-15 09:43:14 GMT+6
|
||||
2017-09-06 00:45:47 GMT+5
|
||||
2026-08-04 01:10:21 GMT+8
|
||||
1992-01-20 08:03:40 GMT-4
|
||||
2010-11-21 02:58:16 GMT+2
|
||||
1974-03-27 16:19:28 GMT-11
|
||||
2025-04-12 09:52:38 GMT+7
|
||||
2014-09-14 22:11:22 GMT+4
|
||||
1978-09-27 23:47:35 GMT-9
|
||||
1985-10-29 21:31:25 GMT-6
|
||||
2018-07-07 00:50:47 GMT+5
|
||||
1989-08-31 01:29:41 GMT-5
|
||||
1971-01-10 05:35:01 GMT-12
|
||||
1983-05-28 15:52:19 GMT-7
|
||||
2036-11-29 15:30:27 GMT+12
|
||||
2022-01-24 17:56:31 GMT+6
|
||||
2023-06-09 07:37:51 GMT+7
|
||||
1989-06-08 04:26:44 GMT-5
|
||||
2023-11-15 01:11:44 GMT+7
|
||||
1997-04-16 06:19:03 GMT-2
|
||||
2021-12-18 16:37:32 GMT+6
|
||||
2009-10-07 21:30:12 GMT+2
|
||||
1994-01-29 03:07:14 GMT-4
|
||||
1991-05-26 12:45:10 GMT-4
|
||||
1984-10-01 17:18:39 GMT-7
|
||||
2034-01-04 01:22:45 GMT+11
|
||||
1977-03-15 11:46:55 GMT-9
|
||||
1990-11-22 14:57:16 GMT-5
|
||||
2003-03-15 06:11:50 GMT
|
||||
1977-08-27 08:26:42 GMT-9
|
||||
1972-10-17 01:34:22 GMT-11
|
||||
2032-09-15 22:54:13 GMT+10
|
||||
1994-07-31 10:50:47 GMT-3
|
||||
2024-08-25 05:13:02 GMT+7
|
||||
2013-09-18 18:19:31 GMT+3
|
||||
\N
|
||||
\N
|
||||
1981-12-25 22:21:59 GMT-8
|
||||
\N
|
||||
2008-10-31 04:45:33 GMT+2
|
||||
2013-02-02 02:15:09 GMT+3
|
||||
2018-10-18 12:56:11 GMT+5
|
||||
1978-11-07 15:17:16 GMT-9
|
||||
2037-01-19 01:13:16 GMT+12
|
||||
\N
|
||||
2021-04-21 08:45:28 GMT+6
|
||||
2028-01-21 13:52:14 GMT+8
|
||||
2015-03-11 16:07:57 GMT+4
|
||||
2005-03-13 17:22:20 GMT+0
|
||||
2004-01-28 20:45:12 GMT+0
|
||||
1991-03-21 13:23:37 GMT-5
|
||||
2029-07-26 06:01:08 GMT+9
|
||||
2002-11-15 19:24:22 GMT
|
||||
1987-05-02 16:25:01 GMT-6
|
||||
1999-04-01 05:54:41 GMT-2
|
||||
2034-03-18 02:35:05 GMT+11
|
||||
1998-07-08 21:50:27 GMT-2
|
||||
2015-06-08 05:27:05 GMT+4
|
||||
1999-05-16 03:11:42 GMT-2
|
||||
2017-10-29 15:46:32 GMT+5
|
||||
2037-06-14 02:45:44 GMT+12
|
||||
1997-11-29 16:30:09 GMT-2
|
||||
1993-02-26 22:47:39 GMT-4
|
||||
1998-12-04 16:43:34 GMT-2
|
||||
2025-08-14 16:29:42 GMT+8
|
||||
1982-07-31 16:54:13 GMT-8
|
||||
\N
|
||||
2029-04-26 12:37:56 GMT+9
|
||||
2025-09-21 23:33:16 GMT+8
|
||||
\N
|
||||
2017-06-24 03:39:14 GMT+5
|
||||
1990-11-17 19:15:50 GMT-5
|
||||
2014-03-30 15:02:02 GMT+4
|
||||
\N
|
||||
2020-08-26 07:34:24 GMT+6
|
||||
1992-11-14 14:14:38 GMT-4
|
||||
2010-04-22 17:35:09 GMT+2
|
||||
2034-03-23 18:10:28 GMT+11
|
||||
1984-10-17 02:42:50 GMT-7
|
||||
2001-04-29 03:59:54 GMT-1
|
||||
1996-08-15 07:16:34 GMT-3
|
||||
\N
|
||||
1974-02-10 02:40:01 GMT-11
|
||||
2033-03-28 21:51:56 GMT+10
|
||||
2004-07-20 07:26:40 GMT+0
|
||||
2017-07-25 17:26:58 GMT+5
|
||||
2025-12-12 13:27:04 GMT+8
|
||||
2021-10-01 01:30:40 GMT+6
|
||||
1986-11-23 18:40:24 GMT-6
|
||||
2025-10-28 20:22:31 GMT+8
|
||||
2021-04-23 14:09:07 GMT+6
|
||||
2002-03-22 12:22:14 GMT-1
|
||||
2013-01-18 08:22:38 GMT+3
|
||||
1988-06-29 03:31:44 GMT-5
|
||||
1976-04-19 18:45:58 GMT-10
|
||||
2008-01-09 11:25:14 GMT+1
|
||||
1998-11-13 14:35:23 GMT-2
|
||||
2033-12-18 16:43:16 GMT+11
|
||||
1983-07-06 14:11:03 GMT-7
|
||||
2017-07-23 00:18:04 GMT+5
|
||||
2037-01-27 05:35:21 GMT+12
|
||||
2004-09-14 14:29:32 GMT+0
|
||||
2035-11-11 14:27:23 GMT+11
|
||||
2021-05-09 15:44:42 GMT+6
|
||||
1987-11-02 15:56:40 GMT-6
|
||||
\N
|
||||
2026-12-02 12:28:27 GMT+8
|
||||
1990-12-27 22:26:41 GMT-5
|
||||
\N
|
||||
1987-07-11 01:54:54 GMT-6
|
||||
2029-11-27 10:59:35 GMT+9
|
||||
1990-04-16 21:11:47 GMT-5
|
||||
2023-05-11 10:45:45 GMT+7
|
||||
\N
|
||||
2011-08-05 12:47:00 GMT+3
|
||||
1993-06-09 06:44:41 GMT-4
|
||||
1982-06-02 21:37:08 GMT-8
|
||||
2025-08-13 13:03:45 GMT+8
|
||||
1974-03-11 03:30:14 GMT-11
|
||||
2011-09-27 19:47:44 GMT+3
|
||||
1992-12-02 08:40:51 GMT-4
|
||||
2033-10-11 14:20:32 GMT+10
|
||||
1983-01-20 16:32:49 GMT-7
|
||||
2002-09-15 02:56:52 GMT
|
||||
2006-09-27 11:45:29 GMT+1
|
||||
1997-06-29 05:54:17 GMT-2
|
||||
\N
|
||||
1984-02-22 06:27:16 GMT-7
|
||||
1992-07-19 22:54:28 GMT-4
|
||||
1991-12-22 22:41:11 GMT-4
|
||||
1990-07-06 01:25:10 GMT-5
|
||||
1973-06-15 06:34:08 GMT-11
|
||||
1976-03-21 22:21:06 GMT-10
|
||||
1976-06-15 07:14:46 GMT-10
|
||||
1972-01-15 06:30:22 GMT-11
|
||||
1971-08-06 10:41:43 GMT-11
|
||||
1995-08-21 21:12:06 GMT-3
|
||||
2006-07-30 07:14:27 GMT+1
|
||||
2023-09-20 23:59:35 GMT+7
|
||||
2003-03-18 13:53:03 GMT
|
||||
2008-06-18 05:31:10 GMT+2
|
||||
1993-06-07 06:55:33 GMT-4
|
||||
2036-08-28 00:46:01 GMT+12
|
||||
1970-05-11 08:36:31 GMT-12
|
||||
\N
|
||||
2019-01-10 06:01:34 GMT+5
|
||||
1986-04-16 07:43:34 GMT-6
|
||||
2007-07-14 07:46:45 GMT+1
|
||||
2015-05-11 05:13:03 GMT+4
|
||||
2025-12-09 22:39:17 GMT+8
|
||||
\N
|
||||
2012-11-18 03:02:25 GMT+3
|
||||
2022-08-08 02:56:37 GMT+7
|
||||
1988-10-20 06:54:55 GMT-5
|
||||
1985-02-21 08:46:49 GMT-7
|
||||
1996-05-22 09:18:01 GMT-3
|
||||
1976-10-07 09:21:50 GMT-10
|
||||
1981-08-22 18:22:24 GMT-8
|
||||
2035-08-31 17:58:57 GMT+11
|
||||
\N
|
||||
\N
|
||||
\N
|
||||
2011-11-13 20:09:47 GMT+3
|
||||
2018-04-02 08:00:33 GMT+5
|
||||
1984-08-07 03:17:37 GMT-7
|
||||
1988-07-13 10:31:02 GMT-5
|
||||
\N
|
||||
2029-08-28 23:46:32 GMT+9
|
||||
2008-12-10 12:40:01 GMT+2
|
||||
1974-01-10 13:11:31 GMT-11
|
||||
1996-06-17 05:23:30 GMT-3
|
||||
1974-06-05 10:42:56 GMT-10
|
||||
1975-02-19 03:03:35 GMT-10
|
||||
1994-06-29 10:30:45 GMT-3
|
||||
2018-07-08 13:28:04 GMT+5
|
||||
\N
|
||||
1984-10-09 13:52:14 GMT-7
|
||||
2033-12-23 18:53:07 GMT+11
|
||||
2021-06-11 02:18:52 GMT+6
|
||||
2027-01-20 17:50:31 GMT+8
|
||||
2012-04-17 09:46:09 GMT+3
|
||||
1982-03-08 23:06:30 GMT-8
|
||||
2004-11-03 06:34:08 GMT+0
|
||||
2028-05-30 05:51:58 GMT+9
|
||||
1981-09-06 21:46:45 GMT-8
|
||||
2004-08-12 16:29:39 GMT+0
|
||||
1998-02-22 05:03:52 GMT-2
|
||||
2023-03-08 13:32:55 GMT+7
|
||||
1991-09-16 22:16:21 GMT-4
|
||||
\N
|
||||
1999-07-18 22:54:50 GMT-2
|
||||
\N
|
||||
1991-11-12 03:31:16 GMT-4
|
||||
1993-08-28 02:05:54 GMT-4
|
||||
2026-11-10 04:53:55 GMT+8
|
||||
2015-06-21 03:00:10 GMT+4
|
||||
2032-02-05 04:32:19 GMT+10
|
||||
1974-11-25 19:29:07 GMT-10
|
||||
1985-11-04 00:11:55 GMT-6
|
||||
1992-11-23 19:38:16 GMT-4
|
||||
1986-07-18 15:15:06 GMT-6
|
||||
1987-10-25 00:29:12 GMT-6
|
||||
1987-12-08 10:12:04 GMT-6
|
||||
1996-11-06 14:53:07 GMT-3
|
||||
2028-05-15 05:23:09 GMT+9
|
||||
1998-12-12 15:18:10 GMT-2
|
||||
1974-11-23 21:02:21 GMT-10
|
||||
2021-08-17 04:11:28 GMT+6
|
||||
2020-04-02 06:42:25 GMT+6
|
||||
\N
|
||||
1994-07-01 07:43:54 GMT-3
|
||||
1989-03-09 09:10:29 GMT-5
|
||||
2008-04-06 08:50:48 GMT+1
|
||||
2027-02-23 20:30:36 GMT+8
|
||||
1983-10-09 05:19:36 GMT-7
|
||||
1995-10-16 11:47:58 GMT-3
|
||||
2007-09-09 12:43:09 GMT+1
|
||||
1977-12-16 00:24:08 GMT-9
|
||||
2008-04-05 21:05:40 GMT+1
|
||||
\N
|
||||
1983-10-17 15:56:25 GMT-7
|
||||
2029-08-12 12:45:17 GMT+9
|
||||
1994-10-20 18:41:45 GMT-3
|
||||
2017-12-08 16:48:31 GMT+5
|
||||
2018-02-09 08:41:07 GMT+5
|
||||
1973-12-13 16:00:22 GMT-11
|
||||
2022-06-20 01:45:40 GMT+7
|
||||
2033-05-25 10:33:11 GMT+10
|
||||
2017-02-01 05:21:30 GMT+5
|
||||
2019-02-01 20:00:39 GMT+5
|
||||
1970-10-01 20:58:08 GMT-12
|
||||
2025-01-17 02:23:47 GMT+7
|
||||
1974-03-08 16:19:17 GMT-11
|
||||
2020-05-27 21:01:29 GMT+6
|
||||
1999-01-10 08:39:45 GMT-2
|
||||
2009-05-26 10:18:22 GMT+2
|
||||
2014-07-22 07:54:09 GMT+4
|
||||
2036-10-26 20:20:46 GMT+12
|
||||
2025-03-03 08:47:09 GMT+7
|
||||
1972-09-22 21:58:10 GMT-11
|
||||
1998-05-16 11:05:46 GMT-2
|
||||
1994-09-14 08:08:42 GMT-3
|
||||
1976-08-14 12:10:43 GMT-10
|
||||
1975-03-14 19:29:02 GMT-10
|
||||
1980-10-31 16:30:29 GMT-8
|
||||
1975-10-03 19:29:30 GMT-10
|
||||
2020-02-09 20:43:47 GMT+6
|
||||
1975-04-02 10:00:13 GMT-10
|
||||
2027-07-27 11:17:48 GMT+8
|
||||
2022-05-23 09:28:31 GMT+6
|
||||
1999-11-08 15:38:46 GMT-1
|
||||
2007-01-14 02:48:02 GMT+1
|
||||
2026-05-04 08:12:13 GMT+8
|
||||
2029-06-19 09:20:46 GMT+9
|
||||
2005-05-07 19:38:36 GMT+0
|
||||
2023-04-23 14:15:53 GMT+7
|
||||
2022-02-12 01:05:51 GMT+6
|
599
contrib/btree_gist/data/timetz.data
Normal file
599
contrib/btree_gist/data/timetz.data
Normal file
|
@ -0,0 +1,599 @@
|
|||
15:27:57 GMT
|
||||
06:01:36 GMT-2
|
||||
\N
|
||||
01:21:20 GMT+2
|
||||
05:54:01 GMT+6
|
||||
09:31:20 GMT-9
|
||||
19:54:37 GMT-4
|
||||
19:06:34 GMT-1
|
||||
18:35:22 GMT+3
|
||||
22:44:32 GMT+3
|
||||
12:43:45 GMT-2
|
||||
04:24:22 GMT-11
|
||||
\N
|
||||
22:06:36 GMT+9
|
||||
15:03:19 GMT-10
|
||||
06:20:33 GMT-3
|
||||
05:37:36 GMT+4
|
||||
18:59:04 GMT+10
|
||||
10:59:54 GMT+3
|
||||
10:47:42 GMT-6
|
||||
17:04:29 GMT-10
|
||||
05:11:44 GMT+6
|
||||
08:51:37 GMT+7
|
||||
02:47:04 GMT-3
|
||||
11:17:51 GMT-11
|
||||
01:36:35 GMT+6
|
||||
07:23:02 GMT+11
|
||||
\N
|
||||
21:07:23 GMT+5
|
||||
\N
|
||||
03:37:48 GMT+9
|
||||
17:43:22 GMT
|
||||
08:06:10 GMT+11
|
||||
03:21:13 GMT
|
||||
14:23:04 GMT-1
|
||||
00:15:56 GMT-8
|
||||
12:30:28 GMT-1
|
||||
04:51:05 GMT
|
||||
\N
|
||||
04:29:31 GMT+5
|
||||
00:38:02 GMT+8
|
||||
\N
|
||||
07:38:35 GMT+10
|
||||
03:55:56 GMT
|
||||
12:06:21 GMT-2
|
||||
07:46:45 GMT+3
|
||||
10:31:07 GMT-12
|
||||
12:13:46 GMT+4
|
||||
06:55:31 GMT+0
|
||||
00:58:12 GMT+4
|
||||
14:46:31 GMT+7
|
||||
07:28:15 GMT-2
|
||||
\N
|
||||
02:10:16 GMT-4
|
||||
\N
|
||||
19:05:11 GMT-3
|
||||
13:54:34 GMT+2
|
||||
04:03:22 GMT+3
|
||||
02:13:28 GMT+11
|
||||
07:49:42 GMT-2
|
||||
02:53:33 GMT-11
|
||||
01:08:33 GMT-4
|
||||
09:42:32 GMT+10
|
||||
17:56:28 GMT+10
|
||||
17:37:54 GMT+0
|
||||
02:02:52 GMT-4
|
||||
07:43:47 GMT+0
|
||||
23:07:36 GMT+2
|
||||
18:43:22 GMT-9
|
||||
21:43:23 GMT-4
|
||||
\N
|
||||
06:17:36 GMT-6
|
||||
23:16:48 GMT+11
|
||||
19:55:50 GMT+8
|
||||
05:55:45 GMT+6
|
||||
16:49:59 GMT-9
|
||||
17:50:54 GMT-9
|
||||
11:52:36 GMT
|
||||
\N
|
||||
08:48:56 GMT+7
|
||||
\N
|
||||
06:28:01 GMT+11
|
||||
03:02:25 GMT-11
|
||||
15:28:12 GMT+5
|
||||
12:26:01 GMT+2
|
||||
20:02:07 GMT-8
|
||||
14:30:34 GMT+3
|
||||
09:43:31 GMT-7
|
||||
11:44:00 GMT-9
|
||||
20:06:06 GMT-11
|
||||
17:44:33 GMT+1
|
||||
11:53:21 GMT
|
||||
20:26:36 GMT-5
|
||||
07:04:27 GMT+2
|
||||
\N
|
||||
\N
|
||||
\N
|
||||
05:37:29 GMT+10
|
||||
01:18:02 GMT-1
|
||||
23:17:09 GMT-8
|
||||
04:50:14 GMT+10
|
||||
00:56:52 GMT-10
|
||||
\N
|
||||
21:09:49 GMT+8
|
||||
\N
|
||||
13:58:05 GMT-4
|
||||
\N
|
||||
\N
|
||||
20:00:56 GMT+8
|
||||
11:43:43 GMT+2
|
||||
08:43:58 GMT-7
|
||||
\N
|
||||
07:25:38 GMT-7
|
||||
15:44:40 GMT-2
|
||||
19:38:12 GMT+3
|
||||
23:26:57 GMT-8
|
||||
05:53:18 GMT+5
|
||||
12:51:41 GMT-8
|
||||
18:03:27 GMT-4
|
||||
22:57:21 GMT+8
|
||||
10:57:10 GMT-8
|
||||
19:03:21 GMT+1
|
||||
15:56:10 GMT-10
|
||||
14:41:42 GMT-6
|
||||
\N
|
||||
21:55:54 GMT+10
|
||||
07:49:13 GMT-2
|
||||
20:08:21 GMT-8
|
||||
17:37:16 GMT-4
|
||||
11:31:02 GMT+4
|
||||
18:16:43 GMT-9
|
||||
08:47:52 GMT-6
|
||||
20:19:41 GMT-12
|
||||
08:10:03 GMT-1
|
||||
02:45:28 GMT+10
|
||||
15:43:13 GMT-7
|
||||
09:00:43 GMT+11
|
||||
18:02:24 GMT-2
|
||||
19:21:57 GMT+4
|
||||
07:24:41 GMT+6
|
||||
20:08:46 GMT-2
|
||||
22:19:29 GMT-1
|
||||
21:22:15 GMT-1
|
||||
07:40:41 GMT+1
|
||||
20:04:02 GMT-10
|
||||
01:44:27 GMT+10
|
||||
13:22:27 GMT-7
|
||||
23:03:59 GMT+11
|
||||
17:46:43 GMT-3
|
||||
23:06:32 GMT+7
|
||||
19:55:27 GMT+2
|
||||
04:24:35 GMT+4
|
||||
03:50:26 GMT+5
|
||||
01:43:48 GMT+12
|
||||
17:05:49 GMT-3
|
||||
00:51:15 GMT-9
|
||||
18:17:56 GMT-11
|
||||
10:01:57 GMT-2
|
||||
13:16:32 GMT+3
|
||||
\N
|
||||
05:36:40 GMT-8
|
||||
09:35:09 GMT-1
|
||||
01:29:26 GMT+8
|
||||
03:31:43 GMT+0
|
||||
\N
|
||||
07:03:58 GMT-6
|
||||
\N
|
||||
10:21:54 GMT+8
|
||||
07:49:09 GMT+11
|
||||
\N
|
||||
\N
|
||||
07:54:40 GMT+10
|
||||
20:26:20 GMT+2
|
||||
09:50:27 GMT+12
|
||||
19:05:44 GMT+8
|
||||
19:58:12 GMT-3
|
||||
11:43:30 GMT-5
|
||||
00:25:16 GMT-1
|
||||
05:07:26 GMT+9
|
||||
13:38:21 GMT-11
|
||||
19:48:53 GMT+3
|
||||
01:11:45 GMT-6
|
||||
07:06:48 GMT-2
|
||||
08:56:45 GMT+12
|
||||
21:17:06 GMT+2
|
||||
10:06:56 GMT-8
|
||||
17:33:35 GMT-9
|
||||
23:22:58 GMT+2
|
||||
21:47:12 GMT-8
|
||||
20:50:30 GMT+3
|
||||
01:04:16 GMT-7
|
||||
19:25:47 GMT-2
|
||||
22:57:00 GMT-6
|
||||
09:15:33 GMT+11
|
||||
17:16:48 GMT-10
|
||||
02:29:36 GMT-2
|
||||
21:27:15 GMT-5
|
||||
\N
|
||||
08:09:46 GMT+9
|
||||
02:10:34 GMT-9
|
||||
06:14:24 GMT+0
|
||||
14:04:25 GMT-1
|
||||
03:37:23 GMT-8
|
||||
21:36:37 GMT-7
|
||||
15:41:07 GMT+2
|
||||
03:40:25 GMT+7
|
||||
15:51:36 GMT+6
|
||||
05:10:09 GMT-2
|
||||
18:54:02 GMT+1
|
||||
16:49:50 GMT+7
|
||||
03:18:24 GMT+3
|
||||
23:13:58 GMT+5
|
||||
05:55:06 GMT+7
|
||||
22:21:51 GMT-12
|
||||
\N
|
||||
07:12:18 GMT+2
|
||||
02:33:13 GMT+8
|
||||
10:23:41 GMT-5
|
||||
15:10:12 GMT+1
|
||||
05:44:10 GMT+11
|
||||
21:59:24 GMT-3
|
||||
00:22:35 GMT-3
|
||||
23:07:01 GMT-8
|
||||
22:25:59 GMT-2
|
||||
13:25:35 GMT-4
|
||||
08:44:13 GMT-8
|
||||
\N
|
||||
07:06:12 GMT+7
|
||||
\N
|
||||
\N
|
||||
13:42:39 GMT+1
|
||||
02:55:37 GMT+7
|
||||
05:24:12 GMT
|
||||
01:01:47 GMT+9
|
||||
07:49:06 GMT+9
|
||||
19:07:56 GMT+6
|
||||
03:35:35 GMT-4
|
||||
07:28:30 GMT+10
|
||||
05:00:13 GMT+4
|
||||
16:27:26 GMT-5
|
||||
\N
|
||||
\N
|
||||
23:39:57 GMT+3
|
||||
07:31:16 GMT+9
|
||||
19:08:03 GMT+12
|
||||
\N
|
||||
11:39:43 GMT+11
|
||||
21:07:04 GMT
|
||||
\N
|
||||
07:59:10 GMT
|
||||
14:50:17 GMT+4
|
||||
02:57:29 GMT-6
|
||||
23:37:36 GMT+5
|
||||
\N
|
||||
17:04:36 GMT-1
|
||||
13:24:45 GMT-3
|
||||
23:42:26 GMT-3
|
||||
\N
|
||||
21:09:05 GMT-7
|
||||
07:47:28 GMT+3
|
||||
13:18:23 GMT+9
|
||||
00:45:21 GMT+6
|
||||
03:30:56 GMT-11
|
||||
\N
|
||||
14:02:41 GMT-8
|
||||
23:11:51 GMT+7
|
||||
03:34:54 GMT-4
|
||||
00:47:25 GMT-1
|
||||
02:20:03 GMT-6
|
||||
\N
|
||||
\N
|
||||
01:26:47 GMT+6
|
||||
01:33:06 GMT-2
|
||||
10:55:32 GMT+1
|
||||
16:14:38 GMT-4
|
||||
21:54:21 GMT-7
|
||||
20:59:06 GMT-11
|
||||
12:26:22 GMT-11
|
||||
\N
|
||||
11:48:58 GMT-5
|
||||
14:32:43 GMT-8
|
||||
11:36:17 GMT-3
|
||||
06:57:47 GMT+2
|
||||
\N
|
||||
02:56:30 GMT-10
|
||||
12:30:59 GMT+12
|
||||
11:33:55 GMT+3
|
||||
04:53:09 GMT-4
|
||||
00:01:24 GMT+8
|
||||
02:14:43 GMT+3
|
||||
05:25:07 GMT
|
||||
14:26:05 GMT-1
|
||||
18:48:04 GMT-7
|
||||
19:03:41 GMT-3
|
||||
05:35:15 GMT-6
|
||||
21:07:05 GMT-4
|
||||
05:09:25 GMT+2
|
||||
19:39:43 GMT-10
|
||||
19:05:27 GMT-1
|
||||
04:14:52 GMT+1
|
||||
01:25:07 GMT+0
|
||||
03:51:35 GMT-9
|
||||
\N
|
||||
17:13:57 GMT-1
|
||||
12:24:31 GMT-10
|
||||
18:57:03 GMT-4
|
||||
22:44:23 GMT-6
|
||||
18:42:47 GMT+3
|
||||
\N
|
||||
22:10:45 GMT-9
|
||||
07:10:14 GMT-3
|
||||
02:26:04 GMT-2
|
||||
22:50:57 GMT+3
|
||||
09:05:32 GMT+4
|
||||
\N
|
||||
20:12:10 GMT-3
|
||||
01:05:22 GMT+5
|
||||
12:42:38 GMT+11
|
||||
00:08:34 GMT+9
|
||||
23:24:07 GMT+12
|
||||
06:56:54 GMT+10
|
||||
10:15:05 GMT+11
|
||||
10:54:45 GMT+11
|
||||
14:31:26 GMT-9
|
||||
\N
|
||||
08:28:38 GMT+8
|
||||
13:26:47 GMT+1
|
||||
18:32:03 GMT+9
|
||||
16:08:12 GMT-2
|
||||
13:53:12 GMT+7
|
||||
19:52:40 GMT-5
|
||||
22:00:24 GMT-11
|
||||
17:04:06 GMT+0
|
||||
19:45:25 GMT+10
|
||||
15:11:59 GMT+10
|
||||
01:57:02 GMT+2
|
||||
21:58:20 GMT-7
|
||||
04:13:26 GMT+2
|
||||
11:15:30 GMT-8
|
||||
14:05:51 GMT+2
|
||||
21:00:43 GMT-6
|
||||
05:04:03 GMT-2
|
||||
09:43:14 GMT+6
|
||||
00:45:47 GMT+5
|
||||
01:10:21 GMT+8
|
||||
08:03:40 GMT-4
|
||||
02:58:16 GMT+2
|
||||
16:19:28 GMT-11
|
||||
09:52:38 GMT+7
|
||||
22:11:22 GMT+4
|
||||
23:47:35 GMT-9
|
||||
21:31:25 GMT-6
|
||||
00:50:47 GMT+5
|
||||
01:29:41 GMT-5
|
||||
05:35:01 GMT-12
|
||||
15:52:19 GMT-7
|
||||
15:30:27 GMT+12
|
||||
17:56:31 GMT+6
|
||||
07:37:51 GMT+7
|
||||
04:26:44 GMT-5
|
||||
01:11:44 GMT+7
|
||||
06:19:03 GMT-2
|
||||
16:37:32 GMT+6
|
||||
21:30:12 GMT+2
|
||||
03:07:14 GMT-4
|
||||
12:45:10 GMT-4
|
||||
17:18:39 GMT-7
|
||||
01:22:45 GMT+11
|
||||
11:46:55 GMT-9
|
||||
14:57:16 GMT-5
|
||||
06:11:50 GMT
|
||||
08:26:42 GMT-9
|
||||
01:34:22 GMT-11
|
||||
22:54:13 GMT+10
|
||||
10:50:47 GMT-3
|
||||
05:13:02 GMT+7
|
||||
18:19:31 GMT+3
|
||||
\N
|
||||
\N
|
||||
22:21:59 GMT-8
|
||||
\N
|
||||
04:45:33 GMT+2
|
||||
02:15:09 GMT+3
|
||||
12:56:11 GMT+5
|
||||
15:17:16 GMT-9
|
||||
01:13:16 GMT+12
|
||||
\N
|
||||
08:45:28 GMT+6
|
||||
13:52:14 GMT+8
|
||||
16:07:57 GMT+4
|
||||
17:22:20 GMT+0
|
||||
20:45:12 GMT+0
|
||||
13:23:37 GMT-5
|
||||
06:01:08 GMT+9
|
||||
19:24:22 GMT
|
||||
16:25:01 GMT-6
|
||||
05:54:41 GMT-2
|
||||
02:35:05 GMT+11
|
||||
21:50:27 GMT-2
|
||||
05:27:05 GMT+4
|
||||
03:11:42 GMT-2
|
||||
15:46:32 GMT+5
|
||||
02:45:44 GMT+12
|
||||
16:30:09 GMT-2
|
||||
22:47:39 GMT-4
|
||||
16:43:34 GMT-2
|
||||
16:29:42 GMT+8
|
||||
16:54:13 GMT-8
|
||||
\N
|
||||
12:37:56 GMT+9
|
||||
23:33:16 GMT+8
|
||||
\N
|
||||
03:39:14 GMT+5
|
||||
19:15:50 GMT-5
|
||||
15:02:02 GMT+4
|
||||
\N
|
||||
07:34:24 GMT+6
|
||||
14:14:38 GMT-4
|
||||
17:35:09 GMT+2
|
||||
18:10:28 GMT+11
|
||||
02:42:50 GMT-7
|
||||
03:59:54 GMT-1
|
||||
07:16:34 GMT-3
|
||||
\N
|
||||
02:40:01 GMT-11
|
||||
21:51:56 GMT+10
|
||||
07:26:40 GMT+0
|
||||
17:26:58 GMT+5
|
||||
13:27:04 GMT+8
|
||||
01:30:40 GMT+6
|
||||
18:40:24 GMT-6
|
||||
20:22:31 GMT+8
|
||||
14:09:07 GMT+6
|
||||
12:22:14 GMT-1
|
||||
08:22:38 GMT+3
|
||||
03:31:44 GMT-5
|
||||
18:45:58 GMT-10
|
||||
11:25:14 GMT+1
|
||||
14:35:23 GMT-2
|
||||
16:43:16 GMT+11
|
||||
14:11:03 GMT-7
|
||||
00:18:04 GMT+5
|
||||
05:35:21 GMT+12
|
||||
14:29:32 GMT+0
|
||||
14:27:23 GMT+11
|
||||
15:44:42 GMT+6
|
||||
15:56:40 GMT-6
|
||||
\N
|
||||
12:28:27 GMT+8
|
||||
22:26:41 GMT-5
|
||||
\N
|
||||
01:54:54 GMT-6
|
||||
10:59:35 GMT+9
|
||||
21:11:47 GMT-5
|
||||
10:45:45 GMT+7
|
||||
\N
|
||||
12:47:00 GMT+3
|
||||
06:44:41 GMT-4
|
||||
21:37:08 GMT-8
|
||||
13:03:45 GMT+8
|
||||
03:30:14 GMT-11
|
||||
19:47:44 GMT+3
|
||||
08:40:51 GMT-4
|
||||
14:20:32 GMT+10
|
||||
16:32:49 GMT-7
|
||||
02:56:52 GMT
|
||||
11:45:29 GMT+1
|
||||
05:54:17 GMT-2
|
||||
\N
|
||||
06:27:16 GMT-7
|
||||
22:54:28 GMT-4
|
||||
22:41:11 GMT-4
|
||||
01:25:10 GMT-5
|
||||
06:34:08 GMT-11
|
||||
22:21:06 GMT-10
|
||||
07:14:46 GMT-10
|
||||
06:30:22 GMT-11
|
||||
10:41:43 GMT-11
|
||||
21:12:06 GMT-3
|
||||
07:14:27 GMT+1
|
||||
23:59:35 GMT+7
|
||||
13:53:03 GMT
|
||||
05:31:10 GMT+2
|
||||
06:55:33 GMT-4
|
||||
00:46:01 GMT+12
|
||||
08:36:31 GMT-12
|
||||
\N
|
||||
06:01:34 GMT+5
|
||||
07:43:34 GMT-6
|
||||
07:46:45 GMT+1
|
||||
05:13:03 GMT+4
|
||||
22:39:17 GMT+8
|
||||
\N
|
||||
03:02:25 GMT+3
|
||||
02:56:37 GMT+7
|
||||
06:54:55 GMT-5
|
||||
08:46:49 GMT-7
|
||||
09:18:01 GMT-3
|
||||
09:21:50 GMT-10
|
||||
18:22:24 GMT-8
|
||||
17:58:57 GMT+11
|
||||
\N
|
||||
\N
|
||||
\N
|
||||
20:09:47 GMT+3
|
||||
08:00:33 GMT+5
|
||||
03:17:37 GMT-7
|
||||
10:31:02 GMT-5
|
||||
\N
|
||||
23:46:32 GMT+9
|
||||
12:40:01 GMT+2
|
||||
13:11:31 GMT-11
|
||||
05:23:30 GMT-3
|
||||
10:42:56 GMT-10
|
||||
03:03:35 GMT-10
|
||||
10:30:45 GMT-3
|
||||
13:28:04 GMT+5
|
||||
\N
|
||||
13:52:14 GMT-7
|
||||
18:53:07 GMT+11
|
||||
02:18:52 GMT+6
|
||||
17:50:31 GMT+8
|
||||
09:46:09 GMT+3
|
||||
23:06:30 GMT-8
|
||||
06:34:08 GMT+0
|
||||
05:51:58 GMT+9
|
||||
21:46:45 GMT-8
|
||||
16:29:39 GMT+0
|
||||
05:03:52 GMT-2
|
||||
13:32:55 GMT+7
|
||||
22:16:21 GMT-4
|
||||
\N
|
||||
22:54:50 GMT-2
|
||||
\N
|
||||
03:31:16 GMT-4
|
||||
02:05:54 GMT-4
|
||||
04:53:55 GMT+8
|
||||
03:00:10 GMT+4
|
||||
04:32:19 GMT+10
|
||||
19:29:07 GMT-10
|
||||
00:11:55 GMT-6
|
||||
19:38:16 GMT-4
|
||||
15:15:06 GMT-6
|
||||
00:29:12 GMT-6
|
||||
10:12:04 GMT-6
|
||||
14:53:07 GMT-3
|
||||
05:23:09 GMT+9
|
||||
15:18:10 GMT-2
|
||||
21:02:21 GMT-10
|
||||
04:11:28 GMT+6
|
||||
06:42:25 GMT+6
|
||||
\N
|
||||
07:43:54 GMT-3
|
||||
09:10:29 GMT-5
|
||||
08:50:48 GMT+1
|
||||
20:30:36 GMT+8
|
||||
05:19:36 GMT-7
|
||||
11:47:58 GMT-3
|
||||
12:43:09 GMT+1
|
||||
00:24:08 GMT-9
|
||||
21:05:40 GMT+1
|
||||
\N
|
||||
15:56:25 GMT-7
|
||||
12:45:17 GMT+9
|
||||
18:41:45 GMT-3
|
||||
16:48:31 GMT+5
|
||||
08:41:07 GMT+5
|
||||
16:00:22 GMT-11
|
||||
01:45:40 GMT+7
|
||||
10:33:11 GMT+10
|
||||
05:21:30 GMT+5
|
||||
20:00:39 GMT+5
|
||||
20:58:08 GMT-12
|
||||
02:23:47 GMT+7
|
||||
16:19:17 GMT-11
|
||||
21:01:29 GMT+6
|
||||
08:39:45 GMT-2
|
||||
10:18:22 GMT+2
|
||||
07:54:09 GMT+4
|
||||
20:20:46 GMT+12
|
||||
08:47:09 GMT+7
|
||||
21:58:10 GMT-11
|
||||
11:05:46 GMT-2
|
||||
08:08:42 GMT-3
|
||||
12:10:43 GMT-10
|
||||
19:29:02 GMT-10
|
||||
16:30:29 GMT-8
|
||||
19:29:30 GMT-10
|
||||
20:43:47 GMT+6
|
||||
10:00:13 GMT-10
|
||||
11:17:48 GMT+8
|
||||
09:28:31 GMT+6
|
||||
15:38:46 GMT-1
|
||||
02:48:02 GMT+1
|
||||
08:12:13 GMT+8
|
||||
09:20:46 GMT+9
|
||||
19:38:36 GMT+0
|
||||
14:15:53 GMT+7
|
||||
01:05:51 GMT+6
|
621
contrib/btree_gist/data/varbit.data
Normal file
621
contrib/btree_gist/data/varbit.data
Normal file
|
@ -0,0 +1,621 @@
|
|||
10101001001110001110101100110110000000110011010000101000100010001000011110000111100110111111111
|
||||
001110101100110
|
||||
010000011101100110001001111111101110011110110100011001101011110010101100111011011101101101
|
||||
1111000010000011110011101001101101011110101111011011001000000101111110000000111011010100011001
|
||||
1111110111111000000100000101010010011101111100010100010101101101110010111110110010110000000000
|
||||
000000110100001010001011101110111110100111010011000101111111000100001001000011001011000111101
|
||||
0100001010001011101110111110100111010011000101111111000100001001000011001011000
|
||||
011000001000011110010000111001110101000110000011000000011100010111000111001010111110
|
||||
1010100011001111110111111000000100000101010010
|
||||
01001110100110001011111110001000010010000110010110001111
|
||||
1011000111101100000110100000010101010111101100000100001
|
||||
01011011001100110100000011000101000100010100100000110100011110010001010000011
|
||||
0111101100000100001111001000011100111010100011000
|
||||
1101101110010111110110010110000000
|
||||
11010111101011110110110
|
||||
01000001111001110100
|
||||
01101101011110101111
|
||||
1111100110010111101111110101010110000010001111000000110010101010011100100011011000001101011
|
||||
1010000111011010111001111111110000001011010011110101101100100000010111010111
|
||||
101011011100000010111000010011011100000
|
||||
011111000000001101111010000111011001100001110101001110
|
||||
11
|
||||
\N
|
||||
0010101010011100100011011000001101011010110001101010110010110101001000000
|
||||
0101111101011011001100110100000011000
|
||||
110111
|
||||
1001111001010101110101000100110110110011000111000011011110101010001110011000100011101
|
||||
110000001011010011110101101100100000010111010111101100
|
||||
0001010100101110001001000010001101010010001101001001010111100011101101100001100000011
|
||||
101000000101010101111
|
||||
00011101001010111110100000101011000110100101100001111010111110110001000111101100011011111000000
|
||||
1001001111001011100001010100101110001001000010001101010010001101001001010111
|
||||
1100011101101100001100000011110111110100011000110100010101111111011011011010
|
||||
0010101110100110001001001011011111111111101011
|
||||
0100111010011000
|
||||
1111101000110111011011111101001010011111001000110011101010000100101110110101010010101001001
|
||||
11110
|
||||
00011011100110110001000000010101111111111011101111010
|
||||
011011110100001110110011000011
|
||||
01111010111110110001000111101100011011111000000101100001100000001101000001
|
||||
111101111111100111111011000110000100111100101010111010
|
||||
001
|
||||
1110100111010
|
||||
01001101001111101001000000000000100100101010110001111101111100
|
||||
\N
|
||||
\N
|
||||
0001100101101111000100000000101000110100000100101001001010000100000001000001011010
|
||||
10110110111110100001010011000001010110001101000011101010001101101100111100010011000111101111001
|
||||
11010101101110101001110010111111010101101000100000011110
|
||||
101001000000000000100100101010110001111101111100111000111
|
||||
000011001101101011110101000110001101011000
|
||||
01100001111100011100000110001100101111100100111101100010101101101111101000010100110000
|
||||
01011111110110010010010000000000110111000010011011111000001100100001010001100100010101010111110110
|
||||
111110101010000111111111110000010001110001010000011110001110011001111010101111000
|
||||
00011000001000101111000000001000010000011100011010100100101100011110101
|
||||
010101111011
|
||||
11111110111000010111101110101011100
|
||||
1110011001101011010000100010101110110111000110100010000011010101011101001011000011010111101010101
|
||||
0000001111011010011010110010100001000010011010011110111011101100000101110011111
|
||||
00101001000011010110100100010111000101011100110000110111100001010010011
|
||||
100101000010000000100000101101010100000110000010001011110000000
|
||||
010110001000110010110111001101011111110000101100110010000010011001011111101100010110101011001
|
||||
01011110001110101110000011100011111111011111010000
|
||||
110101100001100110110101111010100
|
||||
010000010100111010111010000100000110011100011110110011
|
||||
1001100101111110110001011010101100110110101100100100000100101101110001001101111001101010
|
||||
010101110011001010110100000111
|
||||
\N
|
||||
0100011010101110110000010011
|
||||
011101111101000110111011011111101001010011111001
|
||||
10010100110110011011001111110001001000110111101011101011010110001001001111110
|
||||
1110111110011100011111101010110001101110
|
||||
01010101110101000100110110110011
|
||||
10101110100
|
||||
001110100000100101000001010011110101110111011000100000
|
||||
100000111010111111110011000100100000111100000010100100011011101001110100001000100011
|
||||
101101000001001010011100001111000110000100100011100001000111111011110010110010111101
|
||||
11111011111001001110111111101
|
||||
1111111011100001001100100001110100011010110000000001001010101001001111101000011110011000000101111000
|
||||
001111000110000100100011100001000111111011110010110010111101001100010101110001110
|
||||
011000001000101111000000001000010000011100011010
|
||||
110010100001000010011010011110111011101100000101110011111
|
||||
000011101101110001
|
||||
01111001100111010000100100110101
|
||||
000001010001100010010010001001000101111000011111
|
||||
1001001011011111111
|
||||
01100111000110001010010000100101011101010
|
||||
11001011111111011111111111111011100001001100100001110100011010110000000001001010101001001
|
||||
1101111010111100011
|
||||
\N
|
||||
00101011000110100001110101000110110110011110001001
|
||||
001001101110000010100011110011110101111101110100000101111111101011101100111010101011111010
|
||||
010101111001101011011111011111000101110101000110010010010010111010001100011001011011100110011000001
|
||||
0000011100
|
||||
00110010110111010100111111011111111111101100110001000001101111010000100011101110101100010101
|
||||
110100110010001011000010010101100010001100101101110011010111
|
||||
000111000111111110111110100000010
|
||||
0000001011010011
|
||||
00100101000001010011110101110111011000100
|
||||
\N
|
||||
001000110110000011
|
||||
1101100110110010
|
||||
001101011101001100010101
|
||||
0001001000101111000011111110011100110011
|
||||
10101010101000100101101001111011101000010001101
|
||||
000001011001100010011110010011101010001011000110110001000101110110001100001001110101
|
||||
10011000011101010001010111101001100011100100001100011100001011110011
|
||||
110111110100001010011000001010110001101000
|
||||
000110000010001011110000000010000100
|
||||
0100000100101100101000101100010000010011110111001100000000000111
|
||||
000000111001010001001111101110011011011110011111100011101001001010010011100011111100100010
|
||||
001000011111011010000110110111101010000011111100010000110111111110
|
||||
001
|
||||
000011110001101001110111110101101101111110111110001001001100011011010101010100101101101011
|
||||
00011010101100111110001110011001011111111010111010110011101111000100101010
|
||||
1011011001001000110010100000111001000111010101
|
||||
00110100000010111010100110001101100011001110101011101110111111010000000100010100010110111011
|
||||
1101000001010111110110111001011111010000110000110010101111101010100001001000110
|
||||
101111000010100010100010000000010110011000001100011010101001011011110110110000110
|
||||
00100100001101100011101111110011101110000001001111
|
||||
010011010001000001110011101100001111011011110101111
|
||||
\N
|
||||
\N
|
||||
1001010010011100011111100100010100100110011110111111100101110110101111100011111111
|
||||
001111110000001100111011001010010100000000110110001110100100010110000010011011110100011011
|
||||
11110110011100011000101001000
|
||||
00101001110110111111101011100110110011110110000101100010100110
|
||||
011111010101001011000011111000000000101101100101101111100011110011
|
||||
10101000110001000001110101111111100110001001000001
|
||||
0010100100011010011100100011111110001101010000011101110100101101011
|
||||
111111001111110110
|
||||
1111110101010011101000111
|
||||
001011001111101010000011001101110001011011000011100
|
||||
0000001111010111000100111000111010010001100010010101001101101110010101001101000001
|
||||
011
|
||||
00000010110010
|
||||
000000111111110101010011
|
||||
101
|
||||
0100
|
||||
001101101100111100010011000111101
|
||||
111000010100111101010111010111010011000010001001100010001110001000000111000010101111010011101110
|
||||
000101100110010110101100001000100000000011010101100111110001
|
||||
10001000111011001101000110000101100011000000
|
||||
11101010000011001101110001011011000011100001101
|
||||
\N
|
||||
0000001101011110001010101010101000
|
||||
11010011110100101011110110101110001101011101110010110001000010010011011010011
|
||||
1010010100000000110110001110100100010110000010011011110100011011010011110100
|
||||
10110011110110000101100010100110110111011110110010110
|
||||
1001111001010101
|
||||
100011000010110001100000001100001110111100
|
||||
\N
|
||||
001000001110110111111100011000011011010101
|
||||
001100101
|
||||
000101001100010101100011000101111011110000101000101000100000000
|
||||
0000110010101111101010100001001000110101000110110101101000010
|
||||
1011000011010111101010101011011100000
|
||||
1110100101010010100101100101101111110111000110101100
|
||||
001001011000000000000101011100110111000
|
||||
0101111111000010110011001000001001100
|
||||
01001110110000111111011100011001101001010100000100011101110010101010011001010100
|
||||
0001100011111110100101100111110010000111110110
|
||||
111000100000000101000110
|
||||
01011010101101110011001100100110100010010100011010000111101000000
|
||||
001111010100000010101101100010001111100100
|
||||
11111110011111111010101011000101111111100110010110111
|
||||
01101010001000111111010
|
||||
00001110111100010000011101101111111000
|
||||
0011101000101011100011100000
|
||||
11000111111111011010100110011100110011100
|
||||
10100010
|
||||
101010001101101100111100010
|
||||
1001001011
|
||||
\N
|
||||
11000110
|
||||
01100001110000011110001101001110111110101101101111110111110
|
||||
0101000110010011001110110111100010101011001101000000001111110111111111100101100001100110101
|
||||
1111000
|
||||
100011001011011100110101111111000
|
||||
0011
|
||||
0001000001011010101000
|
||||
10001110100100010110000010011011110100011011010011110100101011
|
||||
111000001110001111
|
||||
11001100011101001110010110100111000101011000000001111010010001
|
||||
1111100011110011000111101111110011000000010011
|
||||
010010001101111010111010110101
|
||||
10100000110111100000010
|
||||
10010111110001010001110001001001111000001100010011001101110010111000101000001001000
|
||||
1011110100101001100011111011100100011011010010011110000001010110
|
||||
\N
|
||||
000111
|
||||
0011000010100110001011000000001110110111110001101100010110100101001101100100001100001101110
|
||||
1010110001
|
||||
10110
|
||||
110011000001111110101011101100111110011111111111101001010110101000101100011001010111111000
|
||||
100000100001101011011111011000001011111000000001000011100110100010101
|
||||
111001011001011000010100010010101010110110101101110000000101110
|
||||
100111001010100011011101110100110101011111000000111011011010010011111110011001000110000010011110
|
||||
1011111000010111111010100100101010000101101110011110001000000110000001111010001100000111101100000110
|
||||
0011001010111111000100010101001001100110010100101001011011100010000011110110101000000001
|
||||
01110
|
||||
11111011011110001000111100101111001
|
||||
0010011110010010111001100101111011110001101011011011011010010000
|
||||
101101101111110111110001001001100011011010101010100
|
||||
001100111000111101
|
||||
1001010001001111101110011011011110011111100011101
|
||||
11000111111100110000110101100101100
|
||||
0001101101010100011100100100001
|
||||
000111100000110110101111001101110101100001000101111001101000011010
|
||||
1110001010010000001001110011101101110101011110000100000110110111111010000101110000001001100111100
|
||||
0010000010110001011001001011110101110100101011001111011100110000101111011110100
|
||||
00111001001111101011101111001011110100001101100011101001100010110001100
|
||||
110101101100100001011000111001011011011010100100011101110000001011010110011011011010111110
|
||||
110000111100101111010010100110001100001010011000101100000000111011011111000110110
|
||||
000001011111000111100101001001010111000101010101100001101101100010101000101011110111111
|
||||
00100010100100110011110111111100101110110101111
|
||||
1011110011001
|
||||
10000101110100100101011010100001010010010011100000001100011000000100100101101101100
|
||||
1011111110011011011001100001110010011111100111101000100011010010000111100000001101001010
|
||||
110011011011100000100110000011010000111101100110001100101011
|
||||
100000110101101111000011100000001110010001100111110101101011011000010000111001101011110011
|
||||
10100001010110100100111000001111001110011011101110
|
||||
110100100101
|
||||
0010100110100010000011100111
|
||||
10101010010100000111010101000001111101000101101
|
||||
001000001010001111110011000011010000
|
||||
0100111110100
|
||||
11111111011111111111111011100001001
|
||||
00101010000011010111111011000011000101011100001101011111111111001001110100000000
|
||||
110111101011111000111010110100000
|
||||
011001
|
||||
11101111111011111011110010011100100101111101101110011111001101001001110
|
||||
01100010010101010110111000110111100000000110011101010011100001001001000010001100111110100100010010010
|
||||
\N
|
||||
101011101111100101010000000000010100101000111110110001111000011001000001111000100011111111011
|
||||
0010010110
|
||||
11111110101111010100000000000110000001000010011001
|
||||
010110000000011110100100010000110000001101100111
|
||||
001000000111000010101111010011101110100100110011101010101
|
||||
0111110011110011100001100010010011010111000110111100011101000
|
||||
110001111010011000111111100110
|
||||
111101010101011101
|
||||
1001
|
||||
10011110111110011001100011101001000101101
|
||||
0100001001100111011110101111100
|
||||
011010011100110100110011011110111100110111011011110101110110011000011111000010101011111001100111000
|
||||
000011001110001
|
||||
0001000010000111000111111000111111001000110010111011001001
|
||||
111100101111111000101101001001001000001111101111010
|
||||
00010000111001010011001111100111101010011010100
|
||||
001111111010100111100010000
|
||||
0011000111011111101001001100111010001101100101010101011111110101001
|
||||
010110111001100110010011010001001010001101
|
||||
1010001110
|
||||
001011110010110110010100100101000000001010000010101110010010111111110001101011110000000001101
|
||||
010010001100111110010000010011011110101011110101001111000000011100111
|
||||
110001
|
||||
10011110111111001100110100010110100100101000100100100111101000100101011101101111
|
||||
0100111000010010010000100011001111101001000100100101100101111010000110011110100011100101000
|
||||
01101100011100
|
||||
011001111000100110
|
||||
0001010011000101011000110001011110111
|
||||
10011010100010011100110011101110000010001100011011100101101010010011001000
|
||||
100111001000111111100011010100000
|
||||
01011110000111101011011000110110111100111100001001100
|
||||
101001011110010110100100100010110100101100011100110010101000111110110010001001111001011101010001
|
||||
00000101011011000100011111
|
||||
1110010000100001111101101
|
||||
111100011001010001110
|
||||
011011100011011110000000011001110101001110000100100100001000110011111010010001001001011
|
||||
0001101111000000
|
||||
011010000101011111010010101001
|
||||
010000101001001001110000000110001100000010010010110110110001111101
|
||||
0001111110110010110111000000111101010000110011011010100101101101110000001100111001101110000101000
|
||||
0000011101110010010101
|
||||
1001100001111100001010101111100110011100000001011100100000111111001110011011100001111101
|
||||
1101001100010100111010100011011000110111101011011110
|
||||
\N
|
||||
0110100101010000010001110111001010101001100101
|
||||
10010101011010011101011010011100010100001011010010111011110111001100011010110101010110110
|
||||
00100010110011010101011001
|
||||
111000100001001000010010000101011101010000011100110110111011011101100111010101010001110110100
|
||||
1100000111101100000110000011010110111100001110000000111001000110011111
|
||||
011110101
|
||||
11000110001011100010100100000010011100111011011101010111100001000001101
|
||||
0110110100101001001000001000011001100000101010101010000111100011010001101101000
|
||||
11101001100000010100101111101110000101001111010
|
||||
01100101100100001001100111101111000010100000001010001001001111011100010111010010001100
|
||||
1010001000011000110011011000111111110001101010100110101011100100001001010011000001000101
|
||||
10101011101011110010000110110101100110011111101
|
||||
11000001111011000001100000110101101111000011100000001110010001100111
|
||||
1111000100000111011011
|
||||
001101100111111110000011011101111011011
|
||||
00101
|
||||
100100110000000110010010000001010111100011100001110000010000110000011111111011010101010010111101
|
||||
0111010111101110010101101011011000001000000100001000000010110011000010100010111111110000001110
|
||||
010011011111000001
|
||||
01011001100100000100
|
||||
11111011110101001101000110011101110111101010110111010101100001101011110101011011100101001000100101101
|
||||
101000010100000000011000010000101001111001110100100001001100010010101010110111
|
||||
1100011110010101010100111111011000100100100110101001100100110011110100001110011
|
||||
1001100110011101110000011101110100000010001
|
||||
000001110100010011101100000001001111110101110000101100100010000101110011101011101
|
||||
0010000010011011110101011110101001111000000011100111001101
|
||||
00
|
||||
1110011100
|
||||
11010110001010101111101001010
|
||||
111000000010010101001111111111001011000110011010010111010000
|
||||
10010110001000101110111110111001001101001001011010010110101001001111011
|
||||
100010100010000110001100000110110011011101001101000101000110010001111010
|
||||
01010001100001111011000001001111100100000100001101110001101010101011010110000001100111100111
|
||||
00010010110111110100101001010100011011010100111010011100001101011100101000100000010110101100100010100
|
||||
10010010000000000
|
||||
011110101001101000110011101110111101010110111010101100001101011110101011011100101001000100101101
|
||||
111100011001010001
|
||||
11101111010111101101000001101100111111101110
|
||||
01101110101000001111001010111001011110001000011111011000101011001011010000101001100001111101
|
||||
10011
|
||||
01100011011011110011110000100110001011100001
|
||||
10111010000100011011111011100010011101111001000
|
||||
00100111001011111001110110110000000110111010111001010010111011011111000
|
||||
0001011111011010000001010011000001111011011010110010
|
||||
10000101110110001001010001110110000010000000010000101110110111011010001010
|
||||
010110110010000100001110011010111101101011001100010101
|
||||
111010011111011111111100001110010100110101111010
|
||||
011101010100111010001110000110100010011101010011000111000010000001011101100101001000001000
|
||||
1100110101000101010011000010101011111010011111011000100000001
|
||||
0100100011101110000001011010110011011011010111110001110100
|
||||
1000110101100111110111101
|
||||
001111001010011010101101110011101111010111
|
||||
011101010100000100101010101111010000100010010110001000101110111110
|
||||
011011001001001010011001100100100011001100001011100111101000101010001101000110001010111
|
||||
100000001100011000000100100101101101100011111010110111
|
||||
10010111011
|
||||
101111000000001
|
||||
001000100010111110011011011100000100110
|
||||
1110111111101000111011011100001
|
||||
110010011110111011011110101100111100011
|
||||
110110110001100110011110001111111011000001110100010011101100000001001111
|
||||
110100011010001001
|
||||
11010101101000011011001110100010101010000110010010110
|
||||
010110001001000110100100000000100011110011011111101000010111001110000101010000
|
||||
0100000111001101101110110111011001110101010100011101101001010111001000100001
|
||||
\N
|
||||
000001111000100011111111011111010001101110100111110001011010111
|
||||
000110000110111000100110101101011111001111
|
||||
01001101011001
|
||||
0011111110101010001000000101110010001000000110100000110010100100010100111001100111000
|
||||
00111000111111001000101001001
|
||||
10000110
|
||||
111111100000000100100100001100
|
||||
10000110011010000000000010100011110101101010011110001110100100110000000110010010
|
||||
1001001011000111111011101000
|
||||
111100011111010111101101101100011001100111100011111110110000011101000
|
||||
1010101111000
|
||||
011111
|
||||
011010000011011001111111011101111010011
|
||||
101011001111110101010011000001100111011000001110000011000101101101000001110000011110001010
|
||||
01011101110010010100111000101000100001100011000001101100110111
|
||||
0110000110011011110000010111110100111001010100011011
|
||||
000101000111101011010100111100011101001001100000001100100100000010101111000111
|
||||
1101011100001101001010110111000011100011101
|
||||
0001010110001
|
||||
110010001111111000110101
|
||||
100000
|
||||
\N
|
||||
10110111001100110010011010001
|
||||
001111111001011001100101000010011011001000111111011001011011100000011110
|
||||
00000011100110000110000001010110111011101
|
||||
1011100111101000000111000
|
||||
01100010011101010111010111011111001011010001101110000011111000101100001000101011110000100100110
|
||||
001000111011101011000101
|
||||
10100001011111111001101000000100100100001000100011001100001100110001100000100100011100111110100
|
||||
100111
|
||||
00110010101000111110110010001001111001011101010001001011001111101011
|
||||
1000111010110111111101000001010110110000010
|
||||
11111010111010110011101
|
||||
0100100001000001010000001000010
|
||||
101101011000100
|
||||
0001111010111111100000010111100100100101111000010000111
|
||||
1001011100100110010000010101101010100101000100100011100
|
||||
1101010000011101
|
||||
110000010000011110011110001011010111100001001001
|
||||
111101001101011111010110110000
|
||||
010111010010110101101000101011110100000011100000011101101110
|
||||
01111110111111111111011
|
||||
0001011010101100001101101111000
|
||||
0101010
|
||||
001110010000001010111001101101110101111101111001010101111101110010111
|
||||
101111010
|
||||
000001010100110010110000011110000011010110100001011101010110111011101101010111010011100011010000
|
||||
011100111110011010010011101100000110110110
|
||||
0011011010111010110111001101000000110111100000010111000010101100101110001001001101001100100110000100
|
||||
1001100000110111110100100100011000000001111100011001111110001111110010100
|
||||
10010001100101
|
||||
0011101110111101010110111010101100001101011110101011011100101001000100101101
|
||||
011100011000001101111010001000000111011100111111000010010100100101
|
||||
11
|
||||
111000010010101101101001000010001000110001010111010000000111010101001110101
|
||||
1000000100100110001101111001011100000111010010000001010100101110000010011101100111
|
||||
01111000
|
||||
0011011110100011011010011110
|
||||
10001011101010001000010001011001011101100101011001100100111011101000000011101100100111100
|
||||
001001100100100000001011100111001001000001110001110011110110110010010011101
|
||||
1001101000111011110101110101001001000101000000010101011110111110
|
||||
010
|
||||
1100110101000101010011000010101011111010011111011
|
||||
00011101011110110100100010110011110010000010111001111010000110010110000000
|
||||
100001111010111111100000010111100100100101111000010
|
||||
\N
|
||||
10000111011101100011111010011011110010000100010100000111100001011010010001001100010110001001111
|
||||
10110101011100101111011101001111011111011011101001110000010111100001110110111001011010111111111
|
||||
1101110110110000011100010000000001101000101001111010
|
||||
1010010101100110010000001010101000111010111101101001000101100111100100000
|
||||
011011101101110110011101010101000111011010010101110010001000011
|
||||
1111001011100000111010010000001010100101110000010011101100111000010001101100010
|
||||
10
|
||||
0100010100111011010110110000100010110111000101101011101111101010101011010
|
||||
0111110001010001110001001001111000001
|
||||
1101000101101001001010001001001001111010001001010
|
||||
0111111101000100000111001001101111000011010100101010010101110110111100011
|
||||
110110100010010110010010011110001010100111110000101100011110110011011111101110011111111
|
||||
1010011101110010101000111100100011101100001110000
|
||||
0111110000000000000100110110011010011011110110001
|
||||
001011110101110100101011001111011100110
|
||||
0011110010110111001010011111001111110001
|
||||
1000110010111001101000111100111111001000000000111111010001001011010011011
|
||||
111010100111101111110011001101000101101001001010
|
||||
1001100100101011001001110001011010001111011011111111100100110011010101011000
|
||||
1001111111111001011000110011010010111010000
|
||||
0010100011110100011110101111001110001101101100011000000100100110001101111001
|
||||
\N
|
||||
00100111100101110101000100101100111110101111010011011111100
|
||||
0101101011001011010001100111101110100011101011110101000001011010100100010011001111001111
|
||||
10001110100111110101001001010111101011111110
|
||||
1100110100000010111010100
|
||||
01
|
||||
1100010010
|
||||
1010001110011001101000111001001101001111101000101110110011100001000100111110110111001000001111101001
|
||||
000110000111001111110000010010001100001010111110100111011
|
||||
1100100111100111010010110001111111101001001011100111010000101010000011110011100100111101100
|
||||
10111000000010111000111010000100111110000110100010111001011010111001011010100001001101101000
|
||||
11010100110100011001110111011110101011011101010110000110101111010101
|
||||
0001110
|
||||
0001010001111010010110111111101011110011110010010111110011001011000111001101101011101000100110
|
||||
11000001110001111100001110100110101111010000101011100000001000000000100011001001100011001011
|
||||
01101111010100000
|
||||
00000110011100001100001000000000001110111001001001001110000110101001011010110100
|
||||
00111001000011111001111111001011000
|
||||
101010000111001010001010000000011001111101111110000011111000101101101
|
||||
011111110011011011001001001111111001101100111000001101011110000100110000001
|
||||
001011000
|
||||
001000010011100101100101011
|
||||
\N
|
||||
010101111010011101110100100110
|
||||
0100100100100000111110111101
|
||||
000000010000110111100011100001101110111011110000001
|
||||
11111111001011011110010
|
||||
101000101000000110010010111001000001111001010100101001111000001100110111000000
|
||||
011010010100000101001011010001110010000010101111001101100011110110100010100111000000011
|
||||
11111100110010001100000100111100010000010
|
||||
01011010101000000100000111011011100100111101001001
|
||||
010111101111000001101001001110001000100001111101011010011011100101110000101110
|
||||
100000101
|
||||
10011111001000001001101111010101111010
|
||||
0010111011001001010100100000100
|
||||
0001010100010101111011111110101101010000
|
||||
011110001010001011101000111010011110000011000010001110010101010001111101
|
||||
11000100101010101101110001101111000000001100111010
|
||||
0001100100011101010101001100110110011111110010100100110
|
||||
10011000011000101111010101001000001000001010111001100101110101011101111001101000111111100101100100
|
||||
1000101111100110110111000001
|
||||
11000101110110001001110000010010000001111010101101011001100000101011101100000101
|
||||
100000111010100011010010010101
|
||||
110011110100110101011000101011110101010110001101001000110001110110110100010010001111111100100011
|
||||
0111111011111001010010101100110100011111110110001111001000001001001101100100111101100011010100
|
||||
1110010101001111101010011000000100100100011101011101110001110001101110110010100111110010001000011
|
||||
00110010100100010100111001100111000101100010000101110111101001
|
||||
1011001011010000101001100001111101010001101110010111100001001
|
||||
1101110100101110000001010110100100111111010100001011000110110101101000110101011110010
|
||||
111110000001000100101001011011101111010000111100011011111001101000011101110110001
|
||||
10000100101001010010101011100111101011000100011001110100000100010000110100100000001101
|
||||
0010110000100010101111000010010011011011100011110110110100101001100010000
|
||||
010011000110111110100000001110001001110011
|
||||
0101010100111111011000100100100110101001100100110
|
||||
1001100111000101100010000101110111101001101000001001011001100
|
||||
1101011110011000000100011011000110010111001101000111100111111001
|
||||
11000000000001001111011010010111001100010110100010001000
|
||||
000111001011000110001111111100110
|
||||
11111101111010101110110101101111110001110011100101101100000110011001000101010011001011
|
||||
110100111111100110100111010000101111111100110100000010010010000100010001
|
||||
00101000101000100000
|
||||
101100111100011100000110010
|
||||
011011101011101011110100111110010011100000101010100010
|
||||
011000010000111010110111110010010010011101000101101001001001100001101011
|
||||
1000101010001111001000010110110100000110111001010000101001000010101100101011100001011111101000000
|
||||
000111100100000100100110110010011110110001101010001110000010111101011011000100000111111101
|
||||
\N
|
||||
101000011110101111111000000101111001001001
|
||||
0011010000001011111010100101010000001110101001010111010111011000101011101101000111101
|
||||
001111111110000101110100100101011010
|
||||
0101
|
||||
110011011101000001011010
|
||||
0110001111010110011111101010100110000011001110110000011100000110
|
||||
100101010110111011001001110000011010111111101110110001010111010001111000001010010
|
||||
00001110010011111100111101000100011010
|
||||
11110101011010000100111011100101010110011010010011110100101100100001100111100010100001
|
||||
1001011100000110100101111010010011001001111000010100101101010001000001010111011110010001111100
|
||||
110111110010011111001010101101011001001000111100111011001010101110000100110011001110101011000101
|
||||
1101001011111100111000111001
|
||||
0110100000110010100100010100111001100111000101100010000101
|
||||
10010110110110011110011110100110101011000101011110101010110001101001000110001110110110100
|
||||
0001000001011001101101101100101101111000110110000010011011101011101101100
|
||||
00101011110110100011011111001001111100101010110101100100100011110011101100101010111000010011001
|
||||
011011100110000
|
||||
0001001011011111010010100101010001101101010011101001110000110
|
||||
0101110010100010000001011010110010001010010010001010000100110
|
||||
00
|
||||
111100111111000110011001101101010
|
||||
\N
|
||||
111011101
|
||||
0011110001100
|
||||
110100000000000101000111101011010100111100011110010011
|
||||
100000001100100100000010101111000111000011100000100001
|
||||
010101100011010010001100011101101101000100100011111111001000110101011100000111000000010
|
||||
011000000001110110111110001101100
|
||||
0100001110010010110
|
||||
10
|
||||
000011011100101100000010011010111010101010001111010010101111100
|
||||
1000
|
||||
001101000101110010000011
|
||||
10110010000100010010011100001100110100000000000101000
|
||||
0010110101011100111111000000011000001111010011100110000010001000101110001
|
||||
1010011100110111010000101111010110110110100001000010100101
|
||||
1000110110010010010011111110111000100001111111001010100001
|
||||
011011001110000010100001001011001010110001000011110100010010101101101011011000100110111
|
||||
11010001011010101101
|
||||
111110101100110010111010101110010100011001010011001111101110110010100
|
||||
000111101111101110110000110000000100101101001000010010001110110110001111001000
|
||||
00111101000000010111
|
||||
1101001011000101000101011111111000000011
|
||||
110111011111000110011011100011101100000100111100001010101011111111000100111011011001110110010010011
|
||||
000010110011011011011001011011110001101100000100110111010111011011001
|
||||
010011110001100001101110100011100111010111101110010
|
||||
11110110110011110001101100101110000001
|
||||
01001001101000101110011011010111110001100100110001001000111000101010111001010000111100
|
||||
1010111010101110010111
|
||||
1111110000000001010010000011
|
||||
110011111001001001000110111000110001100101100110100011010100111101
|
||||
101110111101001101000001001011001100001101001000001101
|
||||
01
|
||||
11001110110100000000000010101001100101100000111100000110101101000010
|
||||
1100000110110101111001101
|
||||
100
|
||||
00011110101110001001
|
||||
111110111010100111100011010011001001100111100110010
|
||||
0100111110000110100010111001011010111001011010100001001101101000000011000
|
||||
101111100110010110001110011011010111010001001100101001110110010111011111101
|
||||
00010011010111001111101
|
||||
10100011100001000111010110111
|
||||
0111010010111111101111110111101010101101010
|
||||
10111111011
|
||||
10001011010
|
||||
1000011111010110100110111001011100001011101100010001101000111110
|
||||
010100100111101110110111001110110011110
|
||||
000110101001111100110000101001111011101011001100000011010011
|
||||
000111
|
||||
10010001110110110001111001000101000101111010100110011101111101111100100011
|
||||
01111101010001110011001101000111001001101001111101000101110110011100001000100
|
||||
10100001110001
|
||||
0101100000100001100001010011001010010001110000110010000110010111101110011010110100011
|
||||
11101000100101010010111110
|
||||
11010010110111011011101110100110000000110100001101100101101010000111110011110100100110100011
|
||||
1100000000100100010110110101001101011010010100000111111110011100111011111111010111
|
||||
101110111001100111010001111001101110101001101100010000001000001100010101001000001101100110110000001
|
||||
01001011100100010001011
|
||||
0001010111010000000111010101001110101110000011010100
|
||||
110000111000011001001110111100001111111111001111101
|
||||
00110001000011100
|
||||
0110110011
|
||||
0011110111110000001011011101101100000
|
||||
0100011101011000011011100100110110011111000011001010010001011101111011001101100101001
|
||||
10
|
||||
1
|
||||
00111101111000100110101010001100001001111010101110000001001001100101010111111001010111001001
|
||||
011010011000110110100111010110000000111111111100100010111111101110101010111000000
|
||||
111000000100010100001111001011011001101011000101111001000100001010011101
|
||||
10100011110100101101111111010111100111100100101111100110010110001110011
|
||||
100100000011110111000001011100100000101001000101000001001100010
|
||||
0000100100010100101010010010110111011010110011110001101001010110100101
|
||||
0101100011110010101111110100001110010011101100000000011
|
||||
1001100111100100010110011111101011111101011011010011001101
|
||||
1100001000111101010001100111111101111010001100000
|
||||
010001111001101100100000111010110
|
||||
01000011001110010011001010000
|
||||
0111011100101010110011010010011110100101100100001100111100010100001000111
|
||||
011110111110000001011011101101100000
|
||||
101011010101101100010111111011011101110001011110010001001000001101001111001100011100011001000010
|
||||
0001100011101101101000100100011111111001000110101011100000111000000010000011
|
||||
11000111111000111110000000000110110101001110110100101011010101010101000010000000110
|
||||
1011
|
||||
1110110101110110010001011011110110000110000111111001011110010011010111001000111010010001
|
||||
110101100010110101000
|
||||
10110011011101101001111011110001001101010100011000010011110101011100000010010011001010101
|
||||
00011111100100010
|
||||
00
|
||||
01010010000001011010101000000100000111
|
||||
11010010110110101001110011011101010110101100010111011000100111
|
||||
10101000110011010000011000101110011000111110011111101111100110100011000011111001100100
|
||||
11111100001000011001101110110101101010111
|
||||
10110011000111011
|
||||
01000111100111
|
||||
0000110101010000010111111101101001011100111111101011010111001111110111000100010011001101011011100
|
||||
10011100010110000111101101111101100100101010000010011010111110101010110101011100011010011101000010
|
||||
110111110101000001111011110010010010010111110000100001001111001010010010010100110100
|
||||
001100000000
|
||||
10000101101110011110001000000110
|
||||
00101010101001101111000
|
||||
011000111001010000111101
|
||||
0110100000111000001111000101010000110110100101101100
|
||||
1011100101010110011010010011110100101100100001100111100010100001000111
|
66
contrib/btree_gist/expected/bit.out
Normal file
66
contrib/btree_gist/expected/bit.out
Normal file
|
@ -0,0 +1,66 @@
|
|||
-- bit check
|
||||
CREATE TABLE bittmp (a bit(33));
|
||||
\copy bittmp from 'data/bit.data'
|
||||
SET enable_seqscan=on;
|
||||
SELECT count(*) FROM bittmp WHERE a < '011011000100010111011000110000100';
|
||||
count
|
||||
-------
|
||||
249
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM bittmp WHERE a <= '011011000100010111011000110000100';
|
||||
count
|
||||
-------
|
||||
250
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM bittmp WHERE a = '011011000100010111011000110000100';
|
||||
count
|
||||
-------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM bittmp WHERE a >= '011011000100010111011000110000100';
|
||||
count
|
||||
-------
|
||||
351
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM bittmp WHERE a > '011011000100010111011000110000100';
|
||||
count
|
||||
-------
|
||||
350
|
||||
(1 row)
|
||||
|
||||
CREATE INDEX bitidx ON bittmp USING GIST ( a );
|
||||
SET enable_seqscan=off;
|
||||
SELECT count(*) FROM bittmp WHERE a < '011011000100010111011000110000100';
|
||||
count
|
||||
-------
|
||||
249
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM bittmp WHERE a <= '011011000100010111011000110000100';
|
||||
count
|
||||
-------
|
||||
250
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM bittmp WHERE a = '011011000100010111011000110000100';
|
||||
count
|
||||
-------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM bittmp WHERE a >= '011011000100010111011000110000100';
|
||||
count
|
||||
-------
|
||||
351
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM bittmp WHERE a > '011011000100010111011000110000100';
|
||||
count
|
||||
-------
|
||||
350
|
||||
(1 row)
|
||||
|
|
@ -1,102 +0,0 @@
|
|||
--
|
||||
-- first, define the datatype. Turn off echoing so that expected file
|
||||
-- does not depend on contents of btree_gist.sql.
|
||||
--
|
||||
\set ECHO none
|
||||
psql:btree_gist.sql:8: NOTICE: type "int2key" is not yet defined
|
||||
DETAIL: Creating a shell type definition.
|
||||
psql:btree_gist.sql:13: NOTICE: argument type int2key is only a shell
|
||||
psql:btree_gist.sql:25: NOTICE: type "int4key" is not yet defined
|
||||
DETAIL: Creating a shell type definition.
|
||||
psql:btree_gist.sql:30: NOTICE: argument type int4key is only a shell
|
||||
psql:btree_gist.sql:42: NOTICE: type "int8key" is not yet defined
|
||||
DETAIL: Creating a shell type definition.
|
||||
psql:btree_gist.sql:47: NOTICE: argument type int8key is only a shell
|
||||
psql:btree_gist.sql:59: NOTICE: type "float4key" is not yet defined
|
||||
DETAIL: Creating a shell type definition.
|
||||
psql:btree_gist.sql:64: NOTICE: argument type float4key is only a shell
|
||||
psql:btree_gist.sql:77: NOTICE: type "float8key" is not yet defined
|
||||
DETAIL: Creating a shell type definition.
|
||||
psql:btree_gist.sql:82: NOTICE: argument type float8key is only a shell
|
||||
psql:btree_gist.sql:392: NOTICE: type "tskey" is not yet defined
|
||||
DETAIL: Creating a shell type definition.
|
||||
psql:btree_gist.sql:397: NOTICE: argument type tskey is only a shell
|
||||
CREATE TABLE int4tmp (b int4);
|
||||
\copy int4tmp from 'data/test_btree.data'
|
||||
CREATE TABLE int8tmp (b int8);
|
||||
\copy int8tmp from 'data/test_btree.data'
|
||||
CREATE TABLE float4tmp (b float4);
|
||||
\copy float4tmp from 'data/test_btree.data'
|
||||
CREATE TABLE float8tmp (b float8);
|
||||
\copy float8tmp from 'data/test_btree.data'
|
||||
CREATE TABLE tstmp ( t timestamp without time zone );
|
||||
\copy tstmp from 'data/test_btree_ts.data'
|
||||
-- without idx
|
||||
SELECT count(*) FROM int4tmp WHERE b <=10;
|
||||
count
|
||||
-------
|
||||
11
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM int8tmp WHERE b <=10;
|
||||
count
|
||||
-------
|
||||
11
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM float4tmp WHERE b <=10;
|
||||
count
|
||||
-------
|
||||
11
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM float8tmp WHERE b <=10;
|
||||
count
|
||||
-------
|
||||
11
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM tstmp WHERE t < '2001-05-29 08:33:09';
|
||||
count
|
||||
-------
|
||||
66
|
||||
(1 row)
|
||||
|
||||
-- create idx
|
||||
CREATE INDEX aaaidx ON int4tmp USING gist ( b );
|
||||
CREATE INDEX bbbidx ON int8tmp USING gist ( b );
|
||||
CREATE INDEX cccidx ON float4tmp USING gist ( b );
|
||||
CREATE INDEX dddidx ON float8tmp USING gist ( b );
|
||||
CREATE INDEX tsidx ON tstmp USING gist ( t );
|
||||
--with idx
|
||||
SET enable_seqscan=off;
|
||||
SELECT count(*) FROM int4tmp WHERE b <=10::int4;
|
||||
count
|
||||
-------
|
||||
11
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM int8tmp WHERE b <=10::int8;
|
||||
count
|
||||
-------
|
||||
11
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM float4tmp WHERE b <=10::float4;
|
||||
count
|
||||
-------
|
||||
11
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM float8tmp WHERE b <=10::float8;
|
||||
count
|
||||
-------
|
||||
11
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM tstmp WHERE t < '2001-05-29 08:33:09';
|
||||
count
|
||||
-------
|
||||
66
|
||||
(1 row)
|
||||
|
73
contrib/btree_gist/expected/bytea.out
Normal file
73
contrib/btree_gist/expected/bytea.out
Normal file
File diff suppressed because one or more lines are too long
66
contrib/btree_gist/expected/cash.out
Normal file
66
contrib/btree_gist/expected/cash.out
Normal file
|
@ -0,0 +1,66 @@
|
|||
-- money check
|
||||
CREATE TABLE moneytmp (a money) WITH OIDS;
|
||||
\copy moneytmp from 'data/cash.data'
|
||||
SET enable_seqscan=on;
|
||||
SELECT count(*) FROM moneytmp WHERE a < '22649.64';
|
||||
count
|
||||
-------
|
||||
289
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM moneytmp WHERE a <= '22649.64';
|
||||
count
|
||||
-------
|
||||
290
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM moneytmp WHERE a = '22649.64';
|
||||
count
|
||||
-------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM moneytmp WHERE a >= '22649.64';
|
||||
count
|
||||
-------
|
||||
254
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM moneytmp WHERE a > '22649.64';
|
||||
count
|
||||
-------
|
||||
253
|
||||
(1 row)
|
||||
|
||||
CREATE INDEX moneyidx ON moneytmp USING gist ( a );
|
||||
SET enable_seqscan=off;
|
||||
SELECT count(*) FROM moneytmp WHERE a < '22649.64'::money;
|
||||
count
|
||||
-------
|
||||
289
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM moneytmp WHERE a <= '22649.64'::money;
|
||||
count
|
||||
-------
|
||||
290
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM moneytmp WHERE a = '22649.64'::money;
|
||||
count
|
||||
-------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM moneytmp WHERE a >= '22649.64'::money;
|
||||
count
|
||||
-------
|
||||
254
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM moneytmp WHERE a > '22649.64'::money;
|
||||
count
|
||||
-------
|
||||
253
|
||||
(1 row)
|
||||
|
66
contrib/btree_gist/expected/char.out
Normal file
66
contrib/btree_gist/expected/char.out
Normal file
|
@ -0,0 +1,66 @@
|
|||
-- char check
|
||||
CREATE TABLE chartmp (a char(32));
|
||||
\copy chartmp from 'data/char.data'
|
||||
SET enable_seqscan=on;
|
||||
SELECT count(*) FROM chartmp WHERE a < '31b0'::char(32);
|
||||
count
|
||||
-------
|
||||
121
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM chartmp WHERE a <= '31b0'::char(32);
|
||||
count
|
||||
-------
|
||||
122
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM chartmp WHERE a = '31b0'::char(32);
|
||||
count
|
||||
-------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM chartmp WHERE a >= '31b0'::char(32);
|
||||
count
|
||||
-------
|
||||
401
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM chartmp WHERE a > '31b0'::char(32);
|
||||
count
|
||||
-------
|
||||
400
|
||||
(1 row)
|
||||
|
||||
CREATE INDEX charidx ON chartmp USING GIST ( a );
|
||||
SET enable_seqscan=off;
|
||||
SELECT count(*) FROM chartmp WHERE a < '31b0'::char(32);
|
||||
count
|
||||
-------
|
||||
121
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM chartmp WHERE a <= '31b0'::char(32);
|
||||
count
|
||||
-------
|
||||
122
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM chartmp WHERE a = '31b0'::char(32);
|
||||
count
|
||||
-------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM chartmp WHERE a >= '31b0'::char(32);
|
||||
count
|
||||
-------
|
||||
401
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM chartmp WHERE a > '31b0'::char(32);
|
||||
count
|
||||
-------
|
||||
400
|
||||
(1 row)
|
||||
|
66
contrib/btree_gist/expected/cidr.out
Normal file
66
contrib/btree_gist/expected/cidr.out
Normal file
|
@ -0,0 +1,66 @@
|
|||
-- cidr check
|
||||
CREATE TABLE cidrtmp AS
|
||||
SELECT cidr(a) AS a FROM inettmp ;
|
||||
SET enable_seqscan=on;
|
||||
SELECT count(*) FROM cidrtmp WHERE a < '121.111.63.82';
|
||||
count
|
||||
-------
|
||||
290
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM cidrtmp WHERE a <= '121.111.63.82';
|
||||
count
|
||||
-------
|
||||
291
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM cidrtmp WHERE a = '121.111.63.82';
|
||||
count
|
||||
-------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM cidrtmp WHERE a >= '121.111.63.82';
|
||||
count
|
||||
-------
|
||||
310
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM cidrtmp WHERE a > '121.111.63.82';
|
||||
count
|
||||
-------
|
||||
309
|
||||
(1 row)
|
||||
|
||||
CREATE INDEX cidridx ON cidrtmp USING gist ( a );
|
||||
SET enable_seqscan=off;
|
||||
SELECT count(*) FROM cidrtmp WHERE a < '121.111.63.82'::cidr;
|
||||
count
|
||||
-------
|
||||
290
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM cidrtmp WHERE a <= '121.111.63.82'::cidr;
|
||||
count
|
||||
-------
|
||||
291
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM cidrtmp WHERE a = '121.111.63.82'::cidr;
|
||||
count
|
||||
-------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM cidrtmp WHERE a >= '121.111.63.82'::cidr;
|
||||
count
|
||||
-------
|
||||
310
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM cidrtmp WHERE a > '121.111.63.82'::cidr;
|
||||
count
|
||||
-------
|
||||
309
|
||||
(1 row)
|
||||
|
66
contrib/btree_gist/expected/date.out
Normal file
66
contrib/btree_gist/expected/date.out
Normal file
|
@ -0,0 +1,66 @@
|
|||
-- date check
|
||||
CREATE TABLE datetmp (a date);
|
||||
\copy datetmp from 'data/date.data'
|
||||
SET enable_seqscan=on;
|
||||
SELECT count(*) FROM datetmp WHERE a < '2001-02-13';
|
||||
count
|
||||
-------
|
||||
230
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM datetmp WHERE a <= '2001-02-13';
|
||||
count
|
||||
-------
|
||||
231
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM datetmp WHERE a = '2001-02-13';
|
||||
count
|
||||
-------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM datetmp WHERE a >= '2001-02-13';
|
||||
count
|
||||
-------
|
||||
314
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM datetmp WHERE a > '2001-02-13';
|
||||
count
|
||||
-------
|
||||
313
|
||||
(1 row)
|
||||
|
||||
CREATE INDEX dateidx ON datetmp USING gist ( a );
|
||||
SET enable_seqscan=off;
|
||||
SELECT count(*) FROM datetmp WHERE a < '2001-02-13'::date;
|
||||
count
|
||||
-------
|
||||
230
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM datetmp WHERE a <= '2001-02-13'::date;
|
||||
count
|
||||
-------
|
||||
231
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM datetmp WHERE a = '2001-02-13'::date;
|
||||
count
|
||||
-------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM datetmp WHERE a >= '2001-02-13'::date;
|
||||
count
|
||||
-------
|
||||
314
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM datetmp WHERE a > '2001-02-13'::date;
|
||||
count
|
||||
-------
|
||||
313
|
||||
(1 row)
|
||||
|
66
contrib/btree_gist/expected/float4.out
Normal file
66
contrib/btree_gist/expected/float4.out
Normal file
|
@ -0,0 +1,66 @@
|
|||
-- float4 check
|
||||
CREATE TABLE float4tmp (a float4);
|
||||
\copy float4tmp from 'data/float4.data'
|
||||
SET enable_seqscan=on;
|
||||
SELECT count(*) FROM float4tmp WHERE a < -179.0;
|
||||
count
|
||||
-------
|
||||
244
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM float4tmp WHERE a <= -179.0;
|
||||
count
|
||||
-------
|
||||
245
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM float4tmp WHERE a = -179.0;
|
||||
count
|
||||
-------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM float4tmp WHERE a >= -179.0;
|
||||
count
|
||||
-------
|
||||
303
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM float4tmp WHERE a > -179.0;
|
||||
count
|
||||
-------
|
||||
302
|
||||
(1 row)
|
||||
|
||||
CREATE INDEX float4idx ON float4tmp USING gist ( a );
|
||||
SET enable_seqscan=off;
|
||||
SELECT count(*) FROM float4tmp WHERE a < -179.0::float4;
|
||||
count
|
||||
-------
|
||||
244
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM float4tmp WHERE a <= -179.0::float4;
|
||||
count
|
||||
-------
|
||||
245
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM float4tmp WHERE a = -179.0::float4;
|
||||
count
|
||||
-------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM float4tmp WHERE a >= -179.0::float4;
|
||||
count
|
||||
-------
|
||||
303
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM float4tmp WHERE a > -179.0::float4;
|
||||
count
|
||||
-------
|
||||
302
|
||||
(1 row)
|
||||
|
66
contrib/btree_gist/expected/float8.out
Normal file
66
contrib/btree_gist/expected/float8.out
Normal file
|
@ -0,0 +1,66 @@
|
|||
-- float8 check
|
||||
CREATE TABLE float8tmp (a float8);
|
||||
\copy float8tmp from 'data/float8.data'
|
||||
SET enable_seqscan=on;
|
||||
SELECT count(*) FROM float8tmp WHERE a < -1890.0;
|
||||
count
|
||||
-------
|
||||
237
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM float8tmp WHERE a <= -1890.0;
|
||||
count
|
||||
-------
|
||||
238
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM float8tmp WHERE a = -1890.0;
|
||||
count
|
||||
-------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM float8tmp WHERE a >= -1890.0;
|
||||
count
|
||||
-------
|
||||
307
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM float8tmp WHERE a > -1890.0;
|
||||
count
|
||||
-------
|
||||
306
|
||||
(1 row)
|
||||
|
||||
CREATE INDEX float8idx ON float8tmp USING gist ( a );
|
||||
SET enable_seqscan=off;
|
||||
SELECT count(*) FROM float8tmp WHERE a < -1890.0::float8;
|
||||
count
|
||||
-------
|
||||
237
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM float8tmp WHERE a <= -1890.0::float8;
|
||||
count
|
||||
-------
|
||||
238
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM float8tmp WHERE a = -1890.0::float8;
|
||||
count
|
||||
-------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM float8tmp WHERE a >= -1890.0::float8;
|
||||
count
|
||||
-------
|
||||
307
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM float8tmp WHERE a > -1890.0::float8;
|
||||
count
|
||||
-------
|
||||
306
|
||||
(1 row)
|
||||
|
66
contrib/btree_gist/expected/inet.out
Normal file
66
contrib/btree_gist/expected/inet.out
Normal file
|
@ -0,0 +1,66 @@
|
|||
-- inet check
|
||||
CREATE TABLE inettmp (a inet);
|
||||
\copy inettmp from 'data/inet.data'
|
||||
SET enable_seqscan=on;
|
||||
SELECT count(*) FROM inettmp WHERE a < '89.225.196.191';
|
||||
count
|
||||
-------
|
||||
213
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM inettmp WHERE a <= '89.225.196.191';
|
||||
count
|
||||
-------
|
||||
214
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM inettmp WHERE a = '89.225.196.191';
|
||||
count
|
||||
-------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM inettmp WHERE a >= '89.225.196.191';
|
||||
count
|
||||
-------
|
||||
387
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM inettmp WHERE a > '89.225.196.191';
|
||||
count
|
||||
-------
|
||||
386
|
||||
(1 row)
|
||||
|
||||
CREATE INDEX inetidx ON inettmp USING gist ( a );
|
||||
SET enable_seqscan=off;
|
||||
SELECT count(*) FROM inettmp WHERE a < '89.225.196.191'::inet;
|
||||
count
|
||||
-------
|
||||
213
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM inettmp WHERE a <= '89.225.196.191'::inet;
|
||||
count
|
||||
-------
|
||||
214
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM inettmp WHERE a = '89.225.196.191'::inet;
|
||||
count
|
||||
-------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM inettmp WHERE a >= '89.225.196.191'::inet;
|
||||
count
|
||||
-------
|
||||
387
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM inettmp WHERE a > '89.225.196.191'::inet;
|
||||
count
|
||||
-------
|
||||
386
|
||||
(1 row)
|
||||
|
20
contrib/btree_gist/expected/init.out
Normal file
20
contrib/btree_gist/expected/init.out
Normal file
|
@ -0,0 +1,20 @@
|
|||
--
|
||||
-- first, define the datatype. Turn off echoing so that expected file
|
||||
-- does not depend on contents of btree_gist.sql.
|
||||
--
|
||||
\set ECHO none
|
||||
psql:btree_gist.sql:7: NOTICE: type "gbtreekey4" is not yet defined
|
||||
DETAIL: Creating a shell type definition.
|
||||
psql:btree_gist.sql:12: NOTICE: argument type gbtreekey4 is only a shell
|
||||
psql:btree_gist.sql:23: NOTICE: type "gbtreekey8" is not yet defined
|
||||
DETAIL: Creating a shell type definition.
|
||||
psql:btree_gist.sql:28: NOTICE: argument type gbtreekey8 is only a shell
|
||||
psql:btree_gist.sql:39: NOTICE: type "gbtreekey16" is not yet defined
|
||||
DETAIL: Creating a shell type definition.
|
||||
psql:btree_gist.sql:44: NOTICE: argument type gbtreekey16 is only a shell
|
||||
psql:btree_gist.sql:55: NOTICE: type "gbtreekey24" is not yet defined
|
||||
DETAIL: Creating a shell type definition.
|
||||
psql:btree_gist.sql:60: NOTICE: argument type gbtreekey24 is only a shell
|
||||
psql:btree_gist.sql:71: NOTICE: type "gbtreekey_var" is not yet defined
|
||||
DETAIL: Creating a shell type definition.
|
||||
psql:btree_gist.sql:76: NOTICE: argument type gbtreekey_var is only a shell
|
66
contrib/btree_gist/expected/int2.out
Normal file
66
contrib/btree_gist/expected/int2.out
Normal file
|
@ -0,0 +1,66 @@
|
|||
-- int2 check
|
||||
CREATE TABLE int2tmp (a int2);
|
||||
\copy int2tmp from 'data/int2.data'
|
||||
SET enable_seqscan=on;
|
||||
SELECT count(*) FROM int2tmp WHERE a < 237;
|
||||
count
|
||||
-------
|
||||
297
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM int2tmp WHERE a <= 237;
|
||||
count
|
||||
-------
|
||||
298
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM int2tmp WHERE a = 237;
|
||||
count
|
||||
-------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM int2tmp WHERE a >= 237;
|
||||
count
|
||||
-------
|
||||
249
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM int2tmp WHERE a > 237;
|
||||
count
|
||||
-------
|
||||
248
|
||||
(1 row)
|
||||
|
||||
CREATE INDEX int2idx ON int2tmp USING gist ( a );
|
||||
SET enable_seqscan=off;
|
||||
SELECT count(*) FROM int2tmp WHERE a < 237::int2;
|
||||
count
|
||||
-------
|
||||
297
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM int2tmp WHERE a <= 237::int2;
|
||||
count
|
||||
-------
|
||||
298
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM int2tmp WHERE a = 237::int2;
|
||||
count
|
||||
-------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM int2tmp WHERE a >= 237::int2;
|
||||
count
|
||||
-------
|
||||
249
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM int2tmp WHERE a > 237::int2;
|
||||
count
|
||||
-------
|
||||
248
|
||||
(1 row)
|
||||
|
66
contrib/btree_gist/expected/int4.out
Normal file
66
contrib/btree_gist/expected/int4.out
Normal file
|
@ -0,0 +1,66 @@
|
|||
-- int4 check
|
||||
CREATE TABLE int4tmp (a int4);
|
||||
\copy int4tmp from 'data/int2.data'
|
||||
SET enable_seqscan=on;
|
||||
SELECT count(*) FROM int4tmp WHERE a < 237;
|
||||
count
|
||||
-------
|
||||
297
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM int4tmp WHERE a <= 237;
|
||||
count
|
||||
-------
|
||||
298
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM int4tmp WHERE a = 237;
|
||||
count
|
||||
-------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM int4tmp WHERE a >= 237;
|
||||
count
|
||||
-------
|
||||
249
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM int4tmp WHERE a > 237;
|
||||
count
|
||||
-------
|
||||
248
|
||||
(1 row)
|
||||
|
||||
CREATE INDEX int4idx ON int4tmp USING gist ( a );
|
||||
SET enable_seqscan=off;
|
||||
SELECT count(*) FROM int4tmp WHERE a < 237::int4;
|
||||
count
|
||||
-------
|
||||
297
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM int4tmp WHERE a <= 237::int4;
|
||||
count
|
||||
-------
|
||||
298
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM int4tmp WHERE a = 237::int4;
|
||||
count
|
||||
-------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM int4tmp WHERE a >= 237::int4;
|
||||
count
|
||||
-------
|
||||
249
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM int4tmp WHERE a > 237::int4;
|
||||
count
|
||||
-------
|
||||
248
|
||||
(1 row)
|
||||
|
66
contrib/btree_gist/expected/int8.out
Normal file
66
contrib/btree_gist/expected/int8.out
Normal file
|
@ -0,0 +1,66 @@
|
|||
-- int8 check
|
||||
CREATE TABLE int8tmp (a int8);
|
||||
\copy int8tmp from 'data/int8.data'
|
||||
SET enable_seqscan=on;
|
||||
SELECT count(*) FROM int8tmp WHERE a < 464571291354841;
|
||||
count
|
||||
-------
|
||||
276
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM int8tmp WHERE a <= 464571291354841;
|
||||
count
|
||||
-------
|
||||
277
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM int8tmp WHERE a = 464571291354841;
|
||||
count
|
||||
-------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM int8tmp WHERE a >= 464571291354841;
|
||||
count
|
||||
-------
|
||||
271
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM int8tmp WHERE a > 464571291354841;
|
||||
count
|
||||
-------
|
||||
270
|
||||
(1 row)
|
||||
|
||||
CREATE INDEX int8idx ON int8tmp USING gist ( a );
|
||||
SET enable_seqscan=off;
|
||||
SELECT count(*) FROM int8tmp WHERE a < 464571291354841::int8;
|
||||
count
|
||||
-------
|
||||
276
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM int8tmp WHERE a <= 464571291354841::int8;
|
||||
count
|
||||
-------
|
||||
277
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM int8tmp WHERE a = 464571291354841::int8;
|
||||
count
|
||||
-------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM int8tmp WHERE a >= 464571291354841::int8;
|
||||
count
|
||||
-------
|
||||
271
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM int8tmp WHERE a > 464571291354841::int8;
|
||||
count
|
||||
-------
|
||||
270
|
||||
(1 row)
|
||||
|
66
contrib/btree_gist/expected/interval.out
Normal file
66
contrib/btree_gist/expected/interval.out
Normal file
|
@ -0,0 +1,66 @@
|
|||
-- interval check
|
||||
CREATE TABLE intervaltmp (a interval);
|
||||
\copy intervaltmp from 'data/interval.data'
|
||||
SET enable_seqscan=on;
|
||||
SELECT count(*) FROM intervaltmp WHERE a < '199 days 21:21:23';
|
||||
count
|
||||
-------
|
||||
329
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM intervaltmp WHERE a <= '199 days 21:21:23';
|
||||
count
|
||||
-------
|
||||
330
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM intervaltmp WHERE a = '199 days 21:21:23';
|
||||
count
|
||||
-------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM intervaltmp WHERE a >= '199 days 21:21:23';
|
||||
count
|
||||
-------
|
||||
271
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM intervaltmp WHERE a > '199 days 21:21:23';
|
||||
count
|
||||
-------
|
||||
270
|
||||
(1 row)
|
||||
|
||||
CREATE INDEX intervalidx ON intervaltmp USING gist ( a );
|
||||
SET enable_seqscan=off;
|
||||
SELECT count(*) FROM intervaltmp WHERE a < '199 days 21:21:23'::interval;
|
||||
count
|
||||
-------
|
||||
329
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM intervaltmp WHERE a <= '199 days 21:21:23'::interval;
|
||||
count
|
||||
-------
|
||||
330
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM intervaltmp WHERE a = '199 days 21:21:23'::interval;
|
||||
count
|
||||
-------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM intervaltmp WHERE a >= '199 days 21:21:23'::interval;
|
||||
count
|
||||
-------
|
||||
271
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM intervaltmp WHERE a > '199 days 21:21:23'::interval;
|
||||
count
|
||||
-------
|
||||
270
|
||||
(1 row)
|
||||
|
66
contrib/btree_gist/expected/macaddr.out
Normal file
66
contrib/btree_gist/expected/macaddr.out
Normal file
|
@ -0,0 +1,66 @@
|
|||
-- macaddr check
|
||||
CREATE TABLE macaddrtmp (a macaddr);
|
||||
\copy macaddrtmp from 'data/macaddr.data'
|
||||
SET enable_seqscan=on;
|
||||
SELECT count(*) FROM macaddrtmp WHERE a < '22:00:5c:e5:9b:0d';
|
||||
count
|
||||
-------
|
||||
56
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM macaddrtmp WHERE a <= '22:00:5c:e5:9b:0d';
|
||||
count
|
||||
-------
|
||||
60
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM macaddrtmp WHERE a = '22:00:5c:e5:9b:0d';
|
||||
count
|
||||
-------
|
||||
4
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM macaddrtmp WHERE a >= '22:00:5c:e5:9b:0d';
|
||||
count
|
||||
-------
|
||||
544
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM macaddrtmp WHERE a > '22:00:5c:e5:9b:0d';
|
||||
count
|
||||
-------
|
||||
540
|
||||
(1 row)
|
||||
|
||||
CREATE INDEX macaddridx ON macaddrtmp USING gist ( a );
|
||||
SET enable_seqscan=off;
|
||||
SELECT count(*) FROM macaddrtmp WHERE a < '22:00:5c:e5:9b:0d'::macaddr;
|
||||
count
|
||||
-------
|
||||
56
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM macaddrtmp WHERE a <= '22:00:5c:e5:9b:0d'::macaddr;
|
||||
count
|
||||
-------
|
||||
60
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM macaddrtmp WHERE a = '22:00:5c:e5:9b:0d'::macaddr;
|
||||
count
|
||||
-------
|
||||
4
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM macaddrtmp WHERE a >= '22:00:5c:e5:9b:0d'::macaddr;
|
||||
count
|
||||
-------
|
||||
544
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM macaddrtmp WHERE a > '22:00:5c:e5:9b:0d'::macaddr;
|
||||
count
|
||||
-------
|
||||
540
|
||||
(1 row)
|
||||
|
188
contrib/btree_gist/expected/numeric.out
Normal file
188
contrib/btree_gist/expected/numeric.out
Normal file
|
@ -0,0 +1,188 @@
|
|||
-- numeric check
|
||||
CREATE TABLE numerictmp (a numeric);
|
||||
\copy numerictmp from 'data/int8.data'
|
||||
\copy numerictmp from 'data/numeric.data'
|
||||
\copy numerictmp from 'data/float8.data'
|
||||
SET enable_seqscan=on;
|
||||
SELECT count(*) FROM numerictmp WHERE a < -1890.0;
|
||||
count
|
||||
-------
|
||||
505
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a <= -1890.0;
|
||||
count
|
||||
-------
|
||||
506
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a = -1890.0;
|
||||
count
|
||||
-------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a >= -1890.0;
|
||||
count
|
||||
-------
|
||||
597
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a > -1890.0;
|
||||
count
|
||||
-------
|
||||
596
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a < 'NaN' ;
|
||||
count
|
||||
-------
|
||||
1100
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a <= 'NaN' ;
|
||||
count
|
||||
-------
|
||||
1102
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a = 'NaN' ;
|
||||
count
|
||||
-------
|
||||
2
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a >= 'NaN' ;
|
||||
count
|
||||
-------
|
||||
2
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a > 'NaN' ;
|
||||
count
|
||||
-------
|
||||
0
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a < 0 ;
|
||||
count
|
||||
-------
|
||||
523
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a <= 0 ;
|
||||
count
|
||||
-------
|
||||
526
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a = 0 ;
|
||||
count
|
||||
-------
|
||||
3
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a >= 0 ;
|
||||
count
|
||||
-------
|
||||
579
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a > 0 ;
|
||||
count
|
||||
-------
|
||||
576
|
||||
(1 row)
|
||||
|
||||
CREATE INDEX numericidx ON numerictmp USING gist ( a );
|
||||
SET enable_seqscan=off;
|
||||
SELECT count(*) FROM numerictmp WHERE a < -1890.0;
|
||||
count
|
||||
-------
|
||||
505
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a <= -1890.0;
|
||||
count
|
||||
-------
|
||||
506
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a = -1890.0;
|
||||
count
|
||||
-------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a >= -1890.0;
|
||||
count
|
||||
-------
|
||||
597
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a > -1890.0;
|
||||
count
|
||||
-------
|
||||
596
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a < 'NaN' ;
|
||||
count
|
||||
-------
|
||||
1100
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a <= 'NaN' ;
|
||||
count
|
||||
-------
|
||||
1102
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a = 'NaN' ;
|
||||
count
|
||||
-------
|
||||
2
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a >= 'NaN' ;
|
||||
count
|
||||
-------
|
||||
2
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a > 'NaN' ;
|
||||
count
|
||||
-------
|
||||
0
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a < 0 ;
|
||||
count
|
||||
-------
|
||||
523
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a <= 0 ;
|
||||
count
|
||||
-------
|
||||
526
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a = 0 ;
|
||||
count
|
||||
-------
|
||||
3
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a >= 0 ;
|
||||
count
|
||||
-------
|
||||
579
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a > 0 ;
|
||||
count
|
||||
-------
|
||||
576
|
||||
(1 row)
|
||||
|
64
contrib/btree_gist/expected/oid.out
Normal file
64
contrib/btree_gist/expected/oid.out
Normal file
|
@ -0,0 +1,64 @@
|
|||
-- oid check
|
||||
SET enable_seqscan=on;
|
||||
SELECT count(*) FROM moneytmp WHERE oid < ( SELECT oid FROM moneytmp WHERE a = '22649.64' );
|
||||
count
|
||||
-------
|
||||
372
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM moneytmp WHERE oid <= ( SELECT oid FROM moneytmp WHERE a = '22649.64' );
|
||||
count
|
||||
-------
|
||||
373
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM moneytmp WHERE oid = ( SELECT oid FROM moneytmp WHERE a = '22649.64' );
|
||||
count
|
||||
-------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM moneytmp WHERE oid >= ( SELECT oid FROM moneytmp WHERE a = '22649.64' );
|
||||
count
|
||||
-------
|
||||
228
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM moneytmp WHERE oid > ( SELECT oid FROM moneytmp WHERE a = '22649.64' );
|
||||
count
|
||||
-------
|
||||
227
|
||||
(1 row)
|
||||
|
||||
CREATE INDEX oididx ON moneytmp USING gist ( oid );
|
||||
SET enable_seqscan=off;
|
||||
SELECT count(*) FROM moneytmp WHERE oid < ( SELECT oid FROM moneytmp WHERE a = '22649.64' );
|
||||
count
|
||||
-------
|
||||
372
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM moneytmp WHERE oid <= ( SELECT oid FROM moneytmp WHERE a = '22649.64' );
|
||||
count
|
||||
-------
|
||||
373
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM moneytmp WHERE oid = ( SELECT oid FROM moneytmp WHERE a = '22649.64' );
|
||||
count
|
||||
-------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM moneytmp WHERE oid >= ( SELECT oid FROM moneytmp WHERE a = '22649.64' );
|
||||
count
|
||||
-------
|
||||
228
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM moneytmp WHERE oid > ( SELECT oid FROM moneytmp WHERE a = '22649.64' );
|
||||
count
|
||||
-------
|
||||
227
|
||||
(1 row)
|
||||
|
73
contrib/btree_gist/expected/text.out
Normal file
73
contrib/btree_gist/expected/text.out
Normal file
File diff suppressed because one or more lines are too long
66
contrib/btree_gist/expected/time.out
Normal file
66
contrib/btree_gist/expected/time.out
Normal file
|
@ -0,0 +1,66 @@
|
|||
-- time check
|
||||
CREATE TABLE timetmp (a time);
|
||||
\copy timetmp from 'data/time.data'
|
||||
SET enable_seqscan=on;
|
||||
SELECT count(*) FROM timetmp WHERE a < '10:57:11';
|
||||
count
|
||||
-------
|
||||
251
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timetmp WHERE a <= '10:57:11';
|
||||
count
|
||||
-------
|
||||
252
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timetmp WHERE a = '10:57:11';
|
||||
count
|
||||
-------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timetmp WHERE a >= '10:57:11';
|
||||
count
|
||||
-------
|
||||
293
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timetmp WHERE a > '10:57:11';
|
||||
count
|
||||
-------
|
||||
292
|
||||
(1 row)
|
||||
|
||||
CREATE INDEX timeidx ON timetmp USING gist ( a );
|
||||
SET enable_seqscan=off;
|
||||
SELECT count(*) FROM timetmp WHERE a < '10:57:11'::time;
|
||||
count
|
||||
-------
|
||||
251
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timetmp WHERE a <= '10:57:11'::time;
|
||||
count
|
||||
-------
|
||||
252
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timetmp WHERE a = '10:57:11'::time;
|
||||
count
|
||||
-------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timetmp WHERE a >= '10:57:11'::time;
|
||||
count
|
||||
-------
|
||||
293
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timetmp WHERE a > '10:57:11'::time;
|
||||
count
|
||||
-------
|
||||
292
|
||||
(1 row)
|
||||
|
66
contrib/btree_gist/expected/timestamp.out
Normal file
66
contrib/btree_gist/expected/timestamp.out
Normal file
|
@ -0,0 +1,66 @@
|
|||
-- timestamp check
|
||||
CREATE TABLE timestamptmp (a timestamp);
|
||||
\copy timestamptmp from 'data/timestamp.data'
|
||||
SET enable_seqscan=on;
|
||||
SELECT count(*) FROM timestamptmp WHERE a < '2004-10-26 08:55:08';
|
||||
count
|
||||
-------
|
||||
270
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptmp WHERE a <= '2004-10-26 08:55:08';
|
||||
count
|
||||
-------
|
||||
271
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptmp WHERE a = '2004-10-26 08:55:08';
|
||||
count
|
||||
-------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptmp WHERE a >= '2004-10-26 08:55:08';
|
||||
count
|
||||
-------
|
||||
274
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptmp WHERE a > '2004-10-26 08:55:08';
|
||||
count
|
||||
-------
|
||||
273
|
||||
(1 row)
|
||||
|
||||
CREATE INDEX timestampidx ON timestamptmp USING gist ( a );
|
||||
SET enable_seqscan=off;
|
||||
SELECT count(*) FROM timestamptmp WHERE a < '2004-10-26 08:55:08'::timestamp;
|
||||
count
|
||||
-------
|
||||
270
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptmp WHERE a <= '2004-10-26 08:55:08'::timestamp;
|
||||
count
|
||||
-------
|
||||
271
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptmp WHERE a = '2004-10-26 08:55:08'::timestamp;
|
||||
count
|
||||
-------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptmp WHERE a >= '2004-10-26 08:55:08'::timestamp;
|
||||
count
|
||||
-------
|
||||
274
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptmp WHERE a > '2004-10-26 08:55:08'::timestamp;
|
||||
count
|
||||
-------
|
||||
273
|
||||
(1 row)
|
||||
|
186
contrib/btree_gist/expected/timestamptz.out
Normal file
186
contrib/btree_gist/expected/timestamptz.out
Normal file
|
@ -0,0 +1,186 @@
|
|||
-- timestamptz check
|
||||
CREATE TABLE timestamptztmp (a timestamptz);
|
||||
\copy timestamptztmp from 'data/timestamptz.data'
|
||||
SET enable_seqscan=on;
|
||||
SELECT count(*) FROM timestamptztmp WHERE a < '2018-12-18 10:59:54 GMT+3';
|
||||
count
|
||||
-------
|
||||
385
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a <= '2018-12-18 10:59:54 GMT+3';
|
||||
count
|
||||
-------
|
||||
386
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a = '2018-12-18 10:59:54 GMT+3';
|
||||
count
|
||||
-------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a >= '2018-12-18 10:59:54 GMT+3';
|
||||
count
|
||||
-------
|
||||
146
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a > '2018-12-18 10:59:54 GMT+3';
|
||||
count
|
||||
-------
|
||||
145
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a < '2018-12-18 10:59:54 GMT+2';
|
||||
count
|
||||
-------
|
||||
385
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a <= '2018-12-18 10:59:54 GMT+2';
|
||||
count
|
||||
-------
|
||||
385
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a = '2018-12-18 10:59:54 GMT+2';
|
||||
count
|
||||
-------
|
||||
0
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a >= '2018-12-18 10:59:54 GMT+2';
|
||||
count
|
||||
-------
|
||||
146
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a > '2018-12-18 10:59:54 GMT+2';
|
||||
count
|
||||
-------
|
||||
146
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a < '2018-12-18 10:59:54 GMT+4';
|
||||
count
|
||||
-------
|
||||
386
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a <= '2018-12-18 10:59:54 GMT+4';
|
||||
count
|
||||
-------
|
||||
386
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a = '2018-12-18 10:59:54 GMT+4';
|
||||
count
|
||||
-------
|
||||
0
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a >= '2018-12-18 10:59:54 GMT+4';
|
||||
count
|
||||
-------
|
||||
145
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a > '2018-12-18 10:59:54 GMT+4';
|
||||
count
|
||||
-------
|
||||
145
|
||||
(1 row)
|
||||
|
||||
CREATE INDEX timestamptzidx ON timestamptztmp USING gist ( a );
|
||||
SET enable_seqscan=off;
|
||||
SELECT count(*) FROM timestamptztmp WHERE a < '2018-12-18 10:59:54 GMT+3'::timestamptz;
|
||||
count
|
||||
-------
|
||||
385
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a <= '2018-12-18 10:59:54 GMT+3'::timestamptz;
|
||||
count
|
||||
-------
|
||||
386
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a = '2018-12-18 10:59:54 GMT+3'::timestamptz;
|
||||
count
|
||||
-------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a >= '2018-12-18 10:59:54 GMT+3'::timestamptz;
|
||||
count
|
||||
-------
|
||||
146
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a > '2018-12-18 10:59:54 GMT+3'::timestamptz;
|
||||
count
|
||||
-------
|
||||
145
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a < '2018-12-18 10:59:54 GMT+2'::timestamptz;
|
||||
count
|
||||
-------
|
||||
385
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a <= '2018-12-18 10:59:54 GMT+2'::timestamptz;
|
||||
count
|
||||
-------
|
||||
385
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a = '2018-12-18 10:59:54 GMT+2'::timestamptz;
|
||||
count
|
||||
-------
|
||||
0
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a >= '2018-12-18 10:59:54 GMT+2'::timestamptz;
|
||||
count
|
||||
-------
|
||||
146
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a > '2018-12-18 10:59:54 GMT+2'::timestamptz;
|
||||
count
|
||||
-------
|
||||
146
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a < '2018-12-18 10:59:54 GMT+4'::timestamptz;
|
||||
count
|
||||
-------
|
||||
386
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a <= '2018-12-18 10:59:54 GMT+4'::timestamptz;
|
||||
count
|
||||
-------
|
||||
386
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a = '2018-12-18 10:59:54 GMT+4'::timestamptz;
|
||||
count
|
||||
-------
|
||||
0
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a >= '2018-12-18 10:59:54 GMT+4'::timestamptz;
|
||||
count
|
||||
-------
|
||||
145
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a > '2018-12-18 10:59:54 GMT+4'::timestamptz;
|
||||
count
|
||||
-------
|
||||
145
|
||||
(1 row)
|
||||
|
43
contrib/btree_gist/expected/timetz.out
Normal file
43
contrib/btree_gist/expected/timetz.out
Normal file
|
@ -0,0 +1,43 @@
|
|||
-- timetz check
|
||||
CREATE TABLE timetztmp (a timetz);
|
||||
\copy timetztmp from 'data/timetz.data'
|
||||
CREATE TABLE timetzcmp ( r_id int2, a int4, b int4 );
|
||||
SET enable_seqscan=on;
|
||||
INSERT INTO timetzcmp (r_id,a) SELECT 1,count(*) FROM timetztmp WHERE a < '07:46:45 GMT+3';
|
||||
INSERT INTO timetzcmp (r_id,a) SELECT 2,count(*) FROM timetztmp WHERE a <= '07:46:45 GMT+3';
|
||||
INSERT INTO timetzcmp (r_id,a) SELECT 3,count(*) FROM timetztmp WHERE a = '07:46:45 GMT+3';
|
||||
INSERT INTO timetzcmp (r_id,a) SELECT 4,count(*) FROM timetztmp WHERE a >= '07:46:45 GMT+3';
|
||||
INSERT INTO timetzcmp (r_id,a) SELECT 5,count(*) FROM timetztmp WHERE a > '07:46:45 GMT+3';
|
||||
INSERT INTO timetzcmp (r_id,a) SELECT 11,count(*) FROM timetztmp WHERE a < '07:46:45 GMT+2';
|
||||
INSERT INTO timetzcmp (r_id,a) SELECT 12,count(*) FROM timetztmp WHERE a <= '07:46:45 GMT+2';
|
||||
INSERT INTO timetzcmp (r_id,a) SELECT 13,count(*) FROM timetztmp WHERE a = '07:46:45 GMT+2';
|
||||
INSERT INTO timetzcmp (r_id,a) SELECT 14,count(*) FROM timetztmp WHERE a >= '07:46:45 GMT+2';
|
||||
INSERT INTO timetzcmp (r_id,a) SELECT 15,count(*) FROM timetztmp WHERE a > '07:46:45 GMT+2';
|
||||
INSERT INTO timetzcmp (r_id,a) SELECT 21,count(*) FROM timetztmp WHERE a < '07:46:45 GMT+4';
|
||||
INSERT INTO timetzcmp (r_id,a) SELECT 22,count(*) FROM timetztmp WHERE a <= '07:46:45 GMT+4';
|
||||
INSERT INTO timetzcmp (r_id,a) SELECT 23,count(*) FROM timetztmp WHERE a = '07:46:45 GMT+4';
|
||||
INSERT INTO timetzcmp (r_id,a) SELECT 24,count(*) FROM timetztmp WHERE a >= '07:46:45 GMT+4';
|
||||
INSERT INTO timetzcmp (r_id,a) SELECT 25,count(*) FROM timetztmp WHERE a > '07:46:45 GMT+4';
|
||||
CREATE INDEX timetzidx ON timetztmp USING gist ( a );
|
||||
SET enable_seqscan=off;
|
||||
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a < '07:46:45 GMT+3'::timetz ) q WHERE r_id=1 ;
|
||||
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a <= '07:46:45 GMT+3'::timetz ) q WHERE r_id=2 ;
|
||||
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a = '07:46:45 GMT+3'::timetz ) q WHERE r_id=3 ;
|
||||
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a >= '07:46:45 GMT+3'::timetz ) q WHERE r_id=4 ;
|
||||
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a > '07:46:45 GMT+3'::timetz ) q WHERE r_id=5 ;
|
||||
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a < '07:46:45 GMT+2'::timetz ) q WHERE r_id=11 ;
|
||||
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a <= '07:46:45 GMT+2'::timetz ) q WHERE r_id=12 ;
|
||||
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a = '07:46:45 GMT+2'::timetz ) q WHERE r_id=13 ;
|
||||
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a >= '07:46:45 GMT+2'::timetz ) q WHERE r_id=14 ;
|
||||
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a > '07:46:45 GMT+2'::timetz ) q WHERE r_id=15 ;
|
||||
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a < '07:46:45 GMT+4'::timetz ) q WHERE r_id=21 ;
|
||||
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a <= '07:46:45 GMT+4'::timetz ) q WHERE r_id=22 ;
|
||||
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a = '07:46:45 GMT+4'::timetz ) q WHERE r_id=23 ;
|
||||
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a >= '07:46:45 GMT+4'::timetz ) q WHERE r_id=24 ;
|
||||
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a > '07:46:45 GMT+4'::timetz ) q WHERE r_id=25 ;
|
||||
SELECT count(*) FROM timetzcmp WHERE a=b;
|
||||
count
|
||||
-------
|
||||
15
|
||||
(1 row)
|
||||
|
66
contrib/btree_gist/expected/varbit.out
Normal file
66
contrib/btree_gist/expected/varbit.out
Normal file
|
@ -0,0 +1,66 @@
|
|||
-- varbit check
|
||||
CREATE TABLE varbittmp (a varbit);
|
||||
\copy varbittmp from 'data/varbit.data'
|
||||
SET enable_seqscan=on;
|
||||
SELECT count(*) FROM varbittmp WHERE a < '1110100111010';
|
||||
count
|
||||
-------
|
||||
549
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM varbittmp WHERE a <= '1110100111010';
|
||||
count
|
||||
-------
|
||||
550
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM varbittmp WHERE a = '1110100111010';
|
||||
count
|
||||
-------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM varbittmp WHERE a >= '1110100111010';
|
||||
count
|
||||
-------
|
||||
51
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM varbittmp WHERE a > '1110100111010';
|
||||
count
|
||||
-------
|
||||
50
|
||||
(1 row)
|
||||
|
||||
CREATE INDEX varbitidx ON varbittmp USING GIST ( a );
|
||||
SET enable_seqscan=off;
|
||||
SELECT count(*) FROM varbittmp WHERE a < '1110100111010'::varbit;
|
||||
count
|
||||
-------
|
||||
549
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM varbittmp WHERE a <= '1110100111010'::varbit;
|
||||
count
|
||||
-------
|
||||
550
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM varbittmp WHERE a = '1110100111010'::varbit;
|
||||
count
|
||||
-------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM varbittmp WHERE a >= '1110100111010'::varbit;
|
||||
count
|
||||
-------
|
||||
51
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM varbittmp WHERE a > '1110100111010'::varbit;
|
||||
count
|
||||
-------
|
||||
50
|
||||
(1 row)
|
||||
|
66
contrib/btree_gist/expected/varchar.out
Normal file
66
contrib/btree_gist/expected/varchar.out
Normal file
|
@ -0,0 +1,66 @@
|
|||
-- char check
|
||||
CREATE TABLE vchartmp (a varchar(32));
|
||||
\copy vchartmp from 'data/char.data'
|
||||
SET enable_seqscan=on;
|
||||
SELECT count(*) FROM vchartmp WHERE a < '31b0'::varchar(32);
|
||||
count
|
||||
-------
|
||||
121
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM vchartmp WHERE a <= '31b0'::varchar(32);
|
||||
count
|
||||
-------
|
||||
122
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM vchartmp WHERE a = '31b0'::varchar(32);
|
||||
count
|
||||
-------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM vchartmp WHERE a >= '31b0'::varchar(32);
|
||||
count
|
||||
-------
|
||||
401
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM vchartmp WHERE a > '31b0'::varchar(32);
|
||||
count
|
||||
-------
|
||||
400
|
||||
(1 row)
|
||||
|
||||
CREATE INDEX vcharidx ON vchartmp USING GIST ( text(a) );
|
||||
SET enable_seqscan=off;
|
||||
SELECT count(*) FROM vchartmp WHERE a < '31b0'::varchar(32);
|
||||
count
|
||||
-------
|
||||
121
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM vchartmp WHERE a <= '31b0'::varchar(32);
|
||||
count
|
||||
-------
|
||||
122
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM vchartmp WHERE a = '31b0'::varchar(32);
|
||||
count
|
||||
-------
|
||||
1
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM vchartmp WHERE a >= '31b0'::varchar(32);
|
||||
count
|
||||
-------
|
||||
401
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM vchartmp WHERE a > '31b0'::varchar(32);
|
||||
count
|
||||
-------
|
||||
400
|
||||
(1 row)
|
||||
|
31
contrib/btree_gist/sql/bit.sql
Normal file
31
contrib/btree_gist/sql/bit.sql
Normal file
|
@ -0,0 +1,31 @@
|
|||
-- bit check
|
||||
|
||||
CREATE TABLE bittmp (a bit(33));
|
||||
|
||||
\copy bittmp from 'data/bit.data'
|
||||
|
||||
SET enable_seqscan=on;
|
||||
|
||||
SELECT count(*) FROM bittmp WHERE a < '011011000100010111011000110000100';
|
||||
|
||||
SELECT count(*) FROM bittmp WHERE a <= '011011000100010111011000110000100';
|
||||
|
||||
SELECT count(*) FROM bittmp WHERE a = '011011000100010111011000110000100';
|
||||
|
||||
SELECT count(*) FROM bittmp WHERE a >= '011011000100010111011000110000100';
|
||||
|
||||
SELECT count(*) FROM bittmp WHERE a > '011011000100010111011000110000100';
|
||||
|
||||
CREATE INDEX bitidx ON bittmp USING GIST ( a );
|
||||
|
||||
SET enable_seqscan=off;
|
||||
|
||||
SELECT count(*) FROM bittmp WHERE a < '011011000100010111011000110000100';
|
||||
|
||||
SELECT count(*) FROM bittmp WHERE a <= '011011000100010111011000110000100';
|
||||
|
||||
SELECT count(*) FROM bittmp WHERE a = '011011000100010111011000110000100';
|
||||
|
||||
SELECT count(*) FROM bittmp WHERE a >= '011011000100010111011000110000100';
|
||||
|
||||
SELECT count(*) FROM bittmp WHERE a > '011011000100010111011000110000100';
|
|
@ -1,66 +0,0 @@
|
|||
--
|
||||
-- first, define the datatype. Turn off echoing so that expected file
|
||||
-- does not depend on contents of btree_gist.sql.
|
||||
--
|
||||
\set ECHO none
|
||||
\i btree_gist.sql
|
||||
\set ECHO all
|
||||
|
||||
CREATE TABLE int4tmp (b int4);
|
||||
|
||||
\copy int4tmp from 'data/test_btree.data'
|
||||
|
||||
CREATE TABLE int8tmp (b int8);
|
||||
|
||||
\copy int8tmp from 'data/test_btree.data'
|
||||
|
||||
CREATE TABLE float4tmp (b float4);
|
||||
|
||||
\copy float4tmp from 'data/test_btree.data'
|
||||
|
||||
CREATE TABLE float8tmp (b float8);
|
||||
|
||||
\copy float8tmp from 'data/test_btree.data'
|
||||
|
||||
CREATE TABLE tstmp ( t timestamp without time zone );
|
||||
|
||||
\copy tstmp from 'data/test_btree_ts.data'
|
||||
|
||||
-- without idx
|
||||
|
||||
SELECT count(*) FROM int4tmp WHERE b <=10;
|
||||
|
||||
SELECT count(*) FROM int8tmp WHERE b <=10;
|
||||
|
||||
SELECT count(*) FROM float4tmp WHERE b <=10;
|
||||
|
||||
SELECT count(*) FROM float8tmp WHERE b <=10;
|
||||
|
||||
SELECT count(*) FROM tstmp WHERE t < '2001-05-29 08:33:09';
|
||||
|
||||
-- create idx
|
||||
|
||||
CREATE INDEX aaaidx ON int4tmp USING gist ( b );
|
||||
|
||||
CREATE INDEX bbbidx ON int8tmp USING gist ( b );
|
||||
|
||||
CREATE INDEX cccidx ON float4tmp USING gist ( b );
|
||||
|
||||
CREATE INDEX dddidx ON float8tmp USING gist ( b );
|
||||
|
||||
CREATE INDEX tsidx ON tstmp USING gist ( t );
|
||||
|
||||
--with idx
|
||||
|
||||
SET enable_seqscan=off;
|
||||
|
||||
SELECT count(*) FROM int4tmp WHERE b <=10::int4;
|
||||
|
||||
SELECT count(*) FROM int8tmp WHERE b <=10::int8;
|
||||
|
||||
SELECT count(*) FROM float4tmp WHERE b <=10::float4;
|
||||
|
||||
SELECT count(*) FROM float8tmp WHERE b <=10::float8;
|
||||
|
||||
SELECT count(*) FROM tstmp WHERE t < '2001-05-29 08:33:09';
|
||||
|
34
contrib/btree_gist/sql/bytea.sql
Normal file
34
contrib/btree_gist/sql/bytea.sql
Normal file
File diff suppressed because one or more lines are too long
31
contrib/btree_gist/sql/cash.sql
Normal file
31
contrib/btree_gist/sql/cash.sql
Normal file
|
@ -0,0 +1,31 @@
|
|||
-- money check
|
||||
|
||||
CREATE TABLE moneytmp (a money) WITH OIDS;
|
||||
|
||||
\copy moneytmp from 'data/cash.data'
|
||||
|
||||
SET enable_seqscan=on;
|
||||
|
||||
SELECT count(*) FROM moneytmp WHERE a < '22649.64';
|
||||
|
||||
SELECT count(*) FROM moneytmp WHERE a <= '22649.64';
|
||||
|
||||
SELECT count(*) FROM moneytmp WHERE a = '22649.64';
|
||||
|
||||
SELECT count(*) FROM moneytmp WHERE a >= '22649.64';
|
||||
|
||||
SELECT count(*) FROM moneytmp WHERE a > '22649.64';
|
||||
|
||||
CREATE INDEX moneyidx ON moneytmp USING gist ( a );
|
||||
|
||||
SET enable_seqscan=off;
|
||||
|
||||
SELECT count(*) FROM moneytmp WHERE a < '22649.64'::money;
|
||||
|
||||
SELECT count(*) FROM moneytmp WHERE a <= '22649.64'::money;
|
||||
|
||||
SELECT count(*) FROM moneytmp WHERE a = '22649.64'::money;
|
||||
|
||||
SELECT count(*) FROM moneytmp WHERE a >= '22649.64'::money;
|
||||
|
||||
SELECT count(*) FROM moneytmp WHERE a > '22649.64'::money;
|
31
contrib/btree_gist/sql/char.sql
Normal file
31
contrib/btree_gist/sql/char.sql
Normal file
|
@ -0,0 +1,31 @@
|
|||
-- char check
|
||||
|
||||
CREATE TABLE chartmp (a char(32));
|
||||
|
||||
\copy chartmp from 'data/char.data'
|
||||
|
||||
SET enable_seqscan=on;
|
||||
|
||||
SELECT count(*) FROM chartmp WHERE a < '31b0'::char(32);
|
||||
|
||||
SELECT count(*) FROM chartmp WHERE a <= '31b0'::char(32);
|
||||
|
||||
SELECT count(*) FROM chartmp WHERE a = '31b0'::char(32);
|
||||
|
||||
SELECT count(*) FROM chartmp WHERE a >= '31b0'::char(32);
|
||||
|
||||
SELECT count(*) FROM chartmp WHERE a > '31b0'::char(32);
|
||||
|
||||
CREATE INDEX charidx ON chartmp USING GIST ( a );
|
||||
|
||||
SET enable_seqscan=off;
|
||||
|
||||
SELECT count(*) FROM chartmp WHERE a < '31b0'::char(32);
|
||||
|
||||
SELECT count(*) FROM chartmp WHERE a <= '31b0'::char(32);
|
||||
|
||||
SELECT count(*) FROM chartmp WHERE a = '31b0'::char(32);
|
||||
|
||||
SELECT count(*) FROM chartmp WHERE a >= '31b0'::char(32);
|
||||
|
||||
SELECT count(*) FROM chartmp WHERE a > '31b0'::char(32);
|
31
contrib/btree_gist/sql/cidr.sql
Normal file
31
contrib/btree_gist/sql/cidr.sql
Normal file
|
@ -0,0 +1,31 @@
|
|||
-- cidr check
|
||||
|
||||
CREATE TABLE cidrtmp AS
|
||||
SELECT cidr(a) AS a FROM inettmp ;
|
||||
|
||||
SET enable_seqscan=on;
|
||||
|
||||
SELECT count(*) FROM cidrtmp WHERE a < '121.111.63.82';
|
||||
|
||||
SELECT count(*) FROM cidrtmp WHERE a <= '121.111.63.82';
|
||||
|
||||
SELECT count(*) FROM cidrtmp WHERE a = '121.111.63.82';
|
||||
|
||||
SELECT count(*) FROM cidrtmp WHERE a >= '121.111.63.82';
|
||||
|
||||
SELECT count(*) FROM cidrtmp WHERE a > '121.111.63.82';
|
||||
|
||||
CREATE INDEX cidridx ON cidrtmp USING gist ( a );
|
||||
|
||||
SET enable_seqscan=off;
|
||||
|
||||
SELECT count(*) FROM cidrtmp WHERE a < '121.111.63.82'::cidr;
|
||||
|
||||
SELECT count(*) FROM cidrtmp WHERE a <= '121.111.63.82'::cidr;
|
||||
|
||||
SELECT count(*) FROM cidrtmp WHERE a = '121.111.63.82'::cidr;
|
||||
|
||||
SELECT count(*) FROM cidrtmp WHERE a >= '121.111.63.82'::cidr;
|
||||
|
||||
SELECT count(*) FROM cidrtmp WHERE a > '121.111.63.82'::cidr;
|
||||
|
32
contrib/btree_gist/sql/date.sql
Normal file
32
contrib/btree_gist/sql/date.sql
Normal file
|
@ -0,0 +1,32 @@
|
|||
-- date check
|
||||
|
||||
CREATE TABLE datetmp (a date);
|
||||
|
||||
\copy datetmp from 'data/date.data'
|
||||
|
||||
SET enable_seqscan=on;
|
||||
|
||||
SELECT count(*) FROM datetmp WHERE a < '2001-02-13';
|
||||
|
||||
SELECT count(*) FROM datetmp WHERE a <= '2001-02-13';
|
||||
|
||||
SELECT count(*) FROM datetmp WHERE a = '2001-02-13';
|
||||
|
||||
SELECT count(*) FROM datetmp WHERE a >= '2001-02-13';
|
||||
|
||||
SELECT count(*) FROM datetmp WHERE a > '2001-02-13';
|
||||
|
||||
CREATE INDEX dateidx ON datetmp USING gist ( a );
|
||||
|
||||
SET enable_seqscan=off;
|
||||
|
||||
SELECT count(*) FROM datetmp WHERE a < '2001-02-13'::date;
|
||||
|
||||
SELECT count(*) FROM datetmp WHERE a <= '2001-02-13'::date;
|
||||
|
||||
SELECT count(*) FROM datetmp WHERE a = '2001-02-13'::date;
|
||||
|
||||
SELECT count(*) FROM datetmp WHERE a >= '2001-02-13'::date;
|
||||
|
||||
SELECT count(*) FROM datetmp WHERE a > '2001-02-13'::date;
|
||||
|
31
contrib/btree_gist/sql/float4.sql
Normal file
31
contrib/btree_gist/sql/float4.sql
Normal file
|
@ -0,0 +1,31 @@
|
|||
-- float4 check
|
||||
|
||||
CREATE TABLE float4tmp (a float4);
|
||||
|
||||
\copy float4tmp from 'data/float4.data'
|
||||
|
||||
SET enable_seqscan=on;
|
||||
|
||||
SELECT count(*) FROM float4tmp WHERE a < -179.0;
|
||||
|
||||
SELECT count(*) FROM float4tmp WHERE a <= -179.0;
|
||||
|
||||
SELECT count(*) FROM float4tmp WHERE a = -179.0;
|
||||
|
||||
SELECT count(*) FROM float4tmp WHERE a >= -179.0;
|
||||
|
||||
SELECT count(*) FROM float4tmp WHERE a > -179.0;
|
||||
|
||||
CREATE INDEX float4idx ON float4tmp USING gist ( a );
|
||||
|
||||
SET enable_seqscan=off;
|
||||
|
||||
SELECT count(*) FROM float4tmp WHERE a < -179.0::float4;
|
||||
|
||||
SELECT count(*) FROM float4tmp WHERE a <= -179.0::float4;
|
||||
|
||||
SELECT count(*) FROM float4tmp WHERE a = -179.0::float4;
|
||||
|
||||
SELECT count(*) FROM float4tmp WHERE a >= -179.0::float4;
|
||||
|
||||
SELECT count(*) FROM float4tmp WHERE a > -179.0::float4;
|
31
contrib/btree_gist/sql/float8.sql
Normal file
31
contrib/btree_gist/sql/float8.sql
Normal file
|
@ -0,0 +1,31 @@
|
|||
-- float8 check
|
||||
|
||||
CREATE TABLE float8tmp (a float8);
|
||||
|
||||
\copy float8tmp from 'data/float8.data'
|
||||
|
||||
SET enable_seqscan=on;
|
||||
|
||||
SELECT count(*) FROM float8tmp WHERE a < -1890.0;
|
||||
|
||||
SELECT count(*) FROM float8tmp WHERE a <= -1890.0;
|
||||
|
||||
SELECT count(*) FROM float8tmp WHERE a = -1890.0;
|
||||
|
||||
SELECT count(*) FROM float8tmp WHERE a >= -1890.0;
|
||||
|
||||
SELECT count(*) FROM float8tmp WHERE a > -1890.0;
|
||||
|
||||
CREATE INDEX float8idx ON float8tmp USING gist ( a );
|
||||
|
||||
SET enable_seqscan=off;
|
||||
|
||||
SELECT count(*) FROM float8tmp WHERE a < -1890.0::float8;
|
||||
|
||||
SELECT count(*) FROM float8tmp WHERE a <= -1890.0::float8;
|
||||
|
||||
SELECT count(*) FROM float8tmp WHERE a = -1890.0::float8;
|
||||
|
||||
SELECT count(*) FROM float8tmp WHERE a >= -1890.0::float8;
|
||||
|
||||
SELECT count(*) FROM float8tmp WHERE a > -1890.0::float8;
|
32
contrib/btree_gist/sql/inet.sql
Normal file
32
contrib/btree_gist/sql/inet.sql
Normal file
|
@ -0,0 +1,32 @@
|
|||
-- inet check
|
||||
|
||||
CREATE TABLE inettmp (a inet);
|
||||
|
||||
\copy inettmp from 'data/inet.data'
|
||||
|
||||
SET enable_seqscan=on;
|
||||
|
||||
SELECT count(*) FROM inettmp WHERE a < '89.225.196.191';
|
||||
|
||||
SELECT count(*) FROM inettmp WHERE a <= '89.225.196.191';
|
||||
|
||||
SELECT count(*) FROM inettmp WHERE a = '89.225.196.191';
|
||||
|
||||
SELECT count(*) FROM inettmp WHERE a >= '89.225.196.191';
|
||||
|
||||
SELECT count(*) FROM inettmp WHERE a > '89.225.196.191';
|
||||
|
||||
CREATE INDEX inetidx ON inettmp USING gist ( a );
|
||||
|
||||
SET enable_seqscan=off;
|
||||
|
||||
SELECT count(*) FROM inettmp WHERE a < '89.225.196.191'::inet;
|
||||
|
||||
SELECT count(*) FROM inettmp WHERE a <= '89.225.196.191'::inet;
|
||||
|
||||
SELECT count(*) FROM inettmp WHERE a = '89.225.196.191'::inet;
|
||||
|
||||
SELECT count(*) FROM inettmp WHERE a >= '89.225.196.191'::inet;
|
||||
|
||||
SELECT count(*) FROM inettmp WHERE a > '89.225.196.191'::inet;
|
||||
|
7
contrib/btree_gist/sql/init.sql
Normal file
7
contrib/btree_gist/sql/init.sql
Normal file
|
@ -0,0 +1,7 @@
|
|||
--
|
||||
-- first, define the datatype. Turn off echoing so that expected file
|
||||
-- does not depend on contents of btree_gist.sql.
|
||||
--
|
||||
\set ECHO none
|
||||
\i btree_gist.sql
|
||||
\set ECHO all
|
32
contrib/btree_gist/sql/int2.sql
Normal file
32
contrib/btree_gist/sql/int2.sql
Normal file
|
@ -0,0 +1,32 @@
|
|||
-- int2 check
|
||||
|
||||
CREATE TABLE int2tmp (a int2);
|
||||
|
||||
\copy int2tmp from 'data/int2.data'
|
||||
|
||||
SET enable_seqscan=on;
|
||||
|
||||
SELECT count(*) FROM int2tmp WHERE a < 237;
|
||||
|
||||
SELECT count(*) FROM int2tmp WHERE a <= 237;
|
||||
|
||||
SELECT count(*) FROM int2tmp WHERE a = 237;
|
||||
|
||||
SELECT count(*) FROM int2tmp WHERE a >= 237;
|
||||
|
||||
SELECT count(*) FROM int2tmp WHERE a > 237;
|
||||
|
||||
CREATE INDEX int2idx ON int2tmp USING gist ( a );
|
||||
|
||||
SET enable_seqscan=off;
|
||||
|
||||
SELECT count(*) FROM int2tmp WHERE a < 237::int2;
|
||||
|
||||
SELECT count(*) FROM int2tmp WHERE a <= 237::int2;
|
||||
|
||||
SELECT count(*) FROM int2tmp WHERE a = 237::int2;
|
||||
|
||||
SELECT count(*) FROM int2tmp WHERE a >= 237::int2;
|
||||
|
||||
SELECT count(*) FROM int2tmp WHERE a > 237::int2;
|
||||
|
32
contrib/btree_gist/sql/int4.sql
Normal file
32
contrib/btree_gist/sql/int4.sql
Normal file
|
@ -0,0 +1,32 @@
|
|||
-- int4 check
|
||||
|
||||
CREATE TABLE int4tmp (a int4);
|
||||
|
||||
\copy int4tmp from 'data/int2.data'
|
||||
|
||||
SET enable_seqscan=on;
|
||||
|
||||
SELECT count(*) FROM int4tmp WHERE a < 237;
|
||||
|
||||
SELECT count(*) FROM int4tmp WHERE a <= 237;
|
||||
|
||||
SELECT count(*) FROM int4tmp WHERE a = 237;
|
||||
|
||||
SELECT count(*) FROM int4tmp WHERE a >= 237;
|
||||
|
||||
SELECT count(*) FROM int4tmp WHERE a > 237;
|
||||
|
||||
CREATE INDEX int4idx ON int4tmp USING gist ( a );
|
||||
|
||||
SET enable_seqscan=off;
|
||||
|
||||
SELECT count(*) FROM int4tmp WHERE a < 237::int4;
|
||||
|
||||
SELECT count(*) FROM int4tmp WHERE a <= 237::int4;
|
||||
|
||||
SELECT count(*) FROM int4tmp WHERE a = 237::int4;
|
||||
|
||||
SELECT count(*) FROM int4tmp WHERE a >= 237::int4;
|
||||
|
||||
SELECT count(*) FROM int4tmp WHERE a > 237::int4;
|
||||
|
32
contrib/btree_gist/sql/int8.sql
Normal file
32
contrib/btree_gist/sql/int8.sql
Normal file
|
@ -0,0 +1,32 @@
|
|||
-- int8 check
|
||||
|
||||
CREATE TABLE int8tmp (a int8);
|
||||
|
||||
\copy int8tmp from 'data/int8.data'
|
||||
|
||||
SET enable_seqscan=on;
|
||||
|
||||
SELECT count(*) FROM int8tmp WHERE a < 464571291354841;
|
||||
|
||||
SELECT count(*) FROM int8tmp WHERE a <= 464571291354841;
|
||||
|
||||
SELECT count(*) FROM int8tmp WHERE a = 464571291354841;
|
||||
|
||||
SELECT count(*) FROM int8tmp WHERE a >= 464571291354841;
|
||||
|
||||
SELECT count(*) FROM int8tmp WHERE a > 464571291354841;
|
||||
|
||||
CREATE INDEX int8idx ON int8tmp USING gist ( a );
|
||||
|
||||
SET enable_seqscan=off;
|
||||
|
||||
SELECT count(*) FROM int8tmp WHERE a < 464571291354841::int8;
|
||||
|
||||
SELECT count(*) FROM int8tmp WHERE a <= 464571291354841::int8;
|
||||
|
||||
SELECT count(*) FROM int8tmp WHERE a = 464571291354841::int8;
|
||||
|
||||
SELECT count(*) FROM int8tmp WHERE a >= 464571291354841::int8;
|
||||
|
||||
SELECT count(*) FROM int8tmp WHERE a > 464571291354841::int8;
|
||||
|
32
contrib/btree_gist/sql/interval.sql
Normal file
32
contrib/btree_gist/sql/interval.sql
Normal file
|
@ -0,0 +1,32 @@
|
|||
-- interval check
|
||||
|
||||
CREATE TABLE intervaltmp (a interval);
|
||||
|
||||
\copy intervaltmp from 'data/interval.data'
|
||||
|
||||
SET enable_seqscan=on;
|
||||
|
||||
SELECT count(*) FROM intervaltmp WHERE a < '199 days 21:21:23';
|
||||
|
||||
SELECT count(*) FROM intervaltmp WHERE a <= '199 days 21:21:23';
|
||||
|
||||
SELECT count(*) FROM intervaltmp WHERE a = '199 days 21:21:23';
|
||||
|
||||
SELECT count(*) FROM intervaltmp WHERE a >= '199 days 21:21:23';
|
||||
|
||||
SELECT count(*) FROM intervaltmp WHERE a > '199 days 21:21:23';
|
||||
|
||||
CREATE INDEX intervalidx ON intervaltmp USING gist ( a );
|
||||
|
||||
SET enable_seqscan=off;
|
||||
|
||||
SELECT count(*) FROM intervaltmp WHERE a < '199 days 21:21:23'::interval;
|
||||
|
||||
SELECT count(*) FROM intervaltmp WHERE a <= '199 days 21:21:23'::interval;
|
||||
|
||||
SELECT count(*) FROM intervaltmp WHERE a = '199 days 21:21:23'::interval;
|
||||
|
||||
SELECT count(*) FROM intervaltmp WHERE a >= '199 days 21:21:23'::interval;
|
||||
|
||||
SELECT count(*) FROM intervaltmp WHERE a > '199 days 21:21:23'::interval;
|
||||
|
32
contrib/btree_gist/sql/macaddr.sql
Normal file
32
contrib/btree_gist/sql/macaddr.sql
Normal file
|
@ -0,0 +1,32 @@
|
|||
-- macaddr check
|
||||
|
||||
CREATE TABLE macaddrtmp (a macaddr);
|
||||
|
||||
\copy macaddrtmp from 'data/macaddr.data'
|
||||
|
||||
SET enable_seqscan=on;
|
||||
|
||||
SELECT count(*) FROM macaddrtmp WHERE a < '22:00:5c:e5:9b:0d';
|
||||
|
||||
SELECT count(*) FROM macaddrtmp WHERE a <= '22:00:5c:e5:9b:0d';
|
||||
|
||||
SELECT count(*) FROM macaddrtmp WHERE a = '22:00:5c:e5:9b:0d';
|
||||
|
||||
SELECT count(*) FROM macaddrtmp WHERE a >= '22:00:5c:e5:9b:0d';
|
||||
|
||||
SELECT count(*) FROM macaddrtmp WHERE a > '22:00:5c:e5:9b:0d';
|
||||
|
||||
CREATE INDEX macaddridx ON macaddrtmp USING gist ( a );
|
||||
|
||||
SET enable_seqscan=off;
|
||||
|
||||
SELECT count(*) FROM macaddrtmp WHERE a < '22:00:5c:e5:9b:0d'::macaddr;
|
||||
|
||||
SELECT count(*) FROM macaddrtmp WHERE a <= '22:00:5c:e5:9b:0d'::macaddr;
|
||||
|
||||
SELECT count(*) FROM macaddrtmp WHERE a = '22:00:5c:e5:9b:0d'::macaddr;
|
||||
|
||||
SELECT count(*) FROM macaddrtmp WHERE a >= '22:00:5c:e5:9b:0d'::macaddr;
|
||||
|
||||
SELECT count(*) FROM macaddrtmp WHERE a > '22:00:5c:e5:9b:0d'::macaddr;
|
||||
|
77
contrib/btree_gist/sql/numeric.sql
Normal file
77
contrib/btree_gist/sql/numeric.sql
Normal file
|
@ -0,0 +1,77 @@
|
|||
-- numeric check
|
||||
|
||||
CREATE TABLE numerictmp (a numeric);
|
||||
|
||||
\copy numerictmp from 'data/int8.data'
|
||||
\copy numerictmp from 'data/numeric.data'
|
||||
\copy numerictmp from 'data/float8.data'
|
||||
|
||||
SET enable_seqscan=on;
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a < -1890.0;
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a <= -1890.0;
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a = -1890.0;
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a >= -1890.0;
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a > -1890.0;
|
||||
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a < 'NaN' ;
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a <= 'NaN' ;
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a = 'NaN' ;
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a >= 'NaN' ;
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a > 'NaN' ;
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a < 0 ;
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a <= 0 ;
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a = 0 ;
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a >= 0 ;
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a > 0 ;
|
||||
|
||||
|
||||
CREATE INDEX numericidx ON numerictmp USING gist ( a );
|
||||
|
||||
SET enable_seqscan=off;
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a < -1890.0;
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a <= -1890.0;
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a = -1890.0;
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a >= -1890.0;
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a > -1890.0;
|
||||
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a < 'NaN' ;
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a <= 'NaN' ;
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a = 'NaN' ;
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a >= 'NaN' ;
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a > 'NaN' ;
|
||||
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a < 0 ;
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a <= 0 ;
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a = 0 ;
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a >= 0 ;
|
||||
|
||||
SELECT count(*) FROM numerictmp WHERE a > 0 ;
|
27
contrib/btree_gist/sql/oid.sql
Normal file
27
contrib/btree_gist/sql/oid.sql
Normal file
|
@ -0,0 +1,27 @@
|
|||
-- oid check
|
||||
|
||||
SET enable_seqscan=on;
|
||||
|
||||
SELECT count(*) FROM moneytmp WHERE oid < ( SELECT oid FROM moneytmp WHERE a = '22649.64' );
|
||||
|
||||
SELECT count(*) FROM moneytmp WHERE oid <= ( SELECT oid FROM moneytmp WHERE a = '22649.64' );
|
||||
|
||||
SELECT count(*) FROM moneytmp WHERE oid = ( SELECT oid FROM moneytmp WHERE a = '22649.64' );
|
||||
|
||||
SELECT count(*) FROM moneytmp WHERE oid >= ( SELECT oid FROM moneytmp WHERE a = '22649.64' );
|
||||
|
||||
SELECT count(*) FROM moneytmp WHERE oid > ( SELECT oid FROM moneytmp WHERE a = '22649.64' );
|
||||
|
||||
CREATE INDEX oididx ON moneytmp USING gist ( oid );
|
||||
|
||||
SET enable_seqscan=off;
|
||||
|
||||
SELECT count(*) FROM moneytmp WHERE oid < ( SELECT oid FROM moneytmp WHERE a = '22649.64' );
|
||||
|
||||
SELECT count(*) FROM moneytmp WHERE oid <= ( SELECT oid FROM moneytmp WHERE a = '22649.64' );
|
||||
|
||||
SELECT count(*) FROM moneytmp WHERE oid = ( SELECT oid FROM moneytmp WHERE a = '22649.64' );
|
||||
|
||||
SELECT count(*) FROM moneytmp WHERE oid >= ( SELECT oid FROM moneytmp WHERE a = '22649.64' );
|
||||
|
||||
SELECT count(*) FROM moneytmp WHERE oid > ( SELECT oid FROM moneytmp WHERE a = '22649.64' );
|
34
contrib/btree_gist/sql/text.sql
Normal file
34
contrib/btree_gist/sql/text.sql
Normal file
File diff suppressed because one or more lines are too long
32
contrib/btree_gist/sql/time.sql
Normal file
32
contrib/btree_gist/sql/time.sql
Normal file
|
@ -0,0 +1,32 @@
|
|||
-- time check
|
||||
|
||||
CREATE TABLE timetmp (a time);
|
||||
|
||||
\copy timetmp from 'data/time.data'
|
||||
|
||||
SET enable_seqscan=on;
|
||||
|
||||
SELECT count(*) FROM timetmp WHERE a < '10:57:11';
|
||||
|
||||
SELECT count(*) FROM timetmp WHERE a <= '10:57:11';
|
||||
|
||||
SELECT count(*) FROM timetmp WHERE a = '10:57:11';
|
||||
|
||||
SELECT count(*) FROM timetmp WHERE a >= '10:57:11';
|
||||
|
||||
SELECT count(*) FROM timetmp WHERE a > '10:57:11';
|
||||
|
||||
CREATE INDEX timeidx ON timetmp USING gist ( a );
|
||||
|
||||
SET enable_seqscan=off;
|
||||
|
||||
SELECT count(*) FROM timetmp WHERE a < '10:57:11'::time;
|
||||
|
||||
SELECT count(*) FROM timetmp WHERE a <= '10:57:11'::time;
|
||||
|
||||
SELECT count(*) FROM timetmp WHERE a = '10:57:11'::time;
|
||||
|
||||
SELECT count(*) FROM timetmp WHERE a >= '10:57:11'::time;
|
||||
|
||||
SELECT count(*) FROM timetmp WHERE a > '10:57:11'::time;
|
||||
|
32
contrib/btree_gist/sql/timestamp.sql
Normal file
32
contrib/btree_gist/sql/timestamp.sql
Normal file
|
@ -0,0 +1,32 @@
|
|||
-- timestamp check
|
||||
|
||||
CREATE TABLE timestamptmp (a timestamp);
|
||||
|
||||
\copy timestamptmp from 'data/timestamp.data'
|
||||
|
||||
SET enable_seqscan=on;
|
||||
|
||||
SELECT count(*) FROM timestamptmp WHERE a < '2004-10-26 08:55:08';
|
||||
|
||||
SELECT count(*) FROM timestamptmp WHERE a <= '2004-10-26 08:55:08';
|
||||
|
||||
SELECT count(*) FROM timestamptmp WHERE a = '2004-10-26 08:55:08';
|
||||
|
||||
SELECT count(*) FROM timestamptmp WHERE a >= '2004-10-26 08:55:08';
|
||||
|
||||
SELECT count(*) FROM timestamptmp WHERE a > '2004-10-26 08:55:08';
|
||||
|
||||
CREATE INDEX timestampidx ON timestamptmp USING gist ( a );
|
||||
|
||||
SET enable_seqscan=off;
|
||||
|
||||
SELECT count(*) FROM timestamptmp WHERE a < '2004-10-26 08:55:08'::timestamp;
|
||||
|
||||
SELECT count(*) FROM timestamptmp WHERE a <= '2004-10-26 08:55:08'::timestamp;
|
||||
|
||||
SELECT count(*) FROM timestamptmp WHERE a = '2004-10-26 08:55:08'::timestamp;
|
||||
|
||||
SELECT count(*) FROM timestamptmp WHERE a >= '2004-10-26 08:55:08'::timestamp;
|
||||
|
||||
SELECT count(*) FROM timestamptmp WHERE a > '2004-10-26 08:55:08'::timestamp;
|
||||
|
76
contrib/btree_gist/sql/timestamptz.sql
Normal file
76
contrib/btree_gist/sql/timestamptz.sql
Normal file
|
@ -0,0 +1,76 @@
|
|||
-- timestamptz check
|
||||
|
||||
CREATE TABLE timestamptztmp (a timestamptz);
|
||||
|
||||
\copy timestamptztmp from 'data/timestamptz.data'
|
||||
|
||||
SET enable_seqscan=on;
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a < '2018-12-18 10:59:54 GMT+3';
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a <= '2018-12-18 10:59:54 GMT+3';
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a = '2018-12-18 10:59:54 GMT+3';
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a >= '2018-12-18 10:59:54 GMT+3';
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a > '2018-12-18 10:59:54 GMT+3';
|
||||
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a < '2018-12-18 10:59:54 GMT+2';
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a <= '2018-12-18 10:59:54 GMT+2';
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a = '2018-12-18 10:59:54 GMT+2';
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a >= '2018-12-18 10:59:54 GMT+2';
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a > '2018-12-18 10:59:54 GMT+2';
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a < '2018-12-18 10:59:54 GMT+4';
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a <= '2018-12-18 10:59:54 GMT+4';
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a = '2018-12-18 10:59:54 GMT+4';
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a >= '2018-12-18 10:59:54 GMT+4';
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a > '2018-12-18 10:59:54 GMT+4';
|
||||
|
||||
|
||||
|
||||
CREATE INDEX timestamptzidx ON timestamptztmp USING gist ( a );
|
||||
|
||||
SET enable_seqscan=off;
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a < '2018-12-18 10:59:54 GMT+3'::timestamptz;
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a <= '2018-12-18 10:59:54 GMT+3'::timestamptz;
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a = '2018-12-18 10:59:54 GMT+3'::timestamptz;
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a >= '2018-12-18 10:59:54 GMT+3'::timestamptz;
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a > '2018-12-18 10:59:54 GMT+3'::timestamptz;
|
||||
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a < '2018-12-18 10:59:54 GMT+2'::timestamptz;
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a <= '2018-12-18 10:59:54 GMT+2'::timestamptz;
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a = '2018-12-18 10:59:54 GMT+2'::timestamptz;
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a >= '2018-12-18 10:59:54 GMT+2'::timestamptz;
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a > '2018-12-18 10:59:54 GMT+2'::timestamptz;
|
||||
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a < '2018-12-18 10:59:54 GMT+4'::timestamptz;
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a <= '2018-12-18 10:59:54 GMT+4'::timestamptz;
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a = '2018-12-18 10:59:54 GMT+4'::timestamptz;
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a >= '2018-12-18 10:59:54 GMT+4'::timestamptz;
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a > '2018-12-18 10:59:54 GMT+4'::timestamptz;
|
82
contrib/btree_gist/sql/timetz.sql
Normal file
82
contrib/btree_gist/sql/timetz.sql
Normal file
|
@ -0,0 +1,82 @@
|
|||
-- timetz check
|
||||
|
||||
CREATE TABLE timetztmp (a timetz);
|
||||
\copy timetztmp from 'data/timetz.data'
|
||||
|
||||
CREATE TABLE timetzcmp ( r_id int2, a int4, b int4 );
|
||||
|
||||
|
||||
SET enable_seqscan=on;
|
||||
|
||||
INSERT INTO timetzcmp (r_id,a) SELECT 1,count(*) FROM timetztmp WHERE a < '07:46:45 GMT+3';
|
||||
|
||||
INSERT INTO timetzcmp (r_id,a) SELECT 2,count(*) FROM timetztmp WHERE a <= '07:46:45 GMT+3';
|
||||
|
||||
INSERT INTO timetzcmp (r_id,a) SELECT 3,count(*) FROM timetztmp WHERE a = '07:46:45 GMT+3';
|
||||
|
||||
INSERT INTO timetzcmp (r_id,a) SELECT 4,count(*) FROM timetztmp WHERE a >= '07:46:45 GMT+3';
|
||||
|
||||
INSERT INTO timetzcmp (r_id,a) SELECT 5,count(*) FROM timetztmp WHERE a > '07:46:45 GMT+3';
|
||||
|
||||
|
||||
INSERT INTO timetzcmp (r_id,a) SELECT 11,count(*) FROM timetztmp WHERE a < '07:46:45 GMT+2';
|
||||
|
||||
INSERT INTO timetzcmp (r_id,a) SELECT 12,count(*) FROM timetztmp WHERE a <= '07:46:45 GMT+2';
|
||||
|
||||
INSERT INTO timetzcmp (r_id,a) SELECT 13,count(*) FROM timetztmp WHERE a = '07:46:45 GMT+2';
|
||||
|
||||
INSERT INTO timetzcmp (r_id,a) SELECT 14,count(*) FROM timetztmp WHERE a >= '07:46:45 GMT+2';
|
||||
|
||||
INSERT INTO timetzcmp (r_id,a) SELECT 15,count(*) FROM timetztmp WHERE a > '07:46:45 GMT+2';
|
||||
|
||||
|
||||
INSERT INTO timetzcmp (r_id,a) SELECT 21,count(*) FROM timetztmp WHERE a < '07:46:45 GMT+4';
|
||||
|
||||
INSERT INTO timetzcmp (r_id,a) SELECT 22,count(*) FROM timetztmp WHERE a <= '07:46:45 GMT+4';
|
||||
|
||||
INSERT INTO timetzcmp (r_id,a) SELECT 23,count(*) FROM timetztmp WHERE a = '07:46:45 GMT+4';
|
||||
|
||||
INSERT INTO timetzcmp (r_id,a) SELECT 24,count(*) FROM timetztmp WHERE a >= '07:46:45 GMT+4';
|
||||
|
||||
INSERT INTO timetzcmp (r_id,a) SELECT 25,count(*) FROM timetztmp WHERE a > '07:46:45 GMT+4';
|
||||
|
||||
|
||||
|
||||
CREATE INDEX timetzidx ON timetztmp USING gist ( a );
|
||||
|
||||
SET enable_seqscan=off;
|
||||
|
||||
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a < '07:46:45 GMT+3'::timetz ) q WHERE r_id=1 ;
|
||||
|
||||
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a <= '07:46:45 GMT+3'::timetz ) q WHERE r_id=2 ;
|
||||
|
||||
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a = '07:46:45 GMT+3'::timetz ) q WHERE r_id=3 ;
|
||||
|
||||
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a >= '07:46:45 GMT+3'::timetz ) q WHERE r_id=4 ;
|
||||
|
||||
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a > '07:46:45 GMT+3'::timetz ) q WHERE r_id=5 ;
|
||||
|
||||
|
||||
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a < '07:46:45 GMT+2'::timetz ) q WHERE r_id=11 ;
|
||||
|
||||
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a <= '07:46:45 GMT+2'::timetz ) q WHERE r_id=12 ;
|
||||
|
||||
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a = '07:46:45 GMT+2'::timetz ) q WHERE r_id=13 ;
|
||||
|
||||
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a >= '07:46:45 GMT+2'::timetz ) q WHERE r_id=14 ;
|
||||
|
||||
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a > '07:46:45 GMT+2'::timetz ) q WHERE r_id=15 ;
|
||||
|
||||
|
||||
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a < '07:46:45 GMT+4'::timetz ) q WHERE r_id=21 ;
|
||||
|
||||
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a <= '07:46:45 GMT+4'::timetz ) q WHERE r_id=22 ;
|
||||
|
||||
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a = '07:46:45 GMT+4'::timetz ) q WHERE r_id=23 ;
|
||||
|
||||
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a >= '07:46:45 GMT+4'::timetz ) q WHERE r_id=24 ;
|
||||
|
||||
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a > '07:46:45 GMT+4'::timetz ) q WHERE r_id=25 ;
|
||||
|
||||
|
||||
SELECT count(*) FROM timetzcmp WHERE a=b;
|
31
contrib/btree_gist/sql/varbit.sql
Normal file
31
contrib/btree_gist/sql/varbit.sql
Normal file
|
@ -0,0 +1,31 @@
|
|||
-- varbit check
|
||||
|
||||
CREATE TABLE varbittmp (a varbit);
|
||||
|
||||
\copy varbittmp from 'data/varbit.data'
|
||||
|
||||
SET enable_seqscan=on;
|
||||
|
||||
SELECT count(*) FROM varbittmp WHERE a < '1110100111010';
|
||||
|
||||
SELECT count(*) FROM varbittmp WHERE a <= '1110100111010';
|
||||
|
||||
SELECT count(*) FROM varbittmp WHERE a = '1110100111010';
|
||||
|
||||
SELECT count(*) FROM varbittmp WHERE a >= '1110100111010';
|
||||
|
||||
SELECT count(*) FROM varbittmp WHERE a > '1110100111010';
|
||||
|
||||
CREATE INDEX varbitidx ON varbittmp USING GIST ( a );
|
||||
|
||||
SET enable_seqscan=off;
|
||||
|
||||
SELECT count(*) FROM varbittmp WHERE a < '1110100111010'::varbit;
|
||||
|
||||
SELECT count(*) FROM varbittmp WHERE a <= '1110100111010'::varbit;
|
||||
|
||||
SELECT count(*) FROM varbittmp WHERE a = '1110100111010'::varbit;
|
||||
|
||||
SELECT count(*) FROM varbittmp WHERE a >= '1110100111010'::varbit;
|
||||
|
||||
SELECT count(*) FROM varbittmp WHERE a > '1110100111010'::varbit;
|
31
contrib/btree_gist/sql/varchar.sql
Normal file
31
contrib/btree_gist/sql/varchar.sql
Normal file
|
@ -0,0 +1,31 @@
|
|||
-- char check
|
||||
|
||||
CREATE TABLE vchartmp (a varchar(32));
|
||||
|
||||
\copy vchartmp from 'data/char.data'
|
||||
|
||||
SET enable_seqscan=on;
|
||||
|
||||
SELECT count(*) FROM vchartmp WHERE a < '31b0'::varchar(32);
|
||||
|
||||
SELECT count(*) FROM vchartmp WHERE a <= '31b0'::varchar(32);
|
||||
|
||||
SELECT count(*) FROM vchartmp WHERE a = '31b0'::varchar(32);
|
||||
|
||||
SELECT count(*) FROM vchartmp WHERE a >= '31b0'::varchar(32);
|
||||
|
||||
SELECT count(*) FROM vchartmp WHERE a > '31b0'::varchar(32);
|
||||
|
||||
CREATE INDEX vcharidx ON vchartmp USING GIST ( text(a) );
|
||||
|
||||
SET enable_seqscan=off;
|
||||
|
||||
SELECT count(*) FROM vchartmp WHERE a < '31b0'::varchar(32);
|
||||
|
||||
SELECT count(*) FROM vchartmp WHERE a <= '31b0'::varchar(32);
|
||||
|
||||
SELECT count(*) FROM vchartmp WHERE a = '31b0'::varchar(32);
|
||||
|
||||
SELECT count(*) FROM vchartmp WHERE a >= '31b0'::varchar(32);
|
||||
|
||||
SELECT count(*) FROM vchartmp WHERE a > '31b0'::varchar(32);
|
Loading…
Reference in a new issue