SQLITE_BUSY returned after canceled transaction
I found odd behavior when I commit a no-op transaction (row is created then deleted), cancel committing a transaction, and roll it back, every DB operations returns SQLITE_BUSY
. Prepared statements are being used for everything. I cannot reproduce this behavior using https://github.com/mattn/go-sqlite3, so I think it's an issue with this library.
I made a branch on the affected repo that has a minimal reproducer, let me know if I can help at all. Thanks for this project, it's amazing to be able to use SQLite in pure Go!
Failing reproducer is here: https://github.com/capnspacehook/sqlite-repro
You can find an error much faster by compiling with the race detector, but the error still occurs without it just much less frequently.
Edited by Andrew LeFevre