class GroupingAndAggregateExpressionsExtractor extends AnyRef
Used to extract aggregate and grouping expressions in the context of underlying Aggregate operator or collecting aggregate expressions based on the provided expression.
- Alphabetic
- By Inheritance
- GroupingAndAggregateExpressionsExtractor
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new GroupingAndAggregateExpressionsExtractor(aggregate: Aggregate, autoGeneratedAliasProvider: AutoGeneratedAliasProvider)
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()
- def collectFirstAggregateExpression(expression: Expression): (Option[Expression], Option[Alias])
Get first aggregate expression's child that is semantically equal to the provided expression, and it's parent Alias (if any).
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def exists(expression: Expression): Boolean
Returns true if the provided expression is semantically equal to any of the aggregate expressions' child.
- def extractReferencedGroupingAndAggregateExpressions(expression: Expression, referencedGroupingExpressions: ArrayBuffer[NamedExpression], extractedAggregateExpressionAliases: ArrayBuffer[Alias]): Expression
Extracts grouping and aggregate expressions based on the provided expression.
Extracts grouping and aggregate expressions based on the provided expression. Instead of provided expression use the extracted one (if any), update
referencedGroupingExpressions(grouping expressions used for extraction) andextractedAggregateExpressionAliases(aliases of AggregateExpressions that are transformed to attributes during extraction) in order to insert missing attributes to below operators.When an expression exists in both grouping and aggregate expressions (for example, when there are lateral column references in Aggregate, LCA algorithm will copy grouping expressions to aggregate list prior to entering this method), we still extract grouping expression but don't add it later if it is not necessary.
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- 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()
- 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)