OmniSciDB  1dac507f6e
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
AggregateReductionEgress< Experimental::MetaTypeClass< Experimental::Geometry > > Class Template Reference

Public Types

using ReturnType = void
 

Public Member Functions

ReturnType operator() (int const entry_count, int &error_code, TargetInfo const &agg_info, size_t &out_vec_idx, std::vector< int64_t * > &out_vec, std::vector< int64_t > &reduced_outs, QueryExecutionContext *query_exe_context)
 

Detailed Description

template<>
class AggregateReductionEgress< Experimental::MetaTypeClass< Experimental::Geometry > >

Definition at line 2226 of file Execute.cpp.

Member Typedef Documentation

Member Function Documentation

ReturnType AggregateReductionEgress< Experimental::MetaTypeClass< Experimental::Geometry > >::operator() ( int const  entry_count,
int &  error_code,
TargetInfo const &  agg_info,
size_t &  out_vec_idx,
std::vector< int64_t * > &  out_vec,
std::vector< int64_t > &  reduced_outs,
QueryExecutionContext query_exe_context 
)
inline

Definition at line 2230 of file Execute.cpp.

References TargetInfo::agg_kind, SQLTypeInfoCore< TYPE_FACET_PACK >::get_physical_coord_cols(), QueryExecutionContext::getAggInitValForIndex(), QueryMemoryDescriptor::getPaddedSlotWidthBytes(), QueryExecutionContext::query_mem_desc_, Executor::reduceResults(), and TargetInfo::sql_type.

2236  {
2237  for (int i = 0; i < agg_info.sql_type.get_physical_coord_cols() * 2; i++) {
2238  int64_t val1;
2239  const auto chosen_bytes = static_cast<size_t>(
2240  query_exe_context->query_mem_desc_.getPaddedSlotWidthBytes(out_vec_idx));
2241  std::tie(val1, error_code) =
2242  Executor::reduceResults(agg_info.agg_kind,
2243  agg_info.sql_type,
2244  query_exe_context->getAggInitValForIndex(out_vec_idx),
2245  chosen_bytes,
2246  out_vec[out_vec_idx],
2247  entry_count,
2248  false,
2249  false);
2250  if (error_code) {
2251  return;
2252  }
2253  reduced_outs.push_back(val1);
2254  out_vec_idx++;
2255  }
2256  }
static std::pair< int64_t, int32_t > reduceResults(const SQLAgg agg, const SQLTypeInfo &ti, const int64_t agg_init_val, const int8_t out_byte_width, const int64_t *out_vec, const size_t out_vec_sz, const bool is_group_by, const bool float_argument_input)
Definition: Execute.cpp:614
const int8_t const int64_t const uint64_t const int32_t const int64_t int64_t uint32_t const int64_t int32_t * error_code
const int8_t getPaddedSlotWidthBytes(const size_t slot_idx) const
int64_t getAggInitValForIndex(const size_t index) const
const QueryMemoryDescriptor query_mem_desc_

+ Here is the call graph for this function:


The documentation for this class was generated from the following file: