Skip to content

v4.1.1 — A store older than its own indexes

Choose a tag to compare

@varun369 varun369 released this 23 Aug 10:56
· 24 commits to main since this release
Immutable release. Only release title and notes can be modified.

Fixed

  • A store from an early version could not be opened at all, and there was no
    way out of it.
    Starting up creates the indexes, one of which is on a column
    that arrives with a migration scheduled to run after the engine is up. On a
    store old enough to predate that column, the index could not be created, so
    startup failed — and the migration that would have added the column could not
    run, because it runs after a startup that never finished. slm db migrate did
    not help either: it reports nothing failed and skips that class of migration by
    design. Any store in that state was stuck on the version it was already on.
    The column is now added before the index that needs it, so those stores open
    and finish upgrading on their own. Measured on a real 637 MB store: it went
    from refusing to start to a complete upgrade in 19 seconds, with all 7,707
    memories, 2,590 records and 848,945 connections unchanged and the integrity
    check clean.