Samarth Jain created PHOENIX-2276:
-------------------------------------
Summary: Creating index on a global view on a multi-tenant table
fails with NPE
Key: PHOENIX-2276
URL: https://issues.apache.org/jira/browse/PHOENIX-2276
Project: Phoenix
Issue Type: Bug
Reporter: Samarth Jain
{code}
@Test
public void testCreatingIndexOnGlobalView() throws Exception {
String baseTable = "testRowTimestampColWithViews".toUpperCase();
String globalView = "globalView".toUpperCase();
String globalViewIdx = "globalView_idx".toUpperCase();
long ts = nextTimestamp();
try (Connection conn = getConnection(ts)) {
conn.createStatement().execute("CREATE TABLE " + baseTable + "
(TENANT_ID CHAR(15) NOT NULL, PK2 DATE NOT NULL, PK3 INTEGER NOT NULL, KV1
VARCHAR, KV2 VARCHAR, KV3 CHAR(15) CONSTRAINT PK PRIMARY KEY(TENANT_ID, PK2
ROW_TIMESTAMP, PK3)) MULTI_TENANT=true");
}
ts = nextTimestamp();
try (Connection conn = getConnection(ts)) {
conn.createStatement().execute("CREATE VIEW " + globalView + " AS
SELECT * FROM " + baseTable + " WHERE KV1 = 'KV1'");
}
ts = nextTimestamp();
try (Connection conn = getConnection(ts)) {
conn.createStatement().execute("CREATE INDEX " + globalViewIdx + "
ON " + globalView + " (PK3 DESC, KV3) INCLUDE (KV1)");
}
}
java.lang.NullPointerException
at
org.apache.phoenix.util.StringUtil.escapeBackslash(StringUtil.java:392)
at
org.apache.phoenix.compile.PostIndexDDLCompiler.compile(PostIndexDDLCompiler.java:78)
at
org.apache.phoenix.schema.MetaDataClient.buildIndex(MetaDataClient.java:1027)
at
org.apache.phoenix.schema.MetaDataClient.buildIndexAtTimeStamp(MetaDataClient.java:903)
at
org.apache.phoenix.schema.MetaDataClient.createIndex(MetaDataClient.java:1321)
at
org.apache.phoenix.compile.CreateIndexCompiler$1.execute(CreateIndexCompiler.java:95)
at
org.apache.phoenix.jdbc.PhoenixStatement$3.call(PhoenixStatement.java:315)
at
org.apache.phoenix.jdbc.PhoenixStatement$3.call(PhoenixStatement.java:1)
at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53)
at
org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:306)
at
org.apache.phoenix.jdbc.PhoenixStatement.execute(PhoenixStatement.java:1375)
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)