mirror of
https://git.openldap.org/openldap/openldap.git
synced 2024-12-21 03:10:25 +08:00
Add BDB 4.2.52 TXN patch
This commit is contained in:
parent
1476ad80a6
commit
7685223bb9
51
build/BerkeleyDB42.patch
Normal file
51
build/BerkeleyDB42.patch
Normal file
@ -0,0 +1,51 @@
|
||||
Index: dbinc/db.in
|
||||
===================================================================
|
||||
RCS file: /var/CVSROOT/bdb42/dbinc/db.in,v
|
||||
retrieving revision 1.1.1.1
|
||||
retrieving revision 1.2
|
||||
diff -u -r1.1.1.1 -r1.2
|
||||
--- dbinc/db.in 25 Nov 2003 21:58:02 -0000 1.1.1.1
|
||||
+++ dbinc/db.in 17 Jul 2004 16:07:23 -0000 1.2
|
||||
@@ -839,6 +839,7 @@
|
||||
#define TXN_NOWAIT 0x040 /* Do not wait on locks. */
|
||||
#define TXN_RESTORED 0x080 /* Transaction has been restored. */
|
||||
#define TXN_SYNC 0x100 /* Sync on prepare and commit. */
|
||||
+#define TXN_NOLOG 0x200 /* Do not log this transaction. */
|
||||
u_int32_t flags;
|
||||
};
|
||||
|
||||
Index: txn/txn.c
|
||||
===================================================================
|
||||
RCS file: /var/CVSROOT/bdb42/txn/txn.c,v
|
||||
retrieving revision 1.1.1.2
|
||||
retrieving revision 1.2
|
||||
diff -u -r1.1.1.2 -r1.2
|
||||
--- txn/txn.c 17 Dec 2003 21:43:53 -0000 1.1.1.2
|
||||
+++ txn/txn.c 17 Jul 2004 16:07:27 -0000 1.2
|
||||
@@ -127,7 +127,7 @@
|
||||
if ((ret = __db_fchk(dbenv,
|
||||
"txn_begin", flags,
|
||||
DB_DIRTY_READ | DB_TXN_NOWAIT |
|
||||
- DB_TXN_NOSYNC | DB_TXN_SYNC)) != 0)
|
||||
+ DB_TXN_NOSYNC | DB_TXN_SYNC | DB_TXN_NOT_DURABLE)) != 0)
|
||||
return (ret);
|
||||
if ((ret = __db_fcchk(dbenv,
|
||||
"txn_begin", flags, DB_TXN_NOSYNC, DB_TXN_SYNC)) != 0)
|
||||
@@ -193,6 +193,8 @@
|
||||
F_SET(txn, TXN_SYNC);
|
||||
if (LF_ISSET(DB_TXN_NOWAIT))
|
||||
F_SET(txn, TXN_NOWAIT);
|
||||
+ if (LF_ISSET(DB_TXN_NOT_DURABLE))
|
||||
+ F_SET(txn, TXN_NOLOG);
|
||||
|
||||
if ((ret = __txn_begin_int(txn, 0)) != 0)
|
||||
goto err;
|
||||
@@ -328,7 +330,7 @@
|
||||
* We should set this value when we write the first log record, not
|
||||
* here.
|
||||
*/
|
||||
- if (DBENV_LOGGING(dbenv))
|
||||
+ if (DBENV_LOGGING(dbenv) && !F_ISSET(txn, TXN_NOLOG))
|
||||
__log_txn_lsn(dbenv, &begin_lsn, NULL, NULL);
|
||||
else
|
||||
ZERO_LSN(begin_lsn);
|
Loading…
Reference in New Issue
Block a user