mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-21 08:29:39 +08:00
ef770cbb69
- 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.
67 lines
1.1 KiB
Plaintext
67 lines
1.1 KiB
Plaintext
-- 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);
|
|
count
|
|
-------
|
|
587
|
|
(1 row)
|
|
|
|
SELECT count(*) FROM vchartmp WHERE a <= '31b0'::varchar(32);
|
|
count
|
|
-------
|
|
588
|
|
(1 row)
|
|
|
|
SELECT count(*) FROM vchartmp WHERE a = '31b0'::varchar(32);
|
|
count
|
|
-------
|
|
1
|
|
(1 row)
|
|
|
|
SELECT count(*) FROM vchartmp WHERE a >= '31b0'::varchar(32);
|
|
count
|
|
-------
|
|
401
|
|
(1 row)
|
|
|
|
SELECT count(*) FROM vchartmp WHERE a > '31b0'::varchar(32);
|
|
count
|
|
-------
|
|
400
|
|
(1 row)
|
|
|
|
CREATE INDEX vcharidx ON vchartmp USING GIST ( text(a) );
|
|
SET enable_seqscan=off;
|
|
SELECT count(*) FROM vchartmp WHERE a < '31b0'::varchar(32);
|
|
count
|
|
-------
|
|
587
|
|
(1 row)
|
|
|
|
SELECT count(*) FROM vchartmp WHERE a <= '31b0'::varchar(32);
|
|
count
|
|
-------
|
|
588
|
|
(1 row)
|
|
|
|
SELECT count(*) FROM vchartmp WHERE a = '31b0'::varchar(32);
|
|
count
|
|
-------
|
|
1
|
|
(1 row)
|
|
|
|
SELECT count(*) FROM vchartmp WHERE a >= '31b0'::varchar(32);
|
|
count
|
|
-------
|
|
401
|
|
(1 row)
|
|
|
|
SELECT count(*) FROM vchartmp WHERE a > '31b0'::varchar(32);
|
|
count
|
|
-------
|
|
400
|
|
(1 row)
|
|
|