OmniSciDB
a5dc49c757
|
#include <Analyzer.h>
Public Member Functions | |
UOper (const SQLTypeInfo &ti, bool has_agg, SQLOps o, std::shared_ptr< Analyzer::Expr > p) | |
UOper (SQLTypes t, SQLOps o, std::shared_ptr< Analyzer::Expr > p) | |
SQLOps | get_optype () const |
const Expr * | get_operand () const |
const std::shared_ptr < Analyzer::Expr > | get_own_operand () const |
void | check_group_by (const std::list< std::shared_ptr< Analyzer::Expr >> &groupby) const override |
std::shared_ptr< Analyzer::Expr > | deep_copy () const override |
void | group_predicates (std::list< const Expr * > &scan_predicates, std::list< const Expr * > &join_predicates, std::list< const Expr * > &const_predicates) const override |
void | collect_rte_idx (std::set< int > &rte_idx_set) const override |
void | collect_column_var (std::set< const ColumnVar *, bool(*)(const ColumnVar *, const ColumnVar *)> &colvar_set, bool include_agg) const override |
std::shared_ptr< Analyzer::Expr > | rewrite_with_targetlist (const std::vector< std::shared_ptr< TargetEntry >> &tlist) const override |
std::shared_ptr< Analyzer::Expr > | rewrite_with_child_targetlist (const std::vector< std::shared_ptr< TargetEntry >> &tlist) const override |
std::shared_ptr< Analyzer::Expr > | rewrite_agg_to_var (const std::vector< std::shared_ptr< TargetEntry >> &tlist) const override |
bool | operator== (const Expr &rhs) const override |
std::string | toString () const override |
void | find_expr (std::function< bool(const Expr *)> f, std::list< const Expr * > &expr_list) const override |
std::shared_ptr< Analyzer::Expr > | add_cast (const SQLTypeInfo &new_type_info) override |
Public Member Functions inherited from Analyzer::Expr | |
Expr (SQLTypes t, bool notnull) | |
Expr (SQLTypes t, int d, bool notnull) | |
Expr (SQLTypes t, int d, int s, bool notnull) | |
Expr (const SQLTypeInfo &ti, bool has_agg=false) | |
virtual | ~Expr () |
std::shared_ptr< Analyzer::Expr > | get_shared_ptr () |
const SQLTypeInfo & | get_type_info () const |
void | set_type_info (const SQLTypeInfo &ti) |
bool | get_contains_agg () const |
void | set_contains_agg (bool a) |
virtual std::shared_ptr < Analyzer::Expr > | normalize_simple_predicate (int &rte_idx) const |
virtual size_t | get_num_column_vars (const bool include_agg) const |
virtual void | print () const |
virtual void | add_unique (std::list< const Expr * > &expr_list) const |
std::shared_ptr< Analyzer::Expr > | decompress () |
virtual void | get_domain (DomainSet &domain_set) const |
Protected Attributes | |
SQLOps | optype |
std::shared_ptr< Analyzer::Expr > | operand |
Protected Attributes inherited from Analyzer::Expr | |
SQLTypeInfo | type_info |
bool | contains_agg |
Definition at line 375 of file Analyzer.h.
|
inline |
Definition at line 377 of file Analyzer.h.
|
inline |
Definition at line 379 of file Analyzer.h.
|
overridevirtual |
Reimplemented from Analyzer::Expr.
Definition at line 1442 of file Analyzer.cpp.
References Analyzer::Expr::add_cast(), SQLTypeInfo::get_compression(), Analyzer::anonymous_namespace{Analyzer.cpp}::has_same_dict(), SQLTypeInfo::is_string(), kCAST, kENCODING_DICT, kENCODING_NONE, operand, optype, run_benchmark_import::result, and Analyzer::Expr::type_info.
|
overridevirtual |
Reimplemented from Analyzer::Expr.
Definition at line 1533 of file Analyzer.cpp.
References operand.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
overridevirtual |
Implements Analyzer::Expr.
Definition at line 102 of file Analyzer.cpp.
References Analyzer::Expr::contains_agg, operand, optype, and Analyzer::Expr::type_info.
|
overridevirtual |
Reimplemented from Analyzer::Expr.
Definition at line 3268 of file Analyzer.cpp.
References Analyzer::Expr::add_unique(), f(), and operand.
|
inline |
Definition at line 384 of file Analyzer.h.
References operand.
Referenced by CodeGenerator::codegenCast(), CodeGenerator::codegenFunctionOper(), CodeGenerator::codegenIsNull(), CodeGenerator::codegenLogical(), CodeGenerator::codegenUMinus(), CodeGenerator::codegenUnnest(), getExpressionRange(), is_constructed_point(), operator==(), QueryMemoryDescriptor::pick_target_compact_width(), anonymous_namespace{DateTimePlusRewrite.cpp}::remove_cast_to_date(), ScalarExprToSql::visitUOper(), DeepCopyVisitor::visitUOper(), TransientStringLiteralsVisitor::visitUOper(), ScalarExprVisitor< std::set< shared::TableKey > >::visitUOper(), TextEncodingCastCountVisitor::visitUOper(), and anonymous_namespace{ExpressionRewrite.cpp}::ConstantFoldingVisitor::visitUOper().
|
inline |
Definition at line 383 of file Analyzer.h.
References optype.
Referenced by CodeGenerator::codegen(), CodeGenerator::codegenCast(), CodeGenerator::codegenLogical(), CodeGenerator::codegenUMinus(), getExpressionRange(), is_unnest(), operator==(), ScalarExprToSql::visitUOper(), DeepCopyVisitor::visitUOper(), TransientStringLiteralsVisitor::visitUOper(), TransientDictIdVisitor::visitUOper(), TextEncodingCastCountVisitor::visitUOper(), and anonymous_namespace{ExpressionRewrite.cpp}::ConstantFoldingVisitor::visitUOper().
|
inline |
Definition at line 385 of file Analyzer.h.
References operand.
Referenced by remove_cast().
|
overridevirtual |
Reimplemented from Analyzer::Expr.
Definition at line 1628 of file Analyzer.cpp.
References operand.
|
overridevirtual |
Implements Analyzer::Expr.
Definition at line 2351 of file Analyzer.cpp.
References get_operand(), get_optype(), operand, and optype.
|
inlineoverridevirtual |
Reimplemented from Analyzer::Expr.
Definition at line 411 of file Analyzer.h.
References Analyzer::Expr::contains_agg, operand, optype, and Analyzer::Expr::type_info.
|
inlineoverridevirtual |
Reimplemented from Analyzer::Expr.
Definition at line 406 of file Analyzer.h.
References Analyzer::Expr::contains_agg, operand, optype, and Analyzer::Expr::type_info.
|
inlineoverridevirtual |
Reimplemented from Analyzer::Expr.
Definition at line 401 of file Analyzer.h.
References Analyzer::Expr::contains_agg, operand, optype, and Analyzer::Expr::type_info.
|
overridevirtual |
Implements Analyzer::Expr.
Definition at line 2755 of file Analyzer.cpp.
References SQLTypeInfo::get_comp_param(), SQLTypeInfo::get_compression_name(), SQLTypeInfo::get_precision(), SQLTypeInfo::get_scale(), SQLTypeInfo::get_type_name(), kCAST, kEXISTS, kISNULL, kNOT, kUMINUS, kUNNEST, operand, optype, to_string(), and Analyzer::Expr::type_info.
|
protected |
Definition at line 424 of file Analyzer.h.
Referenced by add_cast(), check_group_by(), collect_column_var(), collect_rte_idx(), deep_copy(), find_expr(), get_operand(), get_own_operand(), group_predicates(), operator==(), rewrite_agg_to_var(), rewrite_with_child_targetlist(), rewrite_with_targetlist(), and toString().
|
protected |
Definition at line 423 of file Analyzer.h.
Referenced by add_cast(), deep_copy(), get_optype(), operator==(), rewrite_agg_to_var(), rewrite_with_child_targetlist(), rewrite_with_targetlist(), and toString().