1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-27 12:41:57 +03:00

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

This commit is contained in:
Teodor Sigaev
2004-05-28 10:43:32 +00:00
parent 1a321f26d8
commit 42d069886f
99 changed files with 18221 additions and 2974 deletions

View File

@ -0,0 +1,31 @@
-- bit check
CREATE TABLE bittmp (a bit(33));
\copy bittmp from 'data/bit.data'
SET enable_seqscan=on;
SELECT count(*) FROM bittmp WHERE a < '011011000100010111011000110000100';
SELECT count(*) FROM bittmp WHERE a <= '011011000100010111011000110000100';
SELECT count(*) FROM bittmp WHERE a = '011011000100010111011000110000100';
SELECT count(*) FROM bittmp WHERE a >= '011011000100010111011000110000100';
SELECT count(*) FROM bittmp WHERE a > '011011000100010111011000110000100';
CREATE INDEX bitidx ON bittmp USING GIST ( a );
SET enable_seqscan=off;
SELECT count(*) FROM bittmp WHERE a < '011011000100010111011000110000100';
SELECT count(*) FROM bittmp WHERE a <= '011011000100010111011000110000100';
SELECT count(*) FROM bittmp WHERE a = '011011000100010111011000110000100';
SELECT count(*) FROM bittmp WHERE a >= '011011000100010111011000110000100';
SELECT count(*) FROM bittmp WHERE a > '011011000100010111011000110000100';

View File

@ -1,66 +0,0 @@
--
-- 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';

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,31 @@
-- money check
CREATE TABLE moneytmp (a money) WITH OIDS;
\copy moneytmp from 'data/cash.data'
SET enable_seqscan=on;
SELECT count(*) FROM moneytmp WHERE a < '22649.64';
SELECT count(*) FROM moneytmp WHERE a <= '22649.64';
SELECT count(*) FROM moneytmp WHERE a = '22649.64';
SELECT count(*) FROM moneytmp WHERE a >= '22649.64';
SELECT count(*) FROM moneytmp WHERE a > '22649.64';
CREATE INDEX moneyidx ON moneytmp USING gist ( a );
SET enable_seqscan=off;
SELECT count(*) FROM moneytmp WHERE a < '22649.64'::money;
SELECT count(*) FROM moneytmp WHERE a <= '22649.64'::money;
SELECT count(*) FROM moneytmp WHERE a = '22649.64'::money;
SELECT count(*) FROM moneytmp WHERE a >= '22649.64'::money;
SELECT count(*) FROM moneytmp WHERE a > '22649.64'::money;

View File

@ -0,0 +1,31 @@
-- char check
CREATE TABLE chartmp (a char(32));
\copy chartmp from 'data/char.data'
SET enable_seqscan=on;
SELECT count(*) FROM chartmp WHERE a < '31b0'::char(32);
SELECT count(*) FROM chartmp WHERE a <= '31b0'::char(32);
SELECT count(*) FROM chartmp WHERE a = '31b0'::char(32);
SELECT count(*) FROM chartmp WHERE a >= '31b0'::char(32);
SELECT count(*) FROM chartmp WHERE a > '31b0'::char(32);
CREATE INDEX charidx ON chartmp USING GIST ( a );
SET enable_seqscan=off;
SELECT count(*) FROM chartmp WHERE a < '31b0'::char(32);
SELECT count(*) FROM chartmp WHERE a <= '31b0'::char(32);
SELECT count(*) FROM chartmp WHERE a = '31b0'::char(32);
SELECT count(*) FROM chartmp WHERE a >= '31b0'::char(32);
SELECT count(*) FROM chartmp WHERE a > '31b0'::char(32);

View File

