summaryrefslogtreecommitdiffstats
path: root/Doc/lib/libshelve.tex
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1995-02-16 16:29:01 (GMT)
committerGuido van Rossum <guido@python.org>1995-02-16 16:29:01 (GMT)
commit5680b95b151f19505d2791f420227dc04a2abfc5 (patch)
tree38923345a2d0a283cadce48b22a8dff56d23ac67 /Doc/lib/libshelve.tex
parentbcc958259a109bdc9abca52577694e003d41af1a (diff)
downloadcpython-5680b95b151f19505d2791f420227dc04a2abfc5.zip
cpython-5680b95b151f19505d2791f420227dc04a2abfc5.tar.gz
cpython-5680b95b151f19505d2791f420227dc04a2abfc5.tar.bz2
added list of restrictions
Diffstat (limited to 'Doc/lib/libshelve.tex')
-rw-r--r--Doc/lib/libshelve.tex19
1 files changed, 18 insertions, 1 deletions
diff --git a/Doc/lib/libshelve.tex b/Doc/lib/libshelve.tex
index 3e2bef9..0dec230 100644
--- a/Doc/lib/libshelve.tex
+++ b/Doc/lib/libshelve.tex
@@ -30,9 +30,26 @@ list = d.keys() # a list of all existing keys (slow!)
d.close() # close it
\end{verbatim}
+Restrictions:
+
+\begin{itemize}
+
+\item
+The choice of which database package will be used (e.g. dbm or gdbm)
+depends on which interface is available. Therefore it isn't safe to
+open the database directly using dbm. The database is also
+(unfortunately) subject to the limitations of dbm, if it is used ---
+this means that (the pickled representation of) the objects stored in
+the database should be fairly small, and in rare cases key collisions
+may cause the database to refuse updates.
+
+\item
Dependent on the implementation, closing a persistent dictionary may
or may not be necessary to flush changes to disk.
-Note: \code{shelve} does not support {\em concurrent} access to
+\item
+The \code{shelve} module does not support {\em concurrent} access to
shelved objects. Two programs should not try to simultaneously access
the same shelf.
+
+\end{itemize}