Updated Transacting: upsert resolution algorithm (markdown)

Richard Newman 2017-01-26 13:36:50 -08:00
parent b0894b1558
commit 5ff4845f41

@ -1,4 +1,8 @@
The goal of the algorithm is to upsert temporary IDs to concrete numeric entids existing in the store where possible, or to determine that this is not possible and to allocate new entids.
The goal of the algorithm is to:
- Upsert temporary IDs to concrete numeric entids existing in the store where possible.
- To determine that this is not possible and to allocate new entids.
- To determine that the input is inconsistent and fail fast.
The metaphor we use is that of _evolution_. At each evolutionary step, a _generation_ contains a number of different _populations_, each population containing a number of different transaction entities. Transaction entities in the process of being resolved are _evolved_ into successively simpler populations, until no further evolution is possible.