Hi Steve,

I was looking through the c3p0 sources and noticed that the fall-back (no test query) approach to connection validation in DefaultConnectionTester uses the following code, followed by exception handling:
connection.getMetaData().getTables(null,  null, "PROBABLYNOT", new String[] {"TABLE"});

I recently stumbled upon an old JDBC tutorial which suggested a similar approach, except that they stopped at connection.getMetaData() and didn't bother with the table lookup.  Did you go with the deeper probe because the shallow one fails to detect as many problems?  I need to do a similar connection test in my own code and was wondering which of the two I should use.