Github user samarthjain commented on a diff in the pull request:
https://github.com/apache/phoenix/pull/153#discussion_r58986201
--- Diff:
phoenix-core/src/main/java/org/apache/phoenix/compile/FromCompiler.java ---
@@ -265,12 +332,18 @@ public SingleTableColumnResolver(PhoenixConnection
connection, NamedTableNode ta
if (def.getColumnDefName().getFamilyName() != null) {
families.add(new
PColumnFamilyImpl(PNameFactory.newName(def.getColumnDefName().getFamilyName()),Collections.<PColumn>emptyList()));
}
- }
- Long scn = connection.getSCN();
- PTable theTable = new PTableImpl(connection.getTenantId(),
table.getName().getSchemaName(), table.getName().getTableName(), scn == null ?
HConstants.LATEST_TIMESTAMP : scn, families);
+ }
+ Long scn = connection.getSCN();
+ String schema = table.getName().getSchemaName();
+ if (connection.getSchema() != null) {
--- End diff --
I meant if the connection has a schema present, and the table's schema is
different from the schema property in the connection, IMHO we should probably
throw an error like SchemaMismatchException. I could think of a few
combinations that we should validate and test:
is namespace mapped connection schema
yes null
yes different
yes same
no null
no non-null
You could probably add a method in SchemaUtil to do the above checks.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---