mirror of
https://github.com/postgres/postgres.git
synced 2025-07-28 23:42:10 +03:00
Fixes from Janko Richter <jankorichter@yahoo.de>
- Fix wrong index results on text, char, varchar for multibyte strings - Fix some SIGFPE signals - Add support for infinite timestamps - Because of locale settings, btree_gist can not be a prefix index anymore (for text). Each node holds now just the lower and upper boundary.
This commit is contained in:
@ -6,13 +6,13 @@ SET enable_seqscan=on;
|
||||
SELECT count(*) FROM byteatmp WHERE a < '31b0';
|
||||
count
|
||||
-------
|
||||
122
|
||||
588
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM byteatmp WHERE a <= '31b0';
|
||||
count
|
||||
-------
|
||||
123
|
||||
589
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM byteatmp WHERE a = '31b0';
|
||||
@ -38,13 +38,13 @@ SET enable_seqscan=off;
|
||||
SELECT count(*) FROM byteatmp WHERE a < '31b0'::bytea;
|
||||
count
|
||||
-------
|
||||
122
|
||||
588
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM byteatmp WHERE a <= '31b0'::bytea;
|
||||
count
|
||||
-------
|
||||
123
|
||||
589
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM byteatmp WHERE a = '31b0'::bytea;
|
||||
|
@ -5,13 +5,13 @@ SET enable_seqscan=on;
|
||||
SELECT count(*) FROM chartmp WHERE a < '31b0'::char(32);
|
||||
count
|
||||
-------
|
||||
121
|
||||
587
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM chartmp WHERE a <= '31b0'::char(32);
|
||||
count
|
||||
-------
|
||||
122
|
||||
588
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM chartmp WHERE a = '31b0'::char(32);
|
||||
@ -37,13 +37,13 @@ SET enable_seqscan=off;
|
||||
SELECT count(*) FROM chartmp WHERE a < '31b0'::char(32);
|
||||
count
|
||||
-------
|
||||
121
|
||||
587
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM chartmp WHERE a <= '31b0'::char(32);
|
||||
count
|
||||
-------
|
||||
122
|
||||
588
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM chartmp WHERE a = '31b0'::char(32);
|
||||
|
@ -6,13 +6,13 @@ SET enable_seqscan=on;
|
||||
SELECT count(*) FROM texttmp WHERE a < '31b0';
|
||||
count
|
||||
-------
|
||||
122
|
||||
588
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM texttmp WHERE a <= '31b0';
|
||||
count
|
||||
-------
|
||||
123
|
||||
589
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM texttmp WHERE a = '31b0';
|
||||
@ -38,13 +38,13 @@ SET enable_seqscan=off;
|
||||
SELECT count(*) FROM texttmp WHERE a < '31b0'::text;
|
||||
count
|
||||
-------
|
||||
122
|
||||
588
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM texttmp WHERE a <= '31b0'::text;
|
||||
count
|
||||
-------
|
||||
123
|
||||
589
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM texttmp WHERE a = '31b0'::text;
|
||||
|
@ -5,13 +5,13 @@ SET enable_seqscan=on;
|
||||
SELECT count(*) FROM timestamptmp WHERE a < '2004-10-26 08:55:08';
|
||||
count
|
||||
-------
|
||||
270
|
||||
278
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptmp WHERE a <= '2004-10-26 08:55:08';
|
||||
count
|
||||
-------
|
||||
271
|
||||
279
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptmp WHERE a = '2004-10-26 08:55:08';
|
||||
@ -23,13 +23,13 @@ SELECT count(*) FROM timestamptmp WHERE a = '2004-10-26 08:55:08';
|
||||
SELECT count(*) FROM timestamptmp WHERE a >= '2004-10-26 08:55:08';
|
||||
count
|
||||
-------
|
||||
274
|
||||
290
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptmp WHERE a > '2004-10-26 08:55:08';
|
||||
count
|
||||
-------
|
||||
273
|
||||
289
|
||||
(1 row)
|
||||
|
||||
CREATE INDEX timestampidx ON timestamptmp USING gist ( a );
|
||||
@ -37,13 +37,13 @@ SET enable_seqscan=off;
|
||||
SELECT count(*) FROM timestamptmp WHERE a < '2004-10-26 08:55:08'::timestamp;
|
||||
count
|
||||
-------
|
||||
270
|
||||
278
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptmp WHERE a <= '2004-10-26 08:55:08'::timestamp;
|
||||
count
|
||||
-------
|
||||
271
|
||||
279
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptmp WHERE a = '2004-10-26 08:55:08'::timestamp;
|
||||
@ -55,12 +55,12 @@ 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;
|
||||
count
|
||||
-------
|
||||
274
|
||||
290
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptmp WHERE a > '2004-10-26 08:55:08'::timestamp;
|
||||
count
|
||||
-------
|
||||
273
|
||||
289
|
||||
(1 row)
|
||||
|
||||
|
@ -5,13 +5,13 @@ SET enable_seqscan=on;
|
||||
SELECT count(*) FROM timestamptztmp WHERE a < '2018-12-18 10:59:54 GMT+3';
|
||||
count
|
||||
-------
|
||||
385
|
||||
391
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a <= '2018-12-18 10:59:54 GMT+3';
|
||||
count
|
||||
-------
|
||||
386
|
||||
392
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a = '2018-12-18 10:59:54 GMT+3';
|
||||
@ -23,25 +23,25 @@ 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';
|
||||
count
|
||||
-------
|
||||
146
|
||||
158
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a > '2018-12-18 10:59:54 GMT+3';
|
||||
count
|
||||
-------
|
||||
145
|
||||
157
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a < '2018-12-18 10:59:54 GMT+2';
|
||||
count
|
||||
-------
|
||||
385
|
||||
391
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a <= '2018-12-18 10:59:54 GMT+2';
|
||||
count
|
||||
-------
|
||||
385
|
||||
391
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a = '2018-12-18 10:59:54 GMT+2';
|
||||
@ -53,25 +53,25 @@ 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';
|
||||
count
|
||||
-------
|
||||
146
|
||||
158
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a > '2018-12-18 10:59:54 GMT+2';
|
||||
count
|
||||
-------
|
||||
146
|
||||
158
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a < '2018-12-18 10:59:54 GMT+4';
|
||||
count
|
||||
-------
|
||||
386
|
||||
392
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a <= '2018-12-18 10:59:54 GMT+4';
|
||||
count
|
||||
-------
|
||||
386
|
||||
392
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a = '2018-12-18 10:59:54 GMT+4';
|
||||
@ -83,13 +83,13 @@ 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';
|
||||
count
|
||||
-------
|
||||
145
|
||||
157
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a > '2018-12-18 10:59:54 GMT+4';
|
||||
count
|
||||
-------
|
||||
145
|
||||
157
|
||||
(1 row)
|
||||
|
||||
CREATE INDEX timestamptzidx ON timestamptztmp USING gist ( a );
|
||||
@ -97,13 +97,13 @@ SET enable_seqscan=off;
|
||||
SELECT count(*) FROM timestamptztmp WHERE a < '2018-12-18 10:59:54 GMT+3'::timestamptz;
|
||||
count
|
||||
-------
|
||||
385
|
||||
391
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a <= '2018-12-18 10:59:54 GMT+3'::timestamptz;
|
||||
count
|
||||
-------
|
||||
386
|
||||
392
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a = '2018-12-18 10:59:54 GMT+3'::timestamptz;
|
||||
@ -115,25 +115,25 @@ SELECT count(*) FROM timestamptztmp WHERE a = '2018-12-18 10:59:54 GMT+3'::time
|
||||
SELECT count(*) FROM timestamptztmp WHERE a >= '2018-12-18 10:59:54 GMT+3'::timestamptz;
|
||||
count
|
||||
-------
|
||||
146
|
||||
158
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a > '2018-12-18 10:59:54 GMT+3'::timestamptz;
|
||||
count
|
||||
-------
|
||||
145
|
||||
157
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a < '2018-12-18 10:59:54 GMT+2'::timestamptz;
|
||||
count
|
||||
-------
|
||||
385
|
||||
391
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a <= '2018-12-18 10:59:54 GMT+2'::timestamptz;
|
||||
count
|
||||
-------
|
||||
385
|
||||
391
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a = '2018-12-18 10:59:54 GMT+2'::timestamptz;
|
||||
@ -145,25 +145,25 @@ SELECT count(*) FROM timestamptztmp WHERE a = '2018-12-18 10:59:54 GMT+2'::time
|
||||
SELECT count(*) FROM timestamptztmp WHERE a >= '2018-12-18 10:59:54 GMT+2'::timestamptz;
|
||||
count
|
||||
-------
|
||||
146
|
||||
158
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a > '2018-12-18 10:59:54 GMT+2'::timestamptz;
|
||||
count
|
||||
-------
|
||||
146
|
||||
158
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a < '2018-12-18 10:59:54 GMT+4'::timestamptz;
|
||||
count
|
||||
-------
|
||||
386
|
||||
392
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a <= '2018-12-18 10:59:54 GMT+4'::timestamptz;
|
||||
count
|
||||
-------
|
||||
386
|
||||
392
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a = '2018-12-18 10:59:54 GMT+4'::timestamptz;
|
||||
@ -175,12 +175,12 @@ SELECT count(*) FROM timestamptztmp WHERE a = '2018-12-18 10:59:54 GMT+4'::time
|
||||
SELECT count(*) FROM timestamptztmp WHERE a >= '2018-12-18 10:59:54 GMT+4'::timestamptz;
|
||||
count
|
||||
-------
|
||||
145
|
||||
157
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM timestamptztmp WHERE a > '2018-12-18 10:59:54 GMT+4'::timestamptz;
|
||||
count
|
||||
-------
|
||||
145
|
||||
157
|
||||
(1 row)
|
||||
|
||||
|
@ -5,13 +5,13 @@ SET enable_seqscan=on;
|
||||
SELECT count(*) FROM vchartmp WHERE a < '31b0'::varchar(32);
|
||||
count
|
||||
-------
|
||||
121
|
||||
587
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM vchartmp WHERE a <= '31b0'::varchar(32);
|
||||
count
|
||||
-------
|
||||
122
|
||||
588
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM vchartmp WHERE a = '31b0'::varchar(32);
|
||||
@ -37,13 +37,13 @@ SET enable_seqscan=off;
|
||||
SELECT count(*) FROM vchartmp WHERE a < '31b0'::varchar(32);
|
||||
count
|
||||
-------
|
||||
121
|
||||
587
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM vchartmp WHERE a <= '31b0'::varchar(32);
|
||||
count
|
||||
-------
|
||||
122
|
||||
588
|
||||
(1 row)
|
||||
|
||||
SELECT count(*) FROM vchartmp WHERE a = '31b0'::varchar(32);
|
||||
|
Reference in New Issue
Block a user