Istvan Toth created PHOENIX-6969:
------------------------------------

             Summary: Hinted uncovered index query with order by  projection 
error 
                 Key: PHOENIX-6969
                 URL: https://issues.apache.org/jira/browse/PHOENIX-6969
             Project: Phoenix
          Issue Type: Bug
    Affects Versions: 5.1.3, 5.2.0
            Reporter: Istvan Toth


 

When using order in  some hinted uncovered queries, a 
ColumnAlreadyExistsException is thrown.
{noformat}
create table dd (k1 integer not null, k2 integer not null, k3 integer not null, 
k4 integer not null, v1 integer, v2 integer, v3 integer, v4 integer constraint 
pk primary key (k1,k2,k3,k4));

create index ii on dd (k4, k1, k2, k3);

select /*+ index(dd ii) */ k1, k2, k3, k4, v1, v2, v3, v4 from dd where k4=1 
and k2=1 order by k1 asc, v1 asc limit  1;{noformat}
{noformat}
Error: ERROR 514 (42892): A duplicate column name was detected in the object 
definition or ALTER TABLE/VIEW statement. columnName=II.V1 
(state=42892,code=514)
org.apache.phoenix.schema.ColumnAlreadyExistsException: ERROR 514 (42892): A 
duplicate column name was detected in the object definition or ALTER TABLE/VIEW 
statement. columnName=II.V1
    at 
org.apache.phoenix.schema.PTableImpl$Builder.initDerivedAttributes(PTableImpl.java:682)
    at org.apache.phoenix.schema.PTableImpl$Builder.build(PTableImpl.java:802)
    at 
org.apache.phoenix.compile.TupleProjectionCompiler.createProjectedTable(TupleProjectionCompiler.java:179)
    at 
org.apache.phoenix.compile.QueryCompiler.compileSingleFlatQuery(QueryCompiler.java:701)
    at 
org.apache.phoenix.compile.QueryCompiler.compileSingleQuery(QueryCompiler.java:667)
    at 
org.apache.phoenix.compile.QueryCompiler.compileSelect(QueryCompiler.java:249)
    at org.apache.phoenix.compile.QueryCompiler.compile(QueryCompiler.java:178)
    at 
org.apache.phoenix.optimize.QueryOptimizer.addPlan(QueryOptimizer.java:348)
    at 
org.apache.phoenix.optimize.QueryOptimizer.getHintedQueryPlan(QueryOptimizer.java:302)
    at 
org.apache.phoenix.optimize.QueryOptimizer.getApplicablePlansForSingleFlatQuery(QueryOptimizer.java:230)
    at 
org.apache.phoenix.optimize.QueryOptimizer.getApplicablePlans(QueryOptimizer.java:138)
    at 
org.apache.phoenix.optimize.QueryOptimizer.optimize(QueryOptimizer.java:116)
    at 
org.apache.phoenix.optimize.QueryOptimizer.optimize(QueryOptimizer.java:102)
    at 
org.apache.phoenix.jdbc.PhoenixStatement$1.call(PhoenixStatement.java:319)
    at 
org.apache.phoenix.jdbc.PhoenixStatement$1.call(PhoenixStatement.java:301)
    at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53)
    at 
org.apache.phoenix.jdbc.PhoenixStatement.executeQuery(PhoenixStatement.java:300)
    at 
org.apache.phoenix.jdbc.PhoenixStatement.executeQuery(PhoenixStatement.java:293)
    at 
org.apache.phoenix.jdbc.PhoenixStatement.execute(PhoenixStatement.java:2038)
    at sqlline.Commands.executeSingleQuery(Commands.java:1054)
    at sqlline.Commands.execute(Commands.java:1003)
    at sqlline.Commands.sql(Commands.java:967)
    at sqlline.SqlLine.dispatch(SqlLine.java:734)
    at sqlline.SqlLine.begin(SqlLine.java:541)
    at sqlline.SqlLine.start(SqlLine.java:267)
    at sqlline.SqlLine.main(SqlLine.java:206)
{noformat}
 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to