Quoting Bojan Smojver <[EMAIL PROTECTED]>:
This was never compiled, let alone tested. It is here as a prototype
for Ronen's suggestion.
For folks using MySQL...
--
Bojan
--- apr_dbd_mysql.c.orig 2006-04-28 15:24:56.000000000 +1000
+++ apr_dbd_mysql.c 2006-04-28 15:24:37.000000000 +1000
@@ -517,6 +517,16 @@
ret |= mysql_autocommit(trans->handle->conn, 1);
return ret;
}
+static int dbd_mysql_rollback_transaction(apr_dbd_transaction_t *trans)
+{
+ int ret = -1;
+ if (trans) {
+ trans->errnum = 0;
+ ret = mysql_rollback(trans->handle->conn);
+ }
+ ret |= mysql_autocommit(trans->handle->conn, 1);
+ return ret;
+}
/* Whether or not transactions work depends on whether the
* underlying DB supports them within MySQL. Unfortunately
* it fails silently with the default InnoDB.
@@ -674,7 +684,8 @@
dbd_mysql_pvselect,
dbd_mysql_pquery,
dbd_mysql_pselect,
- dbd_mysql_get_name
+ dbd_mysql_get_name,
+ dbd_mysql_rollback_transaction
};
#endif