Implemented ?_search=XXX + UI if a FTS table is detected

Closes #131
This commit is contained in:
Simon Willison 2017-11-19 08:59:26 -08:00
commit eed6a0fe36
No known key found for this signature in database
GPG key ID: FBB38AFE227189DB
5 changed files with 75 additions and 5 deletions

View file

@ -4,6 +4,7 @@ Tests for various datasette helper functions.
from datasette import utils
import pytest
import sqlite3
import json
@ -124,3 +125,26 @@ def test_validate_sql_select_bad(bad_sql):
])
def test_validate_sql_select_good(good_sql):
utils.validate_sql_select(good_sql)
def test_detect_fts():
sql = '''
CREATE TABLE "Dumb_Table" (
"TreeID" INTEGER,
"qSpecies" TEXT
);
CREATE TABLE "Street_Tree_List" (
"TreeID" INTEGER,
"qSpecies" TEXT,
"qAddress" TEXT,
"SiteOrder" INTEGER,
"qSiteInfo" TEXT,
"PlantType" TEXT,
"qCaretaker" TEXT
);
CREATE VIRTUAL TABLE "Street_Tree_List_fts" USING FTS4 ("qAddress", "qCaretaker", "qSpecies", content="Street_Tree_List");
'''
conn = sqlite3.connect(':memory:')
conn.executescript(sql)
assert None is utils.detect_fts(conn, 'Dumb_Table')
assert 'Street_Tree_List_fts' == utils.detect_fts(conn, 'Street_Tree_List')