X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=datasette_connectors%2Fcursor.py;h=02585a367e1957d8f55aa1e4c634a6b25392bf9d;hb=522f46ef03efd028cb4344a30b0bfb80d00f9643;hp=166c84eb9e5f7a7c72e83166149ff89a2707df91;hpb=716ff0016ebb03dbef77fd4a9c6b2f8f9781cb58;p=datasette-connectors.git diff --git a/datasette_connectors/cursor.py b/datasette_connectors/cursor.py index 166c84e..02585a3 100644 --- a/datasette_connectors/cursor.py +++ b/datasette_connectors/cursor.py @@ -54,7 +54,7 @@ class Cursor: match = re.search(r'select count\(\*\) from (.*)', sql) results = [{'count(*)': self.connector.table_count(match.group(1))}] elif sql.startswith("PRAGMA table_info("): - match = re.search(r'PRAGMA table_info\((.*)\)', sql) + match = re.search(r'PRAGMA table_info\(\[?\"?([\d\w\/%]*)\"?\]?\)', sql) results = self.connector.table_info(match.group(1)) elif sql.startswith("select name from sqlite_master where rootpage = 0 and ( sql like \'%VIRTUAL TABLE%USING FTS%content="): match = re.search(r'select name from sqlite_master where rootpage = 0 and \( sql like \'%VIRTUAL TABLE%USING FTS%content="(.*)"', sql) @@ -67,7 +67,8 @@ class Cursor: if self.connector.table_exists(params[0]): results = [{'1': '1'}] elif sql == "select sql from sqlite_master where name = :n and type=:t": - results = [{'sql': self.connector.table_definition(params['t'], params['n'])}] + if self.connector.table_exists(params['n']): + results = [{'sql': self.connector.table_definition(params['t'], params['n'])}] elif sql == "select sql from sqlite_master where tbl_name = :n and type='index' and sql is not null": results = [{'sql': sql} for sql in self.connector.indices_definition(params['n'])] else: