OmniSciDB
a5dc49c757
|
#include "CalciteDeserializerUtils.h"
#include "../Analyzer/Analyzer.h"
#include "Logger/Logger.h"
#include <boost/algorithm/string.hpp>
Go to the source code of this file.
Functions | |
SQLTypeInfo | get_agg_type (const SQLAgg agg_kind, const Analyzer::Expr *arg_expr) |
ExtractField | to_datepart_field (const std::string &field) |
DateaddField | to_dateadd_field (const std::string &field) |
DatetruncField | to_datediff_field (const std::string &field) |
std::shared_ptr < Analyzer::Constant > | make_fp_constant (const int64_t val, const SQLTypeInfo &ti) |
Variables | |
bool | g_bigint_count |
SQLTypeInfo get_agg_type | ( | const SQLAgg | agg_kind, |
const Analyzer::Expr * | arg_expr | ||
) |
Definition at line 26 of file CalciteDeserializerUtils.cpp.
References g_bigint_count, Analyzer::Expr::get_type_info(), SQLTypeInfo::get_type_name(), SQLTypeInfo::is_integer(), SQLTypeInfo::is_varlen(), kAPPROX_COUNT_DISTINCT, kAPPROX_QUANTILE, kAVG, kBIGINT, kCOUNT, kCOUNT_IF, kDOUBLE, kINT, kMAX, kMIN, kMODE, kSAMPLE, kSINGLE_VALUE, kSUM, kSUM_IF, and UNREACHABLE.
Referenced by anonymous_namespace{RelAlgExecutor.cpp}::decide_approx_count_distinct_implementation(), and RelAlgTranslator::translateAggregateRex().
std::shared_ptr<Analyzer::Constant> make_fp_constant | ( | const int64_t | val, |
const SQLTypeInfo & | ti | ||
) |
Definition at line 213 of file CalciteDeserializerUtils.cpp.
References CHECK, Datum::doubleval, Datum::floatval, SQLTypeInfo::get_type(), kDOUBLE, and kFLOAT.
Referenced by RelAlgTranslator::translateLiteral().
DateaddField to_dateadd_field | ( | const std::string & | field | ) |
Definition at line 111 of file CalciteDeserializerUtils.cpp.
References daCENTURY, daDAY, daDECADE, daHOUR, daMICROSECOND, daMILLENNIUM, daMILLISECOND, daMINUTE, daMONTH, daNANOSECOND, daQUARTER, daSECOND, daWEEK, daWEEKDAY, and daYEAR.
Referenced by RelAlgTranslator::translateDateadd(), and RelAlgTranslator::translateIntervalExprForWindowFraming().
DatetruncField to_datediff_field | ( | const std::string & | field | ) |
Definition at line 160 of file CalciteDeserializerUtils.cpp.
References dtCENTURY, dtDAY, dtDECADE, dtHOUR, dtMICROSECOND, dtMILLENNIUM, dtMILLISECOND, dtMINUTE, dtMONTH, dtNANOSECOND, dtQUARTER, dtQUARTERDAY, dtSECOND, dtWEEK, dtWEEK_SATURDAY, dtWEEK_SUNDAY, and dtYEAR.
Referenced by RelAlgTranslator::translateDatediff().
ExtractField to_datepart_field | ( | const std::string & | field | ) |
Definition at line 59 of file CalciteDeserializerUtils.cpp.
References kDAY, kDOY, kHOUR, kISODOW, kMICROSECOND, kMILLISECOND, kMINUTE, kMONTH, kNANOSECOND, kQUARTER, kQUARTERDAY, kSECOND, kWEEK, kWEEK_SATURDAY, kWEEK_SUNDAY, and kYEAR.
Referenced by RelAlgTranslator::translateDatepart().
bool g_bigint_count |
Definition at line 54 of file GroupByAndAggregate.cpp.
Referenced by QueryMemoryInitializer::allocateCountDistinctBuffers(), QueryMemoryInitializer::calculateCountDistinctBufferSize(), anonymous_namespace{QueryMemoryInitializer.cpp}::check_count_distinct_expr_metadata(), TargetExprCodegen::codegen(), GroupByAndAggregate::codegenApproxQuantile(), GroupByAndAggregate::codegenCountDistinct(), ColSlotContext::ColSlotContext(), anonymous_namespace{RelAlgExecutor.cpp}::decide_approx_count_distinct_implementation(), Executor::executePlanWithoutGroupBy(), anonymous_namespace{Execute.cpp}::fill_entries_for_empty_input(), CommandLineOptions::fillOptions(), get_agg_type(), anonymous_namespace{QueryMemoryDescriptor.cpp}::get_col_byte_widths(), get_heap_key_slot_index(), anonymous_namespace{GroupByAndAggregate.cpp}::get_keyless_info(), Executor::getDeviceTypeForTargets(), RelAlgExecutor::getFilteredCountAll(), RelAlgExecutor::getFilterSelectivity(), anonymous_namespace{GroupByAndAggregate.cpp}::has_count_distinct(), init_agg_val_vec(), anonymous_namespace{GroupByAndAggregate.cpp}::init_count_distinct_descriptors(), QueryMemoryInitializer::initColumnarGroups(), TargetExprCodegenBuilder::operator()(), anonymous_namespace{Execute.cpp}::GetTargetInfo::operator()(), QueryMemoryDescriptor::pick_target_compact_width(), target_exprs_to_infos(), and RelAlgTranslator::translateWindowFunction().