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

Most upvoted comments

@joshdickson i’m sorry too for not mentioning clearly. hopefully development builds works for you. thanks!

the issue should be fixed by expo-sqlite@13.4.0. please let me know whether it works for you.

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.

We’ve also updated the SQLite version to 3.42.0 on both platforms, rather than depending on the versions bundled with the operating system. Source