mishandling of NOTICE?

From: Michael Adler <adler(at)glimpser(dot)org>
To: PostgreSQL JDBC List <pgsql-jdbc(at)postgresql(dot)org>
Subject: mishandling of NOTICE?
Date: 2002-03-18 18:47:21
Message-ID: Pine.NEB.4.44.0203181332220.13132-100000@reva.sixgirls.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc pgsql-patches


I am not very familiar with this driver, but I thought I should point out
a potential bug. I wish I had time to do more investigationn, testing and
debugging...

I encountered a situation in which I could access the database using psql
but not the JDBC driver. This is what I think happened:

The backend issued a NOTICE message. psql handled it gracefully by
printing the message to STDOUT and providing a fine connection. JDBC
driver throws a fatal SQLException.

The following case statements may need to handle NOTICEs differently:

org.postgresql.Connection line 265:

// As of protocol version 2.0, we should now receive the cancellation key and the pid
int beresp = pg_stream.ReceiveChar();
switch (beresp)
{
case 'K':
pid = pg_stream.ReceiveInteger(4);
ckey = pg_stream.ReceiveInteger(4);
break;
case 'E':
case 'N':
throw new SQLException(pg_stream.ReceiveString(encoding));
default:
throw new PSQLException("postgresql.con.setup");
}

// Expect ReadyForQuery packet
beresp = pg_stream.ReceiveChar();
switch (beresp)
{
case 'Z':
break;
case 'E':
case 'N':
throw new SQLException(pg_stream.ReceiveString(encoding));
default:
throw new PSQLException("postgresql.con.setup");
}

Once again, sorry for the uninformed vaugeries. I hope this helps
somewhat.

Mike Adler

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Dave Cramer 2002-03-18 19:20:13 Re: mishandling of NOTICE?
Previous Message Josh Burdick 2002-03-18 17:44:14 Re: jdbc url

Browse pgsql-patches by date

  From Date Subject
Next Message Dave Cramer 2002-03-18 19:20:13 Re: mishandling of NOTICE?
Previous Message Christopher Kings-Lynne 2002-03-17 08:28:15 Add regression tests for ADD PRIMARY KEY