mirror of
https://github.com/postgres/postgres.git
synced 2025-04-22 23:02:54 +03:00
This reverts commit 9f984ba6d23dc6eecebf479ab1d3f2e550a4e9be. 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
1.7 KiB
Plaintext
92 lines
1.7 KiB
Plaintext
-- money check
|
|
CREATE TABLE moneytmp (a money);
|
|
\copy moneytmp from 'data/cash.data'
|
|
SET enable_seqscan=on;
|
|
SELECT count(*) FROM moneytmp WHERE a < '22649.64';
|
|
count
|
|
-------
|
|
289
|
|
(1 row)
|
|
|
|
SELECT count(*) FROM moneytmp WHERE a <= '22649.64';
|
|
count
|
|
-------
|
|
290
|
|
(1 row)
|
|
|
|
SELECT count(*) FROM moneytmp WHERE a = '22649.64';
|
|
count
|
|
-------
|
|
1
|
|
(1 row)
|
|
|
|
SELECT count(*) FROM moneytmp WHERE a >= '22649.64';
|
|
count
|
|
-------
|
|
254
|
|
(1 row)
|
|
|
|
SELECT count(*) FROM moneytmp WHERE a > '22649.64';
|
|
count
|
|
-------
|
|
253
|
|
(1 row)
|
|
|
|
SELECT a, a <-> '21472.79' FROM moneytmp ORDER BY a <-> '21472.79' LIMIT 3;
|
|
a | ?column?
|
|
------------+----------
|
|
$21,472.79 | $0.00
|
|
$21,469.25 | $3.54
|
|
$21,915.01 | $442.22
|
|
(3 rows)
|
|
|
|
CREATE INDEX moneyidx ON moneytmp USING gist ( a );
|
|
SET enable_seqscan=off;
|
|
SELECT count(*) FROM moneytmp WHERE a < '22649.64'::money;
|
|
count
|
|
-------
|
|
289
|
|
(1 row)
|
|
|
|
SELECT count(*) FROM moneytmp WHERE a <= '22649.64'::money;
|
|
count
|
|
-------
|
|
290
|
|
(1 row)
|
|
|
|
SELECT count(*) FROM moneytmp WHERE a = '22649.64'::money;
|
|
count
|
|
-------
|
|
1
|
|
(1 row)
|
|
|
|
SELECT count(*) FROM moneytmp WHERE a >= '22649.64'::money;
|
|
count
|
|
-------
|
|
254
|
|
(1 row)
|
|
|
|
SELECT count(*) FROM moneytmp WHERE a > '22649.64'::money;
|
|
count
|
|
-------
|
|
253
|
|
(1 row)
|
|
|
|
EXPLAIN (COSTS OFF)
|
|
SELECT a, a <-> '21472.79' FROM moneytmp ORDER BY a <-> '21472.79' LIMIT 3;
|
|
QUERY PLAN
|
|
--------------------------------------------------
|
|
Limit
|
|
-> Index Only Scan using moneyidx on moneytmp
|
|
Order By: (a <-> '$21,472.79'::money)
|
|
(3 rows)
|
|
|
|
SELECT a, a <-> '21472.79' FROM moneytmp ORDER BY a <-> '21472.79' LIMIT 3;
|
|
a | ?column?
|
|
------------+----------
|
|
$21,472.79 | $0.00
|
|
$21,469.25 | $3.54
|
|
$21,915.01 | $442.22
|
|
(3 rows)
|
|
|