mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-21 08:29:39 +08:00
4efbbd7318
(7.3 and current CVS) with support of int8, float4, float8 in addition to int4. Thanks Janko Richter for contribution. Oleg Bartunov
67 lines
1.4 KiB
PL/PgSQL
67 lines
1.4 KiB
PL/PgSQL
--
|
|
-- first, define the datatype. Turn off echoing so that expected file
|
|
-- does not depend on contents of btree_gist.sql.
|
|
--
|
|
\set ECHO none
|
|
\i btree_gist.sql
|
|
\set ECHO all
|
|
|
|
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;
|
|
|
|
SELECT count(*) FROM int8tmp WHERE b <=10;
|
|
|
|
SELECT count(*) FROM float4tmp WHERE b <=10;
|
|
|
|
SELECT count(*) FROM float8tmp WHERE b <=10;
|
|
|
|
SELECT count(*) FROM tstmp WHERE t < '2001-05-29 08:33:09';
|
|
|
|
-- 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;
|
|
|
|
SELECT count(*) FROM int8tmp WHERE b <=10::int8;
|
|
|
|
SELECT count(*) FROM float4tmp WHERE b <=10::float4;
|
|
|
|
SELECT count(*) FROM float8tmp WHERE b <=10::float8;
|
|
|
|
SELECT count(*) FROM tstmp WHERE t < '2001-05-29 08:33:09';
|
|
|