New submission from Erlend E. Aasland <erlend.aasl...@innova.no>:
sqlite3_stmt_busy() has been around since SQLite 3.7.10. I suggest to drop the in_use field of pysqlite_Statement in favour of sqlite3_stmt_busy(); we do not need to duplicate functionality already present in SQLite. There was a bugfix for sqlite3_stmt_busy() in SQLite 3.8.6 regarding rollback statements, but we normally reset all our statements after use, so it should not be a problem. There are some corner cases in _pysqlite_query_execute() where a sqlite3_stmt may not be reset upon return, but that's easily fixable (and it would be a nice side-effect). Pro's: - statement objects have one less member - no duplication of SQLite functionality - cleaner exit paths from _pysqlite_query_execute() - less lines of code, easier to maintain Con's: - the current code works / "code churn" ---------- assignee: erlendaasland components: Extension Modules keywords: easy (C) messages: 393241 nosy: berker.peksag, erlendaasland, serhiy.storchaka priority: normal severity: normal status: open title: [sqlite3] drop statement in_use field in favour of sqlite3_stmt_busy() type: enhancement versions: Python 3.11 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue44073> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com