-
-
Notifications
You must be signed in to change notification settings - Fork 203
Enable FTS5 in SQLite #694
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
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, should we add a test for this? The one I came up with is
$ uvx python@3.14b4
Python 3.14.0b4 (main, Jul 8 2025, 21:00:06) [Clang 20.1.4 ] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sqlite3
>>> s = sqlite3.connect(":memory:")
>>> c = s.cursor()
>>> c.execute("CREATE VIRTUAL TABLE email USING fts5(sender, title, body);")
Traceback (most recent call last):
File "<python-input-3>", line 1, in <module>
c.execute("CREATE VIRTUAL TABLE email USING fts5(sender, title, body);")
~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sqlite3.OperationalError: no such module: fts5
Should we care about these other extensions too? |
Yeah it makes sense to enable anything that's common in the wild. A test seems reasonable, do you want to add it? |
Looks like there's some tests already. Since this is my first time actually running them, I'm going to let CI chew on this to make sure the tests fail on the full matrix, and then I'll push the #defines to fix it. |
We could really use this fix, our project is broken without fts5. basicmachines-co/basic-memory#225 |
To add more context, I'm running on OS X and fts5 is currently broken, as of a couple days ago sqlite_test.py
output:
|
No description provided.