dumbdbm
 

A dumb and slow but simple dbm clone.

For database spam, spam.dir contains the index (a text file),
spam.bak *may* contain a backup of the index (also a text file),
while spam.dat contains the data (a binary file).

XXX TO DO:

- seems to contain a bug when updating...

- reclaim free space (currently, space once occupied by deleted or expanded
items is never reused)

- support concurrent access (currently, if two processes take turns making
updates, they can mess up the index)

- support efficient access to large databases (currently, the whole index
is read when the database is opened, and some updates rewrite the whole index)

- support opening for read-only (flag = 'm')


 Modules
                                                                                                                                                                                                                               
__builtin__
os


 Classes
                                                                                                                                                                                                                               
_Database


 class _Database
           no doc string
                                                                                                                                                                                                                     
__delitem__(self, key)
no doc string
__getitem__(self, key)
no doc string
__init__(self, file)
no doc string
__len__(self)
no doc string
__setitem__(self, key, val)
no doc string
_addkey(self, key, (pos, siz))
no doc string
_addval(self, val)
no doc string
_commit(self)
no doc string
_setval(self, pos, val)
no doc string
_update(self)
no doc string
close(self)
no doc string
has_key(self, key)
no doc string
keys(self)
no doc string


 Functions
                                                                                                                                                                                                                               
open(no arg info)
open(filename[, mode[, buffering]]) -> file object
Open a file.  The mode can be 'r', 'w' or 'a' for reading (default),
writing or appending.  The file will be created if it doesn't exist
when opened for writing or appending; it will be truncated when
opened for writing.  Add a 'b' to the mode for binary files.
Add a '+' to the mode to allow simultaneous reading and writing.
If the buffering argument is given, 0 means unbuffered, 1 means line
buffered, and larger numbers specify the buffer size.
open(file, flag=None, mode=None)
no doc string