From c2ecdac1df24dfeccb602c2c0f50df88ef863b8e Mon Sep 17 00:00:00 2001 From: Yasuhiro Matsumoto Date: Wed, 29 Jul 2026 08:59:49 +0900 Subject: [PATCH] Translate SQL NULL filter arguments to nil like goVUpdate --- sqlite3_opt_vtable.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/sqlite3_opt_vtable.go b/sqlite3_opt_vtable.go index 9e916ea..ba788f0 100644 --- a/sqlite3_opt_vtable.go +++ b/sqlite3_opt_vtable.go @@ -514,7 +514,14 @@ func goVFilter(pCursor unsafe.Pointer, idxNum C.int, idxName *C.char, argc C.int if err != nil { return mPrintf("%s", err.Error()) } - vals = append(vals, conv.Interface()) + + // work around for SQLITE_NULL + x := conv.Interface() + if z, ok := x.([]byte); ok && z == nil { + x = nil + } + + vals = append(vals, x) } err := vtc.vTabCursor.Filter(int(idxNum), C.GoString(idxName), vals) if err != nil {