Trait

io.projectglow.sql.util

Rewrite

Related Doc: package util

Permalink

trait Rewrite extends Expression with Unevaluable

Expressions that should be rewritten eagerly. The rewrite must be able to be performed without knowing the datatype or nullability of any of the children.

In general, rewrite expressions should extend this trait unless they have a compelling reason to inspect their children.

Linear Supertypes
Unevaluable, Expression, TreeNode[Expression], Product, Equals, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Rewrite
  2. Unevaluable
  3. Expression
  4. TreeNode
  5. Product
  6. Equals
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def canEqual(that: Any): Boolean

    Permalink
    Definition Classes
    Equals
  2. abstract def children: Seq[Expression]

    Permalink
    Definition Classes
    TreeNode
  3. abstract def productArity: Int

    Permalink
    Definition Classes
    Product
  4. abstract def productElement(n: Int): Any

    Permalink
    Definition Classes
    Product
  5. abstract def rewrite: Expression

    Permalink

Concrete Value Members

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

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

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

    Permalink
    Definition Classes
    AnyRef → Any
  4. def apply(number: Int): TreeNode[_]

    Permalink
    Definition Classes
    TreeNode
  5. def argString: String

    Permalink
    Definition Classes
    TreeNode
  6. def asCode: String

    Permalink
    Definition Classes
    TreeNode
  7. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  8. lazy val canonicalized: Expression

    Permalink
    Definition Classes
    Expression
  9. def checkInputDataTypes(): TypeCheckResult

    Permalink
    Definition Classes
    Expression
  10. def childrenResolved: Boolean

    Permalink
    Definition Classes
    Expression
  11. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  12. def collect[B](pf: PartialFunction[Expression, B]): Seq[B]

    Permalink
    Definition Classes
    TreeNode
  13. def collectFirst[B](pf: PartialFunction[Expression, B]): Option[B]

    Permalink
    Definition Classes
    TreeNode
  14. def collectLeaves(): Seq[Expression]

    Permalink
    Definition Classes
    TreeNode
  15. lazy val containsChild: Set[TreeNode[_]]

    Permalink
    Definition Classes
    TreeNode
  16. def dataType: DataType

    Permalink
    Definition Classes
    Rewrite → Expression
  17. lazy val deterministic: Boolean

    Permalink
    Definition Classes
    Expression
  18. final def doGenCode(ctx: CodegenContext, ev: ExprCode): ExprCode

    Permalink
    Attributes
    protected
    Definition Classes
    Unevaluable → Expression
  19. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  21. final def eval(input: InternalRow): Any

    Permalink
    Definition Classes
    Unevaluable → Expression
  22. def fastEquals(other: TreeNode[_]): Boolean

    Permalink
    Definition Classes
    TreeNode
  23. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  24. def find(f: (Expression) ⇒ Boolean): Option[Expression]

    Permalink
    Definition Classes
    TreeNode
  25. def flatArguments: Iterator[Any]

    Permalink
    Attributes
    protected
    Definition Classes
    Expression
  26. def flatMap[A](f: (Expression) ⇒ TraversableOnce[A]): Seq[A]

    Permalink
    Definition Classes
    TreeNode
  27. def foldable: Boolean

    Permalink
    Definition Classes
    Expression
  28. def foreach(f: (Expression) ⇒ Unit): Unit

    Permalink
    Definition Classes
    TreeNode
  29. def foreachUp(f: (Expression) ⇒ Unit): Unit

    Permalink
    Definition Classes
    TreeNode
  30. def genCode(ctx: CodegenContext): ExprCode

    Permalink
    Definition Classes
    Expression
  31. def generateTreeString(depth: Int, lastChildren: Seq[Boolean], builder: StringBuilder, verbose: Boolean, prefix: String, addSuffix: Boolean): StringBuilder

    Permalink
    Definition Classes
    TreeNode
  32. final def getClass(): Class[_]

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

    Permalink
    Definition Classes
    TreeNode → AnyRef → Any
  34. def innerChildren: Seq[TreeNode[_]]

    Permalink
    Attributes
    protected
    Definition Classes
    TreeNode
  35. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  36. def jsonFields: List[JField]

    Permalink
    Attributes
    protected
    Definition Classes
    TreeNode
  37. def makeCopy(newArgs: Array[AnyRef]): Expression

    Permalink
    Definition Classes
    TreeNode
  38. def map[A](f: (Expression) ⇒ A): Seq[A]

    Permalink
    Definition Classes
    TreeNode
  39. def mapChildren(f: (Expression) ⇒ Expression): Expression

    Permalink
    Definition Classes
    TreeNode
  40. def mapProductIterator[B](f: (Any) ⇒ B)(implicit arg0: ClassTag[B]): Array[B]

    Permalink
    Attributes
    protected
    Definition Classes
    TreeNode
  41. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  42. def nodeName: String

    Permalink
    Definition Classes
    TreeNode
  43. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  44. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  45. def nullable: Boolean

    Permalink
    Definition Classes
    Rewrite → Expression
  46. def numberedTreeString: String

    Permalink
    Definition Classes
    TreeNode
  47. val origin: Origin

    Permalink
    Definition Classes
    TreeNode
  48. def otherCopyArgs: Seq[AnyRef]

    Permalink
    Attributes
    protected
    Definition Classes
    TreeNode
  49. def p(number: Int): Expression

    Permalink
    Definition Classes
    TreeNode
  50. def prettyJson: String

    Permalink
    Definition Classes
    TreeNode
  51. def prettyName: String

    Permalink
    Definition Classes
    Expression
  52. def productIterator: Iterator[Any]

    Permalink
    Definition Classes
    Product
  53. def productPrefix: String

    Permalink
    Definition Classes
    Product
  54. def references: AttributeSet

    Permalink
    Definition Classes
    Expression
  55. lazy val resolved: Boolean

    Permalink
    Definition Classes
    Expression
  56. def semanticEquals(other: Expression): Boolean

    Permalink
    Definition Classes
    Expression
  57. def semanticHash(): Int

    Permalink
    Definition Classes
    Expression
  58. def simpleString: String

    Permalink
    Definition Classes
    Expression → TreeNode
  59. def sql: String

    Permalink
    Definition Classes
    Expression
  60. def stringArgs: Iterator[Any]

    Permalink
    Attributes
    protected
    Definition Classes
    TreeNode
  61. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  62. def toJSON: String

    Permalink
    Definition Classes
    TreeNode
  63. def toString(): String

    Permalink
    Definition Classes
    Expression → TreeNode → AnyRef → Any
  64. def transform(rule: PartialFunction[Expression, Expression]): Expression

    Permalink
    Definition Classes
    TreeNode
  65. def transformDown(rule: PartialFunction[Expression, Expression]): Expression

    Permalink
    Definition Classes
    TreeNode
  66. def transformUp(rule: PartialFunction[Expression, Expression]): Expression

    Permalink
    Definition Classes
    TreeNode
  67. def treeString(verbose: Boolean, addSuffix: Boolean): String

    Permalink
    Definition Classes
    TreeNode
  68. def treeString: String

    Permalink
    Definition Classes
    TreeNode
  69. final def verboseString: String

    Permalink
    Definition Classes
    Expression → TreeNode
  70. def verboseStringWithSuffix: String

    Permalink
    Definition Classes
    TreeNode
  71. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  74. def withNewChildren(newChildren: Seq[Expression]): Expression

    Permalink
    Definition Classes
    TreeNode

Inherited from Unevaluable

Inherited from Expression

Inherited from TreeNode[Expression]

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped