Looking at #246 it seems the only real transaction control is using executemany, when working through DBInterface? What about support for explicit begin and commit to control transactions? This works pretty well in Python's sqlite3 (and begin will disable the auto-commit at that point to give control). Preparing a large number of insert/update statements isn't really feasible in all cases (nor a very nice way of writing the code).