Von den beiden wichtigsten Transaktionsoperationen ist
ROLLBACK
am schwierigsten zu implementieren.
Alle Operationen, die während der Transaktion auftraten,
müssen rückgängig gemacht werden, damit sämtliche Zeilen
wieder den unveränderten Zustand vor der Transaktion
zurückerhalten.
Um ROLLBACK
zu unterstützen, benötigen Sie
eine Funktion, die folgender Definition entspricht:
int (*rollback)(THD *thd, bool all);
Der Name dieser Funktion wird dann im
rollback
-Eintrag (dem 13.) des
Handlerton
aufgeführt.
Der Parameter THD
zeigt an, welche
Transaktion zurückgerollt werden soll, und bool
all
legt fest, ob die gesamte Transaktion oder nur die
letzte Anweisung rückgängig gemacht werden soll.
Die Implementierungsdetails von ROLLBACK
sind
von Engine zu Engine unterschiedlich. Beispiele finden Sie in
ha_innodb.cc
und
ha_berkeley.cc
.
Dies ist eine Übersetzung des MySQL-Referenzhandbuchs, das sich auf dev.mysql.com befindet. Das ursprüngliche Referenzhandbuch ist auf Englisch, und diese Übersetzung ist nicht notwendigerweise so aktuell wie die englische Ausgabe. Das vorliegende deutschsprachige Handbuch behandelt MySQL bis zur Version 5.1.