private Sequence findSequence(String schema, String sequenceName) { Sequence sequence = database.getSchema(schema).findSequence( sequenceName); if (sequence != null) { return sequence; } String[] schemaNames = session.getSchemaSearchPath(); if (schemaNames != null) { for (String n : schemaNames) { sequence = database.getSchema(n).findSequence(sequenceName); if (sequence != null) { return sequence; } } } return null; }
protected TableMate findTableMate(String tableName) { Table table = database.getSchema(session.getCurrentSchemaName()).findTableOrView(session, tableName); if (table == null) { String[] schemaNames = session.getSchemaSearchPath(); if (schemaNames != null) { for (String name : schemaNames) { Schema s = database.getSchema(name); table = s.findTableOrView(session, tableName); if (table != null) { break; } } } } if (table != null && table instanceof TableMate) { return (TableMate) table; } return null; }
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 Table readTableOrView(String tableName) { // same algorithm than readSequence if (schemaName != null) { return getSchema().getTableOrView(session, tableName); } Table table = database.getSchema(session.getCurrentSchemaName()) .findTableOrView(session, tableName); if (table != null) { return table; } String[] schemaNames = session.getSchemaSearchPath(); if (schemaNames != null) { for (String name : schemaNames) { Schema s = database.getSchema(name); table = s.findTableOrView(session, tableName); if (table != null) { return table; } } } throw DbException.get(ErrorCode.TABLE_OR_VIEW_NOT_FOUND_1, tableName); }
private TableFilter parseValuesTable() { Schema mainSchema = database.getSchema(Constants.SCHEMA_MAIN); TableFunction tf = (TableFunction) Function.getFunction(database, "TABLE");
/** * Create a temporary view out of the given query. * * @param session the session * @param owner the owner of the query * @param name the view name * @param query the query * @param topQuery the top level query * @return the view table */ public static TableView createTempView(Session session, User owner, String name, Query query, Query topQuery) { Schema mainSchema = session.getDatabase().getSchema(Constants.SCHEMA_MAIN); String querySQL = query.getPlanSQL(); TableView v = new TableView(mainSchema, 0, name, querySQL, query.getParameters(), null, session, false); if (v.createException != null) { throw v.createException; } v.setTopQuery(topQuery); v.setOwner(owner); v.setTemporary(true); return v; }
if (s == null) { schemaName = StringUtils.toUpperEnglish(schemaName); s = database.getSchema(schemaName);
if (readIf("(")) { schema = objectName; return readFunction(database.getSchema(schema), name); } else if (readIf(".")) { schema = objectName;
Schema schema = database.getSchema(stringValue); session.setCurrentSchema(schema); break;
Schema mainSchema = database.getSchema(Constants.SCHEMA_MAIN); if (equalsToken(tableName, RangeTable.NAME)) { Expression min = readExpression();