summaryrefslogtreecommitdiff
path: root/src/duckdb/db.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/duckdb/db.zig')
-rw-r--r--src/duckdb/db.zig9
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();
}
};