[
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)