latest bsddb release without strong cryptography).
- fcntl now exposes the strops.h I_* constants.
+- Fix a crash on Solaris that occurred when calling close() on
+ an mmap'ed file which was already closed. (SF patch #665913)
+
- datetime changes:
The datetime and datetimetz classes have been collapsed into a single
possible to have timestamps that differ by a second, yet where
datetimes constructed from them are equal.
-- Fix a crash on Solaris that occurred when calling close() on
- an mmap'ed file which was already closed. (SF patch #665913)
-
Library
-------
Windows
-------
+- The bsddb module now ships with Sleepycat's 4.1.25.NC, the latest
+ release without strong cryptography.
+
- sys.path[0], if it contains a directory name, is now always an
absolute pathname.
# PROP Target_Dir ""
F90=df.exe
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /Zi /O2 /I "..\Include" /I "..\PC" /I "..\..\db-4.0.14\build_win32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /Zi /O2 /I "..\Include" /I "..\PC" /I "..\..\db-4.1.25\build_win32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /YX /FD /c
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
-# ADD LINK32 user32.lib kernel32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ..\..\db-4.0.14\build_win32\Release_static\libdb40s.lib /nologo /base:"0x1e180000" /subsystem:windows /dll /debug /machine:I386 /nodefaultlib:"msvcrt" /out:"./_bsddb.pyd"
+# ADD LINK32 user32.lib kernel32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ..\..\db-4.1.25\build_win32\Release_static\libdb41s.lib /nologo /base:"0x1e180000" /subsystem:windows /dll /debug /machine:I386 /nodefaultlib:"msvcrt" /out:"./_bsddb.pyd"
# SUBTRACT LINK32 /pdb:none
!ELSEIF "$(CFG)" == "_bsddb - Win32 Debug"
# PROP Target_Dir ""
F90=df.exe
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\Include" /I "..\PC" /I "..\..\db-4.0.14\build_win32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\Include" /I "..\PC" /I "..\..\db-4.1.25\build_win32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /YX /FD /c
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 user32.lib kernel32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ..\..\db-4.0.14\build_win32\Release_static\libdb40s.lib /nologo /base:"0x1e180000" /subsystem:windows /dll /debug /machine:I386 /nodefaultlib:"msvcrtd" /out:"./_bsddb_d.pyd" /pdbtype:sept
+# ADD LINK32 user32.lib kernel32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ..\..\db-4.1.25\build_win32\Release_static\libdb41s.lib /nologo /base:"0x1e180000" /subsystem:windows /dll /debug /machine:I386 /nodefaultlib:"msvcrtd" /out:"./_bsddb_d.pyd" /pdbtype:sept
# SUBTRACT LINK32 /pdb:none
!ENDIF
+++ /dev/null
-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);
_bsddb
- XXX The Sleepycat release we use will probably change before
- XXX 2.3a1.
- Go to Sleepycat's patches page:
- http://www.sleepycat.com/update/index.html
- and download
- 4.0.14.zip
- from the download page. The file name is db-4.0.14.zip. Unpack into
- dist\db-4.0.14
+ Go to Sleepycat's download page:
+ http://www.sleepycat.com/download/
- Apply the patch file bsddb_patch.txt in this (PCbuild) directory
- against the file
- dist\db-4.0.14\db\db_reclaim.c
+ and download version 4.1.25. The file name is db-4.1.25.NC.zip.
+ XXX with or without strong cryptography? I picked "without".
- Go to
- http://www.sleepycat.com/docs/ref/build_win/intro.html
- and follow the instructions for building the Sleepycat software.
- Build the Release version.
- NOTE: The instructions are for a later release of the software,
- so use your imagination. Berkeley_DB.dsw in this release was
- also pre-MSVC6, so you'll be prompted to upgrade the format (say
- yes, of course). Choose configuration "db_buildall - Win32 Release",
- and build db_buildall.exe.
-
- XXX We're actually linking against Release_static\libdb40s.lib.
+ Unpack into
+ dist\db-4.1.25
+
+ [If using WinZip to unpack the db-4.1.25.NC distro, that requires
+ renaming the directory (to remove ".NC") after unpacking.
+ ]
+
+ Open
+ dist\db-4.1.25\docs\index.html
+
+ and follow the Windows instructions for building the Sleepycat
+ software. Note that Berkeley_DB.dsw is in the build_win32 subdirectory.
+ Build the Release version ("build_all -- Win32 Release").
+
+ XXX We're actually linking against Release_static\libdb41s.lib.
XXX This yields the following warnings:
"""
Compiling...
"""
XXX This isn't encouraging, but I don't know what to do about it.
+ To run extensive tests, pass "-u bsddb" to regrtest.py. test_bsddb3.py
+ is then enabled. Running in verbose mode may be helpful.
+
+ XXX The test_bsddb3 tests don't always pass, on Windows (according to
+ XXX me) or on Linux (according to Barry). I had much better luck
+ XXX on Win2K than on Win98SE. The common failure mode across platforms
+ XXX is
+ XXX DBAgainError: (11, 'Resource temporarily unavailable -- unable
+ XXX to join the environment')
+ XXX
+ XXX and it appears timing-dependent. On Win2K I also saw this once:
+ XXX
+ XXX test02_SimpleLocks (bsddb.test.test_thread.HashSimpleThreaded) ...
+ XXX Exception in thread reader 1:
+ XXX Traceback (most recent call last):
+ XXX File "C:\Code\python\lib\threading.py", line 411, in __bootstrap
+ XXX self.run()
+ XXX File "C:\Code\python\lib\threading.py", line 399, in run
+ XXX apply(self.__target, self.__args, self.__kwargs)
+ XXX File "C:\Code\python\lib\bsddb\test\test_thread.py", line 268, in
+ XXX readerThread
+ XXX rec = c.next()
+ XXX DBLockDeadlockError: (-30996, 'DB_LOCK_DEADLOCK: Locker killed
+ XXX to resolve a deadlock')
+
_ssl
Python wrapper for the secure sockets library.