各々のデータベースの SAVEPOINT の違い ― 2021年06月22日 12時05分33秒
SAVEPOINT は BEGIN で始めたトランザクションの最中に戻り点を作る操作。同名の SAVEPOINT を作ると、新しい時点の物が有効になる。SAVEPOINT に戻りたい時は、ROLLBACK TO で戻ることが出来る。また、一般的な実装では、END にてトランザクションを終了すると SAVEPOINT も一緒に消される。
大体のデータベースはこの基本的な動作にそった実装をしているようだ。PostgreSQL、MarinaDB/MySQL 等を筆頭としたオープンソース系もこの実装になっている。
SQLite は独自の拡張が入っていて、SAVEPOINT をトランザクションの外でも作ることが出来る。ほぼスナップショットの様な感じになっている。
最近のコメント