OmniSciDB
b24e664e58
|
Defines data structures for the semantic analysis phase of query processing. More...
#include "../Shared/Logger.h"
#include <cstdint>
#include <iostream>
#include <list>
#include <set>
#include <string>
#include <type_traits>
#include <utility>
#include <vector>
#include "../Shared/sqldefs.h"
#include "../Shared/sqltypes.h"
Go to the source code of this file.
Namespaces | |
Analyzer | |
Catalog_Namespace | |
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) |
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 3043 of file Analyzer.cpp.
Referenced by Analyzer::ExpressionTuple::operator==(), Analyzer::WindowFunction::operator==(), Analyzer::GeoExpr::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 3056 of file Analyzer.cpp.
References Analyzer::UOper::get_own_operand(), and kCAST.
Referenced by anonymous_namespace{EquiJoinCondition.cpp}::can_combine_with(), anonymous_namespace{EquiJoinCondition.cpp}::make_composite_equals_impl(), and rewrite_sum_window().
|
inline |
Definition at line 1585 of file Analyzer.h.
References Analyzer::ColumnVar::get_table_id(), and Analyzer::Expr::get_type_info().
Referenced by anonymous_namespace{CalciteAdapter.cpp}::build_var_refs(), anonymous_namespace{CalciteAdapter.cpp}::handle_logical_aggregate(), anonymous_namespace{RelAlgExecutor.cpp}::translate_targets(), and anonymous_namespace{RelAlgExecutor.cpp}::translate_targets_for_update().