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)