mirror of
				https://github.com/postgres/postgres.git
				synced 2025-10-31 00:03:57 -04:00 
			
		
		
		
	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
		
			
				
	
	
		
			43 lines
		
	
	
		
			888 B
		
	
	
	
		
			SQL
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			888 B
		
	
	
	
		
			SQL
		
	
	
	
	
	
| -- 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;
 |