| From: | Kris Jurka <books(at)ejurka(dot)com> |
|---|---|
| To: | Akira Sato <sato(dot)akira(at)oss(dot)ntt(dot)co(dot)jp> |
| Cc: | pgsql-jdbc(at)postgresql(dot)org |
| Subject: | Re: PreparedStatement clearParameters and setTimestamp |
| Date: | 2006-08-06 18:05:13 |
| Message-ID: | Pine.BSO.4.63.0608061304350.31226@leary2.csoft.net |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | 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.
Kris Jurka
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Kris Jurka | 2006-08-06 18:15:16 | Re: Callablestatement's resulting resultset not scrollable |
| Previous Message | Bruce Momjian | 2006-08-05 17:39:06 | Re: [HACKERS] [PATCHES] log_statement output for protocol |