Fix regression caused by PHOENIX-3341
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/calcite/PhoenixPrepareImpl.java b/phoenix-core/src/main/java/org/apache/phoenix/calcite/PhoenixPrepareImpl.java
index bd7450e..7ec7552 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/calcite/PhoenixPrepareImpl.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/calcite/PhoenixPrepareImpl.java
@@ -248,9 +248,9 @@
public Object apply(RelNode root) {
for (CalciteSchema schema : rootSchema.getSubSchemaMap().values()) {
if (schema.schema instanceof PhoenixSchema) {
- ((PhoenixSchema) schema.schema).defineIndexesAsMaterializations();
+ ((PhoenixSchema) schema.schema).defineIndexesAsMaterializations(schema.plus().getParentSchema());
for (CalciteSchema subSchema : schema.getSubSchemaMap().values()) {
- ((PhoenixSchema) subSchema.schema).defineIndexesAsMaterializations();
+ ((PhoenixSchema) subSchema.schema).defineIndexesAsMaterializations(subSchema.plus().getParentSchema());
}
}
}
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/calcite/PhoenixSchema.java b/phoenix-core/src/main/java/org/apache/phoenix/calcite/PhoenixSchema.java
index bedec19..b17e0aa 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/calcite/PhoenixSchema.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/calcite/PhoenixSchema.java
@@ -54,12 +54,7 @@
import org.apache.phoenix.parse.NamedTableNode;
import org.apache.phoenix.parse.PFunction;
import org.apache.phoenix.parse.PFunction.FunctionArgument;
-import org.apache.phoenix.parse.ColumnParseNode;
-import org.apache.phoenix.parse.ParseNode;
import org.apache.phoenix.parse.ParseNodeFactory;
-import org.apache.phoenix.parse.ParseNodeRewriter;
-import org.apache.phoenix.parse.ParseNodeVisitor;
-import org.apache.phoenix.parse.SQLParser;
import org.apache.phoenix.parse.SequenceValueParseNode;
import org.apache.phoenix.parse.TableName;
import org.apache.phoenix.query.QueryServices;
@@ -565,7 +560,7 @@
return new PhoenixSchema(name, schemaName, parentSchema, pc, typeFactory);
}
- public void defineIndexesAsMaterializations() {
+ public void defineIndexesAsMaterializations(SchemaPlus parentSchema) {
SchemaPlus schema = parentSchema.getSubSchema(this.name);
SchemaPlus viewSqlSchema =
this.schemaName == null ? schema : parentSchema;