diff options
author | Tomas Vondra | 2021-11-06 16:00:43 +0000 |
---|---|---|
committer | Tomas Vondra | 2021-11-06 16:00:43 +0000 |
commit | 57e3c5160b24e61758f817feb7aac152cd695c6f (patch) | |
tree | af80841b8c3eab2e46d003bcbc573b62557e4644 /contrib/btree_gist/expected | |
parent | dafcf887daa472b0a49bee7e07042372bc37cee4 (diff) |
Add bool GiST opclass to btree_gist
Adds bool opclass to btree_gist extension, to allow creating GiST
indexes on bool columns. GiST indexes on a single bool column don't seem
particularly useful, but this allows defining exclusion constraings
involving a bool column, for example.
Author: Emre Hasegeli
Reviewed-by: Andrey Borodin
Discussion: https://postgr.es/m/CAE2gYzyDKJBZngssR84VGZEN=Ux=V9FV23QfPgo+7-yYnKKg4g@mail.gmail.com
Diffstat (limited to 'contrib/btree_gist/expected')
-rw-r--r-- | contrib/btree_gist/expected/bool.out | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/contrib/btree_gist/expected/bool.out b/contrib/btree_gist/expected/bool.out new file mode 100644 index 00000000000..c67a9685d52 --- /dev/null +++ b/contrib/btree_gist/expected/bool.out @@ -0,0 +1,96 @@ +-- bool check +CREATE TABLE booltmp (a bool); +INSERT INTO booltmp VALUES (false), (true); +SET enable_seqscan=on; +SELECT count(*) FROM booltmp WHERE a < true; + count +------- + 1 +(1 row) + +SELECT count(*) FROM booltmp WHERE a <= true; + count +------- + 2 +(1 row) + +SELECT count(*) FROM booltmp WHERE a = true; + count +------- + 1 +(1 row) + +SELECT count(*) FROM booltmp WHERE a >= true; + count +------- + 1 +(1 row) + +SELECT count(*) FROM booltmp WHERE a > true; + count +------- + 0 +(1 row) + +CREATE INDEX boolidx ON booltmp USING gist ( a ); +SET enable_seqscan=off; +SELECT count(*) FROM booltmp WHERE a < true; + count +------- + 1 +(1 row) + +SELECT count(*) FROM booltmp WHERE a <= true; + count +------- + 2 +(1 row) + +SELECT count(*) FROM booltmp WHERE a = true; + count +------- + 1 +(1 row) + +SELECT count(*) FROM booltmp WHERE a >= true; + count +------- + 1 +(1 row) + +SELECT count(*) FROM booltmp WHERE a > true; + count +------- + 0 +(1 row) + +-- Test index-only scans +SET enable_bitmapscan=off; +EXPLAIN (COSTS OFF) +SELECT * FROM booltmp WHERE a; + QUERY PLAN +------------------------------------------ + Index Only Scan using boolidx on booltmp + Filter: a +(2 rows) + +SELECT * FROM booltmp WHERE a; + a +--- + t +(1 row) + +EXPLAIN (COSTS OFF) +SELECT * FROM booltmp WHERE NOT a; + QUERY PLAN +------------------------------------------ + Index Only Scan using boolidx on booltmp + Filter: (NOT a) +(2 rows) + +SELECT * FROM booltmp WHERE NOT a; + a +--- + f +(1 row) + |