From 203a7a660c866fd93974387a72516806f47336b0 Mon Sep 17 00:00:00 2001 From: Ryan Culpepper Date: Tue, 30 Oct 2012 12:32:31 -0400 Subject: [PATCH] db: fix another sqlite3 finalization bug --- collects/db/private/sqlite3/connection.rkt | 4 ++-- collects/db/private/sqlite3/ffi.rkt | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/collects/db/private/sqlite3/connection.rkt b/collects/db/private/sqlite3/connection.rkt index a4d04423fb..6cd800e641 100644 --- a/collects/db/private/sqlite3/connection.rkt +++ b/collects/db/private/sqlite3/connection.rkt @@ -206,7 +206,7 @@ (let loop () (let ([stmt (sqlite3_next_stmt db #f)]) (when stmt - (HANDLE 'disconnect (sqlite3_finalize stmt)) + (sqlite3_finalize stmt) (loop)))) (HANDLE 'disconnect (sqlite3_close db)) (void)))))) @@ -225,7 +225,7 @@ (let ([stmt (send pst get-handle)]) (send pst set-handle #f) (when (and stmt -db) - (HANDLE fsym (sqlite3_finalize stmt))) + (sqlite3_finalize stmt)) (void))))) ;; Internal query diff --git a/collects/db/private/sqlite3/ffi.rkt b/collects/db/private/sqlite3/ffi.rkt index af7260cfbb..fa6baa0cb5 100644 --- a/collects/db/private/sqlite3/ffi.rkt +++ b/collects/db/private/sqlite3/ffi.rkt @@ -58,7 +58,10 @@ (define-sqlite sqlite3_finalize (_fun _sqlite3_statement - -> _int)) + -> _int + ;; sqlite3_finalize returns error code of last stmt execution, + ;; not of finalization; so just ignore + -> (void))) (define-sqlite sqlite3_bind_parameter_count (_fun _sqlite3_statement