github.com/cockroachdb/cockroach@v20.2.0-alpha.1+incompatible/pkg/sql/opt/norm/testdata/rules/zero_cardinality (about) 1 exec-ddl 2 CREATE TABLE b (k INT PRIMARY KEY, i INT, f FLOAT, s STRING NOT NULL, j JSON) 3 ---- 4 5 # -------------------------------------------------- 6 # SimplifyZeroCardinalityGroup 7 # -------------------------------------------------- 8 9 norm expect=SimplifyZeroCardinalityGroup 10 SELECT k FROM b WHERE false 11 ---- 12 values 13 ├── columns: k:1!null 14 ├── cardinality: [0 - 0] 15 ├── key: () 16 └── fd: ()-->(1) 17 18 norm expect=SimplifyZeroCardinalityGroup 19 SELECT * FROM (VALUES (1) OFFSET 1) 20 ---- 21 values 22 ├── columns: column1:1!null 23 ├── cardinality: [0 - 0] 24 ├── key: () 25 └── fd: ()-->(1) 26 27 norm expect=SimplifyZeroCardinalityGroup 28 SELECT * FROM b INNER JOIN b b2 ON False 29 ---- 30 values 31 ├── columns: k:1!null i:2!null f:3!null s:4!null j:5!null k:6!null i:7!null f:8!null s:9!null j:10!null 32 ├── cardinality: [0 - 0] 33 ├── key: () 34 └── fd: ()-->(1-10) 35 36 norm expect=SimplifyZeroCardinalityGroup 37 SELECT * FROM b LIMIT 0 38 ---- 39 values 40 ├── columns: k:1!null i:2!null f:3!null s:4!null j:5!null 41 ├── cardinality: [0 - 0] 42 ├── key: () 43 └── fd: ()-->(1-5) 44 45 norm expect=SimplifyZeroCardinalityGroup 46 SELECT * FROM (SELECT * FROM b WHERE i=1) WHERE False 47 ---- 48 values 49 ├── columns: k:1!null i:2!null f:3!null s:4!null j:5!null 50 ├── cardinality: [0 - 0] 51 ├── key: () 52 └── fd: ()-->(1-5) 53 54 norm expect=SimplifyZeroCardinalityGroup 55 SELECT * FROM (SELECT * FROM b WHERE False) WHERE s='foo' 56 ---- 57 values 58 ├── columns: k:1!null i:2!null f:3!null s:4!null j:5!null 59 ├── cardinality: [0 - 0] 60 ├── key: () 61 └── fd: ()-->(1-5) 62 63 norm expect=SimplifyZeroCardinalityGroup 64 SELECT * FROM (SELECT * FROM b WHERE False) WHERE s='foo' 65 ---- 66 values 67 ├── columns: k:1!null i:2!null f:3!null s:4!null j:5!null 68 ├── cardinality: [0 - 0] 69 ├── key: () 70 └── fd: ()-->(1-5) 71 72 norm 73 SELECT * FROM (SELECT CASE WHEN k < 0 THEN 3 / 0 ELSE 3 END FROM b) WHERE false 74 ---- 75 project 76 ├── columns: case:6!null 77 ├── cardinality: [0 - 0] 78 ├── immutable, side-effects 79 ├── key: () 80 ├── fd: ()-->(6) 81 ├── values 82 │ ├── columns: k:1!null 83 │ ├── cardinality: [0 - 0] 84 │ ├── key: () 85 │ └── fd: ()-->(1) 86 └── projections 87 └── CASE WHEN k:1 < 0 THEN 3 / 0 ELSE 3 END [as=case:6, outer=(1), immutable, side-effects]