Packages

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.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ExpressionResolutionContext
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. 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 true for 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

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  9. var hasAggregateExpressions: Boolean
  10. var hasAttributeOutsideOfAggregateExpressions: Boolean
  11. var hasLateralColumnAlias: Boolean
  12. var hasLocalReferences: Boolean
  13. var hasOuterReferences: Boolean
  14. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  15. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  16. val isRoot: Boolean
  17. var isTopOfProjectList: Boolean
  18. def mergeChild(child: ExpressionResolutionContext): Unit

    Propagate generic information that is valid across the whole expression tree from the child context.

  19. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  20. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  21. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  22. var resolvingGroupingExpressions: Boolean
  23. var resolvingTreeUnderAggregateExpression: Boolean
  24. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  25. def toString(): String
    Definition Classes
    AnyRef → Any
  26. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  27. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  28. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

Inherited from AnyRef

Inherited from Any

Ungrouped