[ 
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)

Reply via email to