From e495abb1df8691e5536127928e5900b0cb13b88a Mon Sep 17 00:00:00 2001 From: Vincent Rischmann Date: Fri, 13 Nov 2020 17:17:43 +0100 Subject: allow reading into a void value (essentially discarding the column) --- sqlite.zig | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'sqlite.zig') diff --git a/sqlite.zig b/sqlite.zig index fd5b606..487e013 100644 --- a/sqlite.zig +++ b/sqlite.zig @@ -224,6 +224,9 @@ pub fn Iterator(comptime Type: type) type { debug.assert(columns == 1); return try self.readFloat(options); }, + .Void => { + debug.assert(columns == 1); + }, .Struct => { std.debug.assert(columns == TypeInfo.Struct.fields.len); return try self.readStruct(options); @@ -878,6 +881,19 @@ test "sqlite: read a single integer value" { } } +test "sqlite: read a single value into void" { + var db: Db = undefined; + try db.init(testing.allocator, .{ .mode = dbMode() }); + try addTestData(&db); + + const query = "SELECT age FROM user WHERE id = ?{usize}"; + + var stmt: Statement(.{}, ParsedQuery.from(query)) = try db.prepare(query); + defer stmt.deinit(); + + _ = try stmt.one(void, .{}, .{ .id = @as(usize, 20) }); +} + test "sqlite: statement reset" { var db: Db = undefined; try db.init(testing.allocator, .{ .mode = dbMode() }); -- cgit v1.2.3