Re: PreparedStatement parameters and mutable objects - Mailing list pgsql-jdbc

From Barry Lind
Subject Re: PreparedStatement parameters and mutable objects
Date
Msg-id 3FFEDF8F.8020305@xythos.com
Whole thread Raw
In response to Re: PreparedStatement parameters and mutable objects  (Kris Jurka <books@ejurka.com>)
List pgsql-jdbc

Kris Jurka wrote:
>
> On Fri, 9 Jan 2004, Oliver Jowett wrote:
>
>
>>>I'm saying that doing it this way will likely expose buggy code, which
>>>we will end up having to figure out why it doesn't work, when the user
>>>says "my code used to work, and now it doesn't", plus they don't send us
>>>code to look at.
>>
>>How far do we go to support buggy code though? If we can't make this
>>sort of change, we lose several opportunities for optimization.
>
>
> I don't think you can label this as buggy code unless you can point to the
> spec and say where it is disallowed.  It is certainly something that looks
> dangerous and is unlikely to be written by the average developer, but that
> doesn't make it illegal.  I lean towards the notion that when I say setXXX
> that's the time the value must be saved because that's certainly more
> intuitive and specific than "sometime later when the driver decides to."
>

A counter argument is that by definition the setXXXStream() methods do
it the other way.  The spec defines them (IIRC) to be read at execute
time.  There purpose after all is to allow the driver not to load the
entire contents of the stream into memory, but to simply stream it to
the server when executing the statement.  So are the setXXXStream()
methods a special case, or is the intention of the spec to be consistent
and have all values bound at execute time.

--Barry



pgsql-jdbc by date:

Previous
From: Tom Lane
Date:
Subject: Re: [BUG] - Invalid UNICODE character sequence found(0xc000)
Next
From: Andrew Rawnsley
Date:
Subject: Re: PreparedStatement parameters and mutable objects