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.