OmniSciDB
c1a53651b2
|
#include "RelAlgTranslator.h"
#include "Analyzer/Analyzer.h"
#include "CalciteDeserializerUtils.h"
#include "DateTimePlusRewrite.h"
#include "DateTimeTranslator.h"
#include "Descriptors/RelAlgExecutionDescriptor.h"
#include "ExpressionRewrite.h"
#include "ExtensionFunctionsBinding.h"
#include "ExtensionFunctionsWhitelist.h"
#include "Parser/ParserNode.h"
#include "RelAlgDag.h"
#include "ScalarExprVisitor.h"
#include "Shared/SqlTypesLayout.h"
#include "Shared/likely.h"
#include "Shared/scope.h"
#include "Shared/thread_count.h"
#include "WindowContext.h"
#include <future>
#include <sstream>
Go to the source code of this file.
Classes | |
struct | anonymous_namespace{RelAlgTranslator.cpp}::ByTypeIndex |
Namespaces | |
anonymous_namespace{RelAlgTranslator.cpp} | |
Typedefs | |
using | anonymous_namespace{RelAlgTranslator.cpp}::Handler = std::shared_ptr< Analyzer::Expr >(RelAlgTranslator::*)(RexScalar const *) const |
using | anonymous_namespace{RelAlgTranslator.cpp}::IndexedHandler = std::pair< std::type_index, Handler > |
Functions | |
SQLTypeInfo | anonymous_namespace{RelAlgTranslator.cpp}::build_type_info (const SQLTypes sql_type, const int scale, const int precision) |
std::pair< Datum, bool > | anonymous_namespace{RelAlgTranslator.cpp}::datum_from_scalar_tv (const ScalarTargetValue *scalar_tv, const SQLTypeInfo &ti) noexcept |
template<typename... Ts> | |
std::array< IndexedHandler, sizeof...(Ts)> | anonymous_namespace{RelAlgTranslator.cpp}::makeHandlers () |
bool | anonymous_namespace{RelAlgTranslator.cpp}::is_agg_supported_for_type (const SQLAgg &agg_kind, const SQLTypeInfo &arg_ti) |
std::shared_ptr< Analyzer::Expr > | anonymous_namespace{RelAlgTranslator.cpp}::get_in_values_expr (std::shared_ptr< Analyzer::Expr > arg, const ResultSet &val_set) |
void | anonymous_namespace{RelAlgTranslator.cpp}::fill_dictionary_encoded_in_vals (std::vector< int64_t > &in_vals, std::atomic< size_t > &total_in_vals_count, const ResultSet *values_rowset, const std::pair< int64_t, int64_t > values_rowset_slice, const StringDictionaryProxy *source_dict, const StringDictionaryProxy *dest_dict, const int64_t needle_null_val) |
void | anonymous_namespace{RelAlgTranslator.cpp}::fill_integer_in_vals (std::vector< int64_t > &in_vals, std::atomic< size_t > &total_in_vals_count, const ResultSet *values_rowset, const std::pair< int64_t, int64_t > values_rowset_slice) |
void | anonymous_namespace{RelAlgTranslator.cpp}::fill_dictionary_encoded_in_vals (std::vector< int64_t > &in_vals, std::atomic< size_t > &total_in_vals_count, const ResultSet *values_rowset, const std::pair< int64_t, int64_t > values_rowset_slice, const std::vector< LeafHostInfo > &leaf_hosts, const DictRef source_dict_ref, const DictRef dest_dict_ref, const int32_t dest_generation, const int64_t needle_null_val) |
void | anonymous_namespace{RelAlgTranslator.cpp}::validate_datetime_datepart_argument (const std::shared_ptr< Analyzer::Constant > literal_expr) |
std::shared_ptr < Analyzer::Constant > | anonymous_namespace{RelAlgTranslator.cpp}::makeNumericConstant (const SQLTypeInfo &ti, const long val) |
std::string | anonymous_namespace{RelAlgTranslator.cpp}::get_datetimeplus_rewrite_funcname (const SQLOps &op) |
std::vector< Analyzer::OrderEntry > | anonymous_namespace{RelAlgTranslator.cpp}::translate_collation (const std::vector< SortField > &sort_fields) |
size_t | anonymous_namespace{RelAlgTranslator.cpp}::determineTimeValMultiplierForTimeType (const SQLTypes &window_frame_bound_type, const Analyzer::Constant *const_expr) |
ExtractField | anonymous_namespace{RelAlgTranslator.cpp}::determineTimeUnit (const SQLTypes &window_frame_bound_type, const Analyzer::Constant *const_expr) |
QualsConjunctiveForm | qual_to_conjunctive_form (const std::shared_ptr< Analyzer::Expr > qual_expr) |
std::vector< std::shared_ptr < Analyzer::Expr > > | qual_to_disjunctive_form (const std::shared_ptr< Analyzer::Expr > &qual_expr) |
Variables | |
bool | g_enable_watchdog |
bool | g_enable_string_functions {true} |
const size_t | anonymous_namespace{RelAlgTranslator.cpp}::g_max_integer_set_size {1 << 25} |
QualsConjunctiveForm qual_to_conjunctive_form | ( | const std::shared_ptr< Analyzer::Expr > | qual_expr | ) |
Definition at line 2637 of file RelAlgTranslator.cpp.
References CHECK, kAND, qual_to_conjunctive_form(), rewrite_expr(), and QualsConjunctiveForm::simple_quals.
Referenced by anonymous_namespace{IRCodegen.cpp}::add_qualifier_to_execution_unit(), RelAlgExecutor::makeJoinQuals(), qual_to_conjunctive_form(), anonymous_namespace{RelAlgExecutor.cpp}::reverse_logical_distribution(), Executor::skipFragmentInnerJoins(), and anonymous_namespace{RelAlgExecutor.cpp}::translate_quals().
std::vector<std::shared_ptr<Analyzer::Expr> > qual_to_disjunctive_form | ( | const std::shared_ptr< Analyzer::Expr > & | qual_expr | ) |
Definition at line 2662 of file RelAlgTranslator.cpp.
References CHECK, kOR, qual_to_disjunctive_form(), and rewrite_expr().
Referenced by qual_to_disjunctive_form(), and anonymous_namespace{RelAlgExecutor.cpp}::reverse_logical_distribution().
bool g_enable_string_functions {true} |
Definition at line 40 of file RelAlgTranslator.cpp.
Referenced by Analyzer::StringOper::check_operand_types(), CommandLineOptions::fillOptions(), Parser::InsertIntoTableAsSelectStmt::populateData(), Executor::serializeLiterals(), RelAlgTranslator::translateStringOper(), and Fragmenter_Namespace::InsertOrderFragmenter::updateColumns().
bool g_enable_watchdog |