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.