From 2fa183373695e7c09795bc8821c37b9e5b23668a Mon Sep 17 00:00:00 2001 From: Branden J Brown Date: Tue, 3 Mar 2026 23:30:56 -0500 Subject: [PATCH] clear bindings --- sqlite/capi.kk | 3 +++ sqlite/sqlite-inline.c | 5 +++++ sqlite/sqlite3.kk | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/sqlite/capi.kk b/sqlite/capi.kk index e7c7c79..3124760 100644 --- a/sqlite/capi.kk +++ b/sqlite/capi.kk @@ -94,3 +94,6 @@ pub extern bind-text(^stmt: any, col: int32, ^value: string): int32 pub extern bind-zeroblob(^stmt: any, col: int32, length: int64): int32 c "kk_sqlite3_bind_zeroblob" + +pub extern clear-bindings(^stmt: any): int32 + c "kk_sqlite3_clear_bindings" diff --git a/sqlite/sqlite-inline.c b/sqlite/sqlite-inline.c index db9a5d9..0c22e5b 100644 --- a/sqlite/sqlite-inline.c +++ b/sqlite/sqlite-inline.c @@ -142,3 +142,8 @@ int32_t kk_sqlite3_bind_zeroblob(kk_box_t cref, int32_t col, int64_t length, kk_ sqlite3_stmt *stmt = borrow_stmt(cref, _ctx); return sqlite3_bind_zeroblob64(stmt, col, (sqlite3_uint64)length); } + +int32_t kk_sqlite3_clear_bindings(kk_box_t cref, kk_context_t *_ctx) { + sqlite3_stmt *stmt = borrow_stmt(cref, _ctx); + return sqlite3_clear_bindings(stmt); +} diff --git a/sqlite/sqlite3.kk b/sqlite/sqlite3.kk index 81429f3..18537e0 100644 --- a/sqlite/sqlite3.kk +++ b/sqlite/sqlite3.kk @@ -183,3 +183,7 @@ pub fun statement/bind-text(stmt: statement, col: int, value: string): sqlite-re pub fun statement/bind-zeroblob(stmt: statement, col: int, length: int64): sqlite-result capi/bind-zeroblob(stmt.cref, col.int32, length).trusted-result + +// Set all bound parameters to NULL. +pub fun statement/clear-bindings(stmt: statement): sqlite-result + capi/clear-bindings(stmt.cref).trusted-result