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 CodeAndComment extends Serializable

    A wrapper for the source code to be compiled by CodeGenerator.

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

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

  7. class CodegenContext extends AnyRef

    A context for codegen, tracking a list of objects that could be passed into generated Java function.

  8. trait CodegenFallback extends Expression

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

  9. case class ExprCode(code: String, isNull: String, value: String) extends Product with Serializable

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

  10. abstract class GeneratedClass extends AnyRef

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

  11. class LazilyGeneratedOrdering extends Ordering[InternalRow] with KryoSerializable

    A lazily generated row ordering comparator.

  12. abstract class Predicate extends AnyRef

    Interface for generated predicate

  13. case class SubExprCodes(codes: Seq[String], states: Map[Expression, SubExprEliminationState]) extends Product with Serializable

    Codes and common subexpressions mapping used for subexpression elimination.

  14. case class SubExprEliminationState(isNull: String, value: String) extends Product with Serializable

    State used for subexpression elimination.

  15. class UnsafeArrayWriter extends AnyRef

  16. abstract class UnsafeRowJoiner extends AnyRef

  17. 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 CodeGenerator extends Logging

  3. object DumpByteCode

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

  4. object ExpressionCanonicalizer extends RuleExecutor[Expression]

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

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

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

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

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

    Generates bytecode that evaluates a boolean Expression on 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.

  11. object LazilyGeneratedOrdering extends Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped