mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-24 14:03:02 +01:00
Backport fix for bug CORE-3100 : Wait mode and lock timeout of external transaction of EXECUTE STATEMENT not matched to corresponding parameters of local transaction
This commit is contained in:
parent
70ad7ef699
commit
2dbab9603b
@ -215,6 +215,7 @@ ClumpletReader::ClumpletType ClumpletReader::getClumpletType(UCHAR tag) const
|
||||
{
|
||||
case isc_tpb_lock_write:
|
||||
case isc_tpb_lock_read:
|
||||
case isc_tpb_lock_timeout:
|
||||
return TraditionalDpb;
|
||||
}
|
||||
return SingleTpb;
|
||||
|
@ -583,7 +583,7 @@ void Transaction::generateTPB(thread_db* tdbb, ClumpletWriter& tpb,
|
||||
tpb.insertTag(readOnly ? isc_tpb_read : isc_tpb_write);
|
||||
tpb.insertTag(wait ? isc_tpb_wait : isc_tpb_nowait);
|
||||
|
||||
if (wait && lockTimeout)
|
||||
if (wait && lockTimeout && lockTimeout != DEFAULT_LOCK_TIMEOUT)
|
||||
tpb.insertInt(isc_tpb_lock_timeout, lockTimeout);
|
||||
}
|
||||
|
||||
@ -688,8 +688,8 @@ Transaction* Transaction::getTransaction(thread_db* tdbb, Connection* conn, TraS
|
||||
tra_scope,
|
||||
traMode,
|
||||
tran->tra_flags & TRA_readonly,
|
||||
tran->getLockWait() == DEFAULT_LOCK_TIMEOUT,
|
||||
tran->getLockWait()
|
||||
tran->getLockWait() != 0,
|
||||
-tran->getLockWait()
|
||||
);
|
||||
}
|
||||
catch (const Exception&)
|
||||
|
Loading…
Reference in New Issue
Block a user