mirror of
https://github.com/narrrl/proton-drive-linux.git
synced 2026-11-04 00:47:00 +01:00
First step of phase 2 of docs/MILESTONE-3.0.0.md. Schema 36 rebuilds `nodes` with `lid INTEGER PRIMARY KEY AUTOINCREMENT`. Each row takes its old rowid as its lid, so the search index, keyed by rowid, stays valid. AUTOINCREMENT keeps a deleted row's lid from coming back. `uid` stays unique and becomes nullable, for nodes that are not on Drive yet. A landed create's row now takes the real uid in place, keeping its lid. When a listing had already stored the real node, its content is kept under the placeholder's lid, which the node was known by first. Nothing reads the lid yet apart from `Db::lid_of`.