diff options
author | Ekaitz Zarraga <ekaitz@elenq.tech> | 2024-08-02 20:47:27 +0200 |
---|---|---|
committer | Ekaitz Zarraga <ekaitz@elenq.tech> | 2024-08-03 13:44:49 +0200 |
commit | 2c5cf2d65bbf91cdba00f52dfe7624a7a3a97d6c (patch) | |
tree | 3130daa6ef33f42fae736af5561441dcabddaeb2 /src/duckdb/db.zig | |
parent | 2e88e0825388b9122615f3bb32b0a8aec96dfd35 (diff) |
Move queries to conn
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(); } }; |