/** * Get the schema. If the schema does not exist, an exception is thrown. * * @param schemaName the name of the schema * @return the schema * @throws DbException no schema with that name exists */ public Schema getSchema(String schemaName) { Schema schema = findSchema(schemaName); if (schema == null) { throw DbException.get(ErrorCode.SCHEMA_NOT_FOUND_1, schemaName); } return schema; }
private Table getDualTable(boolean noColumns) { Schema main = database.findSchema(Constants.SCHEMA_MAIN); Expression one = ValueExpression.get(ValueLong.get(1)); return new RangeTable(main, one, one, noColumns); }
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; }
@Override public QueryResult process(String query) { Session session = target.getSession().getDbSession(); QueryResult result = new QueryResult(0); List<SQLStatement> stmts = SQLUtils.parseStatements(query, JdbcConstants.MYSQL); for (SQLStatement stmt : stmts) { if (stmt instanceof SQLUseStatement) { SQLUseStatement s = (SQLUseStatement) stmt; String database = SQLUtils.toMySqlString(s.getDatabase()); database = database.replaceAll("['|`]", ""); Schema schema = session.getDatabase().findSchema(session.getDatabase().identifier(database)); if (schema == null) { throw ServerException.get(ErrorCode.ER_BAD_DB_ERROR, "Unknown database " + database); } result.setWarnings((short) 1); result.setMessage("The database is immutable, there is no need to use the 'use' command"); } else { throw ServerException.get(ErrorCode.ER_NOT_ALLOWED_COMMAND, "not allowed command:" + query); } } return result; }
sequenceName = v1.getString(); Schema s = database.findSchema(schemaName); if (s == null) { schemaName = StringUtils.toUpperEnglish(schemaName);
Schema s = database.findSchema(objectName); if ((!SysProperties.OLD_STYLE_OUTER_JOIN || s != null) && readIf("(")) {