mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-11-21 03:13:05 +08:00
1f7ef548ec
* 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 |
||
---|---|---|
.. | ||
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;