Class BnfRandom

java.lang.Object
org.h2.test.synth.BnfRandom
All Implemented Interfaces:
BnfVisitor

public class BnfRandom extends Object implements BnfVisitor
A BNF visitor that generates a random SQL statement.
  • Constructor Details

  • Method Details

    • getRandomSQL

      public String getRandomSQL()
    • visitRuleElement

      public void visitRuleElement(boolean keyword, String name, Rule link)
      Description copied from interface: BnfVisitor
      Visit a rule element.
      Specified by:
      visitRuleElement in interface BnfVisitor
      Parameters:
      keyword - whether this is a keyword
      name - the element name
      link - the linked rule if it's not a keyword
    • visitRuleFixed

      public void visitRuleFixed(int type)
      Description copied from interface: BnfVisitor
      Visit a fixed rule.
      Specified by:
      visitRuleFixed in interface BnfVisitor
      Parameters:
      type - the type
    • visitRuleList

      public void visitRuleList(boolean or, ArrayList<Rule> list)
      Description copied from interface: BnfVisitor
      Visit a rule list.
      Specified by:
      visitRuleList in interface BnfVisitor
      Parameters:
      or - true for OR, false for AND
      list - the rules
    • visitRuleOptional

      public void visitRuleOptional(Rule rule)
      Description copied from interface: BnfVisitor
      Visit an optional rule.
      Specified by:
      visitRuleOptional in interface BnfVisitor
      Parameters:
      rule - the rule
    • visitRuleOptional

      public void visitRuleOptional(ArrayList<Rule> list)
      Description copied from interface: BnfVisitor
      Visit an OR list of optional rules.
      Specified by:
      visitRuleOptional in interface BnfVisitor
      Parameters:
      list - the optional rules
    • visitRuleRepeat

      public void visitRuleRepeat(boolean comma, Rule rule)
      Description copied from interface: BnfVisitor
      Visit a repeat rule.
      Specified by:
      visitRuleRepeat in interface BnfVisitor
      Parameters:
      comma - whether the comma is repeated as well
      rule - the element to repeat
    • visitRuleExtension

      public void visitRuleExtension(Rule rule, boolean compatibility)
      Description copied from interface: BnfVisitor
      Visit a rule with non-standard extension.
      Specified by:
      visitRuleExtension in interface BnfVisitor
      Parameters:
      rule - the rule
      compatibility - whether this rule exists for compatibility only
    • setSeed

      public void setSeed(int seed)
    • getStatementCount

      public int getStatementCount()