Bad ResultSet returned from DatabaseMetaData.getColumns(), if a given table doesn't exist
I'm running jOOQ integration tests against the Xerial driver and I've found a couple of bugs, which I'm reporting here. I have detected these bugs with the downloaded version 3.7.15-SNAPSHOT-2.
Run this Java program:
Connection c = getConnection(); DatabaseMetaData dbMeta = c.getMetaData(); ResultSet rs = dbMeta.getColumns(null, null, "doesn't exist", "%"); ResultSetMetaData rsMeta = rs.getMetaData(); assertEquals(24, rsMeta.getColumnCount()); // Fails
The above call to
getColumns() returns an incorrect
ResultSet if no table can be found given the search criteria