It never fails (bsddb retirement in 2.3)

Martin v. Löwis martin at v.loewis.de
Mon May 5 18:30:40 EDT 2003


Skip Montanaro <skip at pobox.com> writes:

>     Martin> Notice that Sleepycat v2.x also uses hash v2.
> 
> How do you conclude this?  

I study /usr/include/db2/db_185.h, and see

#define	HASHMAGIC	0x061561
#define	HASHVERSION	2

I also link an application with db2, invoke dbopen, and ->close, and
see that file(1) reports that the file is a DB 1.85 hash version 2
file.

> To fix the bugs in 1.85 required a file format
> change.  If you look here on the Sleepycat site:
> 
>     http://www.sleepycat.com/download/patchlogs.shtml
> 
> you'll see the note "Requires database format upgrade" next to the 2.0.0
> library version.  

I noticed that. I can only infer that this information is either
incorrect, or correct and irrelevant. It may be irrelevant because
that "database format upgrade" may not actually change the magic of
the database file.

> My guess is that hash file version 4 was introduced with library version
> 2.0.0.  Later versions of the library have maintained the ability to
> manipulate hash file versions back to version 4, even though they create
> files with newer version structures.

It appears that the DB 1.85 emulation of DB 2 could still access and
create HASH version 2 files.

Regards,
Martin






More information about the Python-list mailing list