@ -0,0 +1,31 @@
-- cidr check
CREATE TABLE cidrtmp AS
SELECT cidr(a) AS a FROM inettmp ;
SET enable_seqscan=on;
SELECT count(*) FROM cidrtmp WHERE a < '121.111.63.82';
SELECT count(*) FROM cidrtmp WHERE a <= '121.111.63.82';
SELECT count(*) FROM cidrtmp WHERE a = '121.111.63.82';
SELECT count(*) FROM cidrtmp WHERE a >= '121.111.63.82';
SELECT count(*) FROM cidrtmp WHERE a > '121.111.63.82';
CREATE INDEX cidridx ON cidrtmp USING gist ( a );
SET enable_seqscan=off;
SELECT count(*) FROM cidrtmp WHERE a < '121.111.63.82'::cidr;
SELECT count(*) FROM cidrtmp WHERE a <= '121.111.63.82'::cidr;
SELECT count(*) FROM cidrtmp WHERE a = '121.111.63.82'::cidr;
SELECT count(*) FROM cidrtmp WHERE a >= '121.111.63.82'::cidr;
SELECT count(*) FROM cidrtmp WHERE a > '121.111.63.82'::cidr;

View File

@ -0,0 +1,32 @@
-- date check
CREATE TABLE datetmp (a date);
\copy datetmp from 'data/date.data'
SET enable_seqscan=on;
SELECT count(*) FROM datetmp WHERE a < '2001-02-13';
SELECT count(*) FROM datetmp WHERE a <= '2001-02-13';
SELECT count(*) FROM datetmp WHERE a = '2001-02-13';
SELECT count(*) FROM datetmp WHERE a >= '2001-02-13';
SELECT count(*) FROM datetmp WHERE a > '2001-02-13';
CREATE INDEX dateidx ON datetmp USING gist ( a );
SET enable_seqscan=off;
SELECT count(*) FROM datetmp WHERE a < '2001-02-13'::date;
SELECT count(*) FROM datetmp WHERE a <= '2001-02-13'::date;
SELECT count(*) FROM datetmp WHERE a = '2001-02-13'::date;
SELECT count(*) FROM datetmp WHERE a >= '2001-02-13'::date;
SELECT count(*) FROM datetmp WHERE a > '2001-02-13'::date;

View File

@ -0,0 +1,31 @@
-- float4 check
CREATE TABLE float4tmp (a float4);
\copy float4tmp from 'data/float4.data'
SET enable_seqscan=on;
SELECT count(*) FROM float4tmp WHERE a < -179.0;
SELECT count(*) FROM float4tmp WHERE a <= -179.0;
SELECT count(*) FROM float4tmp WHERE a = -179.0;
SELECT count(*) FROM float4tmp WHERE a >= -179.0;
SELECT count(*) FROM float4tmp WHERE a > -179.0;
CREATE INDEX float4idx ON float4tmp USING gist ( a );
SET enable_seqscan=off;
SELECT count(*) FROM float4tmp WHERE a < -179.0::float4;
SELECT count(*) FROM float4tmp WHERE a <= -179.0::float4;
SELECT count(*) FROM float4tmp WHERE a = -179.0::float4;
SELECT count(*) FROM float4tmp WHERE a >= -179.0::float4;
SELECT count(*) FROM float4tmp WHERE a > -179.0::float4;

View File

@ -0,0 +1,31 @@
-- float8 check
CREATE TABLE float8tmp (a float8);
\copy float8tmp from 'data/float8.data'
SET enable_seqscan=on;
SELECT count(*) FROM float8tmp WHERE a < -1890.0;
SELECT count(*) FROM float8tmp WHERE a <= -1890.0;
SELECT count(*) FROM float8tmp WHERE a = -1890.0;
SELECT count(*) FROM float8tmp WHERE a >= -1890.0;
SELECT count(*) FROM float8tmp WHERE a > -1890.0;
CREATE INDEX float8idx ON float8tmp USING gist ( a );
SET enable_seqscan=off;
SELECT count(*) FROM float8tmp WHERE a < -1890.0::float8;
SELECT count(*) FROM float8tmp WHERE a <= -1890.0::float8;
SELECT count(*) FROM float8tmp WHERE a = -1890.0::float8;
SELECT count(*) FROM float8tmp WHERE a >= -1890.0::float8;
SELECT count(*) FROM float8tmp WHERE a > -1890.0::float8;

