[ 
https://issues.apache.org/jira/browse/PHOENIX-1709?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14352593#comment-14352593
 ] 

James Taylor commented on PHOENIX-1709:
---------------------------------------

Thanks, [~daniel.M]. Great work! Your fix for (1) is fine, but I'm worried your 
fix for (2) may be masking other issues (or might occur in other places in the 
code). Would it be possible for you to add a test for that where I've added 
mine - in WhereOptimizerTest.testAndWithRVC()? You can create multi-tenant 
tables and tenant specific connections in those tests - I think there are 
examples there or in QueryCompilerTest. I want to make sure no other issues are 
lurking.

> And expression of primary key RVCs can not compile
> --------------------------------------------------
>
>                 Key: PHOENIX-1709
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-1709
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: James Taylor
>            Assignee: James Taylor
>         Attachments: PHOENIX-1709.patch, PHOENIX-1709_v2.patch, 
> PHOENIX-1709_v3.patch
>
>
>   1 . create table t (a integer not null, b integer not null, c integer
> constraint pk primary key (a,b));
>   2. select c from t where a in (1,2) and b = 3 and (a,b) in ( (1,2) , (1,3));
>   I got exception on compile :
>   java.lang.IllegalArgumentException
>    at
> com.google.common.base.Preconditions.checkArgument(Preconditions.java:76)
>    at
> org.apache.phoenix.compile.WhereOptimizer$KeyExpressionVisitor$KeySlot.inter
> sect(WhereOptimizer.java:955)
>    at
> org.apache.phoenix.compile.WhereOptimizer$KeyExpressionVisitor.intersectSlot
> s(WhereOptimizer.java:506)
>    at
> org.apache.phoenix.compile.WhereOptimizer$KeyExpressionVisitor.andKeySlots(W
> hereOptimizer.java:551)
>    at
> org.apache.phoenix.compile.WhereOptimizer$KeyExpressionVisitor.visitLeave(Wh
> ereOptimizer.java:725)
>    at
> org.apache.phoenix.compile.WhereOptimizer$KeyExpressionVisitor.visitLeave(Wh
> ereOptimizer.java:349)
>    at
> org.apache.phoenix.expression.AndExpression.accept(AndExpression.java:100)
>    at
> org.apache.phoenix.compile.WhereOptimizer.pushKeyExpressionsToScan(WhereOpti
> mizer.java:117)
>    at
> org.apache.phoenix.compile.WhereCompiler.compile(WhereCompiler.java:105)
>    at
> org.apache.phoenix.compile.QueryCompiler.compileSingleQuery(QueryCompiler.ja
> va:324)
>    at
> org.apache.phoenix.compile.QueryCompiler.compile(QueryCompiler.java:132)
>    at
> org.apache.phoenix.jdbc.PhoenixStatement$ExecutableSelectStatement.compilePl
> an(PhoenixStatement.java:296)
>    at
> org.apache.phoenix.jdbc.PhoenixStatement$ExecutableSelectStatement.compilePl
> an(PhoenixStatement.java:284)
>    at
> org.apache.phoenix.jdbc.PhoenixStatement$1.call(PhoenixStatement.java:208)
>    at
> org.apache.phoenix.jdbc.PhoenixStatement$1.call(PhoenixStatement.java:204)
>    at
> org.apache.phoenix.util.PhoenixContextExecutor.call(PhoenixContextExecutor.j
> ava:54)
>    at
> org.apache.phoenix.jdbc.PhoenixStatement.executeQuery(PhoenixStatement.java:
> 204)
>    at
> org.apache.phoenix.jdbc.PhoenixStatement.execute(PhoenixStatement.java:967)
>    at sqlline.SqlLine$Commands.execute(SqlLine.java:3673)
>    at sqlline.SqlLine$Commands.sql(SqlLine.java:3584)
>    at sqlline.SqlLine.dispatch(SqlLine.java:821)
>    at sqlline.SqlLine.begin(SqlLine.java:699)
>    at sqlline.SqlLine.mainWithInputRedirection(SqlLine.java:441)
>    at sqlline.SqlLine.main(SqlLine.java:424)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to