Class ParserImpl

java.lang.Object
org.apache.derby.impl.sql.compile.ParserImpl
All Implemented Interfaces:
Parser

public class ParserImpl extends Object implements Parser
  • Field Details

    • LARGE_TOKEN_SIZE

      static final int LARGE_TOKEN_SIZE
      See Also:
    • cachedParser

      private org.apache.derby.impl.sql.compile.SQLParser cachedParser
    • cachedTokenManager

      private Object cachedTokenManager
    • charStream

      private CharStream charStream
    • SQLtext

      protected String SQLtext
    • cc

      private final CompilerContext cc
  • Constructor Details

    • ParserImpl

      public ParserImpl(CompilerContext cc)
      Constructor for Parser
  • Method Details

    • parseStatement

      public Visitable parseStatement(String statementSQLText) throws StandardException
      Specified by:
      parseStatement in interface Parser
      Throws:
      StandardException
    • getTokenManager

      protected Object getTokenManager()
      Returns a initialized (clean) TokenManager, paired w. the Parser in getParser, Appropriate for this ParserImpl object.
    • getParser

      private org.apache.derby.impl.sql.compile.SQLParser getParser()
      new parser, appropriate for the ParserImpl object.
    • parseStatement

      public Visitable parseStatement(String statementSQLText, Object[] paramDefaults) throws StandardException
      Parse a statement and return a query tree. Implements the Parser interface
      Specified by:
      parseStatement in interface Parser
      Parameters:
      statementSQLText - Statement to parse
      paramDefaults - parameter defaults. Passed around as an array of objects, but is really an array of StorableDataValues
      Returns:
      A QueryTree representing the parsed statement
      Throws:
      StandardException - Thrown on error
    • parseStatementOrSearchCondition

      private Visitable parseStatementOrSearchCondition(String sql, Object[] paramDefaults, boolean isStatement) throws StandardException
      Parse a full SQL statement or a fragment that represents a <search condition>.
      Parameters:
      sql - the SQL statement or fragment to parse
      paramDefaults - parameter defaults to pass on to the parser in the case where sql is a full SQL statement
      isStatement - true if sql is a full SQL statement, false if it is a fragment
      Returns:
      parse tree for the SQL
      Throws:
      StandardException - if an error happens during parsing
    • parseSearchCondition

      public Visitable parseSearchCondition(String sqlFragment) throws StandardException
      Description copied from interface: Parser
      Parse an SQL fragment that represents a <search condition>.
      Specified by:
      parseSearchCondition in interface Parser
      Parameters:
      sqlFragment - the SQL fragment to parse
      Returns:
      a parse tree representing the search condition
      Throws:
      StandardException - if the SQL fragment could not be parsed
    • getSQLtext

      public String getSQLtext()
      Returns the current SQL text string that is being parsed.
      Specified by:
      getSQLtext in interface Parser
      Returns:
      Current SQL text string.