API calls removed from db4.2
Julien ÉLIE
julien at trigofacile.com
Mon May 5 09:58:28 UTC 2008
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/inn-db4.patch
It fixes API calls removed from db4.2.
Do you think it should be committed?
It might perhaps break old Berkeley DB versions (< 4.2?).
But if such API calls were removed from db4.2, why does it still compile fine
with current Berkeley DB versions?
--- storage/ovdb/ovdb-private.h.orig 2003-05-09 04:25:27.000000000 +0000
+++ storage/ovdb/ovdb-private.h 2003-12-04 18:03:59.000000000 +0000
@@ -173,7 +173,7 @@
#define TXN_START(label, tid) \
label: { \
int txn_ret; \
- txn_ret = txn_begin(OVDBenv->tx_info, NULL, &tid); \
+ txn_ret = OVDBenv->tx_info->txn_begin(OVDBenv->tx_info, NULL, &tid); \
if (txn_ret != 0) { \
syslog(L_ERROR, "OVDB: " #label " txn_begin: %s", db_strerror(ret)); \
tid = NULL; \
@@ -181,10 +181,10 @@
}
#define TXN_RETRY(label, tid) \
-{ txn_abort(tid); goto label; }
+{ tid->abort(tid); goto label; }
-#define TXN_ABORT(label, tid) txn_abort(tid)
-#define TXN_COMMIT(label, tid) txn_commit(tid)
+#define TXN_ABORT(label, tid) tid->abort(tid)
+#define TXN_COMMIT(label, tid) tid->commit(tid)
#define TRYAGAIN EAGAIN
@@ -194,7 +194,7 @@
#define TXN_START(label, tid) \
label: { \
int txn_ret; \
- txn_ret = txn_begin(OVDBenv, NULL, &tid, 0); \
+ txn_ret = OVDBenv->txn_begin(OVDBenv, NULL, &tid, 0); \
if (txn_ret != 0) { \
syslog(L_ERROR, "OVDB: " #label " txn_begin: %s", db_strerror(ret)); \
tid = NULL; \
@@ -202,10 +202,10 @@
}
#define TXN_RETRY(label, tid) \
-{ txn_abort(tid); goto label; }
+{ tid->abort(tid); goto label; }
-#define TXN_ABORT(label, tid) txn_abort(tid)
-#define TXN_COMMIT(label, tid) txn_commit(tid, 0)
+#define TXN_ABORT(label, tid) tid->abort(tid)
+#define TXN_COMMIT(label, tid) tid->commit(tid, 0)
#define TRYAGAIN DB_LOCK_DEADLOCK
More information about the inn-workers
mailing list