Skip to content

TypedImperativeAggregate Expressions

TypedImperativeAggregate[T] is an extension of the ImperativeAggregate abstraction for typed ImperativeAggregates.

Contract (Subset)

Interpreted Execution

eval(
  buffer: T): Any

Used when:

Implementations

Interpreted Expression Evaluation

eval(
  buffer: InternalRow): Any

eval is part of the Expression abstraction.


eval evaluates the result on getBufferObject for the given buffer InternalRow.

getBufferObject

getBufferObject(
  bufferRow: InternalRow): T // (1)!
getBufferObject(
  buffer: InternalRow,
  offset: Int): T
  1. Uses the mutableAggBufferOffset as the offset

getBufferObject...FIXME


getBufferObject is used when:

anyObjectType

anyObjectType: ObjectType

TypedImperativeAggregate creates an ObjectType when created that is used in getBufferObject.

aggBufferAttributes

aggBufferAttributes: Seq[AttributeReference]

aggBufferAttributes is part of the AggregateFunction abstraction.


aggBufferAttributes is a single buf AttributeReference of type BinaryType.