On Thu, Jan 29, 2009 at 4:58 PM, Raymond Hettinger
A couple additional thoughts FWIW:
* whichdb() selects from multiple file formats, so 3.0.1 would still be able to read 3.0.0 files. It is the 2.x shelves that won't be readable at all under any scenario.
* If you're thinking that shelves have very few users and that 3.0.0 has had few adopters, doesn't that mitigate the effects of making a better format available in 3.0.1? Wouldn't this be the time to do it?
* The file format itself is not new or unreadable by 3.0.0. It is just a plain sqlite3 file. Was is new is the ability of shelve's to call sqlite. To me, that is something a little different than changing a pickle protocol or somesuch.
Sorry, not convinced. This is a change of a different scale than removing stuff that should've been removed. I understand you'd like to see your baby released. But I think it's better to have it tried and tested by others *outside* the core distro first. dbm is not broken in 3.0, just slow. Well so be it, io.py is too and that's a lot more serious. I also note that on some systems at least ndbm and/or gdbm are supported. -- --Guido van Rossum (home page: http://www.python.org/~guido/)