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)

Reply via email to