Class WindowFunctionContext¶
-
class
WindowFunctionContext¶ Public Types
-
using
Comparator= std::function<WindowFunctionContext::WindowComparatorResult(const int64_t lhs, const int64_t rhs)>¶
Public Functions
-
WindowFunctionContext(const WindowFunctionContext&)¶
-
WindowFunctionContext &
operator=(const WindowFunctionContext&)¶
-
~WindowFunctionContext()¶
-
void
compute()¶
-
const Analyzer::WindowFunction *
getWindowFunction() const¶
-
const int8_t *
output() const¶
-
const int64_t *
aggregateState() const¶
-
const int64_t *
aggregateStateCount() const¶
-
int64_t
aggregateStatePendingOutputs() const¶
-
const int8_t *
partitionStart() const¶
-
const int8_t *
partitionEnd() const¶
-
size_t
elementCount() const¶
Private Functions
-
void
computePartition(const size_t partition_idx, int64_t *output_for_partition_buff)¶
-
void
computePartitionBuffer(int64_t *output_for_partition_buff, const size_t partition_size, const size_t off, const Analyzer::WindowFunction *window_func, const std::function<bool(const int64_t lhs, const int64_t rhs)> &comparator)¶
-
void
fillPartitionStart()¶
-
void
fillPartitionEnd()¶
-
const int32_t *
payload() const¶
-
const int32_t *
offsets() const¶
-
const int32_t *
counts() const¶
-
size_t
partitionCount() const¶
Private Members
-
const Analyzer::WindowFunction *
window_func_¶
-
std::vector<const int8_t *>
order_columns_¶
-
size_t
elem_count_¶
-
int8_t *
output_¶
-
int8_t *
partition_start_¶
-
int8_t *
partition_end_¶
-
AggregateState
aggregate_state_¶
-
const ExecutorDeviceType
device_type_¶
-
std::shared_ptr<RowSetMemoryOwner>
row_set_mem_owner_¶
-
const int32_t
dummy_count_¶
-
const int32_t
dummy_offset_¶
-
int32_t *
dummy_payload_¶
Private Static Functions
-
WindowFunctionContext::Comparator
makeComparator(const Analyzer::ColumnVar *col_var, const int8_t *partition_values, const int32_t *partition_indices, const bool nulls_first)¶
-
struct
AggregateState¶
-
using