MDB2でトランザクション

忘れないようにメモ
http://www.go-pear.org/manual/ja/package.database.mdb2.intro-transaction.php
以下はマニュアルこぴぺです。

getMessage());
}

// このドライバでトランザクションがサポートされているかどうかを調べます
if (!$mdb2->supports('transactions')) {
    exit();
}

// トランザクションをオープンします
$res = $mdb2->beginTransaction();

..

// トランザクション処理中かどうか、そして
// セーブポイントがサポートされているかどうかを調べます
if ($mdb2->inTransaction() && $mdb2->supports('savepoints')) {
    // セーブポイントを設定します
    $savepoint = 'MYSAVEPOINT';
    $res = $mdb2->beginTransaction($savepoint);

    ..

    // セーブポイントを開放するか、そこまでロールバックするかを判断します
    if ($error_condition) {
        $res = $mdb2->rollback($savepoint);
    } else {
        $res = $mdb2->commit($savepoint);
    }
}

..

// コミットするかロールバックするかを判断します
if ($error_condition) {
    $res = $mdb2->rollback();
} else {
    $res = $mdb2->commit();
}

?>