diff options
author | drh <drh@noemail.net> | 2017-07-28 13:18:35 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2017-07-28 13:18:35 +0000 |
commit | 344f763f7253ef0ca23a2268ea81f9d62bfd8e37 (patch) | |
tree | 8c4ea5a1e8d286bf63dea433401643118915102a /src | |
parent | 2912da0283394ffdf0da78051130204f8003c459 (diff) | |
download | sqlite-344f763f7253ef0ca23a2268ea81f9d62bfd8e37.tar.gz sqlite-344f763f7253ef0ca23a2268ea81f9d62bfd8e37.zip |
Add new extended error codes for the atomic write file-controls.
FossilOrigin-Name: 94a2004756ffe027b3495be91366750135c294a9c460edc9a1b4b9422dcc33bd
Diffstat (limited to 'src')
-rw-r--r-- | src/os_unix.c | 6 | ||||
-rw-r--r-- | src/sqlite.h.in | 3 |
2 files changed, 6 insertions, 3 deletions
diff --git a/src/os_unix.c b/src/os_unix.c index 430c5386e..157be3c3a 100644 --- a/src/os_unix.c +++ b/src/os_unix.c @@ -3796,15 +3796,15 @@ static int unixFileControl(sqlite3_file *id, int op, void *pArg){ #if defined(__linux__) && defined(SQLITE_ENABLE_BATCH_ATOMIC_WRITE) case SQLITE_FCNTL_BEGIN_ATOMIC_WRITE: { int rc = osIoctl(pFile->h, F2FS_IOC_START_ATOMIC_WRITE); - return rc ? SQLITE_ERROR : SQLITE_OK; + return rc ? SQLITE_IOERR_BEGIN_ATOMIC : SQLITE_OK; } case SQLITE_FCNTL_COMMIT_ATOMIC_WRITE: { int rc = osIoctl(pFile->h, F2FS_IOC_COMMIT_ATOMIC_WRITE); - return rc ? SQLITE_ERROR : SQLITE_OK; + return rc ? SQLITE_IOERR_COMMIT_ATOMIC : SQLITE_OK; } case SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE: { int rc = osIoctl(pFile->h, F2FS_IOC_ABORT_VOLATILE_WRITE); - return rc ? SQLITE_ERROR : SQLITE_OK; + return rc ? SQLITE_IOERR_ROLLBACK_ATOMIC : SQLITE_OK; } #endif /* __linux__ && SQLITE_ENABLE_BATCH_ATOMIC_WRITE */ diff --git a/src/sqlite.h.in b/src/sqlite.h.in index e0d8dacb1..fec6573e7 100644 --- a/src/sqlite.h.in +++ b/src/sqlite.h.in @@ -494,6 +494,9 @@ int sqlite3_exec( #define SQLITE_IOERR_CONVPATH (SQLITE_IOERR | (26<<8)) #define SQLITE_IOERR_VNODE (SQLITE_IOERR | (27<<8)) #define SQLITE_IOERR_AUTH (SQLITE_IOERR | (28<<8)) +#define SQLITE_IOERR_BEGIN_ATOMIC (SQLITE_IOERR | (29<<8)) +#define SQLITE_IOERR_COMMIT_ATOMIC (SQLITE_IOERR | (30<<8)) +#define SQLITE_IOERR_ROLLBACK_ATOMIC (SQLITE_IOERR | (31<<8)) #define SQLITE_LOCKED_SHAREDCACHE (SQLITE_LOCKED | (1<<8)) #define SQLITE_BUSY_RECOVERY (SQLITE_BUSY | (1<<8)) #define SQLITE_BUSY_SNAPSHOT (SQLITE_BUSY | (2<<8)) |