View File

@ -0,0 +1,32 @@
-- inet check
CREATE TABLE inettmp (a inet);
\copy inettmp from 'data/inet.data'
SET enable_seqscan=on;
SELECT count(*) FROM inettmp WHERE a < '89.225.196.191';
SELECT count(*) FROM inettmp WHERE a <= '89.225.196.191';
SELECT count(*) FROM inettmp WHERE a = '89.225.196.191';
SELECT count(*) FROM inettmp WHERE a >= '89.225.196.191';
SELECT count(*) FROM inettmp WHERE a > '89.225.196.191';
CREATE INDEX inetidx ON inettmp USING gist ( a );
SET enable_seqscan=off;
SELECT count(*) FROM inettmp WHERE a < '89.225.196.191'::inet;
SELECT count(*) FROM inettmp WHERE a <= '89.225.196.191'::inet;
SELECT count(*) FROM inettmp WHERE a = '89.225.196.191'::inet;
SELECT count(*) FROM inettmp WHERE a >= '89.225.196.191'::inet;
SELECT count(*) FROM inettmp WHERE a > '89.225.196.191'::inet;

View File

@ -0,0 +1,7 @@
--
-- 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

View File

@ -0,0 +1,32 @@
-- int2 check
CREATE TABLE int2tmp (a int2);
\copy int2tmp from 'data/int2.data'
SET enable_seqscan=on;
SELECT count(*) FROM int2tmp WHERE a < 237;
SELECT count(*) FROM int2tmp WHERE a <= 237;
SELECT count(*) FROM int2tmp WHERE a = 237;
SELECT count(*) FROM int2tmp WHERE a >= 237;
SELECT count(*) FROM int2tmp WHERE a > 237;
CREATE INDEX int2idx ON int2tmp USING gist ( a );
SET enable_seqscan=off;
SELECT count(*) FROM int2tmp WHERE a < 237::int2;
SELECT count(*) FROM int2tmp WHERE a <= 237::int2;
SELECT count(*) FROM int2tmp WHERE a = 237::int2;
SELECT count(*) FROM int2tmp WHERE a >= 237::int2;
SELECT count(*) FROM int2tmp WHERE a > 237::int2;

View File

@ -0,0 +1,32 @@
-- int4 check
CREATE TABLE int4tmp (a int4);
\copy int4tmp from 'data/int2.data'
SET enable_seqscan=on;
SELECT count(*) FROM int4tmp WHERE a < 237;
SELECT count(*) FROM int4tmp WHERE a <= 237;
SELECT count(*) FROM int4tmp WHERE a = 237;
SELECT count(*) FROM int4tmp WHERE a >= 237;
SELECT count(*) FROM int4tmp WHERE a > 237;
CREATE INDEX int4idx ON int4tmp USING gist ( a );
SET enable_seqscan=off;
SELECT count(*) FROM int4tmp WHERE a < 237::int4;
SELECT count(*) FROM int4tmp WHERE a <= 237::int4;
SELECT count(*) FROM int4tmp WHERE a = 237::int4;
SELECT count(*) FROM int4tmp WHERE a >= 237::int4;
SELECT count(*) FROM int4tmp WHERE a > 237::int4;

View File

@ -0,0 +1,32 @@
-- int8 check
CREATE TABLE int8tmp (a int8);
\copy int8tmp from 'data/int8.data'
SET enable_seqscan=on;
SELECT count(*) FROM int8tmp WHERE a < 464571291354841;
SELECT count(*) FROM int8tmp WHERE a <= 464571291354841;
SELECT count(*) FROM int8tmp WHERE a = 464571291354841;
SELECT count(*) FROM int8tmp WHERE a >= 464571291354841;
SELECT count(*) FROM int8tmp WHERE a > 464571291354841;
CREATE INDEX int8idx ON int8tmp USING gist ( a );
SET enable_seqscan=off;
SELECT count(*) FROM int8tmp WHERE a < 464571291354841::int8;
SELECT count(*) FROM int8tmp WHERE a <= 464571291354841::int8;
SELECT count(*) FROM int8tmp WHERE a = 464571291354841::int8;
SELECT count(*) FROM int8tmp WHERE a >= 464571291354841::int8;
SELECT count(*) FROM int8tmp WHERE a > 464571291354841::int8;

