Tracer mechanism for showing underlying SQL queries

* Pass a tracer= function to Database constructor
* New db.tracer() contextmanager
* Neater SQL indentation, because tracer means it could be visible now
* New db.execute() and db.executescript() methods

Closes #150
This commit is contained in:
Simon Willison 2020-09-07 14:56:59 -07:00 committed by GitHub
commit cf2cb244fa
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 231 additions and 79 deletions

View file

@ -4,9 +4,9 @@ import pytest
def test_recursive_triggers():
db = Database(memory=True)
assert db.conn.execute("PRAGMA recursive_triggers").fetchone()[0]
assert db.execute("PRAGMA recursive_triggers").fetchone()[0]
def test_recursive_triggers_off():
db = Database(memory=True, recursive_triggers=False)
assert not db.conn.execute("PRAGMA recursive_triggers").fetchone()[0]
assert not db.execute("PRAGMA recursive_triggers").fetchone()[0]