summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Vincent Rischmann2022-08-02 17:37:09 +0200
committerGravatar Vincent Rischmann2022-08-02 18:18:51 +0200
commitd3f0344927f376e55ed90f610e8774d6cb046f69 (patch)
tree9422c1f9461b2923ccc4eefa3ce5ec859bd3e661
parentfix build (diff)
downloadzig-sqlite-d3f0344927f376e55ed90f610e8774d6cb046f69.tar.gz
zig-sqlite-d3f0344927f376e55ed90f610e8774d6cb046f69.tar.xz
zig-sqlite-d3f0344927f376e55ed90f610e8774d6cb046f69.zip
some error codes are only available with sqlite >= 3.22.0
We wrongly assumed they were always present but after testing with SQLite 3.21.0 it's not the case. I think they were missed because their first version is not documented.
-rw-r--r--errors.zig16
1 files changed, 11 insertions, 5 deletions
diff --git a/errors.zig b/errors.zig
index cad107b..69b9410 100644
--- a/errors.zig
+++ b/errors.zig
@@ -132,6 +132,17 @@ pub fn errorFromResultCode(code: c_int) Error {
132 // TODO(vincent): can we do something with comptime here ? 132 // TODO(vincent): can we do something with comptime here ?
133 // The version number is always static and defined by sqlite. 133 // The version number is always static and defined by sqlite.
134 134
135 // These errors are only available since 3.22.0.
136 if (c.SQLITE_VERSION_NUMBER >= 3022000) {
137 switch (code) {
138 c.SQLITE_ERROR_MISSING_COLLSEQ => return error.SQLiteErrorMissingCollSeq,
139 c.SQLITE_ERROR_RETRY => return error.SQLiteErrorRetry,
140 c.SQLITE_READONLY_CANTINIT => return error.SQLiteReadOnlyCantInit,
141 c.SQLITE_READONLY_DIRECTORY => return error.SQLiteReadOnlyDirectory,
142 else => {},
143 }
144 }
145
135 // These errors are only available since 3.25.0. 146 // These errors are only available since 3.25.0.
136 if (c.SQLITE_VERSION_NUMBER >= 3025000) { 147 if (c.SQLITE_VERSION_NUMBER >= 3025000) {
137 switch (code) { 148 switch (code) {
@@ -196,9 +207,6 @@ pub fn errorFromResultCode(code: c_int) Error {
196 c.SQLITE_NOTICE => return error.SQLiteNotice, 207 c.SQLITE_NOTICE => return error.SQLiteNotice,
197 c.SQLITE_WARNING => return error.SQLiteWarning, 208 c.SQLITE_WARNING => return error.SQLiteWarning,
198 209
199 c.SQLITE_ERROR_MISSING_COLLSEQ => return error.SQLiteErrorMissingCollSeq,
200 c.SQLITE_ERROR_RETRY => return error.SQLiteErrorRetry,
201
202 c.SQLITE_IOERR_READ => return error.SQLiteIOErrRead, 210 c.SQLITE_IOERR_READ => return error.SQLiteIOErrRead,
203 c.SQLITE_IOERR_SHORT_READ => return error.SQLiteIOErrShortRead, 211 c.SQLITE_IOERR_SHORT_READ => return error.SQLiteIOErrShortRead,
204 c.SQLITE_IOERR_WRITE => return error.SQLiteIOErrWrite, 212 c.SQLITE_IOERR_WRITE => return error.SQLiteIOErrWrite,
@@ -247,8 +255,6 @@ pub fn errorFromResultCode(code: c_int) Error {
247 c.SQLITE_READONLY_CANTLOCK => return error.SQLiteReadOnlyCantLock, 255 c.SQLITE_READONLY_CANTLOCK => return error.SQLiteReadOnlyCantLock,
248 c.SQLITE_READONLY_ROLLBACK => return error.SQLiteReadOnlyRollback, 256 c.SQLITE_READONLY_ROLLBACK => return error.SQLiteReadOnlyRollback,
249 c.SQLITE_READONLY_DBMOVED => return error.SQLiteReadOnlyDBMoved, 257 c.SQLITE_READONLY_DBMOVED => return error.SQLiteReadOnlyDBMoved,
250 c.SQLITE_READONLY_CANTINIT => return error.SQLiteReadOnlyCantInit,
251 c.SQLITE_READONLY_DIRECTORY => return error.SQLiteReadOnlyDirectory,
252 258
253 c.SQLITE_ABORT_ROLLBACK => return error.SQLiteAbortRollback, 259 c.SQLITE_ABORT_ROLLBACK => return error.SQLiteAbortRollback,
254 260