[ Recorded Database | The ECLiPSe Built-In Predicates | Reference Manual | Alphabetic Index ]
recorded(+Key, ?Value, -DBRef)
Succeeds if the term Value has been recorded in the indexed database under
the key Key and DBRef is its unique reference.
- +Key
- An atom or a compound term.
- ?Value
- Any Prolog term.
- -DBRef
- A variable.
Description
Used to find all values associated with a key. Value is unified with
the first term that is associated with Key. DBRef is unified with the
unique database reference of this database entry. In the case of
compound terms, all keys of the same name and arity are treated as
equal.
Backtracking will unify Value and DBRef with the value resp. the
database reference of successive values associated with Key in the order
in which they were recorded.
Fail Conditions
Fails if the value Value cannot be unified with an associated value of
the key Key.
Resatisfiable
Yes.
Exceptions
- (4) instantiation fault
- Key is not instantiated.
- (5) type error
- Key is neither an atom nor a compound term.
- (5) type error
- DBRef is neither a variable nor a database reference.
Examples
Success:
[eclipse]: recordz(beer, paulaner, _),
recordz(beer, lowenbrau, _),
recorded(beer, Value, Ref).
Value = paulaner
Ref = 98518 More? (;)
Value = lowenbrau
Ref = 98538 More? (;)
no (more) solution.
Fail:
erase_all(beer),recorded(beer,guiness, Ref).
Error:
recorded(Beer,Value,Ref). (Error 4)
recorded("beer",Value,Ref). (Error 5)
recorded(1,Value,Ref). (Error 5)
See Also
recorda / 3, recordz / 3, erase / 1, referenced_record / 2