private static void checkRunOver(int i, int len, String sql) { if (i >= len) { throw DbException.getSyntaxError(sql, i); } }
private String readColumnIdentifier() { if (currentTokenType != IDENTIFIER) { throw DbException.getSyntaxError(sqlCommand, parseIndex, "identifier"); } String s = currentToken; read(); return s; }
private DbException getSyntaxError() { if (expectedList == null || expectedList.isEmpty()) { return DbException.getSyntaxError(sqlCommand, parseIndex); } StatementBuilder buff = new StatementBuilder(); for (String e : expectedList) { buff.appendExceptFirst(", "); buff.append(e); } return DbException.getSyntaxError(sqlCommand, parseIndex, buff.toString()); }
int j = sql.indexOf("$$", i + 2); if (j < 0) { throw DbException.getSyntaxError(sql, i); int j = sql.indexOf('\'', i + 1); if (j < 0) { throw DbException.getSyntaxError(sql, i); int j = sql.indexOf('"', i + 1); if (j < 0) { throw DbException.getSyntaxError(sql, i); throw DbException.getSyntaxError(sql, i);
private String readString() { Expression expr = readExpression().optimize(session); if (!(expr instanceof ValueExpression)) { throw DbException.getSyntaxError(sqlCommand, parseIndex, "string"); } return expr.getValue(session).getString(); }
private String readIdentifierWithSchema(String defaultSchemaName) { if (currentTokenType != IDENTIFIER) { throw DbException.getSyntaxError(sqlCommand, parseIndex, "identifier"); schemaName = s; if (currentTokenType != IDENTIFIER) { throw DbException.getSyntaxError(sqlCommand, parseIndex, "identifier"); schemaName = s; if (currentTokenType != IDENTIFIER) { throw DbException.getSyntaxError(sqlCommand, parseIndex, "identifier");
private Query compileViewQuery(Session session, String sql, boolean literalsChecked, String viewName) { Prepared p; session.setParsingCreateView(true, viewName); try { p = session.prepare(sql, false, literalsChecked); } finally { session.setParsingCreateView(false, viewName); } if (!(p instanceof Query)) { throw DbException.getSyntaxError(sql, 0); } Query q = (Query) p; // only potentially recursive cte queries need to be non-lazy if (isTableExpression && allowRecursive) { q.setNeverLazy(true); } return q; }
private long readLong() { boolean minus = false; if (currentTokenType == MINUS) { minus = true; read(); } else if (currentTokenType == PLUS) { read(); } if (currentTokenType != VALUE) { throw DbException.getSyntaxError(sqlCommand, parseIndex, "long"); } if (minus) { // must do that now, otherwise Long.MIN_VALUE would not work currentValue = currentValue.negate(); } long i = currentValue.getLong(); read(); return i; }
private int readInt() { boolean minus = false; if (currentTokenType == MINUS) { minus = true; read(); } else if (currentTokenType == PLUS) { read(); } if (currentTokenType != VALUE) { throw DbException.getSyntaxError(sqlCommand, parseIndex, "integer"); } if (minus) { // must do that now, otherwise Integer.MIN_VALUE would not work currentValue = currentValue.negate(); } int i = currentValue.getInt(); read(); return i; }
throw DbException.getSyntaxError(sql, i, "="); case '}': if (--level < 0) { throw DbException.getSyntaxError(sql, i); throw DbException.getSyntaxError(sql, sql.length() - 1);
if (list.size() == 4) { if (!equalsToken(database.getShortName(), list.remove(0))) { throw DbException.getSyntaxError(sqlCommand, parseIndex, "database name"); throw DbException.getSyntaxError(sqlCommand, parseIndex, "table.column");
throw DbException.getSyntaxError(sql, 1);
if (currentTokenType != VALUE || currentValue.getType() != Value.INT) { throw DbException.getSyntaxError(sqlCommand, parseIndex, "integer");
private static void checkRunOver(int i, int len, String sql) { if (i >= len) { throw DbException.getSyntaxError(sql, i); } }
private static void checkRunOver(int i, int len, String sql) { if (i >= len) { throw DbException.getSyntaxError(sql, i); } }
private String readColumnIdentifier() { if (currentTokenType != IDENTIFIER) { throw DbException.getSyntaxError(sqlCommand, parseIndex, "identifier"); } String s = currentToken; read(); return s; }
private String readColumnIdentifier() { if (currentTokenType != IDENTIFIER) { throw DbException.getSyntaxError(sqlCommand, parseIndex, "identifier"); } String s = currentToken; read(); return s; }
private DbException getSyntaxError() { if (expectedList == null || expectedList.size() == 0) { return DbException.getSyntaxError(sqlCommand, parseIndex); } StatementBuilder buff = new StatementBuilder(); for (String e : expectedList) { buff.appendExceptFirst(", "); buff.append(e); } return DbException.getSyntaxError(sqlCommand, parseIndex, buff.toString()); }
private String readString() { Expression expr = readExpression().optimize(session); if (!(expr instanceof ValueExpression)) { throw DbException.getSyntaxError(sqlCommand, parseIndex, "string"); } String s = expr.getValue(session).getString(); return s; }
private String readString() { Expression expr = readExpression().optimize(session); if (!(expr instanceof ValueExpression)) { throw DbException.getSyntaxError(sqlCommand, parseIndex, "string"); } String s = expr.getValue(session).getString(); return s; }