1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119
|
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)
|