Packages

t

com.sparkutils.quality.impl

RuleFolderRunnerBase

trait RuleFolderRunnerBase[T] extends Expression with NonSQLExpression with SplitCompilation with HasOutput

Children will be rewritten by the plan, it's then re-incorporated into ruleSuite expressionOffsets.length is the length of the trigger expressions in realChildren, realChildren(expressionOffsets.length + expressionOffsets(x)) will be the correct OutputExpression

Linear Supertypes
HasOutput, SplitCompilation, Runner, NonSQLExpression, Expression, TreeNode[Expression], WithOrigin, TreePatternBits, Product, Equals, AnyRef, Any
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. RuleFolderRunnerBase
  2. HasOutput
  3. SplitCompilation
  4. Runner
  5. NonSQLExpression
  6. Expression
  7. TreeNode
  8. WithOrigin
  9. TreePatternBits
  10. Product
  11. Equals
  12. AnyRef
  13. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract val alreadyZero: Boolean
    Definition Classes
    Runner
  2. abstract val audited: Boolean
    Definition Classes
    HasOutput
  3. abstract def canEqual(that: Any): Boolean
    Definition Classes
    Equals
  4. abstract def children: Seq[Expression]
    Definition Classes
    TreeNode
  5. implicit abstract val classTagT: ClassTag[T]
  6. abstract val compileEvals: Boolean
  7. abstract val dataRef: AtomicReference[DataType]
  8. abstract val debugMode: Boolean
  9. abstract def doGenCode(ctx: CodegenContext, ev: ExprCode): ExprCode
    Attributes
    protected
    Definition Classes
    Expression
  10. abstract val expressionOffsets: Array[Int]
  11. abstract val extraConfig: Map[String, String]
    Definition Classes
    RuleFolderRunnerBaseRunner
  12. abstract val forceTriggerEval: Boolean
  13. abstract def productArity: Int
    Definition Classes
    Product
  14. abstract def productElement(n: Int): Any
    Definition Classes
    Product
  15. abstract val resultDataType: () => DataType
  16. abstract val ruleSuite: RuleSuite
    Definition Classes
    RuleFolderRunnerBaseRunner
  17. abstract val tClass: Class[T]
  18. abstract val triggerCount: Int
    Definition Classes
    RuleFolderRunnerBaseHasOutput
  19. abstract val variableFuncGroup: Int
    Definition Classes
    RuleFolderRunnerBaseRunner
  20. abstract val variablesPerFunc: Int
    Definition Classes
    RuleFolderRunnerBaseRunner
  21. abstract def withNewChildrenInternal(newChildren: IndexedSeq[Expression]): Expression
    Attributes
    protected
    Definition Classes
    TreeNode
  22. abstract def withZeroCode(): Runner

    After calling now wrapping of zero code will be performed when the com.sparkutils.quality.impl.extension.ZeroCodeGenWrap optimisation is enabled

    After calling now wrapping of zero code will be performed when the com.sparkutils.quality.impl.extension.ZeroCodeGenWrap optimisation is enabled

    Definition Classes
    Runner

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def apply(number: Int): TreeNode[_]
    Definition Classes
    TreeNode
  5. def applyResult(level1: Int, level2: Int, result: InternalRow, ruleResult: Int): Unit

    rolls the overalls up in place - must be genericarraydata / arraybasedmap data with a copy from createDefaultRuleResult used by codegen

    rolls the overalls up in place - must be genericarraydata / arraybasedmap data with a copy from createDefaultRuleResult used by codegen

    Definition Classes
    Runner
  6. def argString(maxFields: Int): String
    Definition Classes
    TreeNode
  7. def asCode: String
    Definition Classes
    TreeNode
  8. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  9. def canAudit: Boolean
    Definition Classes
    RuleFolderRunnerBaseHasOutput
  10. lazy val canonicalized: Expression
    Definition Classes
    Expression
  11. def checkInputDataTypes(): TypeCheckResult
    Definition Classes
    Expression
  12. def childrenResolved: Boolean
    Definition Classes
    Expression
  13. def clone(): Expression
    Definition Classes
    TreeNode → AnyRef
  14. def collect[B](pf: PartialFunction[Expression, B]): Seq[B]
    Definition Classes
    TreeNode
  15. def collectFirst[B](pf: PartialFunction[Expression, B]): Option[B]
    Definition Classes
    TreeNode
  16. def collectLeaves(): Seq[Expression]
    Definition Classes
    TreeNode
  17. lazy val compiledRealChildren: Array[ExpressionWrapper]
  18. final def containsAllPatterns(patterns: TreePattern*): Boolean
    Definition Classes
    TreePatternBits
  19. final def containsAnyPattern(patterns: TreePattern*): Boolean
    Definition Classes
    TreePatternBits
  20. def containsChild: Set[TreeNode[_]]
    Definition Classes
    TreeNode
  21. final def containsPattern(t: TreePattern): Boolean
    Definition Classes
    TreePatternBits
    Annotations
    @inline()
  22. def contextIndependentFoldable: Boolean
    Definition Classes
    Expression
  23. def copyTagsFrom(other: Expression): Unit
    Definition Classes
    TreeNode
  24. def createDefaultRuleResult(): InternalRow

    Used by codegen

    Used by codegen

    Definition Classes
    Runner
  25. def dataType: DataType
    Definition Classes
    RuleFolderRunnerBase → Expression
  26. val defaultOverallProcessor: (Int, Int) => Int
    Definition Classes
    HasOutputRunner
  27. val defaultOverallResult: Int
    Definition Classes
    HasOutputRunner
  28. val defaultRuleResult: Int
    Definition Classes
    HasOutputRunner
  29. lazy val deterministic: Boolean
    Definition Classes
    Expression
  30. def doGenCodeI(outerCtx: CodegenContext, ev: ExprCode): ExprCode
    Attributes
    protected
  31. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  32. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  33. def eval(input: InternalRow): Any
    Definition Classes
    RuleFolderRunnerBase → Expression
  34. def exists(f: (Expression) => Boolean): Boolean
    Definition Classes
    TreeNode
  35. def fastEquals(other: TreeNode[_]): Boolean
    Definition Classes
    TreeNode
  36. def find(f: (Expression) => Boolean): Option[Expression]
    Definition Classes
    TreeNode
  37. def flatArguments: Iterator[Any]
    Attributes
    protected
    Definition Classes
    Expression
  38. def flatMap[A](f: (Expression) => IterableOnce[A]): Seq[A]
    Definition Classes
    TreeNode
  39. def foldable: Boolean
    Definition Classes
    Expression
  40. def foreach(f: (Expression) => Unit): Unit
    Definition Classes
    TreeNode
  41. def foreachUp(f: (Expression) => Unit): Unit
    Definition Classes
    TreeNode
  42. def freshCopyIfContainsStatefulExpression(): Expression
    Definition Classes
    Expression
  43. def genCode(ctx: CodegenContext): ExprCode
    Definition Classes
    Expression
  44. def generateTreeString(depth: Int, lastChildren: ArrayList[Boolean], append: (String) => Unit, verbose: Boolean, prefix: String, addSuffix: Boolean, maxFields: Int, printNodeId: Boolean, printOutputColumns: Boolean, indent: Int): Unit
    Definition Classes
    TreeNode
  45. val generatorClassSource: Seq[CodeAndComment]
    Definition Classes
    SplitCompilation
  46. def generatorClazz(i: Int): GeneratedClass
    Definition Classes
    SplitCompilation
  47. val generatorClazz_: Seq[GeneratedClass]
    Definition Classes
    SplitCompilation
    Annotations
    @transient()
  48. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  49. def getDefaultTreePatternBits: BitSet
    Attributes
    protected
    Definition Classes
    TreeNode
  50. def getTagValue[T](tag: TreeNodeTag[T]): Option[T]
    Definition Classes
    TreeNode
  51. def groupedSqlCall(ruleSuiteCall: String): String

    For collector and engine it's typically just their sql function name, for folder it must also include the starting expression.sql.

    For collector and engine it's typically just their sql function name, for folder it must also include the starting expression.sql. This will be called with resolved expressions but not with structs so the folder starter expression is expected to be executable

    ruleSuiteCall

    provided by the grouping code but resolves to a rulesuite

    Definition Classes
    RuleFolderRunnerBaseHasOutput
  52. def hashCode(): Int
    Definition Classes
    TreeNode → AnyRef → Any
  53. def height: Int
    Definition Classes
    TreeNode
  54. def inPlaceArrayOffsets(ctx: CodegenContext, resultRow: String, ruleRunnerExpressionIdx: Int): InPlaceOffsets
    Definition Classes
    Runner
  55. def innerChildren: Seq[TreeNode[_]]
    Definition Classes
    TreeNode
  56. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  57. def isRuleIneffective(ruleId: RuleId): Boolean
    Attributes
    protected
    Definition Classes
    TreeNode
  58. def isTagsEmpty: Boolean
    Definition Classes
    TreeNode
  59. def jsonFields: List[JField]
    Attributes
    protected
    Definition Classes
    TreeNode
  60. final def legacyWithNewChildren(newChildren: Seq[Expression]): Expression
    Attributes
    protected
    Definition Classes
    TreeNode
  61. def makeCopy(newArgs: Array[AnyRef]): Expression
    Definition Classes
    TreeNode
  62. def map[A](f: (Expression) => A): Seq[A]
    Definition Classes
    TreeNode
  63. def mapChildren(f: (Expression) => Expression): Expression
    Definition Classes
    TreeNode
  64. def mapProductIterator[B](f: (Any) => B)(implicit arg0: ClassTag[B]): Array[B]
    Attributes
    protected
    Definition Classes
    TreeNode
  65. def markRuleAsIneffective(ruleId: RuleId): Unit
    Attributes
    protected
    Definition Classes
    TreeNode
  66. def mergeTagsFrom(other: Expression): Unit
    Definition Classes
    TreeNode
  67. def multiTransformDown(rule: PartialFunction[Expression, Seq[Expression]]): LazyList[Expression]
    Definition Classes
    TreeNode
  68. def multiTransformDownWithPruning(cond: (TreePatternBits) => Boolean, ruleId: RuleId)(rule: PartialFunction[Expression, Seq[Expression]]): LazyList[Expression]
    Definition Classes
    TreeNode
  69. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  70. def nodeName: String
    Definition Classes
    TreeNode
  71. val nodePatterns: Seq[TreePattern]
    Attributes
    protected
    Definition Classes
    TreeNode
  72. def nodeWithOutputColumnsString(maxColumns: Int): String
    Definition Classes
    TreeNode
  73. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  74. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  75. def nullIntolerant: Boolean
    Definition Classes
    Expression
  76. def nullable: Boolean
    Definition Classes
    RuleFolderRunnerBase → Expression
  77. def numberedTreeString: String
    Definition Classes
    TreeNode
  78. val origin: Origin
    Definition Classes
    TreeNode → WithOrigin
  79. def otherCopyArgs: Seq[AnyRef]
    Attributes
    protected
    Definition Classes
    TreeNode
  80. def p(number: Int): Expression
    Definition Classes
    TreeNode
  81. def performGroupingAuditDump(): Unit
    Definition Classes
    HasOutput
  82. def prettyJson: String
    Definition Classes
    TreeNode
  83. def prettyName: String
    Definition Classes
    Expression
  84. def processNewChildren(newChildren: Seq[Expression]): Seq[Expression]
  85. def productElementName(n: Int): String
    Definition Classes
    Product
  86. def productElementNames: Iterator[String]
    Definition Classes
    Product
  87. def productIterator: Iterator[Any]
    Definition Classes
    Product
  88. def productPrefix: String
    Definition Classes
    Product
  89. lazy val realChildren: Seq[Expression]
    Definition Classes
    RuleFolderRunnerBaseHasOutput
  90. def references: AttributeSet
    Definition Classes
    Expression
  91. lazy val reincorporated: RuleSuite
  92. lazy val resolved: Boolean
    Definition Classes
    Expression
  93. final def semanticEquals(other: Expression): Boolean
    Definition Classes
    Expression
  94. def semanticHash(): Int
    Definition Classes
    Expression
  95. def setTagValue[T](tag: TreeNodeTag[T], value: T): Unit
    Definition Classes
    TreeNode
  96. def simpleString(maxFields: Int): String
    Definition Classes
    Expression → TreeNode
  97. def simpleStringWithNodeId(): String
    Definition Classes
    Expression → TreeNode
  98. final def sql: String
    Definition Classes
    NonSQLExpression → Expression
  99. val startingStruct: Expression
  100. def stateful: Boolean
    Definition Classes
    Expression
  101. def stringArgs: Iterator[Any]
    Attributes
    protected
    Definition Classes
    TreeNode
  102. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  103. lazy val throwable: Boolean
    Definition Classes
    Expression
  104. def toJSON: String
    Definition Classes
    TreeNode
  105. def toString(): String
    Definition Classes
    RuleFolderRunnerBase → Expression → TreeNode → AnyRef → Any
  106. def transform(rule: PartialFunction[Expression, Expression]): Expression
    Definition Classes
    TreeNode
  107. def transformDown(rule: PartialFunction[Expression, Expression]): Expression
    Definition Classes
    TreeNode
  108. def transformDownWithPruning(cond: (TreePatternBits) => Boolean, ruleId: RuleId)(rule: PartialFunction[Expression, Expression]): Expression
    Definition Classes
    TreeNode
  109. def transformUp(rule: PartialFunction[Expression, Expression]): Expression
    Definition Classes
    TreeNode
  110. def transformUpWithBeforeAndAfterRuleOnChildren(cond: (Expression) => Boolean, ruleId: RuleId)(rule: PartialFunction[(Expression, Expression), Expression]): Expression
    Definition Classes
    TreeNode
  111. def transformUpWithPruning(cond: (TreePatternBits) => Boolean, ruleId: RuleId)(rule: PartialFunction[Expression, Expression]): Expression
    Definition Classes
    TreeNode
  112. def transformWithPruning(cond: (TreePatternBits) => Boolean, ruleId: RuleId)(rule: PartialFunction[Expression, Expression]): Expression
    Definition Classes
    TreeNode
  113. def treePatternBits: BitSet
    Definition Classes
    TreeNode → TreePatternBits
  114. def treeString(append: (String) => Unit, verbose: Boolean, addSuffix: Boolean, maxFields: Int, printOperatorId: Boolean, printOutputColumns: Boolean): Unit
    Definition Classes
    TreeNode
  115. final def treeString(verbose: Boolean, addSuffix: Boolean, maxFields: Int, printOperatorId: Boolean, printOutputColumns: Boolean): String
    Definition Classes
    TreeNode
  116. final def treeString: String
    Definition Classes
    TreeNode
  117. def triggerRules: Seq[Expression]
    Definition Classes
    HasOutput
  118. def typeSuffix: String
    Attributes
    protected
    Definition Classes
    Expression
  119. def unsetTagValue[T](tag: TreeNodeTag[T]): Unit
    Definition Classes
    TreeNode
  120. final def validateNodePatterns(): Unit
    Definition Classes
    Expression → TreeNode
  121. final def verboseString(maxFields: Int): String
    Definition Classes
    Expression → TreeNode
  122. def verboseStringWithSuffix(maxFields: Int): String
    Definition Classes
    TreeNode
  123. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  124. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  125. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  126. final def withCanonicalizedChildren: Expression
    Attributes
    protected
    Definition Classes
    Expression
  127. final def withNewChildren(newChildren: Seq[Expression]): Expression
    Definition Classes
    TreeNode

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

Inherited from HasOutput

Inherited from SplitCompilation

Inherited from Runner

Inherited from NonSQLExpression

Inherited from Expression

Inherited from TreeNode[Expression]

Inherited from WithOrigin

Inherited from TreePatternBits

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped