summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sqlite.zig22
1 files changed, 22 insertions, 0 deletions
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" {
3402 } 3402 }
3403} 3403}
3404 3404
3405test "sqlite: bind runtime slice" {
3406 var arena = std.heap.ArenaAllocator.init(testing.allocator);
3407 defer arena.deinit();
3408 var allocator = arena.allocator();
3409
3410 // creating array list on heap so that it's deemed runtime size
3411 var list = std.ArrayList([]const u8).init(allocator);
3412 defer list.deinit();
3413 try list.append("this is some data");
3414 const args = list.toOwnedSlice();
3415
3416 var db = try getTestDb();
3417 defer db.deinit();
3418 try addTestData(&db);
3419
3420 {
3421 // insertion
3422 var stmt = try db.prepareDynamic("INSERT INTO article(data) VALUES(?)");
3423 defer stmt.deinit();
3424 try stmt.exec(.{}, args);
3425 }
3426}
3405test "sqlite: prepareDynamic" { 3427test "sqlite: prepareDynamic" {
3406 var arena = std.heap.ArenaAllocator.init(testing.allocator); 3428 var arena = std.heap.ArenaAllocator.init(testing.allocator);
3407 defer arena.deinit(); 3429 defer arena.deinit();