OmniSciDB
a5dc49c757
|
Defines data structures for the semantic analysis phase of query processing. More...
#include "Geospatial/Types.h"
#include "Logger/Logger.h"
#include "Shared/DbObjectKeys.h"
#include "Shared/sqldefs.h"
#include "Shared/sqltypes.h"
#include <algorithm>
#include <cstdint>
#include <functional>
#include <iostream>
#include <list>
#include <map>
#include <optional>
#include <set>
#include <sstream>
#include <string>
#include <type_traits>
#include <utility>
#include <vector>
Go to the source code of this file.
Namespaces | |
Analyzer | |
Typedefs | |
using | Analyzer::DomainSet = std::list< const Expr * > |
using | Analyzer::ExpressionPtr = std::shared_ptr< Analyzer::Expr > |
using | Analyzer::ExpressionPtrList = std::list< ExpressionPtr > |
using | Analyzer::ExpressionPtrVector = std::vector< ExpressionPtr > |
Functions | |
template<typename Tp , typename... Args> | |
std::enable_if < std::is_base_of < Analyzer::Expr, Tp >::value, std::shared_ptr< Tp > >::type | makeExpr (Args &&...args) |
std::shared_ptr< Analyzer::Var > | var_ref (const Analyzer::Expr *expr, const Analyzer::Var::WhichRow which_row, const int varno) |
bool | expr_list_match (const std::vector< std::shared_ptr< Analyzer::Expr >> &lhs, const std::vector< std::shared_ptr< Analyzer::Expr >> &rhs) |
std::shared_ptr< Analyzer::Expr > | remove_cast (const std::shared_ptr< Analyzer::Expr > &expr) |
const Analyzer::Expr * | remove_cast (const Analyzer::Expr *expr) |
Variables | |
bool | g_enable_string_functions |
Defines data structures for the semantic analysis phase of query processing.
Definition in file Analyzer.h.
bool expr_list_match | ( | const std::vector< std::shared_ptr< Analyzer::Expr >> & | lhs, |
const std::vector< std::shared_ptr< Analyzer::Expr >> & | rhs | ||
) |
Definition at line 4598 of file Analyzer.cpp.
Referenced by Analyzer::ExpressionTuple::operator==(), Analyzer::WindowFunction::operator==(), Analyzer::GeoUOper::operator==(), Analyzer::GeoBinOper::operator==(), rewrite_avg_window(), and anonymous_namespace{WindowExpressionRewrite.cpp}::window_sum_and_count_match().
|
inline |
std::shared_ptr<Analyzer::Expr> remove_cast | ( | const std::shared_ptr< Analyzer::Expr > & | expr | ) |
Definition at line 4611 of file Analyzer.cpp.
References Analyzer::UOper::get_own_operand(), and kCAST.
Referenced by anonymous_namespace{EquiJoinCondition.cpp}::can_combine_with(), Analyzer::StringOper::check_operand_types(), Analyzer::StringOper::get_return_type(), anonymous_namespace{EquiJoinCondition.cpp}::make_composite_equals_impl(), and rewrite_sum_window().
const Analyzer::Expr* remove_cast | ( | const Analyzer::Expr * | expr | ) |
Definition at line 4619 of file Analyzer.cpp.
References kCAST.
|
inline |
Definition at line 3348 of file Analyzer.h.
References Analyzer::Expr::get_type_info().
Referenced by anonymous_namespace{RelAlgExecutor.cpp}::translate_targets().
bool g_enable_string_functions |
Definition at line 43 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().