Firebird: deadlock update conflicts with concurrent update

Pavel Cisar pcisar na ibphoenix.cz
Pátek Prosinec 2 15:32:09 CET 2005


Haj hou!

Michal Žeravík wrote:
> Zdravim vsechny,
> 
> pisu v php projekt s pouzitim firebirdu, jsem s nim velmi spokojeny,
> jen ted nevim, jak nastavit flagy pro transakce spravne.
> Protoze to je webova aplikace a tudiz je velmi pravdepodobne,
> ze stejna transakce (jineho uzivatele) bude zasahovat
> ve (+-) stejny cas to urcite tabulky (resp. behem behu predchozi tr.),
> potrebuji, aby na sebe vzajemne cekaly a nevyhazovaly deadlock.
> 
> Dle php manualu jsou tyto moznosti (kombinace):
> IBASE_READ, IBASE_WRITE, IBASE_COMMITTED, IBASE_CONSISTENCY, 
> IBASE_CONCURRENCY, IBASE_REC_VERSION, IBASE_REC_NO_VERSION, IBASE_WAIT 
> and IBASE_NOWAIT.
> 
> Je to mozne zaridit/nastavit, aby fb engine hlidal kolize a stavel 
> transakce
> do nejake sve fronty?

Pro "razeni do fronty" je klicovy parametr IVASE_WAIT. Ostatni parametry 
si vyber s ohledem na potreby kozistence nebo vyssi propustnosti. 
IBASE_CONCURRENCY + IBASE_REC_VERSION = Read Committed, 
IBASE_CONSISTENCY = Snapshot (Repeatable Read).

S pozdravem
Pavel Cisar
IBPhoenix


Další informace o konferenci Test