View File

@ -0,0 +1,32 @@
-- interval check
CREATE TABLE intervaltmp (a interval);
\copy intervaltmp from 'data/interval.data'
SET enable_seqscan=on;
SELECT count(*) FROM intervaltmp WHERE a < '199 days 21:21:23';
SELECT count(*) FROM intervaltmp WHERE a <= '199 days 21:21:23';
SELECT count(*) FROM intervaltmp WHERE a = '199 days 21:21:23';
SELECT count(*) FROM intervaltmp WHERE a >= '199 days 21:21:23';
SELECT count(*) FROM intervaltmp WHERE a > '199 days 21:21:23';
CREATE INDEX intervalidx ON intervaltmp USING gist ( a );
SET enable_seqscan=off;
SELECT count(*) FROM intervaltmp WHERE a < '199 days 21:21:23'::interval;
SELECT count(*) FROM intervaltmp WHERE a <= '199 days 21:21:23'::interval;
SELECT count(*) FROM intervaltmp WHERE a = '199 days 21:21:23'::interval;
SELECT count(*) FROM intervaltmp WHERE a >= '199 days 21:21:23'::interval;
SELECT count(*) FROM intervaltmp WHERE a > '199 days 21:21:23'::interval;

View File

@ -0,0 +1,32 @@
-- macaddr check
CREATE TABLE macaddrtmp (a macaddr);
\copy macaddrtmp from 'data/macaddr.data'
SET enable_seqscan=on;
SELECT count(*) FROM macaddrtmp WHERE a < '22:00:5c:e5:9b:0d';
SELECT count(*) FROM macaddrtmp WHERE a <= '22:00:5c:e5:9b:0d';
SELECT count(*) FROM macaddrtmp WHERE a = '22:00:5c:e5:9b:0d';
SELECT count(*) FROM macaddrtmp WHERE a >= '22:00:5c:e5:9b:0d';
SELECT count(*) FROM macaddrtmp WHERE a > '22:00:5c:e5:9b:0d';
CREATE INDEX macaddridx ON macaddrtmp USING gist ( a );
SET enable_seqscan=off;
SELECT count(*) FROM macaddrtmp WHERE a < '22:00:5c:e5:9b:0d'::macaddr;
SELECT count(*) FROM macaddrtmp WHERE a <= '22:00:5c:e5:9b:0d'::macaddr;
SELECT count(*) FROM macaddrtmp WHERE a = '22:00:5c:e5:9b:0d'::macaddr;
SELECT count(*) FROM macaddrtmp WHERE a >= '22:00:5c:e5:9b:0d'::macaddr;
SELECT count(*) FROM macaddrtmp WHERE a > '22:00:5c:e5:9b:0d'::macaddr;

View File

