On Mon, 18 Sep 2006, Kiren Pillay wrote:
The following bug has been logged online: Bug reference: 2636 PostgreSQL version: 8.1.4 Operating system: Windows Description: JDBC error behaviour incorrect Details: try { DBActions db=DBActions.getInstance(); rs = db.getConnection().prepareCall(loadApplicationParameters ).executeQuery(); while (rs.next()) { // Testing values.put(rs.getString(1), rs.getString(2)); System.out.println(rs.getString(1)+","+ rs.getString(2)); } } catch (SQLException sqle) { logger.error("Could not load application parameters ", sqle); } catch (Exception e){ e.printStackTrace(); } catch (Throwable e){ e.printStackTrace(); } /*finally { DBConnection.close(rs, ps); }*/ In this code, the program gets to the executeQuery part with no exception. When it gets to the rs.next() part, the code jumps to the finally block. This is non-deterministic behaviour as the code seems to have thrown an exception, but even the catch Throwable part does not catch the error.
Isn't it just likely that rs.next() returned false?
The database being connected to is a restore from another database. The fact is this database restore could be incorrect, but how can I find the actual error cause of the problem. Is there a way to increase the logging so that I can figure out the problem here.
The driver can be started given a URL connection parameter ?loglevel=2 that will print out a fair amount of protocol information.
---------------------------(end of broadcast)--------------------------- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq