/** * Wrapper function to parse a SQL query (SELECT or VALUES, but not INSERT, * UPDATE, DELETE, CREATE, DROP etc.), throwing a {@link SqlParseException} * if the statement is not syntactically valid. * * @param sql SQL statement * @return parse tree * @throws SqlParseException if not syntactically valid */ protected SqlNode parseQuery(String sql) throws SqlParseException { SqlParser parser = SqlParser.create(sql); return parser.parseStmt(); }
/** * Wrapper function to parse a SQL query (SELECT or VALUES, but not INSERT, * UPDATE, DELETE, CREATE, DROP etc.), throwing a {@link SqlParseException} * if the statement is not syntactically valid. * * @param sql SQL statement * * @return parse tree * * @throws SqlParseException if not syntactically valid */ protected SqlNode parseQuery(String sql) throws SqlParseException { SqlParser parser = new SqlParser(sql); return parser.parseStmt(); }
public String getSqlKeywords() { return SqlParser.create("").getMetadata().getJdbcKeywords(); }
public SqlNode parseQuery(String sql) throws SqlParseException { SqlParser parser = new SqlParser(sql); return parser.parseQuery(); }
public SqlNode parseQuery(String sql) throws Exception { SqlParser parser = SqlParser.create(sql); SqlNode sqlNode = parser.parseQuery(); return sqlNode; }
/** * Returns the underlying Parser implementation class. * * <p>To use a different parser (recognizing a different dialect of SQL), * derived class should override. * * @return a {@link SqlAbstractParserImpl} instance */ protected SqlAbstractParserImpl getParserImpl() { SqlParser parser = new SqlParser(new StringReader("")); return parser.getParserImpl(); }
protected SqlNode parseExpression(String sql) throws SqlParseException { return new SqlParser(sql).parseExpression(); }
/** * Creates a <code>SqlParser</code> to parse the given string using * Optiq's parser implementation. * * @param s An SQL statement or expression to parse. * @return A <code>SqlParser</code> object. */ public static SqlParser create(String s) { return create(SqlParserImpl.FACTORY, s, Quoting.DOUBLE_QUOTE, Casing.TO_UPPER, Casing.UNCHANGED); }
public SqlNode parseQuery(String sql) throws SqlParseException { SqlParser parser = factory.createParser(factory, sql); return parser.parseQuery(); }
protected SqlNode parseStmt(String sql) throws SqlParseException { return getSqlParser(sql).parseStmt(); }
/** * Creates a <code>SqlParser</code> to parse the given string using the * parser implementation created from given {@link SqlParserImplFactory} * with given quoting syntax and casing policies for identifiers. * * @param parserFactory {@link SqlParserImplFactory} to get the parser * implementation. * @param s An SQL statement or expression to parse. * @param quoting Syntax for quoting identifiers in SQL statements. * @param unquotedCasing Policy for converting case of <i>unquoted</i> * identifiers. * @param quotedCasing Policy for converting case of <i>quoted</i> * identifiers. * @return A <code>SqlParser</code> object. */ public static SqlParser create(SqlParserImplFactory parserFactory, String s, Quoting quoting, Casing unquotedCasing, Casing quotedCasing) { SqlAbstractParserImpl parser = parserFactory.getParser( new StringReader(s)); return new SqlParser(s, parser, quoting, unquotedCasing, quotedCasing); }
protected SqlAbstractParserImpl.Metadata getParserMetadata() { return getSqlParser("").getMetadata(); }
protected SqlNode parseExpression(String sql) throws SqlParseException { return getSqlParser(sql).parseExpression(); }
public SqlNode parseQuery(String sql) throws Exception { SqlParser parser = new SqlParser(sql); SqlNode sqlNode = parser.parseQuery(); return sqlNode; }
/** * Parses a SQL query. To use a different parser, override this method. */ protected SqlNode parseQuery(String sql) { SqlNode node; try { node = SqlParser.create(sql).parseQuery(); } catch (SqlParseException e) { String message = "Received error while parsing SQL '" + sql + "'; error is:" + NL + e.toString(); throw new AssertionError(message); } return node; }
protected SqlParserImpl getParserImpl() { return new SqlParser("").getParserImpl(); }
private SqlParser getSqlParser(String sql) { return SqlParser.create(SqlParserImpl.FACTORY, sql, quoting, unquotedCasing, quotedCasing); }
public SqlNode parse(final String sql) throws SqlParseException { switch (state) { case STATE_0_CLOSED: case STATE_1_RESET: ready(); } ensure(State.STATE_2_READY); SqlParser parser = SqlParser.create(parserFactory, sql, lex.quoting, lex.unquotedCasing, lex.quotedCasing); SqlNode sqlNode = parser.parseStmt(); state = State.STATE_3_PARSED; return sqlNode; }
/** * Parses a SQL query. To use a different parser, override this method. */ protected SqlNode parseQuery(String sql) { SqlNode node; try { node = new SqlParser(sql).parseQuery(); } catch (SqlParseException e) { String message = "Received error while parsing SQL '" + sql + "'; error is:" + NL + e.toString(); throw new AssertionError(message); } return node; }