DBtransactionData

Top  Previous  Next

Schreiben einer Änderung

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.

Jeder Funktion, die ihre Änderungen protokollieren will, braucht diese Funktion, um die Information der Änderungen an das Logfile übergeben zu können. Zwischen den Aufrufen von DBtransactionStart und DBtransactionEnd werden die Funktionen aufgerufen, die Änderungen durchführen. Diese Funktionen müssen die Information an DBtransactionData übergeben, damit sie protokolliert werden.

Parameter

root (PROOT)                                             [IN]

Handle auf die geöffnete Datenbank.

data (void *)                                                 [IN]

data enthält einen Zeiger auf die Struktur, die alle Informationen über die Änderungen enthält. Die Struktur ist jeweils den notwendigen Informationen anzupassen.

Ergebnis

(long int)                                                   [OUT]

Wenn kein Logfile existiert wird 0 zurückgeliefert. Sonst wird die Anzahl der geschriebenen Bytes zurückgeliefert.

Deklaration

#include "database.h"

 

long int DLLENTRY DBtransactionData (

     PROOT    root

);

Verwandte Funktionen

DBtransactionEnd

DBtransactionLevel

DBtransactionStart

DBtransactionRollback

DBtransactionRollforward

DBtransactionSetUndoImpossible