exec-ddl
CREATE TABLE a (k INT PRIMARY KEY, i INT, s STRING, d DECIMAL NOT NULL)
----
TABLE a
 ├── k int not null
 ├── i int
 ├── s string
 ├── d decimal not null
 └── INDEX primary
      └── k int not null

opt
SELECT k, i, s || 'foo' FROM a
----
project
 ├── columns: k:1(int!null) i:2(int) "?column?":5(string)
 ├── stats: [rows=1000]
 ├── cost: 1090
 ├── key: (1)
 ├── fd: (1)-->(2,5)
 ├── scan a
 │    ├── columns: k:1(int!null) i:2(int) s:3(string)
 │    ├── stats: [rows=1000]
 │    ├── cost: 1070
 │    ├── key: (1)
 │    └── fd: (1)-->(2,3)
 └── projections [outer=(1-3)]
      └── s || 'foo' [type=string, outer=(3)]

opt
SELECT k, k+2, i*d FROM a
----
project
 ├── columns: k:1(int!null) "?column?":5(int) "?column?":6(decimal)
 ├── stats: [rows=1000]
 ├── cost: 1100
 ├── key: (1)
 ├── fd: (1)-->(5,6)
 ├── scan a
 │    ├── columns: k:1(int!null) i:2(int) d:4(decimal!null)
 │    ├── stats: [rows=1000]
 │    ├── cost: 1070
 │    ├── key: (1)
 │    └── fd: (1)-->(2,4)
 └── projections [outer=(1,2,4)]
      ├── k + 2 [type=int, outer=(1)]
      └── i * d [type=decimal, outer=(2,4)]
