Subject | Re: [Firebird-Java] jabird / Select / Update |
---|---|
Author | Mark Rotteveel |
Post date | 2012-11-22T12:36:22Z |
On 22-11-2012 13:16, the_a_rioch wrote:
to the server to re-prepare. And as updatable resultsets are a fact and
clearly defined in the JDBC spec, I don't think we should consider it as
second-rate. That said, there are probably more important things to
consider.
changing resultset would make you loose that ability. There is no such
thing in Jaybird when using a single connection, so you don't have that
now when using updatable resultsets.
doesn't provide an API for that, I think it would be a relative waste of
time. I'd prefer getting a more complete and correct implementation of
JDBC before considering gold-plating the driver with all kinds of
Firebird specific extensions.
Mark
--
Mark Rotteveel
>>>> will it re-create and re-prepare update statement on every call to update the row ? or will it be able to cache one prepared update statement and only substitute new parameters during the whole loop ?I guess it is cheaper to make the comparison, than to waste a round trip
>>>
>>> Former - on each row application might update different rows and we want
>>> to change only them. So the update statement is re-prepared each time.
>>
>> Looks like something that could be improved by only re-preparing if the
>> statement is different.
>
> Which in turn would encourage that lazy approach. Should such style be encouraged or discouraged ?
> You would still waste time on comparing "what had changed" between iterations.
to the server to re-prepare. And as updatable resultsets are a fact and
clearly defined in the JDBC spec, I don't think we should consider it as
second-rate. That said, there are probably more important things to
consider.
> You would probably loose ability of bi-transactional work (while you can add some auxUpdatingTransaction field you would hardly make it reliable in all those automagic scenarios).I am not sure what you mean with 'bi-transactional' work and why
changing resultset would make you loose that ability. There is no such
thing in Jaybird when using a single connection, so you don't have that
now when using updatable resultsets.
> So while this can be cached, IMHO in this regard "faster" means really "worse".Technically we probably could as Firebird allows for it, but as JDBC
>
> ----
>
> I'm curious if JayBird could provide special kind of JDBC transaction splitting into two FB Transactions under the hood ? :-)
doesn't provide an API for that, I think it would be a relative waste of
time. I'd prefer getting a more complete and correct implementation of
JDBC before considering gold-plating the driver with all kinds of
Firebird specific extensions.
Mark
--
Mark Rotteveel