org.apache.spark.sql.util

ExprUtil

object ExprUtil

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. ExprUtil
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def conditionalExpr(e: Expression): Boolean

  9. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  10. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  11. def escapeLikeRegex(v: String): String

  12. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  13. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  14. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  15. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  16. def isNumeric(dt: DataType): Boolean

  17. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  18. final def notify(): Unit

    Definition Classes
    AnyRef
  19. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  20. def nullPreserving(e: Expression): Boolean

    If any input col/ref is null then expression will evaluate to null and if no input col/ref is null then expression won't evaluate to null

    If any input col/ref is null then expression will evaluate to null and if no input col/ref is null then expression won't evaluate to null

    e

    Expression that needs to be checked

    returns

  21. def nullableAttributes(dqb: DruidQueryBuilder, attrs: AttributeSet): (List[AttributeReference], List[Attribute])

    Split the given AttributeSet to nullable and unresolvable.

    Split the given AttributeSet to nullable and unresolvable.

    dqb

    DruidQueryBuilder

    attrs

    AttributeSet

    returns

  22. def simplifyBinaryPred(dqb: DruidQueryBuilder, c1: Expression, c2: Expression, conj: Boolean): Option[Expression]

    Simplify Binary Predicate

    Simplify Binary Predicate

    dqb

    DruidQueryBuilder

    c1

    First child (Left)

    c2

    Second child (Right)

    conj

    If true this is a conjuction else disjunction

    returns

  23. def simplifyCast(e: Expression, edt: DataType): Expression

    Simplify Cast expression by removing inner most cast if reduendant

    Simplify Cast expression by removing inner most cast if reduendant

    e

    Inner Expression

    edt

    Outer cast DataType

    returns

  24. def simplifyPred(dqb: DruidQueryBuilder, fil: Expression): Option[Expression]

    Simplify given Predicate.

    Simplify given Predicate. Does rewrites for cast, Conj/Disj, not null expressions.

    dqb

    DruidQueryBuilder

    fil

    Predicate

    returns

  25. def simplifyPreds(dqb: DruidQueryBuilder, fils: Seq[Expression]): Seq[Expression]

    Simplify given predicates

    Simplify given predicates

    dqb

    DruidQueryBuilder

    fils

    Predicates

    returns

  26. def splitExprs(el: Seq[Expression], fa: AttributeSet, sa: AttributeSet): (Seq[Expression], Seq[Expression], Seq[Expression], Seq[Expression])

    Given a list of exprs and two AttributeSet, split exprs into those that involves attributes only from first set, only from second set, from both and that doesn't belong to neither (i.

    Given a list of exprs and two AttributeSet, split exprs into those that involves attributes only from first set, only from second set, from both and that doesn't belong to neither (i.e f(Literals)).

    el

    Expression List

    fa

    First Attribute Set

    sa

    Second Attribute Set

    returns

  27. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  28. def toDateTime(sparkDateLiteral: Int): DateTime

  29. def toString(): String

    Definition Classes
    AnyRef → Any
  30. def transformReplace(e: Expression, rule: PartialFunction[Expression, Expression]): Expression

    This is different from transformDown because if rule transforms an Expression, we don't try to apply any more transformation.

    This is different from transformDown because if rule transforms an Expression, we don't try to apply any more transformation.

    e

    Expression

    rule

    Rule to apply

    returns

  31. def translateAggBelowProject(gbKeys: Seq[Expression], aggKeys: Seq[NamedExpression], fil: Option[Expression], p: Project): Option[(Seq[Expression], Seq[NamedExpression], Option[Expression], LogicalPlan)]

    Translate Give Aggregate to the below given child project

    Translate Give Aggregate to the below given child project

    gbKeys

    GBKeys

    aggKeys

    Aggregate Keys

    fil

    Optional filter

    p

    Child Project

    returns

  32. def translateExpr(e: Expression, aliasToNewExpr: Map[String, Expression]): Expression

    Translate given expression by replacing the aliases with new expr (if they are present in the map)

    Translate given expression by replacing the aliases with new expr (if they are present in the map)

    e

    Expression to translate

    aliasToNewExpr

    Map to aliases to new Expression that replaces it

    returns

  33. def translateExprDown(e: Expression, c: LogicalPlan, preserveAlias: Boolean): Option[Expression]

    Translate given expression through its child as an expression above grand child.

    Translate given expression through its child as an expression above grand child. Currently we only translate through Project. TODO: add support for Aggregate, Window, Cube, GroupingSet

    e

    Expression to translate

    c

    Child node

    preserveAlias

    Should we preserve alias of expression

    returns

  34. def translateExprDown(se: Seq[Expression], c: LogicalPlan, preserveAlias: Boolean = true): Option[Seq[Expression]]

    Translate given seq of expressions below the child.

    Translate given seq of expressions below the child.

    se

    Sequence of expressions to be translated

    c

    Child node

    preserveAlias

    Should we preserve alias of expression

    returns

  35. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  36. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  37. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped