CodeGeneratorWithInterpretedFallback Generators¶
CodeGeneratorWithInterpretedFallback
is an abstraction of codegen object generators that can create OUT
objects for codegen and interpreted evaluation paths.
CodeGeneratorWithInterpretedFallback
is a Scala type constructor (generic class) with IN
and OUT
type aliases.
CodeGeneratorWithInterpretedFallback[IN, OUT]
CodeGeneratorWithInterpretedFallback | IN | OUT |
---|---|---|
RowOrdering | SortOrders (Seq[SortOrder] ) | BaseOrdering |
Predicate | Expression | BasePredicate |
MutableProjection | Expressions (Seq[Expression] ) | MutableProjection |
UnsafeProjection | Expressions (Seq[Expression] ) | UnsafeProjection |
SafeProjection | Expressions (Seq[Expression] ) | Projection |
Contract¶
createCodeGeneratedObject¶
createCodeGeneratedObject(
in: IN): OUT
See:
Used when:
CodeGeneratorWithInterpretedFallback
is requested to create anOUT
object
createInterpretedObject¶
createInterpretedObject(
in: IN): OUT
See:
Used when:
CodeGeneratorWithInterpretedFallback
is requested to create anOUT
object (after createCodeGeneratedObject failed with a non-fatal exception)
Implementations¶
- MutableProjection
- Predicate
- RowOrdering
SafeProjection
- UnsafeProjection
Creating OUT Object¶
createObject(
in: IN): OUT
createObject
createCodeGeneratedObject.
In case of a non-fatal exception, createObject
prints out the following WARN message to the logs and createInterpretedObject.
Expr codegen error and falling back to interpreter mode
createObject
is used when:
MutableProjection
utility is used to create a MutableProjectionPredicate
utility is used to create a BasePredicateRowOrdering
utility is used to create a BaseOrderingSafeProjection
utility is used to create aProjection
UnsafeProjection
utility is used to create an UnsafeProjection