diff options
| author | 2022-04-23 19:25:46 -0300 | |
|---|---|---|
| committer | 2022-04-24 11:22:42 +0200 | |
| commit | 78f4717f2a2b0757cc31cafc869477526cf4ffb9 (patch) | |
| tree | 5549918fcffe0d3cca7d4a15adce0db6c44d0fe5 | |
| parent | emit compileError on unsupported pointer sizes (diff) | |
| download | zig-sqlite-78f4717f2a2b0757cc31cafc869477526cf4ffb9.tar.gz zig-sqlite-78f4717f2a2b0757cc31cafc869477526cf4ffb9.tar.xz zig-sqlite-78f4717f2a2b0757cc31cafc869477526cf4ffb9.zip | |
add test for runtime slices as DynamicStatement args
Diffstat (limited to '')
| -rw-r--r-- | sqlite.zig | 22 |
1 files changed, 22 insertions, 0 deletions
| @@ -3402,6 +3402,28 @@ test "sqlite: bind custom type" { | |||
| 3402 | } | 3402 | } |
| 3403 | } | 3403 | } |
| 3404 | 3404 | ||
| 3405 | test "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 | } | ||
| 3405 | test "sqlite: prepareDynamic" { | 3427 | test "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(); |