[
https://issues.apache.org/jira/browse/PHOENIX-7047?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jacob Isaac updated PHOENIX-7047:
---------------------------------
Description:
{code:java}
@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)));
}
}
}
{code}
was:
@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)));
}
}
> 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
> Priority: Major
>
>
> {code:java}
> @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)));
> }
> }
> }
> {code}
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)