SQLsmith
v1.2.1-5-gfacd7a8
A random SQL query generator
|
Public Member Functions | |
upsert_stmt (prod *p, struct scope *s, table *v=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 insert_stmt | |
insert_stmt (prod *p, struct scope *s, table *victim=0) | |
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< struct set_list > | set_list |
string | constraint |
shared_ptr< bool_expr > | search |
Public Attributes inherited from insert_stmt | |
vector< shared_ptr< value_expr > > | value_exprs |
Public Attributes inherited from modifying_stmt | |
table * | victim |
struct scope | myscope |
Public Attributes inherited from prod | |
struct prod * | pprod |
Parent production that instanciated this one. More... | |
struct scope * | scope |
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. | |
Definition at line 229 of file grammar.hh.
|
inlinevirtual |
Visitor pattern for walking the AST.
Make sure you visit all child production when deriving classes.
Reimplemented from insert_stmt.
Definition at line 239 of file grammar.hh.
References insert_stmt::accept(), and set_list::accept().