Switch searchable_fts test table to FTS5, closes #2613

This commit is contained in:
Simon Willison 2025-12-12 22:18:35 -08:00
commit 232a404743
3 changed files with 27 additions and 44 deletions

View file

@ -536,9 +536,8 @@ INSERT INTO searchable_tags (searchable_id, tag) VALUES
;
CREATE VIRTUAL TABLE "searchable_fts"
USING FTS4 (text1, text2, [name with . and spaces], content="searchable");
INSERT INTO "searchable_fts" (rowid, text1, text2, [name with . and spaces])
SELECT rowid, text1, text2, [name with . and spaces] FROM searchable;
USING FTS5 (text1, text2, [name with . and spaces], content="searchable", content_rowid="pk");
INSERT INTO "searchable_fts" (searchable_fts) VALUES ('rebuild');
CREATE TABLE [select] (
[group] text,

View file

@ -515,22 +515,13 @@ async def test_database_page(ds_client):
"private": False,
},
{
"columns": Either(
[
"text1",
"text2",
"name with . and spaces",
"searchable_fts",
"docid",
"__langid",
],
# Get tests to pass on SQLite 3.25 as well
[
"text1",
"text2",
"name with . and spaces",
],
),
"columns": [
"text1",
"text2",
"name with . and spaces",
"searchable_fts",
"rank",
],
"count": 2,
"foreign_keys": {"incoming": [], "outgoing": []},
"fts_table": "searchable_fts",
@ -540,26 +531,9 @@ async def test_database_page(ds_client):
"private": False,
},
{
"name": "searchable_fts_docsize",
"columns": ["docid", "size"],
"primary_keys": ["docid"],
"count": 2,
"hidden": True,
"fts_table": None,
"foreign_keys": {"incoming": [], "outgoing": []},
"private": False,
},
{
"name": "searchable_fts_segdir",
"columns": [
"level",
"idx",
"start_block",
"leaves_end_block",
"end_block",
"root",
],
"primary_keys": ["level", "idx"],
"name": "searchable_fts_config",
"columns": ["k", "v"],
"primary_keys": ["k"],
"count": 1,
"hidden": True,
"fts_table": None,
@ -567,19 +541,29 @@ async def test_database_page(ds_client):
"private": False,
},
{
"name": "searchable_fts_segments",
"columns": ["blockid", "block"],
"primary_keys": ["blockid"],
"count": 0,
"name": "searchable_fts_data",
"columns": ["id", "block"],
"primary_keys": ["id"],
"count": 3,
"hidden": True,
"fts_table": None,
"foreign_keys": {"incoming": [], "outgoing": []},
"private": False,
},
{
"name": "searchable_fts_stat",
"columns": ["id", "value"],
"name": "searchable_fts_docsize",
"columns": ["id", "sz"],
"primary_keys": ["id"],
"count": 2,
"hidden": True,
"fts_table": None,
"foreign_keys": {"incoming": [], "outgoing": []},
"private": False,
},
{
"name": "searchable_fts_idx",
"columns": ["segid", "term", "pgno"],
"primary_keys": ["segid", "term"],
"count": 1,
"hidden": True,
"fts_table": None,

View file

@ -436,10 +436,10 @@ async def test_table_names(db):
"searchable",
"searchable_tags",
"searchable_fts",
"searchable_fts_segments",
"searchable_fts_segdir",
"searchable_fts_data",
"searchable_fts_idx",
"searchable_fts_docsize",
"searchable_fts_stat",
"searchable_fts_config",
"select",
"infinity",
"facet_cities",