mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-08-18 19:13:22 +02:00
(7.3 and current CVS) with support of int8, float4, float8 in addition to int4. Thanks Janko Richter for contribution. Oleg Bartunov
95 lines
2.4 KiB
Plaintext
95 lines
2.4 KiB
Plaintext
--
|
|
-- 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:10: NOTICE: ProcedureCreate: type int4key is not yet defined
|
|
psql:btree_gist.sql:15: NOTICE: Argument type "int4key" is only a shell
|
|
psql:btree_gist.sql:27: NOTICE: ProcedureCreate: type int8key is not yet defined
|
|
psql:btree_gist.sql:32: NOTICE: Argument type "int8key" is only a shell
|
|
psql:btree_gist.sql:44: NOTICE: ProcedureCreate: type float4key is not yet defined
|
|
psql:btree_gist.sql:49: NOTICE: Argument type "float4key" is only a shell
|
|
psql:btree_gist.sql:62: NOTICE: ProcedureCreate: type float8key is not yet defined
|
|
psql:btree_gist.sql:67: NOTICE: Argument type "float8key" is only a shell
|
|
psql:btree_gist.sql:321: NOTICE: ProcedureCreate: type tskey is not yet defined
|
|
psql:btree_gist.sql:326: 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)
|
|
|