Class Parser

java.lang.Object
org.h2.command.Parser

public class Parser extends Object
The parser is used to convert a SQL statement string to an command object.
Author:
Thomas Mueller, Noel Grandin, Nicolas Fortin, Atelier SIG, IRSTV FR CNRS 24888
  • Constructor Details

    • Parser

      public Parser(SessionLocal session)
      Creates a new instance of parser.
      Parameters:
      session - the session
    • Parser

      public Parser()
      Creates a new instance of parser for special use cases.
  • Method Details

    • parseNonKeywords

      public static BitSet parseNonKeywords(String[] nonKeywords)
      Parses the specified collection of non-keywords.
      Parameters:
      nonKeywords - array of non-keywords in upper case
      Returns:
      bit set of non-keywords, or null
    • formatNonKeywords

      public static String formatNonKeywords(BitSet nonKeywords)
      Formats a comma-separated list of keywords.
      Parameters:
      nonKeywords - bit set of non-keywords, or null
      Returns:
      comma-separated list of non-keywords
    • prepare

      public Prepared prepare(String sql)
      Parse the statement and prepare it for execution.
      Parameters:
      sql - the SQL statement to parse
      Returns:
      the prepared object
    • prepareCommand

      public Command prepareCommand(String sql)
      Parse a statement or a list of statements, and prepare it for execution.
      Parameters:
      sql - the SQL statement to parse
      Returns:
      the command object
    • newPrimaryKeyConstraintCommand

      public static AlterTableAddConstraint newPrimaryKeyConstraintCommand(SessionLocal session, Schema schema, String tableName, Column column)
      Create a new alter table command.
      Parameters:
      session - the session
      schema - the schema
      tableName - the table
      column - the column
      Returns:
      the command
    • quoteIdentifier

      public static String quoteIdentifier(String s, int sqlFlags)
      Add double quotes around an identifier if required.
      Parameters:
      s - the identifier
      sqlFlags - formatting flags
      Returns:
      the quoted identifier
    • setLiteralsChecked

      public void setLiteralsChecked(boolean literalsChecked)
    • setRightsChecked

      public void setRightsChecked(boolean rightsChecked)
    • setSuppliedParameters

      public void setSuppliedParameters(ArrayList<Parameter> suppliedParameters)
    • parseExpression

      public Expression parseExpression(String sql)
      Parse a SQL code snippet that represents an expression.
      Parameters:
      sql - the code snippet
      Returns:
      the expression object
    • parseDomainConstraintExpression

      public Expression parseDomainConstraintExpression(String sql)
      Parse a SQL code snippet that represents an expression for a domain constraint.
      Parameters:
      sql - the code snippet
      Returns:
      the expression object
    • parseTableName

      public Table parseTableName(String sql)
      Parse a SQL code snippet that represents a table name.
      Parameters:
      sql - the code snippet
      Returns:
      the table object
    • parseColumnList

      public Object parseColumnList(String sql, int offset)
      Parses a list of column names or numbers in parentheses.
      Parameters:
      sql - the source SQL
      offset - the initial offset
      Returns:
      the array of column names (String[]) or numbers (int[])
      Throws:
      DbException - on syntax error
    • getLastParseIndex

      public int getLastParseIndex()
      Returns the last parse index.
      Returns:
      the last parse index
    • toString

      public String toString()
      Overrides:
      toString in class Object