Inherits some default implementation for Java from Ordering[Row]
Java can not access Projection (in package object)
A context for codegen, which is used to bookkeeping the expressions those are not supported by codegen, then they are evaluated directly.
A context for codegen, which is used to bookkeeping the expressions those are not supported
by codegen, then they are evaluated directly. The unsupported expression is appended at the
end of references
, the position of it is kept in the code, used to access and evaluate it.
A base class for generators of byte code to perform expression evaluation.
A base class for generators of byte code to perform expression evaluation. Includes a set of helpers for referring to Catalyst types and building trees that perform evaluation of individual expressions.
A trait that can be used to provide a fallback mode for expression code generation.
A wrapper for generated class, defines a generate
method so that we can pass extra objects
into generated class.
Java source for evaluating an Expression given a InternalRow of input.
Java source for evaluating an Expression given a InternalRow of input.
The sequence of statements required to evaluate the expression.
A term that holds a boolean value representing whether the expression evaluated to null.
A term for a possible primitive value of the result of the evaluation. Not
valid if isNull
is set to true
.
Interface for generated predicate
An utility class that indents a block of code based on the curly braces and parentheses.
An utility class that indents a block of code based on the curly braces and parentheses. This is used to prettify generated code when in debug mode (or exceptions).
Written by Matei Zaharia.
:: DeveloperApi :: Dumps the bytecode from a class to the screen using javap.
:: DeveloperApi :: Dumps the bytecode from a class to the screen using javap.
Canonicalizes an expression so those that differ only by names can reuse the same code.
Generates byte code that produces a MutableRow object that can update itself based on a new input InternalRow for a fixed set of Expressions.
Generates bytecode for an Ordering of rows for a given set of expressions.
Generates bytecode that evaluates a boolean Expression on a given input InternalRow.
Generates bytecode that produces a new InternalRow object based on a fixed set of input Expressions and a given input InternalRow.
Generates bytecode that produces a new InternalRow object based on a fixed set of input Expressions and a given input InternalRow. The returned InternalRow object is custom generated based on the output types of the Expression to avoid boxing of primitive values.
Generates byte code that produces a MutableRow object that can update itself based on a new input InternalRow for a fixed set of Expressions.
Generates a Projection that returns an UnsafeRow.
Generates a Projection that returns an UnsafeRow.
It generates the code for all the expressions, compute the total length for all the columns (can be accessed via variables), and then copy the data into a scratch buffer space in the form of UnsafeRow (the scratch buffer will grow as needed).
Note: The returned UnsafeRow will be pointed to a scratch buffer inside the projection.
A code generator for concatenating two UnsafeRows into a single UnsafeRow.
A code generator for concatenating two UnsafeRows into a single UnsafeRow.
The high level algorithm is:
1. Concatenate the two bitsets together into a single one, taking padding into account. 2. Move fixed-length data. 3. Move variable-length data. 4. Update the offset position (i.e. the upper 32 bits in the fixed length part) for all variable-length data.
A collection of generators that build custom bytecode at runtime for performing the evaluation of catalyst expression.