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:
QueryAnalyzeris requested to analyze a QueryLogicalPlanneris requested to buildPersistentLogicalPlanFlatMapNodeis created and buildSchema
getInto¶
Optional<Into> getInto()
See Analysis
Used when:
PullQueryValidatoris requested to validatePushQueryValidatoris requested tovalidateLogicalPlanneris requested to build an OutputNode, getTargetSchema, buildAggregateNode, buildUserProjectNode and buildAggregateSchema
getJoin¶
List<JoinInfo> getJoin()
See Analysis
Used when:
LogicalPlanneris requested to build a source node
getSelectItems¶
List<SelectItem> getSelectItems()
See Analysis
Used when:
Analyzer.Visitoris requested to throwOnUnknownColumnReferencePullQueryValidatoris requested to disallowedColumnNameInSelectClauseLogicalPlanneris requested to buildQueryLogicalPlan, buildAggregateNode, buildUserProjectNode, buildJoinKeyFlatMapNodeis requested to buildColumnMappings
isJoin¶
boolean isJoin()
See Analysis
Used when:
PullQueryValidatoris createdLogicalPlanneris requested to build a source node