From 78f4717f2a2b0757cc31cafc869477526cf4ffb9 Mon Sep 17 00:00:00 2001 From: Luna Date: Sat, 23 Apr 2022 19:25:46 -0300 Subject: add test for runtime slices as DynamicStatement args --- sqlite.zig | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/sqlite.zig b/sqlite.zig index d6a5e79..b1d5c7b 100644 --- a/sqlite.zig +++ b/sqlite.zig @@ -3402,6 +3402,28 @@ test "sqlite: bind custom type" { } } +test "sqlite: bind runtime slice" { + var arena = std.heap.ArenaAllocator.init(testing.allocator); + defer arena.deinit(); + var allocator = arena.allocator(); + + // creating array list on heap so that it's deemed runtime size + var list = std.ArrayList([]const u8).init(allocator); + defer list.deinit(); + try list.append("this is some data"); + const args = list.toOwnedSlice(); + + var db = try getTestDb(); + defer db.deinit(); + try addTestData(&db); + + { + // insertion + var stmt = try db.prepareDynamic("INSERT INTO article(data) VALUES(?)"); + defer stmt.deinit(); + try stmt.exec(.{}, args); + } +} test "sqlite: prepareDynamic" { var arena = std.heap.ArenaAllocator.init(testing.allocator); defer arena.deinit(); -- cgit v1.2.3