@ -0,0 +1,77 @@
-- numeric check
CREATE TABLE numerictmp (a numeric);
\copy numerictmp from 'data/int8.data'
\copy numerictmp from 'data/numeric.data'
\copy numerictmp from 'data/float8.data'
SET enable_seqscan=on;
SELECT count(*) FROM numerictmp WHERE a < -1890.0;
SELECT count(*) FROM numerictmp WHERE a <= -1890.0;
SELECT count(*) FROM numerictmp WHERE a = -1890.0;
SELECT count(*) FROM numerictmp WHERE a >= -1890.0;
SELECT count(*) FROM numerictmp WHERE a > -1890.0;
SELECT count(*) FROM numerictmp WHERE a < 'NaN' ;
SELECT count(*) FROM numerictmp WHERE a <= 'NaN' ;
SELECT count(*) FROM numerictmp WHERE a = 'NaN' ;
SELECT count(*) FROM numerictmp WHERE a >= 'NaN' ;
SELECT count(*) FROM numerictmp WHERE a > 'NaN' ;
SELECT count(*) FROM numerictmp WHERE a < 0 ;
SELECT count(*) FROM numerictmp WHERE a <= 0 ;
SELECT count(*) FROM numerictmp WHERE a = 0 ;
SELECT count(*) FROM numerictmp WHERE a >= 0 ;
SELECT count(*) FROM numerictmp WHERE a > 0 ;
CREATE INDEX numericidx ON numerictmp USING gist ( a );
SET enable_seqscan=off;
SELECT count(*) FROM numerictmp WHERE a < -1890.0;
SELECT count(*) FROM numerictmp WHERE a <= -1890.0;
SELECT count(*) FROM numerictmp WHERE a = -1890.0;
SELECT count(*) FROM numerictmp WHERE a >= -1890.0;
SELECT count(*) FROM numerictmp WHERE a > -1890.0;
SELECT count(*) FROM numerictmp WHERE a < 'NaN' ;
SELECT count(*) FROM numerictmp WHERE a <= 'NaN' ;
SELECT count(*) FROM numerictmp WHERE a = 'NaN' ;
SELECT count(*) FROM numerictmp WHERE a >= 'NaN' ;
SELECT count(*) FROM numerictmp WHERE a > 'NaN' ;
SELECT count(*) FROM numerictmp WHERE a < 0 ;
SELECT count(*) FROM numerictmp WHERE a <= 0 ;
SELECT count(*) FROM numerictmp WHERE a = 0 ;
SELECT count(*) FROM numerictmp WHERE a >= 0 ;
SELECT count(*) FROM numerictmp WHERE a > 0 ;

View File

@ -0,0 +1,27 @@
-- oid check
SET enable_seqscan=on;
SELECT count(*) FROM moneytmp WHERE oid < ( SELECT oid FROM moneytmp WHERE a = '22649.64' );
SELECT count(*) FROM moneytmp WHERE oid <= ( SELECT oid FROM moneytmp WHERE a = '22649.64' );
SELECT count(*) FROM moneytmp WHERE oid = ( SELECT oid FROM moneytmp WHERE a = '22649.64' );
SELECT count(*) FROM moneytmp WHERE oid >= ( SELECT oid FROM moneytmp WHERE a = '22649.64' );
SELECT count(*) FROM moneytmp WHERE oid > ( SELECT oid FROM moneytmp WHERE a = '22649.64' );
CREATE INDEX oididx ON moneytmp USING gist ( oid );
SET enable_seqscan=off;
SELECT count(*) FROM moneytmp WHERE oid < ( SELECT oid FROM moneytmp WHERE a = '22649.64' );
SELECT count(*) FROM moneytmp WHERE oid <= ( SELECT oid FROM moneytmp WHERE a = '22649.64' );
SELECT count(*) FROM moneytmp WHERE oid = ( SELECT oid FROM moneytmp WHERE a = '22649.64' );
SELECT count(*) FROM moneytmp WHERE oid >= ( SELECT oid FROM moneytmp WHERE a = '22649.64' );
SELECT count(*) FROM moneytmp WHERE oid > ( SELECT oid FROM moneytmp WHERE a = '22649.64' );

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,32 @@
-- time check
CREATE TABLE timetmp (a time);
\copy timetmp from 'data/time.data'
SET enable_seqscan=on;
SELECT count(*) FROM timetmp WHERE a < '10:57:11';
SELECT count(*) FROM timetmp WHERE a <= '10:57:11';
SELECT count(*) FROM timetmp WHERE a = '10:57:11';
SELECT count(*) FROM timetmp WHERE a >= '10:57:11';
SELECT count(*) FROM timetmp WHERE a > '10:57:11';
CREATE INDEX timeidx ON timetmp USING gist ( a );
SET enable_seqscan=off;
SELECT count(*) FROM timetmp WHERE a < '10:57:11'::time;
SELECT count(*) FROM timetmp WHERE a <= '10:57:11'::time;
SELECT count(*) FROM timetmp WHERE a = '10:57:11'::time;
SELECT count(*) FROM timetmp WHERE a >= '10:57:11'::time;
SELECT count(*) FROM timetmp WHERE a > '10:57:11'::time;

