From: | Kris Jurka <books(at)ejurka(dot)com> |
---|---|
To: | Mikko Tiihonen <mikko(dot)tiihonen(at)iki(dot)fi> |
Cc: | pgsql-jdbc <pgsql-jdbc(at)postgresql(dot)org> |
Subject: | Re: Fix resultset results after updateBinaryStream |
Date: | 2007-07-27 22:35:32 |
Message-ID: | Pine.BSO.4.64.0707271834530.19038@leary.csoft.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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
From | Date | Subject | |
---|---|---|---|
Next Message | vbhatia | 2007-07-28 02:00:20 | problem urgent - please help |
Previous Message | Kris Jurka | 2007-07-27 22:13:22 | Re: Updated french translations |