#12 sqlite-finalize doesn't finish cached statements

Ditutup
dibuka 3 tahun lalu oleh reepca · 1 komentar
reepca komentar 3 tahun lalu

"An implicit transaction (a transaction that is started automatically, not a transaction started by BEGIN) is committed automatically when the last active statement finishes. A statement finishes when its last cursor closes, which is guaranteed to happen when the prepared statement is reset or finalized. Some statements might "finish" for the purpose of transaction control prior to being reset or finalized, but there is no guarantee of this. The only way to ensure that a statement has "finished" is to invoke sqlite3_reset() or sqlite3_finalize() on that statement."

~ https://www.sqlite.org/lang_transaction.html

Thus, cached statements should be reset when sqlite-finalize is invoked on them, to preserved the statement-finishing behavior of sqlite_finalize that could be expected.

"An implicit transaction (a transaction that is started automatically, not a transaction started by BEGIN) is committed automatically when the last active statement finishes. A statement finishes when its last cursor closes, which is guaranteed to happen when the prepared statement is reset or finalized. Some statements might "finish" for the purpose of transaction control prior to being reset or finalized, but there is no guarantee of this. The only way to ensure that a statement has "finished" is to invoke sqlite3_reset() or sqlite3_finalize() on that statement." ~ https://www.sqlite.org/lang_transaction.html Thus, cached statements should be reset when `sqlite-finalize` is invoked on them, to preserved the statement-finishing behavior of `sqlite_finalize` that could be expected.
reepca komentar 3 tahun lalu
Poster
Fixed by https://notabug.org/guile-sqlite3/guile-sqlite3/pulls/13
Masuk untuk bergabung dalam percakapan ini.
Tidak ada Label
Tidak ada tonggak
Tidak ada penerima
1 Peserta
Memuat...
Batal
Simpan
Belum ada konten.