summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Vincent Rischmann2020-12-20 23:39:09 +0100
committerGravatar Vincent Rischmann2020-12-21 00:18:06 +0100
commitf0a1ca06d217f75834dfec92ff3b0f6eaf23e995 (patch)
tree15a6a9a86a9c742d3b36edb0b8a24e73d1a22c68
parentallow bool bind parameters and reading bool values (diff)
downloadzig-sqlite-f0a1ca06d217f75834dfec92ff3b0f6eaf23e995.tar.gz
zig-sqlite-f0a1ca06d217f75834dfec92ff3b0f6eaf23e995.tar.xz
zig-sqlite-f0a1ca06d217f75834dfec92ff3b0f6eaf23e995.zip
allow reading a bool field
-rw-r--r--sqlite.zig7
1 files changed, 6 insertions, 1 deletions
diff --git a/sqlite.zig b/sqlite.zig
index f769237..d195811 100644
--- a/sqlite.zig
+++ b/sqlite.zig
@@ -348,6 +348,10 @@ pub fn Iterator(comptime Type: type) type {
348 const f = c.sqlite3_column_double(self.stmt, i); 348 const f = c.sqlite3_column_double(self.stmt, i);
349 @field(value, field.name) = f; 349 @field(value, field.name) = f;
350 }, 350 },
351 .Bool => {
352 const n = c.sqlite3_column_int64(self.stmt, i);
353 @field(value, field.name) = n > 0;
354 },
351 .Void => { 355 .Void => {
352 @field(value, field.name) = {}; 356 @field(value, field.name) = {};
353 }, 357 },
@@ -799,7 +803,7 @@ test "sqlite: read in an anonymous struct" {
799 try db.init(testing.allocator, .{ .mode = dbMode() }); 803 try db.init(testing.allocator, .{ .mode = dbMode() });
800 try addTestData(&db); 804 try addTestData(&db);
801 805
802 var stmt = try db.prepare("SELECT id, name, name, age FROM user WHERE id = ?{usize}"); 806 var stmt = try db.prepare("SELECT id, name, name, age, id FROM user WHERE id = ?{usize}");
803 defer stmt.deinit(); 807 defer stmt.deinit();
804 808
805 var row = try stmt.one( 809 var row = try stmt.one(
@@ -808,6 +812,7 @@ test "sqlite: read in an anonymous struct" {
808 name: []const u8, 812 name: []const u8,
809 name_2: [200:0xAD]u8, 813 name_2: [200:0xAD]u8,
810 age: usize, 814 age: usize,
815 is_id: bool,
811 }, 816 },
812 .{ .allocator = &arena.allocator }, 817 .{ .allocator = &arena.allocator },
813 .{ .id = @as(usize, 20) }, 818 .{ .id = @as(usize, 20) },