OmniSciDB
94e8789169
|
#include "GroupByAndAggregate.h"
#include "AggregateUtils.h"
#include "CardinalityEstimator.h"
#include "CodeGenerator.h"
#include "Descriptors/QueryMemoryDescriptor.h"
#include "ExpressionRange.h"
#include "ExpressionRewrite.h"
#include "GpuInitGroups.h"
#include "InPlaceSort.h"
#include "LLVMFunctionAttributesUtil.h"
#include "MaxwellCodegenPatch.h"
#include "OutputBufferInitialization.h"
#include "TargetExprBuilder.h"
#include "../CudaMgr/CudaMgr.h"
#include "../Shared/checked_alloc.h"
#include "../Utils/ChunkIter.h"
#include "DataMgr/BufferMgr/BufferMgr.h"
#include "Execute.h"
#include "QueryTemplateGenerator.h"
#include "RuntimeFunctions.h"
#include "StreamingTopN.h"
#include "TopKSort.h"
#include "WindowContext.h"
#include <llvm/Transforms/Utils/BasicBlockUtils.h>
#include <cstring>
#include <numeric>
#include <string_view>
#include <thread>
Go to the source code of this file.
Namespaces | |
anonymous_namespace{GroupByAndAggregate.cpp} | |
Macros | |
#define | LL_CONTEXT executor_->cgen_state_->context_ |
#define | LL_BUILDER executor_->cgen_state_->ir_builder_ |
#define | LL_BOOL(v) executor_->cgen_state_->llBool(v) |
#define | LL_INT(v) executor_->cgen_state_->llInt(v) |
#define | LL_FP(v) executor_->cgen_state_->llFp(v) |
#define | ROW_FUNC executor_->cgen_state_->row_func_ |
#define | CUR_FUNC executor_->cgen_state_->current_func_ |
Variables | |
bool g_cluster | false |
bool | g_bigint_count {false} |
int | g_hll_precision_bits {11} |
size_t | g_leaf_count |
#define CUR_FUNC executor_->cgen_state_->current_func_ |
Definition at line 308 of file GroupByAndAggregate.cpp.
Referenced by GroupByAndAggregate::codegenAggArg(), and GroupByAndAggregate::DiamondCodegen::DiamondCodegen().
#define LL_BOOL | ( | v | ) | executor_->cgen_state_->llBool(v) |
Definition at line 304 of file GroupByAndAggregate.cpp.
Referenced by GroupByAndAggregate::codegenOutputSlot().
#define LL_BUILDER executor_->cgen_state_->ir_builder_ |
Definition at line 303 of file GroupByAndAggregate.cpp.
Referenced by GroupByAndAggregate::codegen(), GroupByAndAggregate::codegenAggArg(), GroupByAndAggregate::codegenAggCalls(), GroupByAndAggregate::codegenAggColumnPtr(), GroupByAndAggregate::codegenEstimator(), GroupByAndAggregate::codegenGroupBy(), GroupByAndAggregate::codegenMultiColumnBaselineHash(), GroupByAndAggregate::codegenMultiColumnPerfectHash(), GroupByAndAggregate::codegenOutputSlot(), GroupByAndAggregate::codegenWindowRowPointer(), GroupByAndAggregate::convertNullIfAny(), GroupByAndAggregate::DiamondCodegen::DiamondCodegen(), GroupByAndAggregate::getAdditionalLiteral(), and GroupByAndAggregate::DiamondCodegen::~DiamondCodegen().
#define LL_CONTEXT executor_->cgen_state_->context_ |
Definition at line 302 of file GroupByAndAggregate.cpp.
Referenced by GroupByAndAggregate::codegen(), GroupByAndAggregate::codegenAggArg(), GroupByAndAggregate::codegenAggCalls(), GroupByAndAggregate::codegenAggColumnPtr(), GroupByAndAggregate::codegenCountDistinct(), GroupByAndAggregate::codegenEstimator(), GroupByAndAggregate::codegenGroupBy(), GroupByAndAggregate::codegenMultiColumnBaselineHash(), GroupByAndAggregate::codegenMultiColumnPerfectHash(), GroupByAndAggregate::codegenPerfectHashFunction(), GroupByAndAggregate::codegenWindowRowPointer(), GroupByAndAggregate::DiamondCodegen::DiamondCodegen(), and GroupByAndAggregate::getAdditionalLiteral().
#define LL_FP | ( | v | ) | executor_->cgen_state_->llFp(v) |
Definition at line 306 of file GroupByAndAggregate.cpp.
Referenced by GroupByAndAggregate::codegenOutputSlot().
#define LL_INT | ( | v | ) | executor_->cgen_state_->llInt(v) |
Definition at line 305 of file GroupByAndAggregate.cpp.
Referenced by GroupByAndAggregate::codegen(), GroupByAndAggregate::codegenAggColumnPtr(), GroupByAndAggregate::codegenCountDistinct(), GroupByAndAggregate::codegenEstimator(), GroupByAndAggregate::codegenGroupBy(), GroupByAndAggregate::codegenMultiColumnBaselineHash(), GroupByAndAggregate::codegenMultiColumnPerfectHash(), GroupByAndAggregate::codegenOutputSlot(), GroupByAndAggregate::codegenPerfectHashFunction(), GroupByAndAggregate::codegenSingleColumnPerfectHash(), GroupByAndAggregate::codegenWindowRowPointer(), and GroupByAndAggregate::getAdditionalLiteral().
#define ROW_FUNC executor_->cgen_state_->row_func_ |
Definition at line 307 of file GroupByAndAggregate.cpp.
Referenced by GroupByAndAggregate::codegen(), GroupByAndAggregate::codegenEstimator(), GroupByAndAggregate::codegenGroupBy(), GroupByAndAggregate::codegenOutputSlot(), GroupByAndAggregate::codegenWindowRowPointer(), and GroupByAndAggregate::getAdditionalLiteral().
void agg_count_distinct | ( | int64_t * | agg, |
const int64_t | val | ||
) |
Definition at line 1713 of file GroupByAndAggregate.cpp.
Referenced by agg_count_distinct_skip_val().
void agg_count_distinct_skip_val | ( | int64_t * | agg, |
const int64_t | val, | ||
const int64_t | skip_val | ||
) |
Definition at line 1717 of file GroupByAndAggregate.cpp.
References agg_count_distinct().
bool g_cluster false |
Definition at line 50 of file GroupByAndAggregate.cpp.
bool g_bigint_count {false} |
Definition at line 51 of file GroupByAndAggregate.cpp.
Referenced by QueryMemoryInitializer::allocateCountDistinctBuffers(), TargetExprCodegen::codegen(), GroupByAndAggregate::codegenApproxMedian(), GroupByAndAggregate::codegenCountDistinct(), ColSlotContext::ColSlotContext(), anonymous_namespace{RelAlgExecutor.cpp}::decide_approx_count_distinct_implementation(), Executor::executePlanWithoutGroupBy(), anonymous_namespace{Execute.cpp}::fill_entries_for_empty_input(), CommandLineOptions::fillOptions(), get_agg_type(), get_col_byte_widths(), get_heap_key_slot_index(), Executor::getDeviceTypeForTargets(), RelAlgExecutor::getFilteredCountAll(), RelAlgExecutor::getFilterSelectivity(), GroupByAndAggregate::getKeylessInfo(), anonymous_namespace{GroupByAndAggregate.cpp}::has_count_distinct(), init_agg_val_vec(), QueryMemoryInitializer::initColumnarGroups(), GroupByAndAggregate::initCountDistinctDescriptors(), TargetExprCodegenBuilder::operator()(), QueryMemoryDescriptor::pick_target_compact_width(), Executor::reduceMultiDeviceResults(), Executor::resultsUnion(), and target_exprs_to_infos().
int g_hll_precision_bits {11} |
Definition at line 52 of file GroupByAndAggregate.cpp.
Referenced by anonymous_namespace{RelAlgExecutor.cpp}::decide_approx_count_distinct_implementation(), CommandLineOptions::fillOptions(), hll_size_for_rate(), and GroupByAndAggregate::initCountDistinctDescriptors().
size_t g_leaf_count |
Definition at line 74 of file ParserNode.cpp.