OmniSciDB  a5dc49c757
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups 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)
 
bool anonymous_namespace{QueryMemoryDescriptor.cpp}::is_valid_int32_range (const ExpressionRange &range)
 
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)
 
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)
 
template<class T >
std::vector< int8_t > anonymous_namespace{QueryMemoryDescriptor.cpp}::get_col_byte_widths (const T &col_expr_list)
 
template<SQLAgg... agg_types>
bool anonymous_namespace{QueryMemoryDescriptor.cpp}::any_of (std::vector< Analyzer::Expr * > const &target_exprs)
 
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
 
size_t g_streaming_topn_max
 

Function Documentation

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

Definition at line 1317 of file QueryMemoryDescriptor.cpp.

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

Referenced by SpeculativeTopNMap::asRows(), Executor::executeTableFunction(), QueryMemoryInitializer::QueryMemoryInitializer(), ExecutionKernel::runImpl(), and thread_idx_().

1319  {
1320  std::vector<TargetInfo> target_infos;
1321  size_t index = 0;
1322  for (const auto target_expr : targets) {
1323  auto target = get_target_info(target_expr, g_bigint_count);
1324  if (query_mem_desc.getQueryDescriptionType() ==
1326  set_notnull(target, false);
1327  target.sql_type.set_notnull(false);
1328  }
1329  if (target.sql_type.supportsFlatBuffer()) {
1330  target.sql_type.setUsesFlatBuffer(
1331  query_mem_desc.checkSlotUsesFlatBufferFormat(index));
1332  }
1333  target_infos.push_back(target);
1334  index++;
1335  }
1336  return target_infos;
1337 }
NonGroupedAggregate
Definition: enums.h:58
TargetInfo get_target_info(const Analyzer::Expr *target_expr, const bool bigint_count)
Definition: TargetInfo.h:92
bool g_bigint_count
QueryDescriptionType getQueryDescriptionType() const
bool checkSlotUsesFlatBufferFormat(const size_t slot_idx) 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.