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

RMET-2046 SQLite 3.33.0 update - iOS #11

Merged
merged 512 commits into from
Dec 21, 2022

Conversation

nflsilva
Copy link

@nflsilva nflsilva commented Dec 7, 2022

Platforms affected

  • iOS

Motivation and Context

  • This PR has the purpose of updating SQLite version to 3.33.0. Since we are using SQLCipher instead, this means that SQLCipher it self needs to be updated in order to bring a new SQLite version along.

Description

  • To accomplish this update, we started by pulling all the updates from upstream repo and solving the needed conflicts.
    -- We knew which changes to pull based on the upstream repo commit history.
    -- We could also confirm the SQLite version from the src/common/sqlite3.c file. This file has an amalgamation of the entire SQLite code. On the top comment on this file we can confirm the 3.33.0 version.

  • After this merge, we applied the needed changes to accommodate the SQLCipher migration.
    -- Since we updated SQLCipher from version 3 to 4, it is required that we perform a migration.
    -- This is done by executing PRAGMA cipher_migrate; . However, this operation can be costly and should be done only when required.
    -- To implement this behaviour, we follow the recommended migration process.

  • This PR is very complex because it has a lot of changes from upstream. For the reviewers convenience, I'm leaving a reference to the block of code that performs the migration..
    -- This was implemented by calling the same method so less code is duplicated.

  • The entire thought process is described in this comment, from this issue.

Tests

  • We tested this on real device by:
    -- Running the sample app as normal;
    -- Installing the updated version on top of the old one, to test the migration process;
    -- Installing the updated version on top of the updated version, to test the migration did not occured;

Christopher J. Brody and others added 30 commits May 16, 2018 11:23
and cover issue in documentation
NOTE: Jasmine 2.6.0 and newer reports uncaught errors on some tests on
HTML5 (WebKit) Web SQL tests (FUTURE TBD for further investigation)
- Mark some Android errors as internal plugin errors (quick fix)
- remove trailing whitespace from Android implementation
- quick doc updates
- test coverage updates included
per string test case, removed from another place

ref: storesafe/cordova-sqlite-storage#564
old QUnit-like utility functions removed from
this test script
@nflsilva nflsilva marked this pull request as ready for review December 17, 2022 15:16
@nflsilva nflsilva changed the title RMET-2046 SQLite 3.33.0 update RMET-2046 SQLite 3.33.0 update - iOS Dec 17, 2022
@nflsilva nflsilva marked this pull request as draft December 19, 2022 09:34
* feat: updated jars

* updated jars

* feat: updated gitignore. added db migration

* feat: added database migration

* fix: added migration code.

* chore: updated changelog
@nflsilva nflsilva marked this pull request as ready for review December 21, 2022 10:27
@OS-ricardomoreirasilva
Copy link

Don't forget the entry on the CHANGES.md file.

@nflsilva nflsilva merged commit b037892 into outsystems Dec 21, 2022
@nflsilva nflsilva deleted the feat/RMET-2046/sqlite-3.33.0-update branch December 21, 2022 12:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants