mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-11-21 03:13:05 +08:00
d92b1cdbab
This reverts commit 9f984ba6d2
.
It was making the buildfarm unhappy, apparently setting client_min_messages
in a regression test produces different output if log_statement='all'.
Another issue is that I now suspect the bit sortsupport function was in
fact not correct to call byteacmp(). Revert to investigate both of those
issues.
92 lines
2.5 KiB
Plaintext
92 lines
2.5 KiB
Plaintext
-- 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';
|
|
count
|
|
-------
|
|
278
|
|
(1 row)
|
|
|
|
SELECT count(*) FROM timestamptmp WHERE a <= '2004-10-26 08:55:08';
|
|
count
|
|
-------
|
|
279
|
|
(1 row)
|
|
|
|
SELECT count(*) FROM timestamptmp WHERE a = '2004-10-26 08:55:08';
|
|
count
|
|
-------
|
|
1
|
|
(1 row)
|
|
|
|
SELECT count(*) FROM timestamptmp WHERE a >= '2004-10-26 08:55:08';
|
|
count
|
|
-------
|
|
290
|
|
(1 row)
|
|
|
|
SELECT count(*) FROM timestamptmp WHERE a > '2004-10-26 08:55:08';
|
|
count
|
|
-------
|
|
289
|
|
(1 row)
|
|
|
|
SELECT a, a <-> '2004-10-26 08:55:08' FROM timestamptmp ORDER BY a <-> '2004-10-26 08:55:08' LIMIT 3;
|
|
a | ?column?
|
|
--------------------------+------------------------------------
|
|
Tue Oct 26 08:55:08 2004 | @ 0
|
|
Sun Oct 31 06:35:03 2004 | @ 4 days 21 hours 39 mins 55 secs
|
|
Mon Nov 29 20:12:43 2004 | @ 34 days 11 hours 17 mins 35 secs
|
|
(3 rows)
|
|
|
|
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;
|
|
count
|
|
-------
|
|
278
|
|
(1 row)
|
|
|
|
SELECT count(*) FROM timestamptmp WHERE a <= '2004-10-26 08:55:08'::timestamp;
|
|
count
|
|
-------
|
|
279
|
|
(1 row)
|
|
|
|
SELECT count(*) FROM timestamptmp WHERE a = '2004-10-26 08:55:08'::timestamp;
|
|
count
|
|
-------
|
|
1
|
|
(1 row)
|
|
|
|
SELECT count(*) FROM timestamptmp WHERE a >= '2004-10-26 08:55:08'::timestamp;
|
|
count
|
|
-------
|
|
290
|
|
(1 row)
|
|
|
|
SELECT count(*) FROM timestamptmp WHERE a > '2004-10-26 08:55:08'::timestamp;
|
|
count
|
|
-------
|
|
289
|
|
(1 row)
|
|
|
|
EXPLAIN (COSTS OFF)
|
|
SELECT a, a <-> '2004-10-26 08:55:08' FROM timestamptmp ORDER BY a <-> '2004-10-26 08:55:08' LIMIT 3;
|
|
QUERY PLAN
|
|
-----------------------------------------------------------------------------------
|
|
Limit
|
|
-> Index Only Scan using timestampidx on timestamptmp
|
|
Order By: (a <-> 'Tue Oct 26 08:55:08 2004'::timestamp without time zone)
|
|
(3 rows)
|
|
|
|
SELECT a, a <-> '2004-10-26 08:55:08' FROM timestamptmp ORDER BY a <-> '2004-10-26 08:55:08' LIMIT 3;
|
|
a | ?column?
|
|
--------------------------+------------------------------------
|
|
Tue Oct 26 08:55:08 2004 | @ 0
|
|
Sun Oct 31 06:35:03 2004 | @ 4 days 21 hours 39 mins 55 secs
|
|
Mon Nov 29 20:12:43 2004 | @ 34 days 11 hours 17 mins 35 secs
|
|
(3 rows)
|
|
|