2 @c This is part of the XEmacs Lisp Reference Manual.
3 @c Copyright (C) 1996 Ben Wing.
4 @c See the file lispref.texi for copying conditions.
5 @setfilename ../../info/databases.info
6 @node Databases, Processes, Range Tables, top
10 @defun databasep object
11 This function returns non-@code{nil} if @var{object} is a database.
15 * Connecting to a Database::
16 * Working With a Database::
17 * Other Database Functions::
20 @node Connecting to a Database
21 @section Connecting to a Database
23 @defun open-database file &optional type subtype access mode
24 This function opens database @var{file}, using database method
25 @var{type} and @var{subtype}, with access rights @var{access} and
26 permissions @var{mode}. @var{access} can be any combination of @code{r}
27 @code{w} and @code{+}, for read, write, and creation flags.
29 @var{type} can have the value @code{'dbm} or @code{'berkeley-db} to
30 select the type of database file to use. (Note: XEmacs may not
31 support both of these types.)
33 For a @var{type} of @code{'dbm}, there are no subtypes, so
34 @var{subtype} should be @code{nil}.
36 For a @var{type} of @code{'berkeley-db}, the following subtypes are
37 available: @code{'hash}, @code{'btree}, and @code{'recno}. See the
38 manpages for the Berkeley DB functions for more information about these
42 @defun close-database database
43 This function closes database @var{database}.
46 @defun database-live-p object
47 This function returns @code{t} if @var{object} is an active database, else
51 @node Working With a Database
52 @section Working With a Database
54 @defun get-database key database &optional default
55 This function finds the value for @var{key} in @var{database}. If there is no
56 corresponding value, @var{default} is returned (@code{nil} if @var{default} is
60 @defun map-database function database
61 This function maps @var{function} over entries in @var{database},
62 calling it with two args, each key and value in the database.
65 @defun put-database key value database &optional replace
66 This function stores @var{key} and @var{value} in @var{database}.
67 If optional fourth arg @var{replace} is non-@code{nil}, replace any
68 existing entry in the database.
71 @defun remove-database key database
72 This function removes @var{key} from @var{database}.
75 @node Other Database Functions
76 @section Other Database Functions
78 @defun database-file-name database
79 This function returns the filename associated with @var{database}.
82 @defun database-last-error &optional database
83 This function returns the last error associated with @var{database}.
86 @defun database-subtype database
87 This function returns the subtype of @var{database}, if any.
90 @defun database-type database
91 This function returns the type of @var{database}.