Field Calls
Idee: an einem typischen SQL-Beispiel:
update LAGER
set bestand = bestand - :menge
where teilnummer = :nr
and bestand > :menge ...Prädikat, das entscheidet, ob Update erfolgt oder nicht.
Ausführung:
Sei B der Record, dessen Feld geändert werden soll.
S-Lock auf B zum Lesen
Prüfe, ob Prädikat ausführbar:
Falls ja: Führe Update durch, aber erzeuge „nur“ REDO- Logsatz, der beim Commit der Transaktion ausgeführt wird. (Trick für verzögertes Einbringen!!).
Freigabe des S-Locks
Auf Record B sind keine Locks! Also keine Behinderungen auf dem Hotspot B
Previous slide
Next slide
Back to first slide
View graphic version
!!! Dieses Dokument stammt aus dem
ETH Web-Archiv
und wird nicht mehr gepflegt !!!
!!! This document is stored in the
ETH Web archive
and is no longer maintained !!!