[
https://issues.apache.org/jira/browse/PHOENIX-1535?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14250042#comment-14250042
]
Maryann Xue commented on PHOENIX-1535:
--------------------------------------
Sure, [~rajeshbabu]. Actually just found the problem: the JoinCompiler resolves
columns too, but does not have the logic to handle LocalIndexDataColumnRef as
in ExpressionCompiler. The ColumnRef resolved by JoinCompiler is basically for
table reference analysis, and won't have anything to do with the plan
generation. And interestingly the ColumnRef should point to the index table
instead of its parent table for correct table reference analysis, so I can
simply create a dummy ColumnRef and the test case can pass.
> Secondary local index casues Undefined column error with queries involving
> joins
> --------------------------------------------------------------------------------
>
> Key: PHOENIX-1535
> URL: https://issues.apache.org/jira/browse/PHOENIX-1535
> Project: Phoenix
> Issue Type: Bug
> Affects Versions: 4.2
> Environment: HBase 0.98.6; CDH-5.2.0-1.cdh5.2.0.p0.36
> Reporter: Joyce Lau
>
> Create 2 tables with a local index
> create table tab1 (col1 bigint, col2 bigint, col3 bigint, constraint pk_tab1
> primary key (col1));
> create table tab2 (col1 bigint, col2 bigint, col3 bigint, constraint pk_tab1
> primary key (col1));
> create local index ind_tab1 on tab1(col2);
> Executing a query with a condition on the local index column and select a
> column not in the index results in an error:
> explain
> select tab1.col3
> from tab1 join tab2 on tab1.col1 = tab2.col1
> where tab1.col2 = 1
> =======
> Error: ERROR 504 (42703): Undefined column. columnName=0:COL3
> SQLState: 42703
> ErrorCode: 504
> =======
> Select * is ok:
> explain select tab1.* from tab1 where tab1.col2 = 1
> If I drop the local index, the first query runs successfully.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)