![]()  | 
  
    SQLsmith
    v1.2.1-5-gfacd7a8
    
   A random SQL query generator 
   | 
 


Public Member Functions | |
| virtual void | out (std::ostream &out) | 
| Emit SQL for this production.  | |
| window_function (prod *p, sqltype *type_constraint) | |
| virtual void | accept (prod_visitor *v) | 
| Visitor pattern for walking the AST.  More... | |
  Public Member Functions inherited from value_expr | |
| value_expr (prod *p) | |
  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.  | |
Static Public Member Functions | |
| static bool | allowed (prod *pprod) | 
  Static Public Member Functions inherited from value_expr | |
| static shared_ptr< value_expr > | factory (prod *p, sqltype *type_constraint=0) | 
Public Attributes | |
| vector< shared_ptr< column_reference > > | partition_by | 
| vector< shared_ptr< column_reference > > | order_by | 
| shared_ptr< funcall > | aggregate | 
  Public Attributes inherited from value_expr | |
| sqltype * | type | 
  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.  | |
      
  | 
  inlinevirtual | 
Visitor pattern for walking the AST.
Make sure you visit all child production when deriving classes.
Reimplemented from prod.
Definition at line 180 of file expr.hh.
References prod::accept().