Generate DDL to create the full-text search index.
Name for the FTS index/virtual table.
Columns to index.
OptionalcontentSource table (for external-content FTS5).
Optionaltokenizer?: stringTokenizer config (e.g. 'porter ascii').
Generate an INSERT to sync external-content FTS after a row insert.
SQLite: INSERT INTO fts_table (rowid, col1, col2) VALUES (expr, ?, ?)
Postgres: UPDATE content_table SET _tsv = to_tsvector(...) WHERE ...
Generate a SELECT joining the FTS index to the content table. This handles the structural difference between FTS5 (separate virtual table joined via rowid) and Postgres (tsvector column on the content table itself).
The base table (e.g. 'memory_traces').
Alias for the content table (e.g. 't').
Alias for the FTS table/column (e.g. 'fts').
FTS index/virtual table name.
FROM/JOIN clause fragment.
SQLite FTS5 full-text search implementation.
Uses FTS5 virtual tables with external-content support, porter/ascii tokenizers, and rowid-based joins to the content table.