summaryrefslogtreecommitdiff
path: root/sqlite.zig
diff options
context:
space:
mode:
Diffstat (limited to '')
-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());