diff options
| -rw-r--r-- | c.zig | 11 | ||||
| -rw-r--r-- | errors.zig | 3 | ||||
| -rw-r--r-- | sqlite.zig | 6 |
3 files changed, 13 insertions, 7 deletions
| @@ -1,3 +1,14 @@ | |||
| 1 | pub const c = @cImport({ | 1 | pub const c = @cImport({ |
| 2 | @cInclude("sqlite3.h"); | 2 | @cInclude("sqlite3.h"); |
| 3 | }); | 3 | }); |
| 4 | |||
| 5 | // versionGreaterThanOrEqualTo returns true if the SQLite version is >= to the major.minor.patch provided. | ||
| 6 | pub fn versionGreaterThanOrEqualTo(major: u8, minor: u8, patch: u8) bool { | ||
| 7 | return c.SQLITE_VERSION_NUMBER >= @as(u32, major) * 1000000 + @as(u32, minor) * 1000 + @as(u32, patch); | ||
| 8 | } | ||
| 9 | |||
| 10 | comptime { | ||
| 11 | if (!versionGreaterThanOrEqualTo(3, 21, 0)) { | ||
| 12 | @compileError("must use SQLite >= 3.21.0"); | ||
| 13 | } | ||
| 14 | } | ||
| @@ -2,8 +2,7 @@ const std = @import("std"); | |||
| 2 | const mem = std.mem; | 2 | const mem = std.mem; |
| 3 | 3 | ||
| 4 | const c = @import("c.zig").c; | 4 | const c = @import("c.zig").c; |
| 5 | 5 | const versionGreaterThanOrEqualTo = @import("c.zig").versionGreaterThanOrEqualTo; | |
| 6 | const versionGreaterThanOrEqualTo = @import("sqlite.zig").versionGreaterThanOrEqualTo; | ||
| 7 | 6 | ||
| 8 | pub const SQLiteExtendedIOError = error{ | 7 | pub const SQLiteExtendedIOError = error{ |
| 9 | SQLiteIOErrRead, | 8 | SQLiteIOErrRead, |
| @@ -8,6 +8,7 @@ const mem = std.mem; | |||
| 8 | const testing = std.testing; | 8 | const testing = std.testing; |
| 9 | 9 | ||
| 10 | const c = @import("c.zig").c; | 10 | const c = @import("c.zig").c; |
| 11 | const versionGreaterThanOrEqualTo = @import("c.zig").versionGreaterThanOrEqualTo; | ||
| 11 | 12 | ||
| 12 | pub const ParsedQuery = @import("query.zig").ParsedQuery; | 13 | pub const ParsedQuery = @import("query.zig").ParsedQuery; |
| 13 | 14 | ||
| @@ -20,11 +21,6 @@ const getDetailedErrorFromResultCode = errors.getDetailedErrorFromResultCode; | |||
| 20 | 21 | ||
| 21 | const logger = std.log.scoped(.sqlite); | 22 | const logger = std.log.scoped(.sqlite); |
| 22 | 23 | ||
| 23 | // versionGreaterThanOrEqualTo returns true if the SQLite version is >= to the major.minor.patch provided. | ||
| 24 | pub fn versionGreaterThanOrEqualTo(major: u8, minor: u8, patch: u8) bool { | ||
| 25 | return c.SQLITE_VERSION_NUMBER >= @as(u32, major) * 1000000 + @as(u32, minor) * 1000 + @as(u32, patch); | ||
| 26 | } | ||
| 27 | |||
| 28 | /// Text is used to represent a SQLite TEXT value when binding a parameter or reading a column. | 24 | /// Text is used to represent a SQLite TEXT value when binding a parameter or reading a column. |
| 29 | pub const Text = struct { data: []const u8 }; | 25 | pub const Text = struct { data: []const u8 }; |
| 30 | 26 | ||