Обсуждение: Change in parameters' order in prepared statement??
I recently updated the driver to the latest CVS version, and found a change in the way parameters are handled. Before, the first parameter was 1, as in: update.setInt(1,cbid); But now it's 2, as in: update.setInt(2,cbid); I'm using only IN parameters to call a prepared SELECT. Is this the correct behaviour? Is it going to stay this way?
Andres Olarte wrote: > I recently updated the driver to the latest CVS version, and found a > change in the way parameters are handled. Before, the first parameter > was 1, as in: > > update.setInt(1,cbid); > > But now it's 2, as in: > > update.setInt(2,cbid); > > I'm using only IN parameters to call a prepared SELECT. Is this the > correct behaviour? Is it going to stay this way? This sounds like a bug -- can you provide a more detailed testcase? -O
Oliver Jowett wrote:
> Andres Olarte wrote:
>
>>I recently updated the driver to the latest CVS version, and found a
>>change in the way parameters are handled. Before, the first parameter
>>was 1, as in:
>>
>>update.setInt(1,cbid);
>>
>>But now it's 2, as in:
>>
>>update.setInt(2,cbid);
>>
>>I'm using only IN parameters to call a prepared SELECT. Is this the
>>correct behaviour? Is it going to stay this way?
>
>
> This sounds like a bug -- can you provide a more detailed testcase?
Per off-list discussion this seems to be a bug that affects non-{call}
queries prepared via prepareCall() only; if prepareStatement() is used,
it works fine. I haven't dug deeper, but perhaps this is a bug
introduced by the OUT parameter support.
-O