You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
"Discovers the most advanced supported SQLite FTS version"
conn=sqlite3.connect(':memory:')
forftsin ('FTS5', 'FTS4', 'FTS3'):
try:
conn.execute('CREATE VIRTUAL TABLE v USING {} (t TEXT);'.format(fts))
returnfts
exceptsqlite3.OperationalError:
continue
returnNone
In [5]: sqlite3.connect(":memory:").execute("CREATE VIRTUAL TABLE v USING FTS5 (text s)")
---------------------------------------------------------------------------
OperationalError Traceback (most recent call last)
<ipython-input-5-e28cb15a3bcb> in <module>()
----> 1 sqlite3.connect(":memory:").execute("CREATE VIRTUAL TABLE v USING FTS5 (text s)")
OperationalError: unrecognized column option: s
In [6]: sqlite3.connect(":memory:").execute("CREATE VIRTUAL TABLE v USING FTS5 (s)")
Out[6]: <sqlite3.Cursor at 0x102d761f0>
So FTS5 currently always fails to be detected.
The text was updated successfully, but these errors were encountered:
That said... I'm no longer convinced that just using the best available FTS version is the right approach. FTS4 is much more widely available, and FTS5 has quite a few differences. Maybe default to FTS4 and allow FTS5 to be explicitly requested via a command line option?
Bug in this code:
csvs-to-sqlite/csvs_to_sqlite/utils.py
Lines 283 to 292 in dccbf65
So FTS5 currently always fails to be detected.
The text was updated successfully, but these errors were encountered: