postgresql/contrib/btree_gist
Tom Lane 234a02b2a8 Replace direct assignments to VARATT_SIZEP(x) with SET_VARSIZE(x, len).
Get rid of VARATT_SIZE and VARATT_DATA, which were simply redundant with
VARSIZE and VARDATA, and as a consequence almost no code was using the
longer names.  Rename the length fields of struct varlena and various
derived structures to catch anyplace that was accessing them directly;
and clean up various places so caught.  In itself this patch doesn't
change any behavior at all, but it is necessary infrastructure if we hope
to play any games with the representation of varlena headers.
Greg Stark and Tom Lane
2007-02-27 23:48:10 +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
Makefile Add $PostgreSQL$ marker to contrib makefiles. 2007-02-09 17:04:00 +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
btree_bit.c Replace direct assignments to VARATT_SIZEP(x) with SET_VARSIZE(x, len). 2007-02-27 23:48:10 +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 Add #include code to prevent multiple inclusion. 2006-07-10 21:03:58 +00:00
btree_gist.sql.in Fix btree_gist for new larger money type. 2007-01-03 18:57:19 +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 Adjust /contrib for new include file contents. 2006-07-13 16:57:31 +00:00
btree_macaddr.c Standard pgindent run for 8.1. 2005-10-15 02:49:52 +00:00
btree_numeric.c Fix a passel of recently-committed violations of the rule 'thou shalt 2006-07-14 05:28:29 +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 Adjust /contrib for new include file contents. 2006-07-13 16:57:31 +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 Fix a passel of recently-committed violations of the rule 'thou shalt 2006-07-14 05:28:29 +00:00
btree_utils_var.c Replace direct assignments to VARATT_SIZEP(x) with SET_VARSIZE(x, len). 2007-02-27 23:48:10 +00:00
btree_utils_var.h Fix a passel of recently-committed violations of the rule 'thou shalt 2006-07-14 05:28:29 +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

README.btree_gist

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;