summaryrefslogtreecommitdiffstats
path: root/Doc/lib/libshelve.tex
diff options
context:
space:
mode:
authorFred Drake <fdrake@acm.org>1997-12-15 21:59:33 (GMT)
committerFred Drake <fdrake@acm.org>1997-12-15 21:59:33 (GMT)
commit9ab2b2ec5b15f198338a9152ff916f53e868ac6f (patch)
tree133024869ecd6f026a71db5bd6a996b5250bd593 /Doc/lib/libshelve.tex
parent54820dc8e4db15bd30c4b2f650d79cd0fb96f76b (diff)
downloadcpython-9ab2b2ec5b15f198338a9152ff916f53e868ac6f.zip
cpython-9ab2b2ec5b15f198338a9152ff916f53e868ac6f.tar.gz
cpython-9ab2b2ec5b15f198338a9152ff916f53e868ac6f.tar.bz2
Fixed index references to modules.
Placed references closer to usage.
Diffstat (limited to 'Doc/lib/libshelve.tex')
-rw-r--r--Doc/lib/libshelve.tex15
1 files changed, 8 insertions, 7 deletions
diff --git a/Doc/lib/libshelve.tex b/Doc/lib/libshelve.tex
index 05b3a93..25ced0e 100644
--- a/Doc/lib/libshelve.tex
+++ b/Doc/lib/libshelve.tex
@@ -1,9 +1,6 @@
\section{Standard Module \sectcode{shelve}}
\label{module-shelve}
\stmodindex{shelve}
-\stmodindex{pickle}
-\bimodindex{dbm}
-\bimodindex{gdbm}
A ``shelf'' is a persistent, dictionary-like object. The difference
with ``dbm'' databases is that the values (not the keys!) in a shelf
@@ -11,6 +8,7 @@ can be essentially arbitrary Python objects --- anything that the
\code{pickle} module can handle. This includes most class instances,
recursive data types, and objects containing lots of shared
sub-objects. The keys are ordinary strings.
+\refstmodindex{pickle}
To summarize the interface (\code{key} is a string, \code{data} is an
arbitrary object):
@@ -37,20 +35,23 @@ Restrictions:
\begin{itemize}
\item
-The choice of which database package will be used (e.g. dbm or gdbm)
+The choice of which database package will be used (e.g. \code{dbm} or
+\code{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 ---
+open the database directly using \code{dbm}. The database is also
+(unfortunately) subject to the limitations of \code{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.
+\refbimodindex{dbm}
+\refbimodindex{gdbm}
\item
Dependent on the implementation, closing a persistent dictionary may
or may not be necessary to flush changes to disk.
\item
-The \code{shelve} module does not support {\em concurrent} read/write
+The \code{shelve} module does not support \emph{concurrent} read/write
access to shelved objects. (Multiple simultaneous read accesses are
safe.) When a program has a shelf open for writing, no other program
should have it open for reading or writing. \UNIX{} file locking can