Robert Xiao <nneon...@gmail.com> added the comment:

I just started a new project, thoughtlessly decided to use `shelve` to store 
data, and lost it all again thanks to this bug.

To reiterate: Although `gdbm` might fix this issue, it's not installed by 
default. But the issue is with `dbm`: Python is allowing me to insert elements 
into the database which exceed internal limits, causing the database to become 
silently corrupt upon retrieval. This is an unacceptable situation - a very 
normal, non-complex use of the standard library is causing data loss without 
any indication that the loss is occurring.

At the very least there should be a warning or error that the data inserted 
exceeds dbm's limits, and in an ideal world dbm would not fall over from 
inserting a few KB of data in a single row (but I understand that's a third 
party problem at that point).

Can't we just ship a dbm that is backed with a more robust engine, like a 
SQLite key-value table?

----------
type:  -> behavior

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue33074>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to