OmniSciDB  c07336695a
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 1484 of file ParserNode.h.

Constructor & Destructor Documentation

◆ UnionQuery()

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

Definition at line 1486 of file ParserNode.h.

1486 : is_unionall(u), left(l), right(r) {}
std::unique_ptr< QueryExpr > right
Definition: ParserNode.h:1496
std::unique_ptr< QueryExpr > left
Definition: ParserNode.h:1495

Member Function Documentation

◆ analyze()

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

Implements Parser::QueryExpr.

Definition at line 978 of file ParserNode.cpp.

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

979  {
980  left->analyze(catalog, query);
981  Analyzer::Query* right_query = new Analyzer::Query();
982  right->analyze(catalog, *right_query);
983  query.set_next_query(right_query);
985 }
std::unique_ptr< QueryExpr > right
Definition: ParserNode.h:1496
void set_next_query(Query *q)
Definition: Analyzer.h:1474
std::unique_ptr< QueryExpr > left
Definition: ParserNode.h:1495
void set_is_unionall(bool u)
Definition: Analyzer.h:1475
+ Here is the call graph for this function:

◆ get_is_unionall()

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

Definition at line 1487 of file ParserNode.h.

1487 { return is_unionall; }

◆ get_left()

const QueryExpr* Parser::UnionQuery::get_left ( ) const
inline

Definition at line 1488 of file ParserNode.h.

1488 { return left.get(); }
std::unique_ptr< QueryExpr > left
Definition: ParserNode.h:1495

◆ get_right()

const QueryExpr* Parser::UnionQuery::get_right ( ) const
inline

Definition at line 1489 of file ParserNode.h.

References anonymous_namespace{UpdateMetadataTest.cpp}::query.

1489 { return right.get(); }
std::unique_ptr< QueryExpr > right
Definition: ParserNode.h:1496

Member Data Documentation

◆ is_unionall

bool Parser::UnionQuery::is_unionall
private

Definition at line 1494 of file ParserNode.h.

◆ left

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

Definition at line 1495 of file ParserNode.h.

◆ right

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

Definition at line 1496 of file ParserNode.h.


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