| ... | @@ -8,6 +8,8 @@ const Driver = @This(); | ... | @@ -8,6 +8,8 @@ const Driver = @This(); |
| 8 | const SQLITE_STATIC: *allowzero anyopaque = @ptrFromInt(0); | 8 | const SQLITE_STATIC: *allowzero anyopaque = @ptrFromInt(0); |
| 9 | const SQLITE_TRANSIENT: *allowzero anyopaque = @ptrFromInt(std.math.maxInt(usize)); | 9 | const SQLITE_TRANSIENT: *allowzero anyopaque = @ptrFromInt(std.math.maxInt(usize)); |
| 10 | | 10 | |
| | 11 | pub const Error = s.Error || error{Overflow}; |
| | 12 | |
| 11 | db: *c.sqlite3, | 13 | db: *c.sqlite3, |
| 12 | | 14 | |
| 13 | pub fn connect(allocator: std.mem.Allocator, path: [:0]const u8) !Driver { | 15 | pub fn connect(allocator: std.mem.Allocator, path: [:0]const u8) !Driver { |
| ... | @@ -230,7 +232,7 @@ pub const s = struct { | ... | @@ -230,7 +232,7 @@ pub const s = struct { |
| 230 | SQLITE_NOTICE, | 232 | SQLITE_NOTICE, |
| 231 | SQLITE_WARNING, | 233 | SQLITE_WARNING, |
| 232 | }; | 234 | }; |
| 233 | pub fn rc2e(code: c_int) Error { | 235 | pub fn rc2e(code: c_int) s.Error { |
| 234 | if (code == c.SQLITE_ERROR) return error.SQLITE_ERROR; | 236 | if (code == c.SQLITE_ERROR) return error.SQLITE_ERROR; |
| 235 | if (code == c.SQLITE_INTERNAL) return error.SQLITE_INTERNAL; | 237 | if (code == c.SQLITE_INTERNAL) return error.SQLITE_INTERNAL; |
| 236 | if (code == c.SQLITE_PERM) return error.SQLITE_PERM; | 238 | if (code == c.SQLITE_PERM) return error.SQLITE_PERM; |
| ... | @@ -261,7 +263,7 @@ pub const s = struct { | ... | @@ -261,7 +263,7 @@ pub const s = struct { |
| 261 | if (code == c.SQLITE_WARNING) return error.SQLITE_WARNING; | 263 | if (code == c.SQLITE_WARNING) return error.SQLITE_WARNING; |
| 262 | return error.Unexpected; | 264 | return error.Unexpected; |
| 263 | } | 265 | } |
| 264 | pub fn rc2p(code: c_int) Error { | 266 | pub fn rc2p(code: c_int) s.Error { |
| 265 | if (builtin.mode == .Debug) @panic(std.mem.sliceTo(c.sqlite3_errstr(code), 0)); | 267 | if (builtin.mode == .Debug) @panic(std.mem.sliceTo(c.sqlite3_errstr(code), 0)); |
| 266 | return rc2e(code); | 268 | return rc2e(code); |
| 267 | } | 269 | } |
| ... | @@ -273,7 +275,7 @@ pub const s = struct { | ... | @@ -273,7 +275,7 @@ pub const s = struct { |
| 273 | if (code == c.SQLITE_OK) return; | 275 | if (code == c.SQLITE_OK) return; |
| 274 | return rc2p(code); | 276 | return rc2p(code); |
| 275 | } | 277 | } |
| 276 | pub fn rc2p_d(db: *c.sqlite3, code: c_int) Error { | 278 | pub fn rc2p_d(db: *c.sqlite3, code: c_int) s.Error { |
| 277 | if (builtin.mode == .Debug) @panic(std.mem.sliceTo(c.sqlite3_errmsg(db), 0)); | 279 | if (builtin.mode == .Debug) @panic(std.mem.sliceTo(c.sqlite3_errmsg(db), 0)); |
| 278 | return rc2e(code); | 280 | return rc2e(code); |
| 279 | } | 281 | } |