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]