github.com/cockroachdb/cockroach@v20.2.0-alpha.1+incompatible/pkg/sql/opt/norm/testdata/rules/set (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  exec-ddl
     6  CREATE TABLE a (v INT PRIMARY KEY, w INT, x FLOAT, y STRING NOT NULL, z JSON)
     7  ----
     8  
     9  # --------------------------------------------------
    10  # EliminateUnionAllLeft
    11  # --------------------------------------------------
    12  
    13  norm expect=EliminateUnionAllLeft
    14  SELECT k FROM
    15    (SELECT k FROM b)
    16    UNION ALL
    17    (SELECT k FROM b WHERE k IN ())
    18  ----
    19  project
    20   ├── columns: k:11!null
    21   ├── key: (11)
    22   ├── scan b
    23   │    ├── columns: b.k:1!null
    24   │    └── key: (1)
    25   └── projections
    26        └── b.k:1 [as=k:11, outer=(1)]
    27  
    28  # --------------------------------------------------
    29  # EliminateUnionAllRight
    30  # --------------------------------------------------
    31  
    32  norm expect=EliminateUnionAllRight
    33  SELECT k FROM
    34    (SELECT k FROM b WHERE Null)
    35    UNION ALL
    36    (SELECT k FROM b)
    37  ----
    38  project
    39   ├── columns: k:11!null
    40   ├── key: (11)
    41   ├── scan b
    42   │    ├── columns: b.k:6!null
    43   │    └── key: (6)
    44   └── projections
    45        └── b.k:6 [as=k:11, outer=(6)]
    46  
    47  norm
    48  SELECT k FROM
    49    (SELECT k FROM b WHERE False)
    50    UNION ALL
    51    (SELECT k FROM b WHERE i IN ())
    52  ----
    53  values
    54   ├── columns: k:11!null
    55   ├── cardinality: [0 - 0]
    56   ├── key: ()
    57   └── fd: ()-->(11)