Description
@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)
Attachments
Attachments
Issue Links
- is duplicated by
-
PHOENIX-2972 Index creation failed when tried created without tenantId on multi-tenant table view.
- Resolved
-
PHOENIX-2814 WhereOptimizer does not handle multi-tenant local index correctly when connection is non-tenant-specific
- Closed