private boolean isToken(String token) { boolean result = equalsToken(token, currentToken) && !currentTokenQuoted; if (result) { return true; } addExpected(token); return false; }
private boolean readIf(String token) { if (!currentTokenQuoted && equalsToken(token, currentToken)) { read(); return true; } addExpected(token); return false; }
private Set parseSetBinaryCollation() { Set command = new Set(session, SetTypes.BINARY_COLLATION); String name = readAliasIdentifier(); command.setString(name); if (equalsToken(name, CompareMode.UNSIGNED) || equalsToken(name, CompareMode.SIGNED)) { return command; } throw DbException.getInvalidValueException("BINARY_COLLATION", name); }
private void read(String expected) { if (currentTokenQuoted || !equalsToken(expected, currentToken)) { addExpected(expected); throw getSyntaxError(); } read(); }
private Schema getSchema(String schemaName) { if (schemaName == null) { return null; } Schema schema = database.findSchema(schemaName); if (schema == null) { if (equalsToken("SESSION", schemaName)) { // for local temporary tables schema = database.getSchema(session.getCurrentSchemaName()); } else if (database.getMode().sysDummy1 && "SYSIBM".equals(schemaName)) { // IBM DB2 and Apache Derby compatibility: SYSIBM.SYSDUMMY1 } else { throw DbException.get(ErrorCode.SCHEMA_NOT_FOUND_1, schemaName); } } return schema; }
private TableFilter readSimpleTableFilter() { Table table = readTableOrView(); String alias = null; if (readIf("AS")) { alias = readAliasIdentifier(); } else if (currentTokenType == IDENTIFIER) { if (!equalsToken("SET", currentToken)) { // SET is not a keyword (PostgreSQL supports it as a table name) alias = readAliasIdentifier(); } } return new TableFilter(session, table, alias, rightsChecked, currentSelect); }
columnName = readColumnIdentifier(); if (!equalsToken(schema, filter.getTable().getSchema() .getName())) { throw DbException.get(ErrorCode.SCHEMA_NOT_FOUND_1, schema); if (!equalsToken(tableAlias, filter.getTableAlias())) { throw DbException.get(ErrorCode.TABLE_OR_VIEW_NOT_FOUND_1, tableAlias);
private Set parseSetCollation() { Set command = new Set(session, SetTypes.COLLATION); String name = readAliasIdentifier(); command.setString(name); if (equalsToken(name, CompareMode.OFF)) { return command; } Collator coll = CompareMode.getCollator(name); if (coll == null) { throw DbException.getInvalidValueException("collation", name); } if (readIf("STRENGTH")) { if (readIf("PRIMARY")) { command.setInt(Collator.PRIMARY); } else if (readIf("SECONDARY")) { command.setInt(Collator.SECONDARY); } else if (readIf("TERTIARY")) { command.setInt(Collator.TERTIARY); } else if (readIf("IDENTICAL")) { command.setInt(Collator.IDENTICAL); } } else { command.setInt(coll.getStrength()); } return command; }
if (readIf(".")) { r = readTermObjectDot(name); } else if (equalsToken("CASE", name)) { } else if (readIf("(")) { r = readFunction(null, name); } else if (equalsToken("CURRENT_USER", name)) { r = readFunctionWithoutParameters("USER"); } else if (equalsToken("CURRENT", name)) { if (readIf("TIMESTAMP")) { r = readFunctionWithoutParameters("CURRENT_TIMESTAMP"); } else if (equalsToken("NEXT", name) && readIf("VALUE")) { read("FOR"); Sequence sequence = readSequence(); } else if (currentTokenType == VALUE && currentValue.getType() == Value.STRING) { if (equalsToken("DATE", name) || equalsToken("D", name)) { String date = currentValue.getString(); read(); r = ValueExpression.get(ValueDate.parse(date)); } else if (equalsToken("TIME", name) || equalsToken("T", name)) { String time = currentValue.getString(); read(); r = ValueExpression.get(ValueTime.parse(time)); } else if (equalsToken("TIMESTAMP", name) ||
if (equalsToken(tableName, RangeTable.NAME)) { Expression min = readExpression(); read(","); } else if (equalsToken("DUAL", tableName)) { table = getDualTable(false); } else if (database.getMode().sysDummy1 && equalsToken("SYSDUMMY1", tableName)) { table = getDualTable(false); } else {
!equalsToken("VARCHAR_CASESENSITIVE", original)) { original = "VARCHAR_IGNORECASE"; dataType = DataType.getTypeByName(original);
if (!readIf("ISO")) { String s = readString(); if (!equalsToken(s, "ISO")) { throw getSyntaxError();
private CreateTable parseCreateTable(boolean temp, boolean globalTemp) { boolean ifNotExists = readIfNotExists(); String tableName = readIdentifierWithSchema(); if (temp && globalTemp && equalsToken("SESSION", schemaName)) {
for (Column c : joinCols) { String joinColumnName = c.getName(); if (equalsToken(tableColumnName, joinColumnName)) { join.addNaturalJoinColumn(c); Expression tableExpr = new ExpressionColumn(