mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-03 08:00:21 +08:00
234a02b2a8
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 |
||
---|---|---|
.. | ||
data | ||
expected | ||
sql | ||
btree_bit.c | ||
btree_bytea.c | ||
btree_cash.c | ||
btree_date.c | ||
btree_float4.c | ||
btree_float8.c | ||
btree_gist.c | ||
btree_gist.h | ||
btree_gist.sql.in | ||
btree_inet.c | ||
btree_int2.c | ||
btree_int4.c | ||
btree_int8.c | ||
btree_interval.c | ||
btree_macaddr.c | ||
btree_numeric.c | ||
btree_oid.c | ||
btree_text.c | ||
btree_time.c | ||
btree_ts.c | ||
btree_utils_num.c | ||
btree_utils_num.h | ||
btree_utils_var.c | ||
btree_utils_var.h | ||
Makefile | ||
README.btree_gist | ||
uninstall_btree_gist.sql |
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;