PHOENIX-4882 The client re-resolves the table for every projected non-indexed column when there's a local index.
Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/7e1eabf1 Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/7e1eabf1 Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/7e1eabf1 Branch: refs/heads/omid2 Commit: 7e1eabf1bc96799e4d50c0e406f4f803644a4490 Parents: 5900ec8 Author: Lars Hofhansl <la...@apache.org> Authored: Thu Sep 6 11:22:35 2018 -0700 Committer: Lars Hofhansl <la...@apache.org> Committed: Thu Sep 6 11:22:35 2018 -0700 ---------------------------------------------------------------------- .../src/main/java/org/apache/phoenix/compile/FromCompiler.java | 5 +++++ .../java/org/apache/phoenix/schema/LocalIndexDataColumnRef.java | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/phoenix/blob/7e1eabf1/phoenix-core/src/main/java/org/apache/phoenix/compile/FromCompiler.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/compile/FromCompiler.java b/phoenix-core/src/main/java/org/apache/phoenix/compile/FromCompiler.java index 6eb5952..efc66a9 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/compile/FromCompiler.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/compile/FromCompiler.java @@ -249,6 +249,11 @@ public class FromCompiler { return visitor; } + public static ColumnResolver getResolver(NamedTableNode tableNode, PhoenixConnection connection, boolean updateCacheImmediately) throws SQLException { + SingleTableColumnResolver visitor = new SingleTableColumnResolver(connection, tableNode, updateCacheImmediately); + return visitor; + } + public static ColumnResolver getResolver(NamedTableNode tableNode, PhoenixConnection connection, Map<String, UDFParseNode> udfParseNodes) throws SQLException { SingleTableColumnResolver visitor = new SingleTableColumnResolver(connection, tableNode, true, 0, udfParseNodes); http://git-wip-us.apache.org/repos/asf/phoenix/blob/7e1eabf1/phoenix-core/src/main/java/org/apache/phoenix/schema/LocalIndexDataColumnRef.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/schema/LocalIndexDataColumnRef.java b/phoenix-core/src/main/java/org/apache/phoenix/schema/LocalIndexDataColumnRef.java index 270c66d..0061331 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/schema/LocalIndexDataColumnRef.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/schema/LocalIndexDataColumnRef.java @@ -37,7 +37,7 @@ public class LocalIndexDataColumnRef extends ColumnRef { super(FromCompiler.getResolver( FACTORY.namedTable(null, TableName.create(context.getCurrentTable().getTable() .getSchemaName().getString(), context.getCurrentTable().getTable() - .getParentTableName().getString())), context.getConnection()).resolveTable( + .getParentTableName().getString())), context.getConnection(), false).resolveTable( context.getCurrentTable().getTable().getSchemaName().getString(), context.getCurrentTable().getTable().getParentTableName().getString()), IndexUtil .getDataColumnFamilyName(indexColumnName), IndexUtil