mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-08-24 02:47:19 +02:00
Mostly for completeness, but I believe there are cases to use that in multicolumn GIN indexes. Bump btree_gin module version Author: Matheus Oliveira Reviewed by: Tomas Vondra Discussion: https://www.postgresql.org/message-id/flat/CAJghg4LMJf6Z13fnZD-MBNiGxzd0cA2=F3TDjNkX3eQH58hktQ@mail.gmail.com
120 lines
2.4 KiB
Plaintext
120 lines
2.4 KiB
Plaintext
set enable_seqscan=off;
|
|
CREATE TABLE test_bool (
|
|
i boolean
|
|
);
|
|
INSERT INTO test_bool VALUES (false),(true),(null);
|
|
CREATE INDEX idx_bool ON test_bool USING gin (i);
|
|
SELECT * FROM test_bool WHERE i<true ORDER BY i;
|
|
i
|
|
---
|
|
f
|
|
(1 row)
|
|
|
|
SELECT * FROM test_bool WHERE i<=true ORDER BY i;
|
|
i
|
|
---
|
|
f
|
|
t
|
|
(2 rows)
|
|
|
|
SELECT * FROM test_bool WHERE i=true ORDER BY i;
|
|
i
|
|
---
|
|
t
|
|
(1 row)
|
|
|
|
SELECT * FROM test_bool WHERE i>=true ORDER BY i;
|
|
i
|
|
---
|
|
t
|
|
(1 row)
|
|
|
|
SELECT * FROM test_bool WHERE i>true ORDER BY i;
|
|
i
|
|
---
|
|
(0 rows)
|
|
|
|
SELECT * FROM test_bool WHERE i<false ORDER BY i;
|
|
i
|
|
---
|
|
(0 rows)
|
|
|
|
SELECT * FROM test_bool WHERE i<=false ORDER BY i;
|
|
i
|
|
---
|
|
f
|
|
(1 row)
|
|
|
|
SELECT * FROM test_bool WHERE i=false ORDER BY i;
|
|
i
|
|
---
|
|
f
|
|
(1 row)
|
|
|
|
SELECT * FROM test_bool WHERE i>=false ORDER BY i;
|
|
i
|
|
---
|
|
f
|
|
t
|
|
(2 rows)
|
|
|
|
SELECT * FROM test_bool WHERE i>false ORDER BY i;
|
|
i
|
|
---
|
|
t
|
|
(1 row)
|
|
|
|
EXPLAIN (COSTS OFF) SELECT * FROM test_bool WHERE i<true ORDER BY i;
|
|
QUERY PLAN
|
|
-------------------------------------------
|
|
Sort
|
|
Sort Key: i
|
|
-> Bitmap Heap Scan on test_bool
|
|
Recheck Cond: (i < true)
|
|
-> Bitmap Index Scan on idx_bool
|
|
Index Cond: (i < true)
|
|
(6 rows)
|
|
|
|
EXPLAIN (COSTS OFF) SELECT * FROM test_bool WHERE i<=true ORDER BY i;
|
|
QUERY PLAN
|
|
-------------------------------------------
|
|
Sort
|
|
Sort Key: i
|
|
-> Bitmap Heap Scan on test_bool
|
|
Recheck Cond: (i <= true)
|
|
-> Bitmap Index Scan on idx_bool
|
|
Index Cond: (i <= true)
|
|
(6 rows)
|
|
|
|
EXPLAIN (COSTS OFF) SELECT * FROM test_bool WHERE i=true ORDER BY i;
|
|
QUERY PLAN
|
|
-----------------------------
|
|
Sort
|
|
Sort Key: i
|
|
-> Seq Scan on test_bool
|
|
Filter: i
|
|
(4 rows)
|
|
|
|
EXPLAIN (COSTS OFF) SELECT * FROM test_bool WHERE i>=true ORDER BY i;
|
|
QUERY PLAN
|
|
-------------------------------------------
|
|
Sort
|
|
Sort Key: i
|
|
-> Bitmap Heap Scan on test_bool
|
|
Recheck Cond: (i >= true)
|
|
-> Bitmap Index Scan on idx_bool
|
|
Index Cond: (i >= true)
|
|
(6 rows)
|
|
|
|
EXPLAIN (COSTS OFF) SELECT * FROM test_bool WHERE i>true ORDER BY i;
|
|
QUERY PLAN
|
|
-------------------------------------------
|
|
Sort
|
|
Sort Key: i
|
|
-> Bitmap Heap Scan on test_bool
|
|
Recheck Cond: (i > true)
|
|
-> Bitmap Index Scan on idx_bool
|
|
Index Cond: (i > true)
|
|
(6 rows)
|
|
|