3 messages in org.postgresql.pgsql-jdbcRe: PreparedStatement clearParameters...
FromSent OnAttachments
Akira SatoJul 24, 2006 6:42 pm 
Kris JurkaJul 25, 2006 11:57 am.patch
Kris JurkaAug 6, 2006 11:04 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Re: PreparedStatement clearParameters and setTimestampActions...
From:Kris Jurka (boo@ejurka.com)
Date:Aug 6, 2006 11:04:50 am
List:org.postgresql.pgsql-jdbc

On Tue, 25 Jul 2006, Kris Jurka wrote:

On Tue, 25 Jul 2006, Akira Sato wrote:

With case of setTimestamp(), it seem to always do "Parse". (setDate() and setTime() too)

When determining if a statement must be reparsed the driver checks that the parameters it currently has match with the previous execution. This comparison is being done with the values returned from the server for the previous execution, not the values sent to the server. So you parse once with oid 0 and it comes back with the oid of the resolved type, say 1184 for timestamptz. The next time through you again have oid 0 from setTimestamp, and it compares 0 == 1184? and it determines they don't match and it must be reparsed.

The attached patch fixes your test case for me, but I haven't applied it yet as I'd like to do some more testing. It doesn't allows oid 0 to match any type the server resolves.

Applied to 8.0, 8.1, and 8.2dev.