I'm finding that if I do something like this:
X.transaction { X.create(...); raise('stop') }
Then I see the INSERT statement in my logs, but I don't see the BEGIN or END for the transaction, or the ROLLBACK.
The transaction is definitely working: Without the raise(), the X object is created; with the raise(), it is not. In both cases, the log is identical, which makes debugging a bit confusing.
I'm using sqlite3 in development mode in an out of the box setup on a mac.
Is there some way I can turn up the SQL logging level to include log entries for transaction rollback events? Or is there some good reason I don't understand why this isn't done?