Subject Re: [Firebird-Java] Transaction parameters + Jaybird
Author Alec Swan
Hello,

I found isc_tpb_mapping.properties file and noticed that
TRANSACTION_REPEATABLE_READ and TRANSACTION_SERIALIZABLE are mapped to the
same Firebird-specific settings, i.e.
isc_tpb_consistency,isc_tpb_write,isc_tpb_wait. Does this mean that in
Jaybird there is no difference between using TRANSACTION_REPEATABLE_READ and
TRANSACTION_SERIALIZABLE?

The reason why I was asking about SNAPSHOT WAIT transaction isolation is
that I thought it would provide higher concurrency because readers and
writers don't block each other and instead rely on the MVCC nature of
Firebird. However, you are saying that SNAPSHOT WAIT translates into
TRANSACTION_REPEATABLE_READ or TRANSACTION_SERIALIZABLE settings in Jaybird,
which in other databases provides less concurrency than
TRANSACTION_READ_COMMITTED. Could you please comment on this?

Thanks,

Alec

On Wed, Jan 19, 2011 at 2:56 AM, Roman Rokytskyy <roman@...> wrote:

>
>
> > 1. What's the default transaction isolation level?
>
> For Jaybird - TRANSACTION_READ_COMMITTED.
>
>
> > 2. How do I translate Firebird terms SNAPSHOT WAIT into JDBC terms? Is
> there
> > a translation matrix somewhere?
>
> yes, there is file isc_tpb_mapping.properties in the driver.
>
>
> > Does your example above set transaction
> > isolation level to SNAPSHOT WAIT?
>
> No, to READ COMMITTED NO WAIT.
>
> SNAPSHOT WAIT in Firebird uses isc_tpb_concurrency + isc_tpb_write +
> isc_tpb_wait, you can map this to any JDBC isolation level, however in
> order to keep the semantics close to what is written in JDBC specs, map
> it to either TRANSACTION_REPEATABLE_READ or TRANSACTION_SERIALIZABLE.
>
> Roman
>
>


[Non-text portions of this message have been removed]