OmniSciDB  04ee39c94c
GroupByAndAggregate.cpp File Reference
#include "GroupByAndAggregate.h"
#include "AggregateUtils.h"
#include "Allocators/CudaAllocator.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 <numeric>
#include <thread>
+ Include dependency graph for GroupByAndAggregate.cpp:

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_
 

Functions

int32_t anonymous_namespace{GroupByAndAggregate.cpp}::get_agg_count (const std::vector< Analyzer::Expr *> &target_exprs)
 
bool anonymous_namespace{GroupByAndAggregate.cpp}::expr_is_rowid (const Analyzer::Expr *expr, const Catalog_Namespace::Catalog &cat)
 
bool anonymous_namespace{GroupByAndAggregate.cpp}::has_count_distinct (const RelAlgExecutionUnit &ra_exe_unit)
 
bool anonymous_namespace{GroupByAndAggregate.cpp}::is_column_range_too_big_for_perfect_hash (const ColRangeInfo &col_range_info, const int64_t max_entry_count)
 
void anonymous_namespace{GroupByAndAggregate.cpp}::add_transient_string_literals_for_expression (const Analyzer::Expr *expr, Executor *executor, std::shared_ptr< RowSetMemoryOwner > row_set_mem_owner)
 
void agg_count_distinct (int64_t *agg, const int64_t val)
 
void agg_count_distinct_skip_val (int64_t *agg, const int64_t val, const int64_t skip_val)
 

Variables

bool g_cluster {false}
 
bool g_bigint_count {false}
 
int g_hll_precision_bits {11}
 
size_t g_leaf_count
 

Macro Definition Documentation

◆ LL_BOOL

#define LL_BOOL (   v)    executor_->cgen_state_->llBool(v)

Definition at line 229 of file GroupByAndAggregate.cpp.

Referenced by GroupByAndAggregate::codegenOutputSlot().

◆ LL_BUILDER

◆ LL_CONTEXT

◆ LL_FP

#define LL_FP (   v)    executor_->cgen_state_->llFp(v)

Definition at line 231 of file GroupByAndAggregate.cpp.

Referenced by GroupByAndAggregate::codegenOutputSlot().

◆ LL_INT

◆ ROW_FUNC

Function Documentation

◆ agg_count_distinct()

void agg_count_distinct ( int64_t *  agg,
const int64_t  val 
)

Definition at line 1651 of file GroupByAndAggregate.cpp.

Referenced by agg_count_distinct_skip_val().

1651  {
1652  reinterpret_cast<std::set<int64_t>*>(*agg)->insert(val);
1653 }
+ Here is the caller graph for this function:

◆ 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 1655 of file GroupByAndAggregate.cpp.

References agg_count_distinct().

1657  {
1658  if (val != skip_val) {
1659  agg_count_distinct(agg, val);
1660  }
1661 }
void agg_count_distinct(int64_t *agg, const int64_t val)
+ Here is the call graph for this function:

Variable Documentation

◆ g_bigint_count

◆ g_cluster

◆ g_hll_precision_bits

◆ g_leaf_count

size_t g_leaf_count

Definition at line 63 of file ParserNode.cpp.

Referenced by GroupByAndAggregate::getShardedTopBucket().