View File

@ -0,0 +1,32 @@
-- timestamp check
CREATE TABLE timestamptmp (a timestamp);
\copy timestamptmp from 'data/timestamp.data'
SET enable_seqscan=on;
SELECT count(*) FROM timestamptmp WHERE a < '2004-10-26 08:55:08';
SELECT count(*) FROM timestamptmp WHERE a <= '2004-10-26 08:55:08';
SELECT count(*) FROM timestamptmp WHERE a = '2004-10-26 08:55:08';
SELECT count(*) FROM timestamptmp WHERE a >= '2004-10-26 08:55:08';
SELECT count(*) FROM timestamptmp WHERE a > '2004-10-26 08:55:08';
CREATE INDEX timestampidx ON timestamptmp USING gist ( a );
SET enable_seqscan=off;
SELECT count(*) FROM timestamptmp WHERE a < '2004-10-26 08:55:08'::timestamp;
SELECT count(*) FROM timestamptmp WHERE a <= '2004-10-26 08:55:08'::timestamp;
SELECT count(*) FROM timestamptmp WHERE a = '2004-10-26 08:55:08'::timestamp;
SELECT count(*) FROM timestamptmp WHERE a >= '2004-10-26 08:55:08'::timestamp;
SELECT count(*) FROM timestamptmp WHERE a > '2004-10-26 08:55:08'::timestamp;

View File

@ -0,0 +1,76 @@
-- timestamptz check
CREATE TABLE timestamptztmp (a timestamptz);
\copy timestamptztmp from 'data/timestamptz.data'
SET enable_seqscan=on;
SELECT count(*) FROM timestamptztmp WHERE a < '2018-12-18 10:59:54 GMT+3';
SELECT count(*) FROM timestamptztmp WHERE a <= '2018-12-18 10:59:54 GMT+3';
SELECT count(*) FROM timestamptztmp WHERE a = '2018-12-18 10:59:54 GMT+3';
SELECT count(*) FROM timestamptztmp WHERE a >= '2018-12-18 10:59:54 GMT+3';
SELECT count(*) FROM timestamptztmp WHERE a > '2018-12-18 10:59:54 GMT+3';
SELECT count(*) FROM timestamptztmp WHERE a < '2018-12-18 10:59:54 GMT+2';
SELECT count(*) FROM timestamptztmp WHERE a <= '2018-12-18 10:59:54 GMT+2';
SELECT count(*) FROM timestamptztmp WHERE a = '2018-12-18 10:59:54 GMT+2';
SELECT count(*) FROM timestamptztmp WHERE a >= '2018-12-18 10:59:54 GMT+2';
SELECT count(*) FROM timestamptztmp WHERE a > '2018-12-18 10:59:54 GMT+2';
SELECT count(*) FROM timestamptztmp WHERE a < '2018-12-18 10:59:54 GMT+4';
SELECT count(*) FROM timestamptztmp WHERE a <= '2018-12-18 10:59:54 GMT+4';
SELECT count(*) FROM timestamptztmp WHERE a = '2018-12-18 10:59:54 GMT+4';
SELECT count(*) FROM timestamptztmp WHERE a >= '2018-12-18 10:59:54 GMT+4';
SELECT count(*) FROM timestamptztmp WHERE a > '2018-12-18 10:59:54 GMT+4';
CREATE INDEX timestamptzidx ON timestamptztmp USING gist ( a );
SET enable_seqscan=off;
SELECT count(*) FROM timestamptztmp WHERE a < '2018-12-18 10:59:54 GMT+3'::timestamptz;
SELECT count(*) FROM timestamptztmp WHERE a <= '2018-12-18 10:59:54 GMT+3'::timestamptz;
SELECT count(*) FROM timestamptztmp WHERE a = '2018-12-18 10:59:54 GMT+3'::timestamptz;
SELECT count(*) FROM timestamptztmp WHERE a >= '2018-12-18 10:59:54 GMT+3'::timestamptz;
SELECT count(*) FROM timestamptztmp WHERE a > '2018-12-18 10:59:54 GMT+3'::timestamptz;
SELECT count(*) FROM timestamptztmp WHERE a < '2018-12-18 10:59:54 GMT+2'::timestamptz;
SELECT count(*) FROM timestamptztmp WHERE a <= '2018-12-18 10:59:54 GMT+2'::timestamptz;
SELECT count(*) FROM timestamptztmp WHERE a = '2018-12-18 10:59:54 GMT+2'::timestamptz;
SELECT count(*) FROM timestamptztmp WHERE a >= '2018-12-18 10:59:54 GMT+2'::timestamptz;
SELECT count(*) FROM timestamptztmp WHERE a > '2018-12-18 10:59:54 GMT+2'::timestamptz;
SELECT count(*) FROM timestamptztmp WHERE a < '2018-12-18 10:59:54 GMT+4'::timestamptz;
SELECT count(*) FROM timestamptztmp WHERE a <= '2018-12-18 10:59:54 GMT+4'::timestamptz;
SELECT count(*) FROM timestamptztmp WHERE a = '2018-12-18 10:59:54 GMT+4'::timestamptz;
SELECT count(*) FROM timestamptztmp WHERE a >= '2018-12-18 10:59:54 GMT+4'::timestamptz;
SELECT count(*) FROM timestamptztmp WHERE a > '2018-12-18 10:59:54 GMT+4'::timestamptz;

