expo: [SDK 50] Regression: expo-sqlite no longer supports FTS modules
Minimal reproducible example
https://github.com/ndekross/expo-sqlite-no-fts-module-error
Summary
We’ve been using the SQlite’s FTS4 module in our app, which is currently running on Expo 49 and expo-sqlite@11.3.3
. This module is crucial for providing full-text search, a core feature for our customers. However, after upgrading to Expo SDK 50 and updating expo-sqlite
to the latest version, the FTS module has stopped functioning. When I attempt to create an FTS table, SQLite gives this error:
[Error: Error code 1: no such module: fts4]
I also tried FTS3 and FTS5, but neither was successful. I’ve created a minimal reproducible example based on Expo’s with-sqlite
template. You can start the app and observe the error firsthand.
What we expect:
- Error-free creation of an FTS4 virtual table
- Support for FTS5, which was released nearly a decade ago
Thank you!
Environment
expo-env-info 1.2.0 environment info:
System:
OS: Windows 11 10.0.22621
Binaries:
Node: 18.12.1 - C:\Program Files\nodejs\node.EXE
Yarn: 3.6.3 - ~\AppData\Roaming\npm\yarn.CMD
npm: 9.6.6 - ~\AppData\Roaming\npm\npm.CMD
IDEs:
Android Studio: AI-231.9392.1.2311.11255304
npmPackages:
expo: ^50.0.4 => 50.0.5
react: 18.2.0 => 18.2.0
react-dom: 18.2.0 => 18.2.0
react-native: 0.73.2 => 0.73.2
react-native-web: ~0.19.8 => 0.19.8
Expo Workflow: bare
About this issue
- Original URL
- State: closed
- Created 5 months ago
- Reactions: 3
- Comments: 19 (5 by maintainers)
Commits related to this issue
- [sqlite] enable FTS (#27738) # Why fixes #26866 close ENG-11716 # How - enable FTS 3/4/5 by default - people could have `expo.sqlite.enableFTS=false` to disable the feature — committed to expo/expo by Kudo 3 months ago
- [sqlite] enable FTS (#27738) fixes #26866 close ENG-11716 - enable FTS 3/4/5 by default - people could have `expo.sqlite.enableFTS=false` to disable the feature (cherry picked from commit 92a3dd7e8... — committed to expo/expo by Kudo 3 months ago
@joshdickson i’m sorry too for not mentioning clearly. hopefully development builds works for you. thanks!
This update fixed the FTS issue for me. Thanks, again!
the issue should be fixed by
expo-sqlite@13.4.0
. please let me know whether it works for you.Nice! well, done @Kudo
@verontheservant
Expo no longer uses the OS bundled version of SQLite in
expo-sqlite/next
, which might be why we’ve lost support for FTS. We hope they’ll include the FTS5 extension when they add this feature back.