OmniSciDB
a5dc49c757
|
#include <ParserNode.h>
Public Member Functions | |
QuerySpec (bool d, std::list< SelectEntry * > *s, std::list< TableRef * > *f, Expr *w, std::list< Expr * > *g, Expr *h) | |
bool | get_is_distinct () const |
const std::list < std::unique_ptr< SelectEntry > > & | get_select_clause () const |
const std::list < std::unique_ptr< TableRef > > & | get_from_clause () const |
const Expr * | get_where_clause () const |
const std::list < std::unique_ptr< Expr > > & | get_groupby_clause () const |
const Expr * | get_having_clause () const |
void | analyze (const Catalog_Namespace::Catalog &catalog, Analyzer::Query &query) const override |
std::string | to_string () const |
Public Member Functions inherited from Parser::Node | |
virtual | ~Node () |
Private Member Functions | |
void | analyze_from_clause (const Catalog_Namespace::Catalog &catalog, Analyzer::Query &query) const |
void | analyze_select_clause (const Catalog_Namespace::Catalog &catalog, Analyzer::Query &query) const |
void | analyze_where_clause (const Catalog_Namespace::Catalog &catalog, Analyzer::Query &query) const |
void | analyze_group_by (const Catalog_Namespace::Catalog &catalog, Analyzer::Query &query) const |
void | analyze_having_clause (const Catalog_Namespace::Catalog &catalog, Analyzer::Query &query) const |
Private Attributes | |
bool | is_distinct_ |
std::list< std::unique_ptr < SelectEntry > > | select_clause_ |
std::list< std::unique_ptr < TableRef > > | from_clause_ |
std::unique_ptr< Expr > | where_clause_ |
std::list< std::unique_ptr < Expr > > | groupby_clause_ |
std::unique_ptr< Expr > | having_clause_ |
Definition at line 1720 of file ParserNode.h.
|
inline |
Definition at line 1722 of file ParserNode.h.
References CHECK, f(), from_clause_, groupby_clause_, and select_clause_.
|
overridevirtual |
Implements Parser::QueryExpr.
Definition at line 1984 of file ParserNode.cpp.
References Analyzer::Query::set_is_distinct().
|
private |
Definition at line 1964 of file ParserNode.cpp.
References Analyzer::Query::add_rte(), and Catalog_Namespace::Catalog::getMetadataForTable().
|
private |
Definition at line 1825 of file ParserNode.cpp.
References Analyzer::Expr::add_cast(), SQLTypeInfo::get_compression(), Parser::IntLiteral::get_intval(), Analyzer::Query::get_num_aggs(), Analyzer::Query::get_targetlist(), SQLTypeInfo::is_string(), kENCODING_DICT, kENCODING_NONE, Analyzer::Var::kGROUPBY, Analyzer::Var::kOUTPUT, shared::StringDictKey::kTransientDictKey, anonymous_namespace{Utm.h}::n, SQLTypeInfo::set_comp_param(), SQLTypeInfo::set_compression(), SQLTypeInfo::set_fixed_size(), Analyzer::Query::set_group_by(), SQLTypeInfo::setStringDictKey(), and TRANSIENT_DICT_ID.
|
private |
Definition at line 1812 of file ParserNode.cpp.
References Analyzer::Query::get_group_by(), kBOOLEAN, and Analyzer::Query::set_having_predicate().
|
private |
Definition at line 1913 of file ParserNode.cpp.
References Parser::Expr::analyze(), ColumnDescriptor::columnName, Analyzer::RangeTableEntry::expand_star_in_targetlist(), Analyzer::Query::get_rangetable(), Analyzer::Query::get_rte(), Analyzer::Query::get_rte_idx(), Analyzer::Query::get_targetlist_nonconst(), Analyzer::ColumnVar::getColumnKey(), Catalog_Namespace::Catalog::getMetadataForColumn(), kNULLT, and kUNNEST.
|
private |
Definition at line 1900 of file ParserNode.cpp.
References kBOOLEAN, and Analyzer::Query::set_where_predicate().
|
inline |
Definition at line 1751 of file ParserNode.h.
References from_clause_.
|
inline |
Definition at line 1755 of file ParserNode.h.
References groupby_clause_.
|
inline |
Definition at line 1758 of file ParserNode.h.
References having_clause_.
|
inline |
|
inline |
Definition at line 1748 of file ParserNode.h.
References select_clause_.
|
inline |
std::string Parser::QuerySpec::to_string | ( | ) | const |
Definition at line 2316 of file ParserNode.cpp.
|
private |
Definition at line 1766 of file ParserNode.h.
Referenced by get_from_clause(), and QuerySpec().
|
private |
Definition at line 1768 of file ParserNode.h.
Referenced by get_groupby_clause(), and QuerySpec().
|
private |
Definition at line 1769 of file ParserNode.h.
Referenced by get_having_clause().
|
private |
Definition at line 1764 of file ParserNode.h.
Referenced by get_is_distinct().
|
private |
Definition at line 1765 of file ParserNode.h.
Referenced by get_select_clause(), and QuerySpec().
|
private |
Definition at line 1767 of file ParserNode.h.
Referenced by get_where_clause().