[ https://issues.apache.org/jira/browse/PHOENIX-3042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15381510#comment-15381510 ]
Hadoop QA commented on PHOENIX-3042: ------------------------------------ {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12818470/PHOENIX-3042-v3.patch against master branch at commit e5a8dca90c369320ee12098e42f856626f2c9d69. ATTACHMENT ID: 12818470 {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 3 new or modified tests. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:red}-1 javadoc{color}. The javadoc tool appears to have generated 35 warning messages. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:red}-1 lineLengths{color}. The patch introduces the following lines longer than 100: + String nameSuffix = "T" + (mutable ? "MUTABLE" : "_IMMUTABLE") + (localIndex ? "_LOCAL" : "_GLOBAL"); + + "( c_customer_sk varchar primary key, c_first_name varchar, c_last_name varchar )" + + " INDEX " + indexName + " ON " + tableName + " (c_customer_sk || c_first_name asc)"); + PreparedStatement stmt = conn.prepareStatement("UPSERT INTO " + tableName + " VALUES(?,?,?)"); + assertEquals("CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + tableName + " [1,'1David']\n" + + public IndexStatementRewriter(ColumnResolver dataResolver, Map<TableRef, TableRef> multiTableRewriteMap, boolean setTableAlias) { + return rewrite(statement, new IndexStatementRewriter(dataResolver, multiTableRewriteMap, false)); + // if the setTableAlias flag is true and the original table has an alias we use that as the table name + SelectStatement indexSelect = IndexStatementRewriter.translate(NODE_FACTORY.select(select, newFrom), resolver, replacement); + indexSelect = ParseNodeRewriter.rewrite(indexSelect, new IndexExpressionParseNodeRewriter(indexTableRef.getTable(), indexTableRef.getTableAlias(), statement.getConnection(), indexSelect.getUdfParseNodes())); {color:green}+1 core tests{color}. The patch passed unit tests in . {color:red}-1 core zombie tests{color}. There are 1 zombie test(s): at org.apache.ambari.server.controller.AmbariManagementControllerTest.testServiceUpdateRecursive(AmbariManagementControllerTest.java:3491) Test results: https://builds.apache.org/job/PreCommit-PHOENIX-Build/451//testReport/ Javadoc warnings: https://builds.apache.org/job/PreCommit-PHOENIX-Build/451//artifact/patchprocess/patchJavadocWarnings.txt Console output: https://builds.apache.org/job/PreCommit-PHOENIX-Build/451//console This message is automatically generated. > Using functional index expression in where statement for join query fails. > --------------------------------------------------------------------------- > > Key: PHOENIX-3042 > URL: https://issues.apache.org/jira/browse/PHOENIX-3042 > Project: Phoenix > Issue Type: Bug > Affects Versions: 4.8.0 > Reporter: Sergey Soldatov > Assignee: Thomas D'Silva > Fix For: 4.8.1 > > Attachments: PHOENIX-3042-V2.patch, PHOENIX-3042-v3.patch, > PHOENIX-3042.patch > > > A simple scenario: > {noformat} > CREATE TABLE customer_phx ( c_customer_sk varchar primary key, c_first_name > varchar, c_last_name varchar ); > UPSERT INTO customer_phx values ( '1', 'David', 'Smith'); > CREATE LOCAL INDEX CUSTINDEX ON customer_phx (c_customer_sk || c_first_name > asc) include (c_customer_sk); > select c.c_customer_sk from customer_phx c left outer join customer_phx c2 > on c.c_customer_sk = c2.c_customer_sk where c.c_customer_sk || c.c_first_name > = '1David'; > {noformat} > It fails with an Exception : > {noformat} > Error: ERROR 504 (42703): Undefined column. columnName=C_FIRST_NAME > (state=42703,code=504) > org.apache.phoenix.schema.ColumnNotFoundException: ERROR 504 (42703): > Undefined column. columnName=C_FIRST_NAME > at > org.apache.phoenix.compile.WhereCompiler$WhereExpressionCompiler.resolveColumn(WhereCompiler.java:190) > at > org.apache.phoenix.compile.WhereCompiler$WhereExpressionCompiler.visit(WhereCompiler.java:169) > at > org.apache.phoenix.compile.WhereCompiler$WhereExpressionCompiler.visit(WhereCompiler.java:156) > at > org.apache.phoenix.parse.ColumnParseNode.accept(ColumnParseNode.java:56) > at > org.apache.phoenix.parse.CompoundParseNode.acceptChildren(CompoundParseNode.java:64) > at > org.apache.phoenix.parse.StringConcatParseNode.accept(StringConcatParseNode.java:46) > at > org.apache.phoenix.parse.CompoundParseNode.acceptChildren(CompoundParseNode.java:64) > at > org.apache.phoenix.parse.ComparisonParseNode.accept(ComparisonParseNode.java:45) > at > org.apache.phoenix.compile.WhereCompiler.compile(WhereCompiler.java:130) > at > org.apache.phoenix.compile.WhereCompiler.compile(WhereCompiler.java:100) > at > org.apache.phoenix.compile.QueryCompiler.compileSingleFlatQuery(QueryCompiler.java:556) > at > org.apache.phoenix.compile.QueryCompiler.compileJoinQuery(QueryCompiler.java:324) > at > org.apache.phoenix.compile.QueryCompiler.compileSelect(QueryCompiler.java:200) > at > org.apache.phoenix.compile.QueryCompiler.compile(QueryCompiler.java:157) > at > org.apache.phoenix.jdbc.PhoenixStatement$ExecutableSelectStatement.compilePlan(PhoenixStatement.java:404) > at > org.apache.phoenix.jdbc.PhoenixStatement$ExecutableSelectStatement.compilePlan(PhoenixStatement.java:378) > at > org.apache.phoenix.jdbc.PhoenixStatement$1.call(PhoenixStatement.java:271) > at > org.apache.phoenix.jdbc.PhoenixStatement$1.call(PhoenixStatement.java:266) > at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53) > at > org.apache.phoenix.jdbc.PhoenixStatement.executeQuery(PhoenixStatement.java:265) > at > org.apache.phoenix.jdbc.PhoenixStatement.execute(PhoenixStatement.java:1444) > at sqlline.Commands.execute(Commands.java:822) > at sqlline.Commands.sql(Commands.java:732) > at sqlline.SqlLine.dispatch(SqlLine.java:807) > at sqlline.SqlLine.begin(SqlLine.java:681) > at sqlline.SqlLine.start(SqlLine.java:398) > at sqlline.SqlLine.main(SqlLine.java:292) > {noformat} > Meanwhile using the same where statement without join works just fine. > Any ideas [~jamestaylor], [~ramkrishna.s.vasude...@gmail.com] ? -- This message was sent by Atlassian JIRA (v6.3.4#6332)