# LogicTest: local

statement ok
CREATE TABLE uniontest (
  k INT,
  v INT
)

query TTT
EXPLAIN SELECT v FROM uniontest UNION SELECT k FROM uniontest
----
union           ·      ·
 ├── render     ·      ·
 │    └── scan  ·      ·
 │              table  uniontest@primary
 │              spans  ALL
 └── render     ·      ·
      └── scan  ·      ·
·               table  uniontest@primary
·               spans  ALL

query TTT
EXPLAIN SELECT v FROM uniontest UNION ALL SELECT k FROM uniontest
----
append          ·      ·
 ├── render     ·      ·
 │    └── scan  ·      ·
 │              table  uniontest@primary
 │              spans  ALL
 └── render     ·      ·
      └── scan  ·      ·
·               table  uniontest@primary
·               spans  ALL

# Check that EXPLAIN properly releases memory for virtual tables.
query TTT
EXPLAIN SELECT node_id FROM crdb_internal.node_build_info UNION VALUES(123)
----
union             ·     ·
 ├── values       ·     ·
 │                size  1 column, 1 row
 └── render       ·     ·
      └── values  ·     ·
·                 size  3 columns, 6 rows
