org.apache.spark.sql.catalyst.expressions

codegen

package codegen

A collection of generators that build custom bytecode at runtime for performing the evaluation of catalyst expression.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. codegen
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. abstract class BaseMutableProjection extends MutableProjection

  2. class BaseOrdering extends Ordering[InternalRow]

    Inherits some default implementation for Java from Ordering[Row]

  3. abstract class BaseProjection extends Projection

    Java can not access Projection (in package object)

  4. class BufferHolder extends AnyRef

  5. class CodeGenContext extends AnyRef

    A context for codegen, which is used to bookkeeping the expressions those are not supported by codegen, then they are evaluated directly.

  6. abstract class CodeGenMutableRow extends MutableRow with BaseGenericInternalRow

  7. abstract class CodeGenerator[InType <: AnyRef, OutType <: AnyRef] extends Logging

    A base class for generators of byte code to perform expression evaluation.

  8. trait CodegenFallback extends Expression

    A trait that can be used to provide a fallback mode for expression code generation.

  9. abstract class GeneratedClass extends AnyRef

    A wrapper for generated class, defines a generate method so that we can pass extra objects into generated class.

  10. case class GeneratedExpressionCode(code: String, isNull: String, value: String) extends Product with Serializable

    Java source for evaluating an Expression given a InternalRow of input.

  11. abstract class Predicate extends AnyRef

    Interface for generated predicate

  12. class UnsafeArrayWriter extends AnyRef

  13. abstract class UnsafeRowJoiner extends AnyRef

  14. class UnsafeRowWriter extends AnyRef

Value Members

  1. object CodeFormatter

    An utility class that indents a block of code based on the curly braces and parentheses.

  2. object DumpByteCode

    Dumps the bytecode from a class to the screen using javap.

  3. object ExpressionCanonicalizer extends RuleExecutor[Expression]

    Canonicalizes an expression so those that differ only by names can reuse the same code.

  4. object GenerateMutableProjection extends CodeGenerator[Seq[Expression], () ⇒ MutableProjection]

    Generates byte code that produces a MutableRow object that can update itself based on a new input InternalRow for a fixed set of Expressions.

  5. object GenerateOrdering extends CodeGenerator[Seq[SortOrder], Ordering[InternalRow]] with Logging

    Generates bytecode for an Ordering of rows for a given set of expressions.

  6. object GeneratePredicate extends CodeGenerator[Expression, (InternalRow) ⇒ Boolean]

    Generates bytecode that evaluates a boolean Expression on a given input InternalRow.

  7. object GenerateProjection extends CodeGenerator[Seq[Expression], Projection]

    Generates bytecode that produces a new InternalRow object based on a fixed set of input Expressions and a given input InternalRow.

  8. object GenerateSafeProjection extends CodeGenerator[Seq[Expression], Projection]

    Generates byte code that produces a MutableRow object (not an UnsafeRow) that can update itself based on a new input InternalRow for a fixed set of Expressions.

  9. object GenerateUnsafeProjection extends CodeGenerator[Seq[Expression], UnsafeProjection]

    Generates a Projection that returns an UnsafeRow.

  10. object GenerateUnsafeRowJoiner extends CodeGenerator[(StructType, StructType), UnsafeRowJoiner]

    A code generator for concatenating two UnsafeRows into a single UnsafeRow.

Inherited from AnyRef

Inherited from Any

Ungrouped