[stdlib-sig] Py3K bsddb name query
Mark Summerfield
mark at qtrac.eu
Wed Mar 26 08:15:53 CET 2008
Hi,
I notice that in PEP 3108 the dbm modules are going to be in package
dbm:
New Old
----------- --------------------------------------------
dbm.tools anydbm + whichdb
dbm.db db.hash (actually bsd db so presumably using
bsddb.hashopen() behind the scenes?)
dbm.ndbm dbm
dbm.dumb dumbdbm
dbm.gnu gdbm
This leaves bsddb as a separate package. As far as I can tell bsddb is
not so different from the others. I presume (although the documentation
for bsddbobject.keys() denies it) that btopen() gives lexicographical
ordering and rnopen() give insertion order ordering by keys, whereas
hashopen() is unordered like a dict and like the other dbms provided.
In any case the name dbm.db seems wrong to me (too generic when the
others are specific to their dbm type), so at the least shouldn't dbm.db
be renamed dbm.bsd?
If consistency were wanted, dbm.bsd.open() could be a wrapper for
dbm.bsd.hashopen() but only with filenname, flag and mode arguments so
as to match the other dbms, and with dbm.bsd.hashopen(),
dbm.bsd.btopen() and dbm.bsd.rnopen() and the other bsddb-specific
functions available in the module as usual?
--
Mark Summerfield, Qtrac Ltd., www.qtrac.eu
More information about the stdlib-sig
mailing list