OmniSciDB
a5dc49c757
|
#include <WindowContext.h>
Classes | |
struct | AggregateState |
Public Types | |
enum | WindowComparatorResult { WindowComparatorResult::LT, WindowComparatorResult::EQ, WindowComparatorResult::GT } |
using | Comparator = std::function< WindowFunctionContext::WindowComparatorResult(const int64_t lhs, const int64_t rhs)> |
Public Member Functions | |
WindowFunctionContext (const Analyzer::WindowFunction *window_func, const size_t elem_count, const ExecutorDeviceType device_type, std::shared_ptr< RowSetMemoryOwner > row_set_mem_owner) | |
WindowFunctionContext (const Analyzer::WindowFunction *window_func, QueryPlanHash cache_key, const std::shared_ptr< HashJoin > &partitions, const size_t elem_count, const ExecutorDeviceType device_type, std::shared_ptr< RowSetMemoryOwner > row_set_mem_owner, size_t aggregation_tree_fan_out=g_window_function_aggregation_tree_fanout) | |
WindowFunctionContext (const WindowFunctionContext &)=delete | |
WindowFunctionContext & | operator= (const WindowFunctionContext &)=delete |
~WindowFunctionContext () | |
void | addOrderColumn (const int8_t *column, const SQLTypeInfo &ti, const std::vector< std::shared_ptr< Chunk_NS::Chunk >> &chunks_owner) |
void | setSortedPartitionCacheKey (QueryPlanHash cache_key) |
void | addColumnBufferForWindowFunctionExpression (const int8_t *column, const std::vector< std::shared_ptr< Chunk_NS::Chunk >> &chunks_owner) |
std::vector< Comparator > | createComparator (size_t partition_idx) |
void | compute (std::unordered_map< QueryPlanHash, size_t > &sorted_partition_key_ref_count_map, std::unordered_map< QueryPlanHash, std::shared_ptr< std::vector< int64_t >>> &sorted_partition_cache, std::unordered_map< QueryPlanHash, AggregateTreeForWindowFraming > &aggregate_tree_map) |
const Analyzer::WindowFunction * | getWindowFunction () const |
const int8_t * | output () const |
const int64_t * | sortedPartition () const |
const int64_t * | aggregateState () const |
const int64_t * | aggregateStateCount () const |
int64_t | aggregateStatePendingOutputs () const |
const int64_t * | partitionStartOffset () const |
const int64_t * | partitionNumCountBuf () const |
const std::vector< const int8_t * > & | getColumnBufferForWindowFunctionExpressions () const |
const std::vector< const int8_t * > & | getOrderKeyColumnBuffers () const |
const std::vector< SQLTypeInfo > & | getOrderKeyColumnBufferTypes () const |
int64_t ** | getAggregationTreesForIntegerTypeWindowExpr () const |
double ** | getAggregationTreesForDoubleTypeWindowExpr () const |
SumAndCountPair< int64_t > ** | getDerivedAggregationTreesForIntegerTypeWindowExpr () const |
SumAndCountPair< double > ** | getDerivedAggregationTreesForDoubleTypeWindowExpr () const |
size_t * | getAggregateTreeDepth () const |
size_t | getAggregateTreeFanout () const |
int64_t * | getNullValueStartPos () const |
int64_t * | getNullValueEndPos () const |
const int8_t * | partitionStart () const |
const int8_t * | partitionEnd () const |
size_t | elementCount () const |
const int32_t * | payload () const |
const int32_t * | offsets () const |
const int32_t * | counts () const |
size_t | partitionCount () const |
const bool | needsToBuildAggregateTree () const |
Static Public Attributes | |
static const int | NUM_EXECUTION_DEVICES = 1 |
Private Member Functions | |
void | computePartitionBuffer (const size_t partition_idx, int64_t *output_for_partition_buff, const Analyzer::WindowFunction *window_func) |
void | sortPartition (const size_t partition_idx, int64_t *output_for_partition_buff, bool should_parallelize) |
void | computeNullRangeOfSortedPartition (const SQLTypeInfo &order_col_ti, size_t partition_idx, const int32_t *original_col_idx_buf, const int64_t *ordered_col_idx_buf) |
void | buildAggregationTreeForPartition (SqlWindowFunctionKind agg_type, size_t partition_idx, size_t partition_size, const int32_t *original_rowid_buf, const int64_t *ordered_rowid_buf, const SQLTypeInfo &input_col_ti) |
void | fillPartitionStart () |
void | fillPartitionEnd () |
void | resizeStorageForWindowFraming (bool const for_reuse=false) |
const QueryPlanHash | computeAggregateTreeCacheKey () const |
Static Private Member Functions | |
static Comparator | makeComparator (const Analyzer::ColumnVar *col_var, const int8_t *partition_values, const int32_t *partition_indices, const bool asc_ordering, const bool nulls_first) |
Definition at line 136 of file WindowContext.h.
using WindowFunctionContext::Comparator = std::function<WindowFunctionContext::WindowComparatorResult(const int64_t lhs, const int64_t rhs)> |
Definition at line 181 of file WindowContext.h.
|
strong |
Enumerator | |
---|---|
LT | |
EQ | |
GT |
Definition at line 178 of file WindowContext.h.
WindowFunctionContext::WindowFunctionContext | ( | const Analyzer::WindowFunction * | window_func, |
const size_t | elem_count, | ||
const ExecutorDeviceType | device_type, | ||
std::shared_ptr< RowSetMemoryOwner > | row_set_mem_owner | ||
) |
Definition at line 50 of file WindowContext.cpp.
References aggregate_trees_depth_, CHECK_LE, checked_calloc(), checked_malloc(), dummy_payload_, elem_count_, Analyzer::WindowFunction::getKind(), Analyzer::WindowFunction::hasFraming(), gpu_enabled::iota(), Analyzer::WindowFunction::isMissingValueFillingFunction(), NTH_VALUE, ordered_partition_null_end_pos_, ordered_partition_null_start_pos_, partition_start_offset_, and window_func_.
WindowFunctionContext::WindowFunctionContext | ( | const Analyzer::WindowFunction * | window_func, |
QueryPlanHash | cache_key, | ||
const std::shared_ptr< HashJoin > & | partitions, | ||
const size_t | elem_count, | ||
const ExecutorDeviceType | device_type, | ||
std::shared_ptr< RowSetMemoryOwner > | row_set_mem_owner, | ||
size_t | aggregation_tree_fan_out = g_window_function_aggregation_tree_fanout |
||
) |
Definition at line 94 of file WindowContext.cpp.
References aggregate_trees_depth_, CHECK, checked_calloc(), counts(), Analyzer::WindowFunction::hasFraming(), Analyzer::WindowFunction::isMissingValueFillingFunction(), ordered_partition_null_end_pos_, ordered_partition_null_start_pos_, gpu_enabled::partial_sum(), partition_start_offset_, partitionCount(), partitions_, and window_func_.
|
delete |
WindowFunctionContext::~WindowFunctionContext | ( | ) |
Definition at line 137 of file WindowContext.cpp.
References aggregate_trees_depth_, dummy_payload_, ordered_partition_null_end_pos_, ordered_partition_null_start_pos_, partition_end_, partition_start_, and partition_start_offset_.
void WindowFunctionContext::addColumnBufferForWindowFunctionExpression | ( | const int8_t * | column, |
const std::vector< std::shared_ptr< Chunk_NS::Chunk >> & | chunks_owner | ||
) |
Definition at line 166 of file WindowContext.cpp.
References window_func_expr_columns_, and window_func_expr_columns_owner_.
void WindowFunctionContext::addOrderColumn | ( | const int8_t * | column, |
const SQLTypeInfo & | ti, | ||
const std::vector< std::shared_ptr< Chunk_NS::Chunk >> & | chunks_owner | ||
) |
Definition at line 157 of file WindowContext.cpp.
References order_columns_, order_columns_owner_, and order_columns_ti_.
const int64_t * WindowFunctionContext::aggregateState | ( | ) | const |
Definition at line 993 of file WindowContext.cpp.
References aggregate_state_, CHECK, Analyzer::WindowFunction::getKind(), WindowFunctionContext::AggregateState::val, window_func_, and window_function_is_aggregate().
const int64_t * WindowFunctionContext::aggregateStateCount | ( | ) | const |
Definition at line 998 of file WindowContext.cpp.
References aggregate_state_, CHECK, WindowFunctionContext::AggregateState::count, Analyzer::WindowFunction::getKind(), window_func_, and window_function_is_aggregate().
int64_t WindowFunctionContext::aggregateStatePendingOutputs | ( | ) | const |
Definition at line 1013 of file WindowContext.cpp.
References aggregate_state_, CHECK, Analyzer::WindowFunction::getKind(), WindowFunctionContext::AggregateState::outputs, window_func_, and window_function_is_aggregate().
|
private |
Definition at line 1473 of file WindowContext.cpp.
References AggregateTreeForWindowFraming::aggregate_tree_for_double_type_, AggregateTreeForWindowFraming::aggregate_tree_for_integer_type_, aggregate_trees_, AggregateTreeForWindowFraming::aggregate_trees_depth_, aggregate_trees_depth_, aggregate_trees_fan_out_, anonymous_namespace{WindowContext.cpp}::allow_framing_on_time_or_date(), AVG, CHECK, COUNT, decimal_to_int_type(), AggregateTreeForWindowFraming::derived_aggregate_tree_for_double_type_, AggregateTreeForWindowFraming::derived_aggregate_tree_for_integer_type_, get_int_type_by_size(), SQLTypeInfo::get_size(), SQLTypeInfo::get_type(), Analyzer::WindowFunction::getKind(), SQLTypeInfo::is_boolean(), SQLTypeInfo::is_decimal(), SQLTypeInfo::is_fp(), SQLTypeInfo::is_integer(), SQLTypeInfo::is_number(), SQLTypeInfo::is_time_or_date(), kBIGINT, kBOOLEAN, kDECIMAL, kDOUBLE, kFLOAT, kINT, kNUMERIC, kSMALLINT, kTINYINT, MAX, MIN, offsets(), ordered_partition_null_end_pos_, ordered_partition_null_start_pos_, segment_trees_owned_, toString(), run_benchmark_import::type, UNREACHABLE, window_func_, and window_func_expr_columns_.
Referenced by compute().
void WindowFunctionContext::compute | ( | std::unordered_map< QueryPlanHash, size_t > & | sorted_partition_key_ref_count_map, |
std::unordered_map< QueryPlanHash, std::shared_ptr< std::vector< int64_t >>> & | sorted_partition_cache, | ||
std::unordered_map< QueryPlanHash, AggregateTreeForWindowFraming > & | aggregate_tree_map | ||
) |
Definition at line 549 of file WindowContext.cpp.
References aggregate_trees_, AggregateTreeForWindowFraming::aggregate_trees_depth_, aggregate_trees_depth_, buildAggregationTreeForPartition(), CHECK, computeAggregateTreeCacheKey(), computeNullRangeOfSortedPartition(), computePartitionBuffer(), counts(), DEBUG_TIMER, elem_count_, fillPartitionEnd(), fillPartitionStart(), g_enable_parallel_window_partition_compute, g_parallel_window_partition_compute_threshold, Analyzer::WindowFunction::getArgs(), Analyzer::WindowFunction::getKind(), Analyzer::WindowFunction::getOrderKeys(), Analyzer::WindowFunction::hasFraming(), Analyzer::WindowFunction::isMissingValueFillingFunction(), needsToBuildAggregateTree(), offsets(), output_, threading_serial::parallel_for(), partitionCount(), payload(), resizeStorageForWindowFraming(), row_set_mem_owner_, sorted_partition_buf_, sorted_partition_cache_key_, sortPartition(), logger::thread_local_ids(), toString(), VLOG, window_func_, anonymous_namespace{WindowContext.cpp}::window_function_buffer_element_size(), window_function_is_aggregate(), and window_function_requires_peer_handling().
|
private |
Definition at line 1814 of file WindowContext.cpp.
References Analyzer::WindowFunction::getArgs(), Analyzer::WindowFunction::getCollation(), Analyzer::WindowFunction::getKind(), Analyzer::WindowFunction::getOrderKeys(), Analyzer::WindowFunction::getPartitionKeys(), hash_value(), toString(), and window_func_.
Referenced by compute().
|
private |
Definition at line 849 of file WindowContext.cpp.
References counts(), logger::FATAL, SQLTypeInfo::get_size(), SQLTypeInfo::get_type(), SQLTypeInfo::is_boolean(), SQLTypeInfo::is_decimal(), SQLTypeInfo::is_fp(), SQLTypeInfo::is_integer(), SQLTypeInfo::is_time_or_date(), kDOUBLE, kFLOAT, LOG, null_val_bit_pattern(), order_columns_, ordered_partition_null_end_pos_, and ordered_partition_null_start_pos_.
Referenced by compute().
|
private |
Definition at line 1312 of file WindowContext.cpp.
References anonymous_namespace{WindowContext.cpp}::apply_lag_to_partition(), anonymous_namespace{WindowContext.cpp}::apply_nth_value_to_partition(), anonymous_namespace{WindowContext.cpp}::apply_original_index_to_partition(), anonymous_namespace{WindowContext.cpp}::apply_permutation_to_partition(), run_benchmark_import::args, AVG, BACKWARD_FILL, CHECK, CHECK_EQ, CONDITIONAL_CHANGE_EVENT, gpu_enabled::copy(), COUNT, COUNT_IF, counts(), createComparator(), CUME_DIST, DENSE_RANK, FIRST_VALUE, FIRST_VALUE_IN_FRAME, FORWARD_FILL, anonymous_namespace{WindowContext.cpp}::get_int_constant_from_expr(), anonymous_namespace{WindowContext.cpp}::get_lag_or_lead_argument(), anonymous_namespace{WindowContext.cpp}::get_target_idx_for_first_or_last_value_func(), Analyzer::WindowFunction::getArgs(), Analyzer::WindowFunction::getKind(), GT, anonymous_namespace{WindowContext.cpp}::index_to_cume_dist(), anonymous_namespace{WindowContext.cpp}::index_to_dense_rank(), anonymous_namespace{WindowContext.cpp}::index_to_ntile(), anonymous_namespace{WindowContext.cpp}::index_to_partition_end(), anonymous_namespace{WindowContext.cpp}::index_to_percent_rank(), anonymous_namespace{WindowContext.cpp}::index_to_rank(), anonymous_namespace{WindowContext.cpp}::index_to_row_number(), LAG, LAG_IN_FRAME, LAST_VALUE, LAST_VALUE_IN_FRAME, LEAD, LEAD_IN_FRAME, LT, MAX, MIN, anonymous_namespace{Utm.h}::n, NTH_VALUE, NTH_VALUE_IN_FRAME, NTILE, offsets(), partitionEnd(), payload(), PERCENT_RANK, RANK, ROW_NUMBER, SUM, SUM_IF, window_func_, and window_function_requires_peer_handling().
Referenced by compute().
const int32_t * WindowFunctionContext::counts | ( | ) | const |
Definition at line 1792 of file WindowContext.cpp.
References device_type_, dummy_count_, and partitions_.
Referenced by CodeGenerator::codegenFixedLengthColVarInWindow(), Executor::codegenLoadPartitionBuffers(), compute(), computeNullRangeOfSortedPartition(), computePartitionBuffer(), fillPartitionEnd(), fillPartitionStart(), partitionCount(), sortPartition(), and WindowFunctionContext().
std::vector< WindowFunctionContext::Comparator > WindowFunctionContext::createComparator | ( | size_t | partition_idx | ) |
Definition at line 904 of file WindowContext.cpp.
References CHECK, CHECK_EQ, Analyzer::WindowFunction::getCollation(), Analyzer::WindowFunction::getOrderKeys(), makeComparator(), offsets(), order_columns_, payload(), and window_func_.
Referenced by computePartitionBuffer(), and sortPartition().
size_t WindowFunctionContext::elementCount | ( | ) | const |
Definition at line 1026 of file WindowContext.cpp.
References elem_count_.
Referenced by Executor::codegenCurrentPartitionIndex().
|
private |
Definition at line 1730 of file WindowContext.cpp.
References agg_count_distinct_bitmap(), Bitmap, checked_calloc(), counts(), CPU, elem_count_, gpu_enabled::partial_sum(), partition_end_, partition_start_offset_, partitionCount(), and partitions_.
Referenced by compute().
|
private |
Definition at line 1696 of file WindowContext.cpp.
References agg_count_distinct_bitmap(), Bitmap, checked_calloc(), counts(), CPU, elem_count_, gpu_enabled::partial_sum(), partition_start_, partition_start_offset_, partitionCount(), and partitions_.
Referenced by compute().
size_t * WindowFunctionContext::getAggregateTreeDepth | ( | ) | const |
Definition at line 1680 of file WindowContext.cpp.
References aggregate_trees_depth_.
size_t WindowFunctionContext::getAggregateTreeFanout | ( | ) | const |
Definition at line 1684 of file WindowContext.cpp.
References aggregate_trees_fan_out_.
double ** WindowFunctionContext::getAggregationTreesForDoubleTypeWindowExpr | ( | ) | const |
Definition at line 1664 of file WindowContext.cpp.
References AggregateTreeForWindowFraming::aggregate_tree_for_double_type_, and aggregate_trees_.
int64_t ** WindowFunctionContext::getAggregationTreesForIntegerTypeWindowExpr | ( | ) | const |
Definition at line 1660 of file WindowContext.cpp.
References AggregateTreeForWindowFraming::aggregate_tree_for_integer_type_, and aggregate_trees_.
const std::vector< const int8_t * > & WindowFunctionContext::getColumnBufferForWindowFunctionExpressions | ( | ) | const |
Definition at line 174 of file WindowContext.cpp.
References window_func_expr_columns_.
SumAndCountPair< double > ** WindowFunctionContext::getDerivedAggregationTreesForDoubleTypeWindowExpr | ( | ) | const |
Definition at line 1675 of file WindowContext.cpp.
References aggregate_trees_, and AggregateTreeForWindowFraming::derived_aggregate_tree_for_double_type_.
SumAndCountPair< int64_t > ** WindowFunctionContext::getDerivedAggregationTreesForIntegerTypeWindowExpr | ( | ) | const |
Definition at line 1669 of file WindowContext.cpp.
References aggregate_trees_, and AggregateTreeForWindowFraming::derived_aggregate_tree_for_integer_type_.
int64_t * WindowFunctionContext::getNullValueEndPos | ( | ) | const |
Definition at line 1692 of file WindowContext.cpp.
References ordered_partition_null_end_pos_.
Referenced by Executor::codegenFrameNullRange().
int64_t * WindowFunctionContext::getNullValueStartPos | ( | ) | const |
Definition at line 1688 of file WindowContext.cpp.
References ordered_partition_null_start_pos_.
Referenced by Executor::codegenFrameNullRange().
const std::vector< const int8_t * > & WindowFunctionContext::getOrderKeyColumnBuffers | ( | ) | const |
Definition at line 178 of file WindowContext.cpp.
References order_columns_.
Referenced by Executor::codegenLoadOrderKeyBufPtr(), and Executor::codegenWindowFrameBounds().
const std::vector< SQLTypeInfo > & WindowFunctionContext::getOrderKeyColumnBufferTypes | ( | ) | const |
Definition at line 183 of file WindowContext.cpp.
References order_columns_ti_.
Referenced by CodeGenerator::codegenFixedLengthColVar(), and Executor::codegenLoadOrderKeyBufPtr().
const Analyzer::WindowFunction * WindowFunctionContext::getWindowFunction | ( | ) | const |
Definition at line 980 of file WindowContext.cpp.
References window_func_.
Referenced by Executor::codegenCurrentPartitionIndex(), CodeGenerator::codegenFixedLengthColVar(), CodeGenerator::codegenFixedLengthColVarInWindow(), Executor::codegenLoadCurrentValueFromColBuf(), Executor::codegenLoadOrderKeyBufPtr(), Executor::codegenWindowFrameBounds(), Executor::codegenWindowFunction(), Executor::getFirstOrderColTypeInfo(), and Executor::getOrderKeyTypeName().
|
staticprivate |
Definition at line 1174 of file WindowContext.cpp.
References logger::FATAL, Analyzer::Expr::get_type_info(), kDOUBLE, kFLOAT, and LOG.
Referenced by createComparator().
const bool WindowFunctionContext::needsToBuildAggregateTree | ( | ) | const |
Definition at line 1809 of file WindowContext.cpp.
References elem_count_, Analyzer::WindowFunction::hasAggregateTreeRequiredWindowFunc(), Analyzer::WindowFunction::hasFraming(), and window_func_.
Referenced by compute().
const int32_t * WindowFunctionContext::offsets | ( | ) | const |
Definition at line 1784 of file WindowContext.cpp.
References device_type_, dummy_offset_, and partitions_.
Referenced by buildAggregationTreeForPartition(), compute(), computePartitionBuffer(), createComparator(), and partitionCount().
|
delete |
const int8_t * WindowFunctionContext::output | ( | ) | const |
Definition at line 984 of file WindowContext.cpp.
References output_.
Referenced by CodeGenerator::codegenWindowPosition().
size_t WindowFunctionContext::partitionCount | ( | ) | const |
Definition at line 1800 of file WindowContext.cpp.
References CHECK_GE, counts(), offsets(), and partitions_.
Referenced by Executor::codegenCurrentPartitionIndex(), compute(), fillPartitionEnd(), fillPartitionStart(), resizeStorageForWindowFraming(), and WindowFunctionContext().
const int8_t * WindowFunctionContext::partitionEnd | ( | ) | const |
Definition at line 1022 of file WindowContext.cpp.
References partition_end_.
Referenced by computePartitionBuffer().
const int64_t * WindowFunctionContext::partitionNumCountBuf | ( | ) | const |
Definition at line 1008 of file WindowContext.cpp.
References CHECK, and partition_start_offset_.
Referenced by Executor::codegenCurrentPartitionIndex().
const int8_t * WindowFunctionContext::partitionStart | ( | ) | const |
const int64_t * WindowFunctionContext::partitionStartOffset | ( | ) | const |
Definition at line 1003 of file WindowContext.cpp.
References CHECK, and partition_start_offset_.
Referenced by Executor::codegenLoadPartitionBuffers().
const int32_t * WindowFunctionContext::payload | ( | ) | const |
Definition at line 1775 of file WindowContext.cpp.
References device_type_, dummy_payload_, and partitions_.
Referenced by Executor::codegenCurrentPartitionIndex(), Executor::codegenLoadPartitionBuffers(), compute(), computePartitionBuffer(), and createComparator().
|
private |
Definition at line 1454 of file WindowContext.cpp.
References aggregate_trees_, partitionCount(), AggregateTreeForWindowFraming::resizeStorageForWindowFraming(), and segment_trees_owned_.
Referenced by compute().
void WindowFunctionContext::setSortedPartitionCacheKey | ( | QueryPlanHash | cache_key | ) |
Definition at line 188 of file WindowContext.cpp.
References sorted_partition_cache_key_.
const int64_t * WindowFunctionContext::sortedPartition | ( | ) | const |
Definition at line 988 of file WindowContext.cpp.
References CHECK, and sorted_partition_buf_.
Referenced by Executor::codegenLoadPartitionBuffers().
|
private |
Definition at line 933 of file WindowContext.cpp.
References counts(), createComparator(), GT, gpu_enabled::iota(), LT, and gpu_enabled::sort().
Referenced by compute().
|
private |
Definition at line 334 of file WindowContext.h.
Referenced by aggregateState(), aggregateStateCount(), and aggregateStatePendingOutputs().
|
private |
Definition at line 321 of file WindowContext.h.
Referenced by buildAggregationTreeForPartition(), compute(), getAggregationTreesForDoubleTypeWindowExpr(), getAggregationTreesForIntegerTypeWindowExpr(), getDerivedAggregationTreesForDoubleTypeWindowExpr(), getDerivedAggregationTreesForIntegerTypeWindowExpr(), and resizeStorageForWindowFraming().
|
private |
Definition at line 323 of file WindowContext.h.
Referenced by buildAggregationTreeForPartition(), compute(), getAggregateTreeDepth(), WindowFunctionContext(), and ~WindowFunctionContext().
|
private |
Definition at line 322 of file WindowContext.h.
Referenced by buildAggregationTreeForPartition(), and getAggregateTreeFanout().
|
private |
Definition at line 335 of file WindowContext.h.
|
private |
Definition at line 339 of file WindowContext.h.
Referenced by counts().
|
private |
Definition at line 340 of file WindowContext.h.
Referenced by offsets().
|
private |
Definition at line 345 of file WindowContext.h.
Referenced by payload(), WindowFunctionContext(), and ~WindowFunctionContext().
|
private |
Definition at line 310 of file WindowContext.h.
Referenced by compute(), elementCount(), fillPartitionEnd(), fillPartitionStart(), needsToBuildAggregateTree(), and WindowFunctionContext().
|
static |
Definition at line 143 of file WindowContext.h.
Referenced by Executor::aggregateWindowStatePtr(), Executor::codegenAggregateWindowState(), Executor::codegenCurrentPartitionIndex(), CodeGenerator::codegenFixedLengthColVarInWindow(), Executor::codegenFrameNullRange(), Executor::codegenLoadOrderKeyBufPtr(), Executor::codegenLoadPartitionBuffers(), Executor::codegenWindowAvgEpilogue(), Executor::codegenWindowFunctionAggregate(), Executor::codegenWindowFunctionAggregateCalls(), Executor::codegenWindowNavigationFunctionOnFrame(), and Executor::codegenWindowResetStateControlFlow().
|
private |
Definition at line 305 of file WindowContext.h.
Referenced by addOrderColumn(), computeNullRangeOfSortedPartition(), createComparator(), and getOrderKeyColumnBuffers().
|
private |
Definition at line 303 of file WindowContext.h.
Referenced by addOrderColumn().
|
private |
Definition at line 306 of file WindowContext.h.
Referenced by addOrderColumn(), and getOrderKeyColumnBufferTypes().
|
private |
Definition at line 325 of file WindowContext.h.
Referenced by buildAggregationTreeForPartition(), computeNullRangeOfSortedPartition(), getNullValueEndPos(), WindowFunctionContext(), and ~WindowFunctionContext().
|
private |
Definition at line 324 of file WindowContext.h.
Referenced by buildAggregationTreeForPartition(), computeNullRangeOfSortedPartition(), getNullValueStartPos(), WindowFunctionContext(), and ~WindowFunctionContext().
|
private |
Definition at line 312 of file WindowContext.h.
|
private |
Definition at line 300 of file WindowContext.h.
|
private |
Definition at line 332 of file WindowContext.h.
Referenced by fillPartitionEnd(), partitionEnd(), and ~WindowFunctionContext().
|
private |
Definition at line 329 of file WindowContext.h.
Referenced by fillPartitionStart(), partitionStart(), and ~WindowFunctionContext().
|
private |
Definition at line 326 of file WindowContext.h.
Referenced by fillPartitionEnd(), fillPartitionStart(), partitionNumCountBuf(), partitionStartOffset(), WindowFunctionContext(), and ~WindowFunctionContext().
|
private |
Definition at line 308 of file WindowContext.h.
Referenced by counts(), fillPartitionEnd(), fillPartitionStart(), offsets(), partitionCount(), payload(), and WindowFunctionContext().
|
private |
Definition at line 336 of file WindowContext.h.
Referenced by compute().
|
private |
Definition at line 320 of file WindowContext.h.
Referenced by buildAggregationTreeForPartition(), and resizeStorageForWindowFraming().
|
private |
Definition at line 313 of file WindowContext.h.
Referenced by compute(), and sortedPartition().
|
private |
Definition at line 301 of file WindowContext.h.
Referenced by compute(), and setSortedPartitionCacheKey().
|
private |
Definition at line 299 of file WindowContext.h.
Referenced by aggregateState(), aggregateStateCount(), aggregateStatePendingOutputs(), buildAggregationTreeForPartition(), compute(), computeAggregateTreeCacheKey(), computePartitionBuffer(), createComparator(), getWindowFunction(), needsToBuildAggregateTree(), and WindowFunctionContext().
|
private |
Definition at line 318 of file WindowContext.h.
Referenced by addColumnBufferForWindowFunctionExpression(), buildAggregationTreeForPartition(), and getColumnBufferForWindowFunctionExpressions().
|
private |
Definition at line 316 of file WindowContext.h.
Referenced by addColumnBufferForWindowFunctionExpression().