Palash Chauhan created PHOENIX-7406: ---------------------------------------
Summary: Index creation fails when creating a partial index on a table which was created with column names in double quotes Key: PHOENIX-7406 URL: https://issues.apache.org/jira/browse/PHOENIX-7406 Project: Phoenix Issue Type: Bug Reporter: Palash Chauhan {code:java} CREATE TABLE TESTGLOBALINDEXWITHSORTKEY1 ("attr_0" VARCHAR NOT NULL, COL BSON CONSTRAINT pk PRIMARY KEY ("attr_0")) {code} {code:java} CREATE INDEX G_IDX_TESTGLOBALINDEXWITHSORTKEY1 ON TESTGLOBALINDEXWITHSORTKEY1 (BSON_VALUE(COL,'IdS','VARCHAR'),BSON_VALUE(COL,'Id2','DOUBLE')) INCLUDE (COL) WHERE BSON_VALUE(COL,'IdS','VARCHAR') IS NOT NULL AND BSON_VALUE(COL,'Id2','VARCHAR') IS NOT NULL {code} {code:java} org.apache.phoenix.schema.ColumnNotFoundException: ERROR 504 (42703): Undefined column. columnName=TESTGLOBALINDEXWITHSORTKEY1.ATTR_0 at org.apache.phoenix.schema.PTableImpl.getColumnForColumnName(PTableImpl.java:1416) at org.apache.phoenix.compile.FromCompiler$SingleTableColumnResolver.resolveColumn(FromCompiler.java:541) at org.apache.phoenix.compile.UpsertCompiler.compile(UpsertCompiler.java:511) at org.apache.phoenix.jdbc.PhoenixStatement$ExecutableUpsertStatement.compilePlan(PhoenixStatement.java:1110) at org.apache.phoenix.jdbc.PhoenixStatement$ExecutableUpsertStatement.compilePlan(PhoenixStatement.java:1096) at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:612) at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:593) at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53) at org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:592) at org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:580) at org.apache.phoenix.jdbc.PhoenixPreparedStatement.execute(PhoenixPreparedStatement.java:181) at org.apache.phoenix.compile.CreateIndexCompiler.verifyIndexWhere(CreateIndexCompiler.java:196) at org.apache.phoenix.compile.CreateIndexCompiler.compile(CreateIndexCompiler.java:236) at org.apache.phoenix.jdbc.PhoenixStatement$ExecutableCreateIndexStatement.compilePlan(PhoenixStatement.java:1504) at org.apache.phoenix.jdbc.PhoenixStatement$ExecutableCreateIndexStatement.compilePlan(PhoenixStatement.java:1486) at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:612) at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:593) at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53) at org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:592) at org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:580) at org.apache.phoenix.jdbc.PhoenixStatement.execute(PhoenixStatement.java:2406) {code} We should always use double quotes when forming the upsert query as part of WHERE clause verification during partial index creation. -- This message was sent by Atlassian Jira (v8.20.10#820010)