Conventions
The following conventions are used in the predicate descriptions
below.
- Mode is either
update
or read
or enumerate
.
In mode read
no updates can be made. Mode enumerate
is
like mode read
, but indexing cannot be used, i.e. you can
only sequentially enumerate the items in the database. In mode
enumerate
only the file storing the terms along with their
references is used.
- EnvRef is a reference to an open database environment. The
environment is returned when it is opened. The reference becomes
invalid after the environment has been closed.
- DBRef is a reference to an open database. The reference is
returned when the database is opened. The reference becomes
invalid after the database has been closed.
- TermRef is a reference to a term in a given database.
The reference is returned when a term is stored. The reference
stays valid even after the database has been closed and hence can
be stored permanently as part of another term. However, if such
references are stored in the database, automatic compression of
the database (using
db_compress/[2,3]
) is not possible, in
that case the user has to write her own compressing predicate.
- SpecList is a description of the indexing scheme;
see The DB-Spec.
- Term is any Prolog term.
- Iterator is a non-backtrackable mutable object. It can be
used to iterate through a set of terms stored in a database.
The iterators are unidirectional.