[ Recorded Database | Reference Manual | Alphabetic Index ]

# recordz(+Key, ?Value)

Records the term Value after all other entries for key Key in the record database.

Key
  An atom, compound term, or handle.
Value
  An arbitrary term.

## Description

Used to record an arbitrary term Value at the end of the record database entries associated with the key Key. A synonym for record/2. 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 recordz/2 the associated Value is not removed from the record database.

### Modes and Determinism

- recordz(+, ?) is det

### 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 atom, compound term, nor record handle.

## Examples

       Success:
        [eclipse]: recordz(whiskey,jameson),
        > recordz(whiskey,[scotch,irish,canadian,american]),
        > recordz(whiskey,bushmills).
        yes.
        [eclipse]: recorded(whiskey,Value).
        Value = jameson     More (;)
        Value = [scotch,irish,canadian,american]     More (;)
        Value = bushmills     More (;)
        no (more) solution.

        recordz(a(compound,term),value1).
        recordz([a,compound,term],value2).
    Error:
        recordz(Key, anything).             (Error 4)
        recordz("key",anything).            (Error 5)
        recordz(1,anything).                (Error 5)

## See Also

record / 2, recorda / 2, record_wait_append / 4