Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Never throw VersionError #1880

Merged
merged 6 commits into from
Feb 7, 2024
Merged

Never throw VersionError #1880

merged 6 commits into from
Feb 7, 2024

Commits on Jan 22, 2024

  1. Configuration menu
    Copy the full SHA
    6263216 View commit details
    Browse the repository at this point in the history
  2. It should work having two versions of the DB opened at the same time …

    …as long as they have a compatible schema.
    
    A compatible schema does not need to have the same tables or indexes. They might differ quite a lot.
    * Attaching an upgrader to one of them would mean that the upgrader runs even though the first one didn't request it. Therefore, this scenario should be avoided when having upgraders that modify content between versions.
    * Schemas are not compatible if they index the same property or properties using different flags (unique or multiEntry)
    * Schemas are not compatible if they have different primary keys
    
    However, in most scenarios where we would fail opening one of the DBs, we will now succeed and be able to access the same data.
    dfahlander committed Jan 22, 2024
    Configuration menu
    Copy the full SHA
    626211c View commit details
    Browse the repository at this point in the history
  3. Fixing a unit test

    dfahlander committed Jan 22, 2024
    Configuration menu
    Copy the full SHA
    2ccb4c5 View commit details
    Browse the repository at this point in the history
  4. Support infinite number of schema changes without version bump

    (Not just 10)
    When native verno is incremented 10 times to the next 10 multiple, create a table $meta that contains the virtual version. Maintain that table and delete it when no longer needed.
    dfahlander committed Jan 22, 2024
    Configuration menu
    Copy the full SHA
    b921fd3 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    7833b0a View commit details
    Browse the repository at this point in the history
  6. Indentation only...

    dfahlander committed Jan 22, 2024
    Configuration menu
    Copy the full SHA
    14c67a4 View commit details
    Browse the repository at this point in the history