mirror of
https://github.com/python/cpython.git
synced 2025-08-04 17:08:35 +00:00

The bsddb subproject is gone. The _bsddb subproject is new. There are problems here, but I'm out of time to work on this now. If anyone can address an XXX comment or two in readme.txt, please do!
36 lines
1.1 KiB
Text
36 lines
1.1 KiB
Text
This patch is against Sleepycat's db-4.0.14 release. It's not on the
|
|
Sleepycat site. It fixes cases of database corruption Barry (Warsaw)
|
|
was seeing, and Barry got it from Sleepycat.
|
|
|
|
*** db/db_reclaim.c.orig 2002/04/05 16:16:17 11.22
|
|
--- db/db_reclaim.c 2002/04/10 18:53:13 11.23
|
|
***************
|
|
*** 195,202 ****
|
|
dbp->log_fileid, p->pgno, &LSN(meta),
|
|
PGNO_BASE_MD, &ldbt, meta->free)) != 0)
|
|
goto err;
|
|
-
|
|
LSN(p) = LSN(meta);
|
|
if ((ret =
|
|
__db_pg_alloc_log(dbp->dbenv,
|
|
param->dbc->txn, &LSN(meta), 0,
|
|
--- 195,202 ----
|
|
dbp->log_fileid, p->pgno, &LSN(meta),
|
|
PGNO_BASE_MD, &ldbt, meta->free)) != 0)
|
|
goto err;
|
|
LSN(p) = LSN(meta);
|
|
+
|
|
if ((ret =
|
|
__db_pg_alloc_log(dbp->dbenv,
|
|
param->dbc->txn, &LSN(meta), 0,
|
|
***************
|
|
*** 206,211 ****
|
|
--- 206,213 ----
|
|
(void)__TLPUT(param->dbc, metalock);
|
|
return (ret);
|
|
}
|
|
+ LSN(p) = LSN(meta);
|
|
+
|
|
if ((ret = mpf->put(mpf,
|
|
(PAGE *)meta, DB_MPOOL_DIRTY)) != 0) {
|
|
(void)__TLPUT(param->dbc, metalock);
|