diff options
Diffstat (limited to 'src/duckdb/db.zig')
-rw-r--r-- | src/duckdb/db.zig | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/duckdb/db.zig b/src/duckdb/db.zig index 41cfe67..4b5ebe3 100644 --- a/src/duckdb/db.zig +++ b/src/duckdb/db.zig @@ -24,12 +24,17 @@ const Connection = struct { /// Query returning a result. Caller needs to call result.deinit() pub fn query(self: *Connection, q: [:0]const u8, comptime res_type: type) !Result(res_type) { - return try Result(res_type).init(self._conn, q); + var result: c.duckdb_result = undefined; + const state = c.duckdb_query(self._conn, q, &result); + if ( state == c.DuckDBError ){ + return error.DuckDBError; + } + return try Result(res_type).init(result); } /// Query with no results and autoclean pub fn run(self: *Connection, q: [:0]const u8) !void{ - var x = try Result(void).init(self._conn, q); + var x = try self.query(q, void); defer x.deinit(); } }; |