class EquivalentExpressions extends AnyRef
This class is used to compute equality of (sub)expression trees. Expressions can be added to this class and they subsequently query for expression equality. Expression trees are considered equal if for the same input(s), the same result is produced.
- Alphabetic
- By Inheritance
- EquivalentExpressions
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new EquivalentExpressions(skipForShortcutEnable: Boolean = SQLConf.get.subexpressionEliminationSkipForShotcutExpr)
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
- def addExpr(expr: Expression): Boolean
Adds each expression to this data structure, grouping them with existing equivalent expressions.
Adds each expression to this data structure, grouping them with existing equivalent expressions. Non-recursive. Returns true if there was already a matching expression.
- def addExprTree(expr: Expression, map: HashMap[ExpressionEquals, ExpressionStats] = equivalenceMap): Unit
Adds the expression to this data structure recursively.
Adds the expression to this data structure recursively. Stops if a matching expression is found. That is, if
exprhas already been added, its children are not added. - final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def debugString(all: Boolean = false): String
Returns the state of the data structure as a string.
Returns the state of the data structure as a string. If
allis false, skips sets of equivalent expressions with cardinality 1. - final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def getCommonSubexpressions: Seq[Expression]
Returns a sequence of expressions that more than one equivalent expressions.
- def getExprState(e: Expression): Option[ExpressionStats]
Returns the state of the given expression in the
equivalenceMap.Returns the state of the given expression in the
equivalenceMap. Returns None if there is no equivalent expressions. - def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @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
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- 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()