diff options
| author | 2020-12-20 23:39:09 +0100 | |
|---|---|---|
| committer | 2020-12-21 00:18:06 +0100 | |
| commit | f0a1ca06d217f75834dfec92ff3b0f6eaf23e995 (patch) | |
| tree | 15a6a9a86a9c742d3b36edb0b8a24e73d1a22c68 | |
| parent | allow bool bind parameters and reading bool values (diff) | |
| download | zig-sqlite-f0a1ca06d217f75834dfec92ff3b0f6eaf23e995.tar.gz zig-sqlite-f0a1ca06d217f75834dfec92ff3b0f6eaf23e995.tar.xz zig-sqlite-f0a1ca06d217f75834dfec92ff3b0f6eaf23e995.zip | |
allow reading a bool field
| -rw-r--r-- | sqlite.zig | 7 |
1 files changed, 6 insertions, 1 deletions
| @@ -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) }, |