Re: Fix resultset results after updateBinaryStream - Mailing list pgsql-jdbc

From Kris Jurka
Subject Re: Fix resultset results after updateBinaryStream
Date
Msg-id Pine.BSO.4.64.0707271834530.19038@leary.csoft.net
Whole thread Raw
In response to Re: Fix resultset results after updateBinaryStream  (Mikko Tiihonen <mikko.tiihonen@iki.fi>)
List pgsql-jdbc

On Sat, 21 Jul 2007, Mikko Tiihonen wrote:

> On Sat, 2007-07-21 at 11:40 -0400, Kris Jurka wrote:
>>
>> On Sat, 21 Jul 2007, Mikko Tiihonen wrote:
>>
>>> The current UpdateableResultSet tests did not properly test more complex
>>> binary data updating. The following patch makes the test a bit harder
>>> and fixes the driver to pass the test.
>>
>> I think this works for the single row update and then retrieve test, but
>> if your ResultSet has two rows and you do update, next, and then getBytes,
>> won't it have the wrong fields[i].getFormat() value?  The problem is that
>> we need to keep the format on a per row basis.  Consider a scrollable
>> updatable resultset, any row can have either text or binary format.  The
>> safest thing to do at the moment would be to encode the byte[] into the
>> text format that the server returns, but this is clearly not an ideal
>> solution.
>
> You are correct. Here's an updated patch that does just that. The newer unit
> test tests for the new case too. I first tried cloning the "fields" field and
> restoring it whenever the row moved. But that did not work when moving to a
> row that was inserted or updated. So we really do need either types per row
> or convert the fields into correct text/binary format during update.
>
> The actual fix is really hack. But at least it is passes the tests.
>

Fixed in CVS for 8.0, 8.1, 8.2, and HEAD.

Kris Jurka


pgsql-jdbc by date:

Previous
From: Kris Jurka
Date:
Subject: Re: Updated french translations
Next
From: vbhatia@ksu.edu
Date:
Subject: problem urgent - please help