From: Guido van Rossum Date: Thu, 16 Feb 1995 16:29:01 +0000 (+0000) Subject: added list of restrictions X-Git-Tag: v1.2b4~242 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5680b95b151f19505d2791f420227dc04a2abfc5;p=thirdparty%2FPython%2Fcpython.git added list of restrictions --- diff --git a/Doc/lib/libshelve.tex b/Doc/lib/libshelve.tex index 3e2bef930371..0dec23062071 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} diff --git a/Doc/libshelve.tex b/Doc/libshelve.tex index 3e2bef930371..0dec23062071 100644 --- a/Doc/libshelve.tex +++ b/Doc/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}