OmniSciDB  21ac014ffc
 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, 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)
 
template<class T >
std::vector< int8_t > anonymous_namespace{QueryMemoryDescriptor.cpp}::get_col_byte_widths (const T &col_expr_list)
 
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 1240 of file QueryMemoryDescriptor.cpp.

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

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

1242  {
1243  std::vector<TargetInfo> target_infos;
1244  for (const auto target_expr : targets) {
1245  auto target = get_target_info(target_expr, g_bigint_count);
1246  if (query_mem_desc.getQueryDescriptionType() ==
1248  set_notnull(target, false);
1249  target.sql_type.set_notnull(false);
1250  }
1251  target_infos.push_back(target);
1252  }
1253  return target_infos;
1254 }
TargetInfo get_target_info(const PointerType target_expr, const bool bigint_count)
Definition: TargetInfo.h:92
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.