View File

@ -0,0 +1,82 @@
-- timetz check
CREATE TABLE timetztmp (a timetz);
\copy timetztmp from 'data/timetz.data'
CREATE TABLE timetzcmp ( r_id int2, a int4, b int4 );
SET enable_seqscan=on;
INSERT INTO timetzcmp (r_id,a) SELECT 1,count(*) FROM timetztmp WHERE a < '07:46:45 GMT+3';
INSERT INTO timetzcmp (r_id,a) SELECT 2,count(*) FROM timetztmp WHERE a <= '07:46:45 GMT+3';
INSERT INTO timetzcmp (r_id,a) SELECT 3,count(*) FROM timetztmp WHERE a = '07:46:45 GMT+3';
INSERT INTO timetzcmp (r_id,a) SELECT 4,count(*) FROM timetztmp WHERE a >= '07:46:45 GMT+3';
INSERT INTO timetzcmp (r_id,a) SELECT 5,count(*) FROM timetztmp WHERE a > '07:46:45 GMT+3';
INSERT INTO timetzcmp (r_id,a) SELECT 11,count(*) FROM timetztmp WHERE a < '07:46:45 GMT+2';
INSERT INTO timetzcmp (r_id,a) SELECT 12,count(*) FROM timetztmp WHERE a <= '07:46:45 GMT+2';
INSERT INTO timetzcmp (r_id,a) SELECT 13,count(*) FROM timetztmp WHERE a = '07:46:45 GMT+2';
INSERT INTO timetzcmp (r_id,a) SELECT 14,count(*) FROM timetztmp WHERE a >= '07:46:45 GMT+2';
INSERT INTO timetzcmp (r_id,a) SELECT 15,count(*) FROM timetztmp WHERE a > '07:46:45 GMT+2';
INSERT INTO timetzcmp (r_id,a) SELECT 21,count(*) FROM timetztmp WHERE a < '07:46:45 GMT+4';
INSERT INTO timetzcmp (r_id,a) SELECT 22,count(*) FROM timetztmp WHERE a <= '07:46:45 GMT+4';
INSERT INTO timetzcmp (r_id,a) SELECT 23,count(*) FROM timetztmp WHERE a = '07:46:45 GMT+4';
INSERT INTO timetzcmp (r_id,a) SELECT 24,count(*) FROM timetztmp WHERE a >= '07:46:45 GMT+4';
INSERT INTO timetzcmp (r_id,a) SELECT 25,count(*) FROM timetztmp WHERE a > '07:46:45 GMT+4';
CREATE INDEX timetzidx ON timetztmp USING gist ( a );
SET enable_seqscan=off;
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a < '07:46:45 GMT+3'::timetz ) q WHERE r_id=1 ;
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a <= '07:46:45 GMT+3'::timetz ) q WHERE r_id=2 ;
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a = '07:46:45 GMT+3'::timetz ) q WHERE r_id=3 ;
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a >= '07:46:45 GMT+3'::timetz ) q WHERE r_id=4 ;
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a > '07:46:45 GMT+3'::timetz ) q WHERE r_id=5 ;
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a < '07:46:45 GMT+2'::timetz ) q WHERE r_id=11 ;
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a <= '07:46:45 GMT+2'::timetz ) q WHERE r_id=12 ;
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a = '07:46:45 GMT+2'::timetz ) q WHERE r_id=13 ;
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a >= '07:46:45 GMT+2'::timetz ) q WHERE r_id=14 ;
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a > '07:46:45 GMT+2'::timetz ) q WHERE r_id=15 ;
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a < '07:46:45 GMT+4'::timetz ) q WHERE r_id=21 ;
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a <= '07:46:45 GMT+4'::timetz ) q WHERE r_id=22 ;
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a = '07:46:45 GMT+4'::timetz ) q WHERE r_id=23 ;
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a >= '07:46:45 GMT+4'::timetz ) q WHERE r_id=24 ;
UPDATE timetzcmp SET b=c FROM ( SELECT count(*) AS c FROM timetztmp WHERE a > '07:46:45 GMT+4'::timetz ) q WHERE r_id=25 ;
SELECT count(*) FROM timetzcmp WHERE a=b;

