UnresolvedInlineTable Logical Operator
UnresolvedInlineTable
is a unary logical operator that represents an inline table (aka virtual table in Apache Hive).
UnresolvedInlineTable
is created when AstBuilder
is requested to parse an inline table in a SQL statement.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
// `tableAlias` undefined so columns default to `colN` val q = sql("VALUES 1, 2, 3") scala> println(q.queryExecution.logical.numberedTreeString) 00 'UnresolvedInlineTable [col1], [List(1), List(2), List(3)] // CreateNamedStruct with `tableAlias` val q = sql("VALUES (1, 'a'), (2, 'b') AS t1(a, b)") scala> println(q.queryExecution.logical.numberedTreeString) 00 'SubqueryAlias t1 01 +- 'UnresolvedInlineTable [a, b], [List(1, a), List(2, b)] |
UnresolvedInlineTable
is never resolved (and is converted to a LocalRelation in ResolveInlineTables logical resolution rule).
UnresolvedInlineTable
uses no output schema attributes.
UnresolvedInlineTable
uses expressionsResolved
flag that is on (true
) only when all the Catalyst expressions in the rows are resolved.
Creating UnresolvedInlineTable Instance
UnresolvedInlineTable
takes the following when created:
-
Rows (as Catalyst expressions for every row, i.e.
Seq[Seq[Expression]]
)