object UnsupportedExpressionInOperatorValidation
- Alphabetic
- By Inheritance
- UnsupportedExpressionInOperatorValidation
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
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()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- def isExpressionInUnsupportedOperator(expression: Expression, operator: LogicalPlan, isSortOnTopOfAggregate: Boolean, isFilterOnTopOfAggregate: Boolean): Boolean
Check that
expressionis allowed to exist inoperator's expression tree.Check that
expressionis allowed to exist inoperator's expression tree. Here, we avoid validating AggregateExpressions when they are under a Sort or Filter on top of Aggregate as the transformation to attributes is delayed to specific resolvers (if needed). Example:SELECT SUM(col1) + 1 FROM VALUES(1) ORDER BY SUM(col1) + 1
In this case, ordering AggregateExpression in
SUM(col1) + 1should be allowed here as its parent expressionSUM(col1) + 1will be transformed to attribute later in GroupingAndAggregateExpressionsExtractor.extractReferencedGroupingAndAggregateExpressions and thus at the end of Sort resolution we won't have any AggregateExpressions in its ordering expression tree. On the other side, here is a query that should fail:SELECT col1 FROM VALUES(1) ORDER BY MAX(col1)MAX(col1)can't be extracted as the child of the Sort is Project and thus we fail during validation in Resolver.validateResolvedOperatorGenerically. - 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)