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/sql | |
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/sql')
-rw-r--r-- | contrib/btree_gist/sql/bool.sql | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/contrib/btree_gist/sql/bool.sql b/contrib/btree_gist/sql/bool.sql new file mode 100644 index 00000000000..4c2a5392b6c --- /dev/null +++ b/contrib/btree_gist/sql/bool.sql @@ -0,0 +1,42 @@ +-- bool check + +CREATE TABLE booltmp (a bool); + +INSERT INTO booltmp VALUES (false), (true); + +SET enable_seqscan=on; + +SELECT count(*) FROM booltmp WHERE a < true; + +SELECT count(*) FROM booltmp WHERE a <= true; + +SELECT count(*) FROM booltmp WHERE a = true; + +SELECT count(*) FROM booltmp WHERE a >= true; + +SELECT count(*) FROM booltmp WHERE a > true; + +CREATE INDEX boolidx ON booltmp USING gist ( a ); + +SET enable_seqscan=off; + +SELECT count(*) FROM booltmp WHERE a < true; + +SELECT count(*) FROM booltmp WHERE a <= true; + +SELECT count(*) FROM booltmp WHERE a = true; + +SELECT count(*) FROM booltmp WHERE a >= true; + +SELECT count(*) FROM booltmp WHERE a > true; + +-- Test index-only scans +SET enable_bitmapscan=off; + +EXPLAIN (COSTS OFF) +SELECT * FROM booltmp WHERE a; +SELECT * FROM booltmp WHERE a; + +EXPLAIN (COSTS OFF) +SELECT * FROM booltmp WHERE NOT a; +SELECT * FROM booltmp WHERE NOT a; |