View File

@ -0,0 +1,31 @@
-- varbit check
CREATE TABLE varbittmp (a varbit);
\copy varbittmp from 'data/varbit.data'
SET enable_seqscan=on;
SELECT count(*) FROM varbittmp WHERE a < '1110100111010';
SELECT count(*) FROM varbittmp WHERE a <= '1110100111010';
SELECT count(*) FROM varbittmp WHERE a = '1110100111010';
SELECT count(*) FROM varbittmp WHERE a >= '1110100111010';
SELECT count(*) FROM varbittmp WHERE a > '1110100111010';
CREATE INDEX varbitidx ON varbittmp USING GIST ( a );
SET enable_seqscan=off;
SELECT count(*) FROM varbittmp WHERE a < '1110100111010'::varbit;
SELECT count(*) FROM varbittmp WHERE a <= '1110100111010'::varbit;
SELECT count(*) FROM varbittmp WHERE a = '1110100111010'::varbit;
SELECT count(*) FROM varbittmp WHERE a >= '1110100111010'::varbit;
SELECT count(*) FROM varbittmp WHERE a > '1110100111010'::varbit;

View File

@ -0,0 +1,31 @@
-- char check
CREATE TABLE vchartmp (a varchar(32));
\copy vchartmp from 'data/char.data'
SET enable_seqscan=on;
SELECT count(*) FROM vchartmp WHERE a < '31b0'::varchar(32);
SELECT count(*) FROM vchartmp WHERE a <= '31b0'::varchar(32);
SELECT count(*) FROM vchartmp WHERE a = '31b0'::varchar(32);
SELECT count(*) FROM vchartmp WHERE a >= '31b0'::varchar(32);
SELECT count(*) FROM vchartmp WHERE a > '31b0'::varchar(32);
CREATE INDEX vcharidx ON vchartmp USING GIST ( text(a) );
SET enable_seqscan=off;
SELECT count(*) FROM vchartmp WHERE a < '31b0'::varchar(32);
SELECT count(*) FROM vchartmp WHERE a <= '31b0'::varchar(32);
SELECT count(*) FROM vchartmp WHERE a = '31b0'::varchar(32);
SELECT count(*) FROM vchartmp WHERE a >= '31b0'::varchar(32);
SELECT count(*) FROM vchartmp WHERE a > '31b0'::varchar(32);