Samarth Jain created PHOENIX-1077:
-------------------------------------

             Summary: IN list of row value constructors doesn't work for tenant 
specific views
                 Key: PHOENIX-1077
                 URL: https://issues.apache.org/jira/browse/PHOENIX-1077
             Project: Phoenix
          Issue Type: Bug
    Affects Versions: 3.0.0, 4.0.0, 5.0.0
            Reporter: Samarth Jain


IN list of row value constructors doesn't work when queried against tenant 
views for multi-tenant phoenix tables. Consider this test (added in 
TenantSpecificTablesDMLIT.java)

{code}
public void testRVCOnTenantSpecificTable() throws Exception {
        Connection conn = nextConnection(PHOENIX_JDBC_TENANT_SPECIFIC_URL);
        try {
            conn.setAutoCommit(true);
            conn.createStatement().executeUpdate("upsert into " + 
TENANT_TABLE_NAME + " (id, user) values (1, 'BonA')");
            conn.createStatement().executeUpdate("upsert into " + 
TENANT_TABLE_NAME + " (id, user) values (2, 'BonB')");
            conn.createStatement().executeUpdate("upsert into " + 
TENANT_TABLE_NAME + " (id, user) values (3, 'BonC')");

            conn.close();

            conn = nextConnection(PHOENIX_JDBC_TENANT_SPECIFIC_URL);
            PreparedStatement stmt = conn.prepareStatement("select id from " + 
TENANT_TABLE_NAME + " WHERE (id, user) IN ((?, ?), (?, ?), (?, ?))");
            stmt.setInt(1, 1);
            stmt.setString(2, "BonA");
            stmt.setInt(3, 2);
            stmt.setString(4, "BonB");
            stmt.setInt(5, 3);
            stmt.setString(6, "BonC");
            ResultSet rs = stmt.executeQuery();
            assertTrue(rs.next());
            assertEquals(1, rs.getInt(1));
            assertTrue(rs.next());
            assertEquals(2, rs.getInt(1));
            assertTrue(rs.next());
            assertEquals(3, rs.getInt(1));
            assertFalse(rs.next());
        }
        finally {
            conn.close();
        }
    }

{code}


Replacing TENANT_TABLE_NAME with PARENT_TABLE_NAME (that is the base table), 
the test works fine.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to