Subject Re: [firebird-support] result set not updated immediately after post
Author Olivier Mascia
Le 25-oct.-05 à 13:45, Zach Saw a écrit :

> the DB connection is ReadCommitted and Lockwait is true. I'm using
> IBPP for firebird access.

Are you sure you're using ReadCommitted transactions ?
IBPP defaults to Concurrency mode (the classic IB/FB mode) unless you
specifically request ilReadCommitted.

Also, based on the kind of isolation requested, IBPP maps its own
generic modes as follows:

switch (il)
{
case IBPP::ilConsistency : tpb->Insert
(isc_tpb_consistency); break;
case IBPP::ilReadDirty : tpb->Insert
(isc_tpb_read_committed);
tpb->Insert
(isc_tpb_rec_version); break;
case IBPP::ilReadCommitted : tpb->Insert
(isc_tpb_read_committed);
tpb->Insert
(isc_tpb_no_rec_version); break;
default : tpb->Insert
(isc_tpb_concurrency); break;
}

So ReadCommitted makes use of isc_tpb_read_committed and
isc_tpb_no_rec_version, which I believe is perfectly correct.

Does your 'thread2' execute a previously prepared SELECT or do you
really re-prepare/execute a new SELECT after 'thread1' signaled the
commit done ?

Does thread1 really Commit or CommitRetain ?

--
Olivier