The datom merge of two db heads (PDT 2 phase 2, P2-D-06; srad/agentspaces-pdt2.md
§3.1.4). The engine finds their lowest common base by the version graph; this
merge reads each head's changes since the base (PDb.changesSince, which
prunes every subtree the trees share and reads both tails), unions the
assertions and the retractions, and settles a cardinality-one attribute that
the two heads asserted to two values on the later head's value, through the
engine's resolver, which raises the PConflict. The merged database applies
the changes to the base in EAVT order, so every reader computes the same
indexes and the same root, and its max-tx is the larger head's plus one.
The datom merge of two `db` heads (PDT 2 phase 2, P2-D-06; srad/agentspaces-pdt2.md §3.1.4). The engine finds their lowest common base by the version graph; this merge reads each head's changes since the base (`PDb.changesSince`, which prunes every subtree the trees share and reads both tails), unions the assertions and the retractions, and settles a cardinality-one attribute that the two heads asserted to two values on the later head's value, through the engine's resolver, which raises the `PConflict`. The merged database applies the changes to the base in EAVT order, so every reader computes the same indexes and the same root, and its max-tx is the larger head's plus one.
(db-merge instant)The DbMerge every reader of a db ref registers (P2-D-06).
The `DbMerge` every reader of a `db` ref registers (P2-D-06).
(merge-heads earlier base later resolver instant)The merge of earlier and later against base, written into earlier's
store. instant is the conn's :instant option.
The merge of `earlier` and `later` against `base`, written into `earlier`'s store. `instant` is the conn's :instant option.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |