kopia lustrzana https://github.com/simonw/datasette
detect_fts now works with alternative table escaping
rodzic
f04deebec4
commit
a85239f692
|
@ -469,6 +469,7 @@ def detect_fts_sql(table):
|
||||||
where rootpage = 0
|
where rootpage = 0
|
||||||
and (
|
and (
|
||||||
sql like '%VIRTUAL TABLE%USING FTS%content="{table}"%'
|
sql like '%VIRTUAL TABLE%USING FTS%content="{table}"%'
|
||||||
|
or sql like '%VIRTUAL TABLE%USING FTS%content=[{table}]%'
|
||||||
or (
|
or (
|
||||||
tbl_name = "{table}"
|
tbl_name = "{table}"
|
||||||
and sql like '%VIRTUAL TABLE%USING FTS%'
|
and sql like '%VIRTUAL TABLE%USING FTS%'
|
||||||
|
|
|
@ -159,7 +159,8 @@ def test_validate_sql_select_good(good_sql):
|
||||||
utils.validate_sql_select(good_sql)
|
utils.validate_sql_select(good_sql)
|
||||||
|
|
||||||
|
|
||||||
def test_detect_fts():
|
@pytest.mark.parametrize("open_quote,close_quote", [('"', '"'), ("[", "]")])
|
||||||
|
def test_detect_fts(open_quote, close_quote):
|
||||||
sql = """
|
sql = """
|
||||||
CREATE TABLE "Dumb_Table" (
|
CREATE TABLE "Dumb_Table" (
|
||||||
"TreeID" INTEGER,
|
"TreeID" INTEGER,
|
||||||
|
@ -175,9 +176,11 @@ def test_detect_fts():
|
||||||
"qCaretaker" TEXT
|
"qCaretaker" TEXT
|
||||||
);
|
);
|
||||||
CREATE VIEW Test_View AS SELECT * FROM Dumb_Table;
|
CREATE VIEW Test_View AS SELECT * FROM Dumb_Table;
|
||||||
CREATE VIRTUAL TABLE "Street_Tree_List_fts" USING FTS4 ("qAddress", "qCaretaker", "qSpecies", content="Street_Tree_List");
|
CREATE VIRTUAL TABLE {open}Street_Tree_List_fts{close} USING FTS4 ("qAddress", "qCaretaker", "qSpecies", content={open}Street_Tree_List{close});
|
||||||
CREATE VIRTUAL TABLE r USING rtree(a, b, c);
|
CREATE VIRTUAL TABLE r USING rtree(a, b, c);
|
||||||
"""
|
""".format(
|
||||||
|
open=open_quote, close=close_quote
|
||||||
|
)
|
||||||
conn = utils.sqlite3.connect(":memory:")
|
conn = utils.sqlite3.connect(":memory:")
|
||||||
conn.executescript(sql)
|
conn.executescript(sql)
|
||||||
assert None is utils.detect_fts(conn, "Dumb_Table")
|
assert None is utils.detect_fts(conn, "Dumb_Table")
|
||||||
|
|
Ładowanie…
Reference in New Issue