ImmutableAnalysis¶
ImmutableAnalysis
is an abstraction of the query analysis results.
This Immutable
prefix in the name of ImmutableAnalysis
is to denote that it is an immutable view over the AST tree of a SQL statement (as parsed using Analyzer.Visitor).
Contract (Subset)¶
getTableFunctions¶
List<FunctionCall> getTableFunctions()
See Analysis
Used when:
QueryAnalyzer
is requested to analyze a QueryLogicalPlanner
is requested to buildPersistentLogicalPlanFlatMapNode
is created and buildSchema
getInto¶
Optional<Into> getInto()
See Analysis
Used when:
PullQueryValidator
is requested to validatePushQueryValidator
is requested tovalidate
LogicalPlanner
is requested to build an OutputNode, getTargetSchema, buildAggregateNode, buildUserProjectNode and buildAggregateSchema
getJoin¶
List<JoinInfo> getJoin()
See Analysis
Used when:
LogicalPlanner
is requested to build a source node
getSelectItems¶
List<SelectItem> getSelectItems()
See Analysis
Used when:
Analyzer.Visitor
is requested to throwOnUnknownColumnReferencePullQueryValidator
is requested to disallowedColumnNameInSelectClauseLogicalPlanner
is requested to buildQueryLogicalPlan, buildAggregateNode, buildUserProjectNode, buildJoinKeyFlatMapNode
is requested to buildColumnMappings
isJoin¶
boolean isJoin()
See Analysis
Used when:
PullQueryValidator
is createdLogicalPlanner
is requested to build a source node