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