summaryrefslogtreecommitdiff
path: root/sqlite.zig
diff options
context:
space:
mode:
authorGravatar Vincent Rischmann2021-01-06 01:43:21 +0100
committerGravatar Vincent Rischmann2021-01-06 01:43:21 +0100
commit51d558ed2455f9b19aebe1e497eb4bd37c1a7b70 (patch)
treef6e9c8fafac5ec755d39eaf3b3c0c60a1cfc0ec1 /sqlite.zig
parentfix compile error in readField (diff)
downloadzig-sqlite-51d558ed2455f9b19aebe1e497eb4bd37c1a7b70.tar.gz
zig-sqlite-51d558ed2455f9b19aebe1e497eb4bd37c1a7b70.tar.xz
zig-sqlite-51d558ed2455f9b19aebe1e497eb4bd37c1a7b70.zip
add a test for optionals
Diffstat (limited to 'sqlite.zig')
-rw-r--r--sqlite.zig27
1 files changed, 27 insertions, 0 deletions
diff --git a/sqlite.zig b/sqlite.zig
index 1338cbf..d96c956 100644
--- a/sqlite.zig
+++ b/sqlite.zig
@@ -1380,6 +1380,33 @@ test "sqlite: read pointers" {
1380 } 1380 }
1381} 1381}
1382 1382
1383test "sqlite: optional" {
1384 var arena = std.heap.ArenaAllocator.init(testing.allocator);
1385 defer arena.deinit();
1386
1387 var db: Db = undefined;
1388 try db.init(initOptions());
1389 try addTestData(&db);
1390
1391 try db.exec("INSERT INTO article(author_id, data, is_published) VALUES(?, ?, ?)", .{ 1, null, true });
1392
1393 var stmt = try db.prepare("SELECT data, is_published FROM article");
1394 defer stmt.deinit();
1395
1396 const row = try stmt.one(
1397 struct {
1398 data: ?[128:0]u8,
1399 is_published: ?bool,
1400 },
1401 .{},
1402 .{},
1403 );
1404
1405 testing.expect(row != null);
1406 testing.expect(row.data == null);
1407 testing.expectEqual(true, row.is_published.?);
1408}
1409
1383test "sqlite: statement reset" { 1410test "sqlite: statement reset" {
1384 var db: Db = undefined; 1411 var db: Db = undefined;
1385 try db.init(initOptions()); 1412 try db.init(initOptions());