Package org.apache.drill.exec.expr
package org.apache.drill.exec.expr
Drill expression materialization and evaluation facilities.
Drill exposes an interface for defining custom scalar and aggregate functions.
These functions are found by scanning the classpath at runtime and allow users
to add their own functions without rebuilding Drill or changing cluster
configuration.
The classes that define these functions are actually decomposed at the source
level, copied into generated code blocks to evaluate an entire expression
tree. This generated source is built at run-time as schema is discovered.
This package contains the
DrillSimpleFunc
and DrillAggFunc
interfaces that can be implemented by users to define their own aggregate
and scalar functions.-
ClassDescriptionAbstractExecExprVisitor<T,
VAL, EXCEP extends Exception> Holder class that contains batch naming, batch and record index.BooleanPredicate<C extends Comparable<C>>Represents a (Nullable)?(Type)Holder instance.Creates a deep copy of a LogicalExpression.A code generator is responsible for generating the Java source code required to complete the implementation of an abstract template.ComparisonPredicate<C extends Comparable<C>>Comparison predicates for metadata filter pushdown.Utility class to build a debug string for an object in a standard format.Encapsulates a Java expression, defined as anything that is valid in the following code:
(expr)
Aggregate function interface.Represents the call of a function within a query and includes the actual arguments and a reference to the function declaration (as a "function holder.")Visitor that generates code for evalExtended variable descriptor ("holding container") for the variable which references the value holder ("FooHolder") that stores the value from a value vector.A visitor which visits a materialized logical expression, and build FilterPredicate If a visitXXX method returns null, that means the corresponding filter branch is not qualified for push down.FilterPredicate<T extends Comparable<T>>Wrapper around a representation of a "Holder" to represent that Holder as an expression.IsPredicate<C extends Comparable<C>>Uses this class to keep track # of Drill Logical Expressions that are put to JBlock.StatisticsProvider<T extends Comparable<T>>Wraps a value vector field to be read, providing metadata about the field.