OmniSciDB  94e8789169
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
QueryMemoryDescriptor.cpp File Reference
#include "QueryMemoryDescriptor.h"
#include "../Execute.h"
#include "../ExpressionRewrite.h"
#include "../GroupByAndAggregate.h"
#include "../StreamingTopN.h"
#include "../UsedColumnsVisitor.h"
#include "ColSlotContext.h"
#include <boost/algorithm/cxx11/any_of.hpp>
+ Include dependency graph for QueryMemoryDescriptor.cpp:

Go to the source code of this file.

Namespaces

 anonymous_namespace{QueryMemoryDescriptor.cpp}
 

Functions

bool anonymous_namespace{QueryMemoryDescriptor.cpp}::is_int_and_no_bigger_than (const SQLTypeInfo &ti, const size_t byte_width)
 
std::vector< int64_t > anonymous_namespace{QueryMemoryDescriptor.cpp}::target_expr_group_by_indices (const std::list< std::shared_ptr< Analyzer::Expr >> &groupby_exprs, const std::vector< Analyzer::Expr * > &target_exprs)
 
std::vector< int64_t > anonymous_namespace{QueryMemoryDescriptor.cpp}::target_expr_proj_indices (const RelAlgExecutionUnit &ra_exe_unit, const Catalog_Namespace::Catalog &cat)
 
int8_t anonymous_namespace{QueryMemoryDescriptor.cpp}::pick_baseline_key_component_width (const ExpressionRange &range, const size_t group_col_width)
 
int8_t anonymous_namespace{QueryMemoryDescriptor.cpp}::pick_baseline_key_width (const RelAlgExecutionUnit &ra_exe_unit, const std::vector< InputTableInfo > &query_infos, const Executor *executor)
 
bool anonymous_namespace{QueryMemoryDescriptor.cpp}::use_streaming_top_n (const RelAlgExecutionUnit &ra_exe_unit, const bool output_columnar)
 
bool anonymous_namespace{QueryMemoryDescriptor.cpp}::anyOf (std::vector< Analyzer::Expr * > const &target_exprs, SQLAgg const agg_kind)
 
std::vector< TargetInfotarget_exprs_to_infos (const std::vector< Analyzer::Expr * > &targets, const QueryMemoryDescriptor &query_mem_desc)
 

Variables

bool g_enable_smem_group_by true
 
bool g_enable_columnar_output
 

Function Documentation

std::vector<TargetInfo> target_exprs_to_infos ( const std::vector< Analyzer::Expr * > &  targets,
const QueryMemoryDescriptor query_mem_desc 
)

Definition at line 1165 of file QueryMemoryDescriptor.cpp.

References g_bigint_count, get_target_info(), QueryMemoryDescriptor::getQueryDescriptionType(), NonGroupedAggregate, and set_notnull().

Referenced by SpeculativeTopNMap::asRows(), device_allocator_(), QueryMemoryInitializer::QueryMemoryInitializer(), and ExecutionKernel::runImpl().

1167  {
1168  std::vector<TargetInfo> target_infos;
1169  for (const auto target_expr : targets) {
1170  auto target = get_target_info(target_expr, g_bigint_count);
1171  if (query_mem_desc.getQueryDescriptionType() ==
1173  set_notnull(target, false);
1174  target.sql_type.set_notnull(false);
1175  }
1176  target_infos.push_back(target);
1177  }
1178  return target_infos;
1179 }
TargetInfo get_target_info(const PointerType target_expr, const bool bigint_count)
Definition: TargetInfo.h:79
bool g_bigint_count
QueryDescriptionType getQueryDescriptionType() const
void set_notnull(TargetInfo &target, const bool not_null)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

Definition at line 28 of file QueryMemoryDescriptor.cpp.