mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-01-12 18:34:36 +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.
102 lines
2.1 KiB
Plaintext
102 lines
2.1 KiB
Plaintext
-- 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';
|
|
count
|
|
-------
|
|
213
|
|
(1 row)
|
|
|
|
SELECT count(*) FROM inettmp WHERE a <= '89.225.196.191';
|
|
count
|
|
-------
|
|
214
|
|
(1 row)
|
|
|
|
SELECT count(*) FROM inettmp WHERE a = '89.225.196.191';
|
|
count
|
|
-------
|
|
1
|
|
(1 row)
|
|
|
|
SELECT count(*) FROM inettmp WHERE a >= '89.225.196.191';
|
|
count
|
|
-------
|
|
387
|
|
(1 row)
|
|
|
|
SELECT count(*) FROM inettmp WHERE a > '89.225.196.191';
|
|
count
|
|
-------
|
|
386
|
|
(1 row)
|
|
|
|
CREATE INDEX inetidx ON inettmp USING gist ( a );
|
|
SET enable_seqscan=off;
|
|
SELECT count(*) FROM inettmp WHERE a < '89.225.196.191'::inet;
|
|
count
|
|
-------
|
|
213
|
|
(1 row)
|
|
|
|
SELECT count(*) FROM inettmp WHERE a <= '89.225.196.191'::inet;
|
|
count
|
|
-------
|
|
214
|
|
(1 row)
|
|
|
|
SELECT count(*) FROM inettmp WHERE a = '89.225.196.191'::inet;
|
|
count
|
|
-------
|
|
1
|
|
(1 row)
|
|
|
|
SELECT count(*) FROM inettmp WHERE a >= '89.225.196.191'::inet;
|
|
count
|
|
-------
|
|
387
|
|
(1 row)
|
|
|
|
SELECT count(*) FROM inettmp WHERE a > '89.225.196.191'::inet;
|
|
count
|
|
-------
|
|
386
|
|
(1 row)
|
|
|
|
VACUUM ANALYZE inettmp;
|
|
-- gist_inet_ops lacks a fetch function, so this should not be index-only scan
|
|
EXPLAIN (COSTS OFF)
|
|
SELECT count(*) FROM inettmp WHERE a = '89.225.196.191'::inet;
|
|
QUERY PLAN
|
|
--------------------------------------------------
|
|
Aggregate
|
|
-> Index Scan using inetidx on inettmp
|
|
Index Cond: (a = '89.225.196.191'::inet)
|
|
(3 rows)
|
|
|
|
SELECT count(*) FROM inettmp WHERE a = '89.225.196.191'::inet;
|
|
count
|
|
-------
|
|
1
|
|
(1 row)
|
|
|
|
DROP INDEX inetidx;
|
|
CREATE INDEX ON inettmp USING gist (a gist_inet_ops, a inet_ops);
|
|
-- likewise here (checks for core planner bug)
|
|
EXPLAIN (COSTS OFF)
|
|
SELECT count(*) FROM inettmp WHERE a = '89.225.196.191'::inet;
|
|
QUERY PLAN
|
|
----------------------------------------------------
|
|
Aggregate
|
|
-> Index Scan using inettmp_a_a1_idx on inettmp
|
|
Index Cond: (a = '89.225.196.191'::inet)
|
|
(3 rows)
|
|
|
|
SELECT count(*) FROM inettmp WHERE a = '89.225.196.191'::inet;
|
|
count
|
|
-------
|
|
1
|
|
(1 row)
|
|
|