You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If the rowid is not aliased by INTEGER PRIMARY KEY then it is not persistent and might change. In particular the VACUUM command will change rowids for tables that do not declare an INTEGER PRIMARY KEY. Therefore, applications should not normally access the rowid directly, but instead use an INTEGER PRIMARY KEY.
Additionally, tokens are discarded by the checkpoint restore mechanism like this:
DELETE FROM [unblinded-tokens]
WHERE [rowid] < ?
If the unblinded-tokens table has its rows renumbered between the time when backup is made and the checkpoint restore mechanism is used then the order of unblinded-tokens will not allow a correct checkpoint restore based on this rowid value.
According to https://www.sqlite.org/rowidtable.html:
The
unblinded-tokens
table has the schema:Then tokens are spent in an order defined by:
Additionally, tokens are discarded by the checkpoint restore mechanism like this:
If the unblinded-tokens table has its rows renumbered between the time when backup is made and the checkpoint restore mechanism is used then the order of unblinded-tokens will not allow a correct checkpoint restore based on this rowid value.
As https://www.sqlite.org/rowidtable.html suggests, "instead use an INTEGER PRIMARY KEY."
The text was updated successfully, but these errors were encountered: