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

#include <ParserNode.h>

+ Inheritance diagram for Parser::UpdateStmt:
+ Collaboration diagram for Parser::UpdateStmt:

Public Member Functions

 UpdateStmt (std::string *t, std::list< Assignment * > *a, Expr *w)
 
const std::string * get_table () const
 
const std::list
< std::unique_ptr< Assignment > > & 
get_assignment_list () const
 
const Exprget_where_clause () const
 
void analyze (const Catalog_Namespace::Catalog &catalog, Analyzer::Query &query) const override
 
- Public Member Functions inherited from Parser::Node
virtual ~Node ()
 

Private Attributes

std::unique_ptr< std::string > table_
 
std::list< std::unique_ptr
< Assignment > > 
assignment_list_
 
std::unique_ptr< Exprwhere_clause_
 

Detailed Description

Definition at line 2096 of file ParserNode.h.

Constructor & Destructor Documentation

Parser::UpdateStmt::UpdateStmt ( std::string *  t,
std::list< Assignment * > *  a,
Expr w 
)
inline

Definition at line 2098 of file ParserNode.h.

References anonymous_namespace{Utm.h}::a, assignment_list_, and CHECK.

2099  : table_(t), where_clause_(w) {
2100  CHECK(a);
2101  for (const auto e : *a) {
2102  assignment_list_.emplace_back(e);
2103  }
2104  delete a;
2105  }
std::list< std::unique_ptr< Assignment > > assignment_list_
Definition: ParserNode.h:2116
std::unique_ptr< std::string > table_
Definition: ParserNode.h:2115
constexpr double a
Definition: Utm.h:33
std::unique_ptr< Expr > where_clause_
Definition: ParserNode.h:2117
#define CHECK(condition)
Definition: Logger.h:211
char * t

Member Function Documentation

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

Implements Parser::DMLStmt.

Definition at line 2056 of file ParserNode.cpp.

2057  {
2058  throw std::runtime_error("UPDATE statement not supported yet.");
2059 }
const std::list<std::unique_ptr<Assignment> >& Parser::UpdateStmt::get_assignment_list ( ) const
inline

Definition at line 2107 of file ParserNode.h.

References assignment_list_.

2107  {
2108  return assignment_list_;
2109  }
std::list< std::unique_ptr< Assignment > > assignment_list_
Definition: ParserNode.h:2116
const std::string* Parser::UpdateStmt::get_table ( ) const
inline

Definition at line 2106 of file ParserNode.h.

References table_.

2106 { return table_.get(); }
std::unique_ptr< std::string > table_
Definition: ParserNode.h:2115
const Expr* Parser::UpdateStmt::get_where_clause ( ) const
inline

Definition at line 2110 of file ParserNode.h.

References where_clause_.

2110 { return where_clause_.get(); }
std::unique_ptr< Expr > where_clause_
Definition: ParserNode.h:2117

Member Data Documentation

std::list<std::unique_ptr<Assignment> > Parser::UpdateStmt::assignment_list_
private

Definition at line 2116 of file ParserNode.h.

Referenced by get_assignment_list(), and UpdateStmt().

std::unique_ptr<std::string> Parser::UpdateStmt::table_
private

Definition at line 2115 of file ParserNode.h.

Referenced by get_table().

std::unique_ptr<Expr> Parser::UpdateStmt::where_clause_
private

Definition at line 2117 of file ParserNode.h.

Referenced by get_where_clause().


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