mirror of
https://github.com/python/cpython.git
synced 2024-11-30 05:15:14 +08:00
78e35f9311
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!
37 lines
1.1 KiB
Plaintext
37 lines
1.1 KiB
Plaintext
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);
|