mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03: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)
 | 
						|
 |