object GenerateUnsafeProjection extends CodeGenerator[Seq[Expression], UnsafeProjection]
Generates a Projection that returns an UnsafeRow.
It generates the code for all the expressions, computes the total length for all the columns (can be accessed via variables), and then copies 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.
- Alphabetic
- By Inheritance
- GenerateUnsafeProjection
- CodeGenerator
- Logging
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def bind(in: Seq[Expression], inputSchema: Seq[Attribute]): Seq[Expression]
Binds an input expression to a given input schema
Binds an input expression to a given input schema
- Attributes
- protected
- Definition Classes
- GenerateUnsafeProjection → CodeGenerator
- def canSupport(dataType: DataType): Boolean
Returns true iff we support this data type.
- def canonicalize(in: Seq[Expression]): Seq[Expression]
Canonicalizes an input expression.
Canonicalizes an input expression. Used to avoid double caching expressions that differ only cosmetically.
- Attributes
- protected
- Definition Classes
- GenerateUnsafeProjection → CodeGenerator
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def create(references: Seq[Expression]): UnsafeProjection
Generates a class for a given input expression.
Generates a class for a given input expression. Called when there is not cached code already available.
- Attributes
- protected
- Definition Classes
- GenerateUnsafeProjection → CodeGenerator
- def createCode(ctx: CodegenContext, expressions: Seq[Expression], useSubexprElimination: Boolean = false): ExprCode
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def generate(expressions: Seq[Expression], subexpressionEliminationEnabled: Boolean): UnsafeProjection
- def generate(expressions: Seq[Expression]): UnsafeProjection
Generates the requested evaluator given already bound expression(s).
Generates the requested evaluator given already bound expression(s).
- Definition Classes
- CodeGenerator
- def generate(expressions: Seq[Expression], inputSchema: Seq[Attribute]): UnsafeProjection
Generates the requested evaluator binding the given expression(s) to the inputSchema.
Generates the requested evaluator binding the given expression(s) to the inputSchema.
- Definition Classes
- CodeGenerator
- val genericMutableRowType: String
- Attributes
- protected
- Definition Classes
- CodeGenerator
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def initializeLogIfNecessary(isInterpreter: Boolean, silent: Boolean): Boolean
- Attributes
- protected
- Definition Classes
- Logging
- def initializeLogIfNecessary(isInterpreter: Boolean): Unit
- Attributes
- protected
- Definition Classes
- Logging
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isTraceEnabled(): Boolean
- Attributes
- protected
- Definition Classes
- Logging
- def log: Logger
- Attributes
- protected
- Definition Classes
- Logging
- def logDebug(msg: => String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logDebug(msg: => String): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logError(msg: => String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logError(msg: => String): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logInfo(msg: => String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logInfo(msg: => String): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logName: String
- Attributes
- protected
- Definition Classes
- Logging
- def logTrace(msg: => String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logTrace(msg: => String): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logWarning(msg: => String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logWarning(msg: => String): Unit
- Attributes
- protected
- Definition Classes
- Logging
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def newCodeGenContext(): CodegenContext
Create a new codegen context for expression evaluator, used to store those expressions that don't support codegen
Create a new codegen context for expression evaluator, used to store those expressions that don't support codegen
- Definition Classes
- CodeGenerator
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()