Jacob Isaac created PHOENIX-7047:
------------------------------------
Summary: Index rows not generated for certain multilevel views
Key: PHOENIX-7047
URL: https://issues.apache.org/jira/browse/PHOENIX-7047
Project: Phoenix
Issue Type: Bug
Reporter: Jacob Isaac
@Test
public void testTenantViewUpdate() throws Exception {
Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
try (Connection conn = DriverManager.getConnection(getUrl(), props)) {
String schemaName = generateUniqueName();
String dataTableName = generateUniqueName();
String dataTableFullName = SchemaUtil.getTableName(schemaName, dataTableName);
String globalViewName = generateUniqueName();
String globalViewFullName = SchemaUtil.getTableName(schemaName, globalViewName);
String viewName = generateUniqueName();
String viewFullName = SchemaUtil.getTableName(schemaName, viewName);
String leafViewName = generateUniqueName();
String leafViewFullName = SchemaUtil.getTableName(schemaName, leafViewName);
String indexTableName1 = generateUniqueName();
String indexTableFullName1 = SchemaUtil.getTableName(schemaName,
indexTableName1);
conn.createStatement().execute("CREATE TABLE " + dataTableFullName
+ " (OID CHAR(15) NOT NULL, KP CHAR(3) NOT NULL, VAL1 INTEGER, VAL2 INTEGER
CONSTRAINT PK PRIMARY KEY (OID, KP)) MULTI_TENANT=true");
conn.commit();
conn.createStatement().execute(String.format("CREATE VIEW IF NOT EXISTS %s(ID1
INTEGER not null, COL4 VARCHAR, CONSTRAINT pk PRIMARY KEY (ID1)) AS SELECT *
FROM %s WHERE KP = 'P01'", globalViewFullName, dataTableFullName));
conn.commit();
conn.createStatement().execute(String.format(
"CREATE INDEX IF NOT EXISTS %s ON %s(ID1) include (COL4)", indexTableName1,
globalViewFullName));
conn.createStatement().execute(String.format("CREATE VIEW IF NOT EXISTS %s(TP
INTEGER not null, ROW_ID CHAR(15) NOT NULL,COLA VARCHAR CONSTRAINT pk PRIMARY
KEY (TP,ROW_ID)) AS SELECT * FROM %s WHERE ID1 = 42724",
viewFullName,globalViewFullName));
conn.commit();
conn.createStatement().execute(String.format("CREATE VIEW IF NOT EXISTS %s AS
SELECT * from %s WHERE TP = 32", leafViewFullName, viewFullName));
conn.commit();
conn.createStatement().execute("UPSERT INTO " + leafViewFullName + " (OID,
ROW_ID, COL4, COLA) values ('00D0y0000000001',
'00Z0y0000000001','d07223','a05493')");
conn.commit();
TestUtil.dumpTable(conn, TableName.valueOf(dataTableFullName));
TestUtil.dumpTable(conn, TableName.valueOf(("_IDX_" + dataTableFullName)));
}
}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)