mirror of
				https://github.com/postgres/postgres.git
				synced 2025-10-24 01:29:19 +03:00 
			
		
		
		
	This reverts commit 9f984ba6d2.
It was making the buildfarm unhappy, apparently setting client_min_messages
in a regression test produces different output if log_statement='all'.
Another issue is that I now suspect the bit sortsupport function was in
fact not correct to call byteacmp(). Revert to investigate both of those
issues.
		
	
		
			
				
	
	
		
			77 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| -- bit check
 | |
| CREATE TABLE bittmp (a bit(33));
 | |
| \copy bittmp from 'data/bit.data'
 | |
| SET enable_seqscan=on;
 | |
| SELECT count(*) FROM bittmp WHERE a <   '011011000100010111011000110000100';
 | |
|  count 
 | |
| -------
 | |
|    249
 | |
| (1 row)
 | |
| 
 | |
| SELECT count(*) FROM bittmp WHERE a <=  '011011000100010111011000110000100';
 | |
|  count 
 | |
| -------
 | |
|    250
 | |
| (1 row)
 | |
| 
 | |
| SELECT count(*) FROM bittmp WHERE a  =  '011011000100010111011000110000100';
 | |
|  count 
 | |
| -------
 | |
|      1
 | |
| (1 row)
 | |
| 
 | |
| SELECT count(*) FROM bittmp WHERE a >=  '011011000100010111011000110000100';
 | |
|  count 
 | |
| -------
 | |
|    351
 | |
| (1 row)
 | |
| 
 | |
| SELECT count(*) FROM bittmp WHERE a >   '011011000100010111011000110000100';
 | |
|  count 
 | |
| -------
 | |
|    350
 | |
| (1 row)
 | |
| 
 | |
| CREATE INDEX bitidx ON bittmp USING GIST ( a );
 | |
| SET enable_seqscan=off;
 | |
| SELECT count(*) FROM bittmp WHERE a <   '011011000100010111011000110000100';
 | |
|  count 
 | |
| -------
 | |
|    249
 | |
| (1 row)
 | |
| 
 | |
| SELECT count(*) FROM bittmp WHERE a <=  '011011000100010111011000110000100';
 | |
|  count 
 | |
| -------
 | |
|    250
 | |
| (1 row)
 | |
| 
 | |
| SELECT count(*) FROM bittmp WHERE a  =  '011011000100010111011000110000100';
 | |
|  count 
 | |
| -------
 | |
|      1
 | |
| (1 row)
 | |
| 
 | |
| SELECT count(*) FROM bittmp WHERE a >=  '011011000100010111011000110000100';
 | |
|  count 
 | |
| -------
 | |
|    351
 | |
| (1 row)
 | |
| 
 | |
| SELECT count(*) FROM bittmp WHERE a >   '011011000100010111011000110000100';
 | |
|  count 
 | |
| -------
 | |
|    350
 | |
| (1 row)
 | |
| 
 | |
| -- Test index-only scans
 | |
| SET enable_bitmapscan=off;
 | |
| EXPLAIN (COSTS OFF)
 | |
| SELECT a FROM bittmp WHERE a BETWEEN '1000000' and '1000001';
 | |
|                              QUERY PLAN                              
 | |
| ---------------------------------------------------------------------
 | |
|  Index Only Scan using bitidx on bittmp
 | |
|    Index Cond: ((a >= '1000000'::"bit") AND (a <= '1000001'::"bit"))
 | |
| (2 rows)
 | |
| 
 |