[ https://issues.apache.org/jira/browse/PHOENIX-1015?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14047083#comment-14047083 ]
James Taylor commented on PHOENIX-1015: --------------------------------------- This one too, Is it necessary? If it is, then please change the instanceof check to: if (table.getIndexType() == IndexType.LOCAL_INDEX) {code} Index: phoenix-core/src/main/java/org/apache/phoenix/compile/WhereCompiler.java =================================================================== --- phoenix-core/src/main/java/org/apache/phoenix/compile/WhereCompiler.java (revision 786) +++ phoenix-core/src/main/java/org/apache/phoenix/compile/WhereCompiler.java (working copy) @@ -44,8 +44,10 @@ import org.apache.phoenix.schema.AmbiguousColumnException; import org.apache.phoenix.schema.ColumnNotFoundException; import org.apache.phoenix.schema.ColumnRef; +import org.apache.phoenix.schema.LocalIndexDataColumnRef; import org.apache.phoenix.schema.PDataType; import org.apache.phoenix.schema.PTable; +import org.apache.phoenix.schema.PTable.IndexType; import org.apache.phoenix.schema.PTableType; import org.apache.phoenix.schema.TableRef; import org.apache.phoenix.schema.TypeMismatchException; @@ -135,6 +137,9 @@ protected ColumnRef resolveColumn(ColumnParseNode node) throws SQLException { ColumnRef ref = super.resolveColumn(node); PTable table = ref.getTable(); + if (ref instanceof LocalIndexDataColumnRef) { + context.getResolver().getTables().get(0).getTable().getPKColumn(ref.getColumn().getName().getString()); + } // Track if we need to compare KeyValue during filter evaluation // using column family. If the column qualifier is enough, we // just use that. {code} > Support joining back to data table row from local index when query condition > involves leading columns in local index > -------------------------------------------------------------------------------------------------------------------- > > Key: PHOENIX-1015 > URL: https://issues.apache.org/jira/browse/PHOENIX-1015 > Project: Phoenix > Issue Type: Sub-task > Reporter: rajeshbabu > Assignee: rajeshbabu > Attachments: PHOENIX-1015.patch, PHOENIX-1015_v6.patch, > PHOENIX-1015_v7.patch > > > When a query involves more columns to project than columns in index and query > condition involves leading columns in local index then first we can get > matching rowkeys from local index table and then get the required columns > from data table. In local index both data region and index region co-reside > in the same RS, we can call get on data region to get the missing columns in > the index, without any n/w overhead. So it's efficient. -- This message was sent by Atlassian JIRA (v6.2#6252)