fix(datastore-storage-adapter): export ExpoSQLiteAdapter and update to modern expo-sqlite API#14565
Open
anivar wants to merge 1 commit intoaws-amplify:mainfrom
Open
fix(datastore-storage-adapter): export ExpoSQLiteAdapter and update to modern expo-sqlite API#14565anivar wants to merge 1 commit intoaws-amplify:mainfrom
anivar wants to merge 1 commit intoaws-amplify:mainfrom
Conversation
This was referenced Sep 25, 2025
1b2b63a to
31994c1
Compare
🦋 Changeset detectedLatest commit: 9c33c94 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
31994c1 to
44b3643
Compare
…o modern expo-sqlite API ExpoSQLiteAdapter was implemented but never exported from the package. The implementation used deprecated WebSQL APIs (openDatabase, transaction, executeSql) removed in expo-sqlite 13.0+, causing silent fallback to AsyncStorage with ~100x performance degradation. Changes: - Export ExpoSQLiteAdapter from package index - Rewrite ExpoSQLiteDatabase to use expo-sqlite 13.0+ async API - Use require() for optional expo-sqlite/expo-file-system dependencies - Add optional peer dependencies - Enable WAL journal mode for concurrent read/write performance - Add 18 unit tests with mocked expo-sqlite Fixes aws-amplify#14514 aws-amplify#14440
44b3643 to
9c33c94
Compare
Contributor
Author
Open
3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description of changes
ExpoSQLiteAdapter was implemented but never exported from the package. The implementation used deprecated WebSQL APIs (
openDatabase,transaction,executeSql) removed in expo-sqlite 13.0+, causing silent fallback to AsyncStorage with ~100x performance degradation.Changes:
ExpoSQLiteAdapterfromsrc/index.tsExpoSQLiteDatabaseto use expo-sqlite 13.0+ async API (openDatabaseAsync,getAllAsync,runAsync,withTransactionAsync)require()for optionalexpo-sqlite/expo-file-systemdependenciesexpo-sqlite >=13.0.0,expo-file-system >=13.0.0,react-native-sqlite-storage >=5.0.0Issue #, if available
Fixes #14514
Fixes #14440
Description of how you validated changes
Checklist
yarn testpassesBy submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.