Skip to content

WindowFunctionFrame

WindowFunctionFrame is an abstraction of window frames.

Contract

currentLowerBound

currentLowerBound(): Int

Used when:

  • WindowInPandasExec (PySpark) physical operator is requested to doExecute

currentUpperBound

currentUpperBound(): Int

Used when:

  • WindowInPandasExec (PySpark) physical operator is requested to doExecute

prepare

prepare(
  rows: ExternalAppendOnlyUnsafeRowArray): Unit

Prepares the frame (with the given ExternalAppendOnlyUnsafeRowArray)

Used when:

  • WindowExec physical operator is requested to doExecute
  • WindowInPandasExec (PySpark) physical operator is requested to doExecute

write

write(
  index: Int,
  current: InternalRow): Unit

Used when:

  • WindowExec physical operator is requested to doExecute
  • WindowInPandasExec (PySpark) physical operator is requested to doExecute

Implementations

  • OffsetWindowFunctionFrameBase
  • SlidingWindowFunctionFrame
  • UnboundedFollowingWindowFunctionFrame
  • UnboundedPrecedingWindowFunctionFrame

UnboundedWindowFunctionFrame

UnboundedWindowFunctionFrame is a WindowFunctionFrame that gives the same value for every row in a partition.

UnboundedWindowFunctionFrame is created for AggregateFunctions (in AggregateExpressions) or AggregateWindowFunctions with no frame defined (i.e. no rowsBetween or rangeBetween) that boils down to using the WindowExec.md#entire-partition-frame[entire partition frame].