SQLite Forum

SQLite Version 3.35.0 - Beta 1
Login
BTREE keys only/MVCC.

1. obtain a timestamp and append those binary bytes (big Endian) to each of the user's keys 
2. open a cursor and begin a scan of the btree keys at the desired start point.  
3. each key delivered by the cursor will be checked for visibility. (MVCC)

BTree Keys generated automatically on UPSERT.

1. append the rowId to the user's key to find the timestamp.
2. As the document version's keys compare each of the key values from the previous version vector of the document against the new version's keys and insert/replace/remove those keys visible under the timestamp. (MVCC)

Note: both of these flavors permit lazy removes of the Btree's keys, or batching.

Karl