Packages

package impl

Linear Supertypes
AnyRef, Any
Content Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. impl
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Package Members

  1. package aggregates
  2. package bloom
  3. package extension
  4. package hash
  5. package id
  6. package imports
  7. package longPair
  8. package mapLookup
  9. package qualityFunctions
  10. package rng
  11. package types
  12. package util
  13. package yaml

Type Members

  1. trait CollectRunnerBase[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

  2. case class CollectRunnerRunner(ruleSuite: RuleSuite, children: Seq[Expression], resultDataType: Option[DataType], variablesPerFunc: Int, variableFuncGroup: Int, expressionOffsets: Array[Int], triggerCount: Int, flatten: Boolean, includeNulls: Boolean, canUnroll: Array[Int], isInPlace: Array[Boolean], unroll: Boolean, unrollOutputArraySize: Int, extraConfig: Map[String, String], audited: Boolean = false, alreadyZero: Boolean = false) extends Expression with CollectRunnerBase[CollectRunnerRunner] with Product with Serializable

    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

  3. case class DataFrameSyntaxError(error: String) extends SyntaxError with Product with Serializable
  4. trait DefaultProcessor extends quality.DefaultProcessor with Serializable
  5. case class DefaultProcessorImpl(id: Id, rule: String, outputExpression: OutputExprLogic) extends DefaultProcessor with Serializable with Product

    Only run for folder and collector to provide defaults (engine can just use a low prio rule)

    Only run for folder and collector to provide defaults (engine can just use a low prio rule)

    Annotations
    @SerialVersionUID()
  6. case class DefaultTriggerGrouper() extends AbstractFunction10[CodegenContext, Runner, String, Seq[(VariableValue, Boolean)], Seq[(Trigger, (CodegenContext, ParameterInformation, Expression, Boolean) => Block)], ParameterInformation, String, () => Block, (String) => Block, Boolean, TriggerResult] with TriggerGrouper with Product with Serializable
  7. trait ExprLogic extends quality.ExpressionRule with RuleLogic[ExprLogic] with HasExpr
  8. trait ExpressionCompiler extends HasExpr
  9. case class ExpressionRule(rule: String) extends quality.ExpressionRule with ExprLogic with HasRuleText[ExpressionRule] with Product with Serializable

    The result of serializing or loading rules

  10. case class ExpressionRuleExpr(rule: String, expr: Expression) extends ExprLogic with HasRuleText[ExpressionRuleExpr] with Product with Serializable

    Used in load postprocessing, e.g.

    Used in load postprocessing, e.g. coalesce removal, to keep the rule text around

    Annotations
    @SerialVersionUID()
  11. trait ExpressionRunnerBase[T] extends Expression with NonSQLExpression with SplitCompilation with TriggerOnly

    Creates an extensible wrapper result column for aggregate expressions, storing the results as yaml

  12. case class ExpressionRunnerCompiled(ruleSuite: RuleSuite, children: Seq[Expression], ddlType: DataType, compileEvals: Boolean, variablesPerFunc: Int, variableFuncGroup: Int, extraConfig: Map[String, String], alreadyZero: Boolean = false) extends Expression with ExpressionRunnerBase[ExpressionRunnerCompiled] with Product with Serializable

    Creates an extensible wrapper result column for aggregate expressions, storing the results as yaml

  13. case class ExpressionRunnerEval(ruleSuite: RuleSuite, children: Seq[Expression], ddlType: DataType, compileEvals: Boolean, variablesPerFunc: Int, variableFuncGroup: Int, extraConfig: Map[String, String], alreadyZero: Boolean = false) extends Expression with ExpressionRunnerBase[ExpressionRunnerEval] with CodegenFallback with Product with Serializable

    Creates an extensible wrapper result column for aggregate expressions, storing the results as yaml

  14. case class ExpressionWrapper(expr: Expression, compileEval: Boolean = true) extends ExprLogic with ExpressionCompiler with Product with Serializable

    Rewritten children at eval will be swapped out

    Rewritten children at eval will be swapped out

    Annotations
    @SerialVersionUID()
  15. case class ExtraDocParameter(id: Id, name: String) extends SyntaxNameWarning with LambdaRelevant with Product with Serializable
  16. case class FlattenFolderResultsExpression(child: Expression, deserializer: Expression) extends UnaryExpression with CodegenFallback with NullIntolerant with Product with Serializable

    NB this doesn't make much sense for folder unless in debug

    NB this doesn't make much sense for folder unless in debug

    Annotations
    @ExpressionDescription()
  17. case class FlattenResultsExpression(child: Expression, deserializer: Expression) extends UnaryExpression with CodegenFallback with NullIntolerant with InputTypeChecks with Product with Serializable
    Annotations
    @ExpressionDescription()
  18. case class FlattenRulesResultsExpression(child: Expression, deserializer: Expression) extends UnaryExpression with CodegenFallback with NullIntolerant with Product with Serializable
    Annotations
    @ExpressionDescription()
  19. case class Group(groupFilter: Expression, lowestSalience: Int, payload: GroupOr) extends LowestSalience with Product with Serializable
  20. case class GroupAudit(children: Seq[Expression]) extends Expression with GroupAuditBase with Product with Serializable
  21. trait GroupAuditBase extends Expression with NonSQLExpression with CodegenFallback
  22. trait GroupBasedGrouper extends AbstractFunction10[CodegenContext, Runner, String, Seq[(VariableValue, Boolean)], Seq[(Trigger, (CodegenContext, ParameterInformation, Expression, Boolean) => Block)], ParameterInformation, String, () => Block, (String) => Block, Boolean, TriggerResult] with TriggerGrouper

    Default grouping approach, implementations may call performGrouping with their own Groups.

  23. sealed trait GroupOr extends LowestSalience
  24. case class GroupResults(children: Seq[Expression]) extends Expression with GroupResultsBase with Product with Serializable
  25. trait GroupResultsBase extends Expression with NonSQLExpression with CodegenFallback
  26. case class Groups(groups: Seq[Group]) extends GroupOr with Product with Serializable
  27. trait HasExpr extends AnyRef
  28. sealed trait HasId extends AnyRef
  29. sealed trait HasNonIdText extends AnyRef
  30. trait HasOutput extends Expression with Runner

    Base trait for runners that use triggers_ collector, engine and folder

  31. sealed trait HasOutputText extends AnyRef
  32. trait HasRuleText[T <: HasRuleText[T]] extends HasExpr with quality.HasRuleText
  33. case class IfRelevantExpr(left: Expression, right: Expression) extends BinaryExpression with Product with Serializable
    Annotations
    @ExpressionDescription()
  34. case class InPlaceArray(children: Seq[Expression]) extends Expression with Product with Serializable

    Replacement for CreateArray when flatten is true, eval creates new arrays, but gencode does not and only replaces the array location

  35. case class InPlaceOffsets(offsets: Seq[(String) => Block], beforeProcessing: Block, resultRowPrep: Block, runner: String, runnerClazz: Class[_]) extends Product with Serializable

    Used for compilation

    Used for compilation

    offsets

    each trigger offset

    beforeProcessing

    must be placed in the generated code after the output row is copied and sets up the class variables for each ruleSet

    resultRowPrep

    must be called after processing and re-integrates the overallResult's from each set and suite

  36. trait LambdaFunction extends quality.LambdaFunction with HasRuleText[LambdaFunction] with HasExpr

    Lambda functions are for re-use across rules.

    Lambda functions are for re-use across rules. (param: Type, paramN: Type) -> logicResult .

  37. case class LambdaFunctionImpl(name: String, rule: String, id: Id) extends LambdaFunction with Product with Serializable
    Annotations
    @SerialVersionUID()
  38. case class LambdaFunctionParsed(name: String, rule: String, id: Id, expr: Expression) extends LambdaFunction with Product with Serializable
    Annotations
    @SerialVersionUID()
  39. case class LambdaMultipleImplementationWithSameArityError(name: String, count: Int, argLength: Int, ids: Set[Id]) extends SyntaxError with LambdaRelevant with Product with Serializable
  40. case class LambdaNameError(name: String, id: Id) extends NameMissingError with LambdaRelevant with Product with Serializable
  41. case class LambdaPossibleSOE(id: Id) extends RuleWarning with LambdaRelevant with Product with Serializable
  42. sealed trait LambdaRelevant extends AnyRef
  43. case class LambdaSparkFunctionNameError(name: String, id: Id) extends NameMissingError with LambdaRelevant with Product with Serializable
  44. case class LambdaStackOverflowError(id: Id) extends SyntaxError with LambdaRelevant with Product with Serializable
  45. case class LambdaSyntaxError(id: Id, error: String) extends SyntaxError with LambdaRelevant with Product with Serializable
  46. case class LambdaViewError(name: String, id: Id) extends ViewMissingError with LambdaRelevant with Product with Serializable
  47. trait LowestSalience extends AnyRef
  48. trait MergeGroups[T] extends Serializable
  49. sealed trait NameMissingError extends RuleError
  50. case class NonLambdaDocParameters(id: Id) extends SyntaxWarning with Product with Serializable
  51. abstract class OfX[T, E] extends AnyRef

    Ignores extra output expressions

  52. case class OuputSparkFunctionNameError(name: String, id: Id) extends NameMissingError with OutputExpressionRelevant with Product with Serializable
  53. trait OutputExprLogic extends quality.OutputExpression with HasExpr
  54. case class OutputExpression(rule: String) extends quality.OutputExpression with OutputExprLogic with HasRuleText[OutputExpression] with Logging with Product with Serializable

    Used as a result of serializing

  55. case class OutputExpressionExpr(rule: String, expr: Expression) extends OutputExprLogic with HasRuleText[OutputExpressionExpr] with Product with Serializable

    Used in post serializing processing to keep the rule around, processCoalesce only

    Used in post serializing processing to keep the rule around, processCoalesce only

    Annotations
    @SerialVersionUID()
  56. sealed trait OutputExpressionRelevant extends AnyRef
  57. case class OutputExpressionWrapper(expr: Expression, compileEval: Boolean = true) extends OutputExprLogic with ExpressionCompiler with Product with Serializable
  58. case class OutputRuleNameError(name: String, id: Id) extends NameMissingError with OutputExpressionRelevant with Product with Serializable
  59. case class OutputRuleSyntaxError(id: Id, error: String) extends SyntaxError with OutputExpressionRelevant with Product with Serializable
  60. case class OutputRuleViewError(name: String, id: Id) extends ViewMissingError with OutputExpressionRelevant with Product with Serializable
  61. case class PackExpression(left: Expression, right: Expression) extends BinaryExpression with NullIntolerant with InputTypeChecks with Product with Serializable
    Annotations
    @ExpressionDescription()
  62. case class PassedTestExpr(child: Expression) extends UnaryExpression with Product with Serializable

    When the value is compatible with PassedInt (or TRUE_INT) true, otherwise false

  63. case class ProbabilityExpr(child: Expression) extends UnaryExpression with NullIntolerant with InputTypeChecks with Product with Serializable
    Annotations
    @ExpressionDescription()
  64. case class RngUUIDExpression(child: Expression) extends UnaryExpression with InputTypeChecks with Product with Serializable

    Creates a uuid from byte arrays or two longs

    Creates a uuid from byte arrays or two longs

    child

    the expression to produce a BinaryType

  65. case class RuleEngineRunner(ruleSuite: RuleSuite, children: Seq[Expression], userResultDataType: Option[DataType], compileEvals: Boolean, debugMode: Boolean, variablesPerFunc: Int, variableFuncGroup: Int, expressionOffsets: Array[Int], forceTriggerEval: Boolean, triggerCount: Int, extraConfig: Map[String, String], audited: Boolean = false, alreadyZero: Boolean = false) extends Expression with RuleEngineRunnerBase[RuleEngineRunner] with Product with Serializable
  66. trait RuleEngineRunnerBase[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

  67. case class RuleEngineRunnerEval(ruleSuite: RuleSuite, children: Seq[Expression], userResultDataType: Option[DataType], compileEvals: Boolean, debugMode: Boolean, variablesPerFunc: Int, variableFuncGroup: Int, expressionOffsets: Array[Int], forceTriggerEval: Boolean, triggerCount: Int, extraConfig: Map[String, String], audited: Boolean = false, alreadyZero: Boolean = false) extends Expression with RuleEngineRunnerBase[RuleEngineRunnerEval] with CodegenFallback with Product with Serializable
  68. sealed trait RuleError extends HasId with HasOutputText with HasNonIdText

    Base for RuleErrors

  69. case class RuleFolderRunner(ruleSuite: RuleSuite, children: Seq[Expression], resultDataType: () => DataType, compileEvals: Boolean, debugMode: Boolean, variablesPerFunc: Int, variableFuncGroup: Int, expressionOffsets: Array[Int], dataRef: AtomicReference[DataType], forceTriggerEval: Boolean, triggerCount: Int, extraConfig: Map[String, String], audited: Boolean = false, alreadyZero: Boolean = false) extends Expression with RuleFolderRunnerBase[RuleFolderRunner] with Product with Serializable

    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

  70. 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

  71. case class RuleFolderRunnerEval(ruleSuite: RuleSuite, children: Seq[Expression], resultDataType: () => DataType, compileEvals: Boolean, debugMode: Boolean, variablesPerFunc: Int, variableFuncGroup: Int, expressionOffsets: Array[Int], dataRef: AtomicReference[DataType], forceTriggerEval: Boolean, triggerCount: Int, extraConfig: Map[String, String], audited: Boolean = false, alreadyZero: Boolean = false) extends Expression with RuleFolderRunnerBase[RuleFolderRunnerEval] with CodegenFallback with Product with Serializable

    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

  72. trait RuleLogic[T <: RuleLogic[T]] extends quality.ExpressionRule with Serializable
  73. case class RuleNameError(name: String, id: Id) extends NameMissingError with RuleRelevant with Product with Serializable
  74. sealed trait RuleRelevant extends AnyRef
  75. case class RuleResultExpression(children: Seq[Expression]) extends Expression with InputTypeChecks with Product with Serializable
  76. case class RuleRunner(ruleSuite: RuleSuite, children: Seq[Expression], compileEvals: Boolean, variablesPerFunc: Int, variableFuncGroup: Int, extraConfig: Map[String, String], alreadyZero: Boolean = false) extends Expression with RuleRunnerBase[RuleRunner] with Product with Serializable
  77. trait RuleRunnerBase[T] extends Expression with NonSQLExpression with SplitCompilation with TriggerOnly

    Children will be rewritten by the plan, either by resolveWith, it's then re-incorporated into ruleSuite

    Children will be rewritten by the plan, either by resolveWith, it's then re-incorporated into ruleSuite

    The variablePerFunc (40) and variableFuncGroup (20) parameters are chosen due to 64k method limitation, is null for all of a 1600 column row blasts the 64k jvm limit. You may customise these values if a given rulesuite requires it.

  78. case class RuleRunnerEval(ruleSuite: RuleSuite, children: Seq[Expression], compileEvals: Boolean, variablesPerFunc: Int, variableFuncGroup: Int, extraConfig: Map[String, String], alreadyZero: Boolean = false) extends Expression with RuleRunnerBase[RuleRunnerEval] with CodegenFallback with Product with Serializable
  79. case class RuleSuiteResultDetailsExpr(child: Expression) extends UnaryExpression with NonSQLExpression with InputTypeChecks with Product with Serializable

    Consumes a RuleSuiteResult and returns RuleSuiteDetails

  80. case class RuleSyntaxError(id: Id, error: String) extends SyntaxError with RuleRelevant with Product with Serializable
  81. case class RuleViewError(name: String, id: Id) extends ViewMissingError with RuleRelevant with Product with Serializable
  82. sealed trait RuleWarning extends HasId with HasOutputText with HasNonIdText

    Base for RuleWarnings

  83. trait RunOnPassProcessor extends quality.RunOnPassProcessor with Serializable
  84. case class RunOnPassProcessorImpl(salience: Int, id: Id, rule: String, returnIfPassed: OutputExprLogic) extends RunOnPassProcessor with Serializable with Product

    Generates a result upon a pass, it is not evaluated otherwise and only evaluated if no other rule has higher salience.

    Generates a result upon a pass, it is not evaluated otherwise and only evaluated if no other rule has higher salience. It is not possible to have more than one rule evaluate the returnIfPassed.

    Annotations
    @SerialVersionUID()
  85. trait Runner extends Expression

    Shared trait for all runners

  86. case class SoftFailExpr(child: Expression) extends UnaryExpression with NullIntolerant with Product with Serializable
    Annotations
    @ExpressionDescription()
  87. case class SparkFunctionNameError(name: String, id: Id) extends NameMissingError with RuleRelevant with Product with Serializable
  88. trait SplitCompilation extends Expression with Runner

    Handles state management for separate compilation, the generated source code is cached locally and then compiled on demand

  89. case class StripResultTypes(child: Expression) extends UnaryExpression with CodegenFallback with InputTypeChecks with Product with Serializable
  90. sealed trait SyntaxError extends RuleError
  91. sealed trait SyntaxNameWarning extends SyntaxWarning
  92. sealed trait SyntaxWarning extends RuleWarning
  93. case class TopLevelBooleanGrouper() extends AbstractFunction10[CodegenContext, Runner, String, Seq[(VariableValue, Boolean)], Seq[(Trigger, (CodegenContext, ParameterInformation, Expression, Boolean) => Block)], ParameterInformation, String, () => Block, (String) => Block, Boolean, TriggerResult] with GroupBasedGrouper with Product with Serializable

    Groups by common top level Boolean And and EqualTo expressions with Literals, using buckets of hashes on the literal values.

    Groups by common top level Boolean And and EqualTo expressions with Literals, using buckets of hashes on the literal values. Using this approach can lead to a 10x spread increase over the default grouper for very large truth table style rules (tested against the 20k_rule_suite.csv in the BigRules testsuite).

    Only supported with Spark 3.2 and above

  94. case class Trigger(expression: Expression, index: Int, salience: Int, outputExpression: Option[Expression] = None) extends Product with Serializable
  95. trait TriggerGrouper extends AbstractFunction10[CodegenContext, Runner, String, Seq[(VariableValue, Boolean)], Seq[(Trigger, (CodegenContext, ParameterInformation, Expression, Boolean) => Block)], ParameterInformation, String, () => Block, (String) => Block, Boolean, TriggerResult]

    Allow customised grouping of runner triggers, DQ and ExpressionRunner should evaluate all so the default implementation is sufficient.

    Allow customised grouping of runner triggers, DQ and ExpressionRunner should evaluate all so the default implementation is sufficient. This abstraction was added as part of #129 due to 20k trigger rules.

    The return type is the list of function names to call and any extra common subexpressions needed to group

  96. trait TriggerOnly extends Expression with Runner

    Base trait for dq and expression

  97. case class TriggerResult(groupCalls: Iterator[String], subExpressions: String, extraClasses: Seq[(Int, CodeAndComment)], usedParameters: ParameterInformation) extends Product with Serializable
  98. case class Triggers(triggers: Seq[Trigger], lowestSalience: Int) extends GroupOr with Product with Serializable
  99. type TypedRowFunction[A, R] = (TypedColumn[Row, A]) => TypedColumn[Row, R]

    Easier type to work with for UserDefinedFunction A -> R on a Row

  100. case class UUIDToLongsExpression(child: Expression) extends UnaryExpression with InputTypeChecks with Product with Serializable

    Pulls Longs out from a uuid

    Pulls Longs out from a uuid

    child

    the UUID expression

  101. case class UnPackExpression(child: Expression) extends UnaryExpression with NullIntolerant with InputTypeChecks with Product with Serializable
    Annotations
    @ExpressionDescription()
  102. case class UnPackIdTripleExpression(child: Expression) extends UnaryExpression with InputTypeChecks with Product with Serializable
    Annotations
    @ExpressionDescription()
  103. case class UnifyResult(child: Expression) extends UnaryExpression with CodegenFallback with NonSQLExpression with Product with Serializable
  104. sealed trait ViewMissingError extends RuleError

Value Members

  1. object CollectRunner
  2. object DefaultProcessorImpl extends Serializable
  3. object ExpressionCompiler
  4. object ExpressionRuleExpr extends Serializable
  5. object ExpressionRunner
  6. object FlattenStruct
  7. object GroupAudit extends Serializable
  8. object GroupResults extends Serializable
  9. object LambdaFunctionImpl extends Serializable
  10. object MergeGroups extends Serializable
  11. object OfRuleOutputSuite

    Requires output expressions

  12. object OfRuleSuite extends OfX[RuleSuite, CombinedRuleSuiteRows]
  13. object OfRuleSuiteGroup extends OfX[RuleSuiteGroup, Seq[CombinedRuleSuiteRows]]
  14. object Pack
  15. object PassedTestExpr extends Serializable
  16. object ProcessDisableIfMissing extends RuleRunnerImports
  17. object RngUUIDExpression extends Serializable
  18. object RuleEngineRunnerImpl
  19. object RuleLogicUtils
  20. object RuleRegistrationFunctions
  21. object RuleResultExpression extends Serializable
  22. object RuleRunnerImpl
    Attributes
    protected[quality]
  23. object RuleSuiteFunctions
  24. object RuleSuiteResultDetailsExpr extends Serializable
  25. object RunOnPassProcessorImpl extends Serializable
  26. object Runners

    forwards to the server side implementations, when used in server, where stub is dropped, jar resolveWith can work

  27. object SoftFailedUtils
  28. object Triggers extends Serializable
  29. object UUIDToLongsExpression extends Serializable
  30. object UnPack
  31. object UnPackIdTriple
  32. object UnifyResult extends Serializable
  33. object UpdateFolderExpression
  34. object Validation
  35. object VariableProcessIfMissingFunctions
  36. object YamlDecoder

    2.0 (14.0dbr) needs security checks for allowed types.

    2.0 (14.0dbr) needs security checks for allowed types. Forcing it on 3.5 so we can debug

Inherited from AnyRef

Inherited from Any

Ungrouped