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