soubezne provadeni trigger-funkci

Jan Kubik jan.kubik na kb-soft.com
Čtvrtek Listopad 7 14:21:36 CET 2002


vazeni,

nejdrive obecne ma otazka:

jak je v postgresql(a event. v oracle, db2) reseno vzajemne blokovani
trigger-funkci?. Nebo jinak receno, je provadena v jednom okamziku
pouze jedna trigger-funkce a ostatni jsou suspendovany databazi a nejaka
dalsi se rozbehne teprve tehdy, kdyz je ta predchozi uplne ukoncena.

Kdyby to tak bylo, mel bych o starost mene. Protoze se ale obavam,
ze databaze necha bezet vice triggeru soucasne a konkurujici pristupy
resi sama pres zamky a transakce, vylicim hned muj problem.

Vice databazovych procesu meni v rade tabulek a pri kazdem
delete, insert, update je volana jedna a ta sama procedura.
V teto procedure by se nachazel C-cod, ktery by spravoval jeden
centralni soubor, do ktereho by se zaznamenavaly krome jinych
udaju i zmeny v databazi.
Databazove procesy pouzivaji tento centralni soubor tez jako
podporu ke cteni z databaze.

V pripade, ze by bylo provadeni trigger-funkci atomicke ze strany
databaze, musel bych uz jen hlidat konzistentni cteni - t.zn. patrne
pouze jeden semaphore.

Dodatecna otazka - semaphore a podobne skopiciny - jde to v tech procedurach
vubec?

Nebo ma nekdo nejaky lepsi napad - napr. ted s tou novou verzi od
postgresql.

dekuji predem za odpovedi

Jan Kubik





Další informace o konferenci Databases