[ Recorded Database | Reference Manual | Alphabetic Index ]
recorda(+Key, ?Value, -DBRef)
Records the term Value at the beginning of key Key in the indexed database.
- Key
- An atom, compound term, or handle.
- Value
- Any prolog term.
- DBRef
- A variable.
Description
Used to record any prolog term Value at the beginning of the indexed
database entry associated with the key Key. Unlike recorda/2, this
predicate delivers a so-called database reference in DBRef which is a
unique handle for the indexed database entry that is created.
In the case of compound terms, all keys of the same name and arity are
treated as equal.
If backtracking occurs through the call of recorda/3 the associated
Value is not removed from the indexed database.
Modes and Determinism
Modules
This predicate is sensitive to its module context (tool predicate, see @/2).
Exceptions
- (4) instantiation fault
- Key is not instantiated.
- (5) type error
- Key is neither an atom nor a compound term.
- (5) type error
- DBRef neither a variable nor a database reference.
Examples
Success:
[eclipse]: recorda(whiskey,jameson,Ref1),
recorda(whiskey,bushmills,Ref2).
Ref1 = 'DBREF'(16'50470dc8)
Ref2 = 'DBREF'(16'50470de0)
yes.
Error:
recorda(Key, anything, Ref). (Error 4)
recorda("key",anything, Ref). (Error 5)
recorda(key,anything, 99). (Error 5)
See Also
recordz / 3, recorded / 3, is_handle / 1, erase / 1, referenced_record / 2