org.apache.spark.sql.catalyst.analysis.resolver
ExpressionResolutionContext
Companion object ExpressionResolutionContext
class ExpressionResolutionContext extends AnyRef
The ExpressionResolutionContext is a state that is propagated between the nodes of the expression tree during the bottom-up expression resolution process. This way we pass the results of ExpressionResolver.resolve call, which are not the resolved child itself, from children to parents.
- Alphabetic
- By Inheritance
- ExpressionResolutionContext
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new ExpressionResolutionContext(isRoot: Boolean = false, hasLocalReferences: Boolean = false, hasOuterReferences: Boolean = false, hasAggregateExpressions: Boolean = false, hasAttributeOutsideOfAggregateExpressions: Boolean = false, hasLateralColumnAlias: Boolean = false, isTopOfProjectList: Boolean = false, resolvingGroupingExpressions: Boolean = false, resolvingTreeUnderAggregateExpression: Boolean = false)
- isRoot
A flag indicating that we are resolving the root of the expression tree. It's used by the ExpressionResolver to correctly propagate top-level information like isTopOfProjectList. It's going to be set to
truefor the top-level context when we are entering expression resolution from a specific operator (this can be either a top-level query or a subquery).- hasLocalReferences
A flag that highlights that a specific node corresponding to ExpressionResolutionContext has local AttributeReferences in its subtree.
- hasOuterReferences
A flag that highlights that a specific node corresponding to ExpressionResolutionContext has outer AttributeReferences in its subtree.
- hasAggregateExpressions
A flag that highlights that a specific node corresponding to ExpressionResolutionContext has aggregate expressions in its subtree.
- hasAttributeOutsideOfAggregateExpressions
A flag that highlights that a specific node corresponding to ExpressionResolutionContext has attributes in its subtree which are not under an AggregateExpression.
- hasLateralColumnAlias
A flag that highlights that a specific node corresponding to ExpressionResolutionContext has LCA in its subtree.
- isTopOfProjectList
A flag indicating that we are resolving top of Project list. Otherwise, extra Aliases have to be stripped away.
- resolvingGroupingExpressions
A flag indicating whether an expression we are resolving is one of Aggregate.groupingExpressions.
- resolvingTreeUnderAggregateExpression
A flag indicating whether an expression we are resolving a tree under AggregateExpression.
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- var hasAggregateExpressions: Boolean
- var hasAttributeOutsideOfAggregateExpressions: Boolean
- var hasLateralColumnAlias: Boolean
- var hasLocalReferences: Boolean
- var hasOuterReferences: Boolean
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val isRoot: Boolean
- var isTopOfProjectList: Boolean
- def mergeChild(child: ExpressionResolutionContext): Unit
Propagate generic information that is valid across the whole expression tree from the child context.
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- var resolvingGroupingExpressions: Boolean
- var resolvingTreeUnderAggregateExpression: Boolean
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)