DBtransactionLevel |
Top Previous Next |
Liefert die Transaktionsebene. Moskito legt zu jedem Workfile *.wf ein Transaktionslog *.tr an. In dieser Datei werden alle Änderungen am Workfile mitgeführt. Sobald eine Transaktion beendet ist, wird das Logfile physisch geschrieben. Nach erfolgreichem Sichern des Workfiles am Ende einer Moskitositzung wird das Logfile entfernt. Trifft Moskito beim Start auf ein vorhandenes Logfile, so ist Moskito zuvor abgebrochen. Und der Workfileinhalt wird anhand der letzten gültigen Transaktion rekonstruiert. Jede Transaktion kann über Zugriffsfunktionen rückgängig gemacht und wiederhergestellt werden. Jede Änderung die protokolliert werden soll wird mit DBtransactionStart eingeleitet und mit DBtransactionEnd abgeschlossen. Jeder Aufruf dieser beiden Funktionen dekrementiert und inkrementiert einen internen Zähler. Mit dieser Funktion kann die momentane Ebene abgefragt werden. Die Ebene muss im Logfile vermerkt werden, weil sie die Verschachtelung von DBtransactionStart- und DBtransactionEnd-Aufrufen protokolliert. Parameter root (PROOT) [IN] Handle auf die geöffnete Datenbank. Ergebnis (long int) [OUT] Gibt die momentane Ebene an. Deklaration #include "database.h"
long int DLLENTRY DBtransactionLevel ( PROOT root ); Verwandte Funktionen DBtransactionSetUndoImpossible
|