postgresql/contrib/btree_gist
Teodor Sigaev 1f7ef548ec Changes
* new split algorithm (as proposed in http://archives.postgresql.org/pgsql-hackers/2006-06/msg00254.php)
  * possible call pickSplit() for second and below columns
  * add spl_(l|r)datum_exists to GIST_SPLITVEC -
    pickSplit should check its values to use already defined
    spl_(l|r)datum for splitting. pickSplit should set
    spl_(l|r)datum_exists to 'false' (if they was 'true') to
    signal to caller about using spl_(l|r)datum.
  * support for old pickSplit(): not very optimal
    but correct split
* remove 'bytes' field from GISTENTRY: in any case size of
  value is defined by it's type.
* split GIST_SPLITVEC to two structures: one for using in picksplit
  and second - for internal use.
* some code refactoring
* support of subsplit to rtree opclasses

TODO: add support of subsplit to contrib modules
2006-06-28 12:00:14 +00:00
..
data Fixes from Janko Richter <jankorichter@yahoo.de> 2005-07-01 13:44:56 +00:00
expected Fix storage size for btree_gist interval indexes. Fix penalty 2005-07-21 04:15:04 +00:00
sql 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 2004-05-28 10:43:32 +00:00
btree_bit.c Fixes from Janko Richter <jankorichter@yahoo.de> 2005-07-01 13:44:56 +00:00
btree_bytea.c Fixes from Janko Richter <jankorichter@yahoo.de> 2005-07-01 13:44:56 +00:00
btree_cash.c Standard pgindent run for 8.1. 2005-10-15 02:49:52 +00:00
btree_date.c Standard pgindent run for 8.1. 2005-10-15 02:49:52 +00:00
btree_float4.c Standard pgindent run for 8.1. 2005-10-15 02:49:52 +00:00
btree_float8.c Standard pgindent run for 8.1. 2005-10-15 02:49:52 +00:00
btree_gist.c Magic blocks don't do us any good unless we use 'em ... so install one 2006-05-30 22:12:16 +00:00
btree_gist.h Pgindent run for 8.0. 2004-08-29 05:07:03 +00:00
btree_gist.sql.in Clean up CREATE FUNCTION syntax usage in contrib and elsewhere, in 2006-02-27 16:09:50 +00:00
btree_inet.c Changes 2006-06-28 12:00:14 +00:00
btree_int2.c Standard pgindent run for 8.1. 2005-10-15 02:49:52 +00:00
btree_int4.c Standard pgindent run for 8.1. 2005-10-15 02:49:52 +00:00
btree_int8.c Standard pgindent run for 8.1. 2005-10-15 02:49:52 +00:00
btree_interval.c Changes 2006-06-28 12:00:14 +00:00
btree_macaddr.c Standard pgindent run for 8.1. 2005-10-15 02:49:52 +00:00
btree_numeric.c Fixes from Janko Richter <jankorichter@yahoo.de> 2005-07-01 13:44:56 +00:00
btree_oid.c Standard pgindent run for 8.1. 2005-10-15 02:49:52 +00:00
btree_text.c Changes 2006-06-28 12:00:14 +00:00
btree_time.c Changes 2006-06-28 12:00:14 +00:00
btree_ts.c Changes 2006-06-28 12:00:14 +00:00
btree_utils_num.c Changes 2006-06-28 12:00:14 +00:00
btree_utils_num.h Standard pgindent run for 8.1. 2005-10-15 02:49:52 +00:00
btree_utils_var.c Changes 2006-06-28 12:00:14 +00:00
btree_utils_var.h Standard pgindent run for 8.1. 2005-10-15 02:49:52 +00:00
Makefile contrib uninstall scripts 2006-02-27 12:54:39 +00:00
README.btree_gist Trivial fixes for English grammar in contrib/btree_gist and contrib/rtree_gist 2004-11-01 11:11:13 +00:00
uninstall_btree_gist.sql Fix a number of syntax errors in contrib modules' uninstall scripts. 2006-03-13 18:04:58 +00:00

This is a B-Tree implementation using GiST that supports the int2, int4,
int8, float4, float8 timestamp with/without time zone, time
with/without time zone, date, interval, oid, money, macaddr, char,
varchar/text, bytea, numeric, bit, varbit and inet/cidr types.

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:

     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 only work with PostgreSQL version 7.4 and above
     because of changes in the system catalogs and the function call
     interface.
     
     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:

  gmake
  gmake install
  -- load functions
  psql <database> < btree_gist.sql

REGRESSION TEST:

   gmake installcheck

EXAMPLE USAGE:

   create table test (a int4);
   -- create index
   create index testidx on test using gist (a);
   -- query
   select * from test where a < 10;