SQLsmith  v1.2.1-5-gfacd7a8
A random SQL query generator
Public Member Functions | Public Attributes | List of all members
merge_stmt Struct Reference
Inheritance diagram for merge_stmt:
Inheritance graph
Collaboration diagram for merge_stmt:
Collaboration graph

Public Member Functions

 merge_stmt (prod *p, struct scope *s, table *victim=0)
 
virtual void out (std::ostream &out)
 Emit SQL for this production.
 
virtual void accept (prod_visitor *v)
 Visitor pattern for walking the AST. More...
 
- Public Member Functions inherited from modifying_stmt
 modifying_stmt (prod *p, struct scope *s, struct table *victim=0)
 
virtual void pick_victim ()
 
- Public Member Functions inherited from prod
 prod (prod *parent)
 
virtual void indent (std::ostream &out)
 Newline and indent according to tree level.
 
virtual void match ()
 Check with the impedance matching code whether this production has been blacklisted and throw an exception.
 
virtual void fail (const char *reason)
 Report a "failed to generate" error.
 
void retry ()
 Increase the retry count and throw an exception when retry_limit is exceeded.
 

Public Attributes

shared_ptr< table_reftarget_table_
 
shared_ptr< table_refdata_source
 
shared_ptr< join_condjoin_condition
 
vector< shared_ptr< when_clause > > clauselist
 
- Public Attributes inherited from modifying_stmt
tablevictim
 
struct scope myscope
 
- Public Attributes inherited from prod
struct prodpprod
 Parent production that instanciated this one. More...
 
struct scopescope
 Scope object to model column/table reference visibility.
 
int level
 Level of this production in the AST. 0 for root node.
 
long retries = 0
 Number of retries in this production. More...
 
long retry_limit = 100
 Maximum number of retries allowed before reporting a failure to the Parent prod.
 

Detailed Description

Definition at line 287 of file grammar.hh.

Member Function Documentation

◆ accept()

void merge_stmt::accept ( prod_visitor v)
virtual

Visitor pattern for walking the AST.

Make sure you visit all child production when deriving classes.

Reimplemented from prod.

Definition at line 574 of file grammar.cc.

References prod::accept().

Referenced by when_clause_insert::accept().


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