OmniSciDB  c1a53651b2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Parser::UnionQuery Class Reference

#include <ParserNode.h>

+ Inheritance diagram for Parser::UnionQuery:
+ Collaboration diagram for Parser::UnionQuery:

Public Member Functions

 UnionQuery (bool u, QueryExpr *l, QueryExpr *r)
 
bool get_is_unionall () const
 
const QueryExprget_left () const
 
const QueryExprget_right () const
 
void analyze (const Catalog_Namespace::Catalog &catalog, Analyzer::Query &query) const override
 
- Public Member Functions inherited from Parser::Node
virtual ~Node ()
 

Private Attributes

bool is_unionall_
 
std::unique_ptr< QueryExprleft_
 
std::unique_ptr< QueryExprright_
 

Detailed Description

Definition at line 1702 of file ParserNode.h.

Constructor & Destructor Documentation

Parser::UnionQuery::UnionQuery ( bool  u,
QueryExpr l,
QueryExpr r 
)
inline

Definition at line 1704 of file ParserNode.h.

1704 : is_unionall_(u), left_(l), right_(r) {}
std::unique_ptr< QueryExpr > left_
Definition: ParserNode.h:1713
std::unique_ptr< QueryExpr > right_
Definition: ParserNode.h:1714

Member Function Documentation

void Parser::UnionQuery::analyze ( const Catalog_Namespace::Catalog catalog,
Analyzer::Query query 
) const
overridevirtual

Implements Parser::QueryExpr.

Definition at line 1774 of file ParserNode.cpp.

References Analyzer::Query::set_is_unionall(), and Analyzer::Query::set_next_query().

1775  {
1776  left_->analyze(catalog, query);
1777  Analyzer::Query* right_query = new Analyzer::Query();
1778  right_->analyze(catalog, *right_query);
1779  query.set_next_query(right_query);
1781 }
std::unique_ptr< QueryExpr > left_
Definition: ParserNode.h:1713
void set_next_query(Query *q)
Definition: Analyzer.h:2826
void set_is_unionall(bool u)
Definition: Analyzer.h:2827
std::unique_ptr< QueryExpr > right_
Definition: ParserNode.h:1714

+ Here is the call graph for this function:

bool Parser::UnionQuery::get_is_unionall ( ) const
inline

Definition at line 1705 of file ParserNode.h.

References is_unionall_.

1705 { return is_unionall_; }
const QueryExpr* Parser::UnionQuery::get_left ( ) const
inline

Definition at line 1706 of file ParserNode.h.

References left_.

1706 { return left_.get(); }
std::unique_ptr< QueryExpr > left_
Definition: ParserNode.h:1713
const QueryExpr* Parser::UnionQuery::get_right ( ) const
inline

Definition at line 1707 of file ParserNode.h.

References right_.

1707 { return right_.get(); }
std::unique_ptr< QueryExpr > right_
Definition: ParserNode.h:1714

Member Data Documentation

bool Parser::UnionQuery::is_unionall_
private

Definition at line 1712 of file ParserNode.h.

Referenced by get_is_unionall().

std::unique_ptr<QueryExpr> Parser::UnionQuery::left_
private

Definition at line 1713 of file ParserNode.h.

Referenced by get_left().

std::unique_ptr<QueryExpr> Parser::UnionQuery::right_
private

Definition at line 1714 of file ParserNode.h.

Referenced by get_right().


The documentation for this class was generated from the following files: