Index: Doc/Extra/Provider/version.html
==================================================================
--- Doc/Extra/Provider/version.html
+++ Doc/Extra/Provider/version.html
@@ -47,10 +47,11 @@
- Updated to SQLite 3.8.11.
- Implement the Substring method for LINQ using the "substr" core SQL function. ** Potentially Incompatible Change **
- Remove errant semi-colons from the SQL used by LINQ to INSERT and then SELECT rows with composite primary keys. Fix for [9d353b0bd8].
- Change the base type for the SQLiteConnectionFlags enumeration to long integer. ** Potentially Incompatible Change **
+ - Add extended return codes to the SQLiteErrorCode enumeration. Pursuant to [71bedaca19]. ** Potentially Incompatible Change **
- Improve exception handling in all native callbacks implemented in the SQLiteConnection class.
- Add Progress event and ProgressOps connection string property to enable raising progress events during long-running queries.
- Add VfsName connection string property to allow a non-default VFS to be used by the SQLite core library.
- Add BusyTimeout connection string property to set the busy timeout to be used by the SQLite core library.
- Enable integration with the ZipVFS extension.
Index: System.Data.SQLite/SQLiteException.cs
==================================================================
--- System.Data.SQLite/SQLiteException.cs
+++ System.Data.SQLite/SQLiteException.cs
@@ -330,8 +330,225 @@
///
Done, /* 101 */
///
/// Used to mask off extended result codes
///
- NonExtendedMask = 0xFF
+ NonExtendedMask = 0xFF,
+
+ ///////////////////////////////////////////////////////////////////////////
+ // BEGIN EXTENDED RESULT CODES
+ ///////////////////////////////////////////////////////////////////////////
+
+ ///
+ /// A file read operation failed.
+ ///
+ IoErr_Read = (IoErr | (1 << 8)),
+ ///
+ /// A file read operation returned less data than requested.
+ ///
+ IoErr_Short_Read = (IoErr | (2 << 8)),
+ ///
+ /// A file write operation failed.
+ ///
+ IoErr_Write = (IoErr | (3 << 8)),
+ ///
+ /// A file synchronization operation failed.
+ ///
+ IoErr_Fsync = (IoErr | (4 << 8)),
+ ///
+ /// A directory synchronization operation failed.
+ ///
+ IoErr_Dir_Fsync = (IoErr | (5 << 8)),
+ ///
+ /// A file truncate operation failed.
+ ///
+ IoErr_Truncate = (IoErr | (6 << 8)),
+ ///
+ /// A file metadata operation failed.
+ ///
+ IoErr_Fstat = (IoErr | (7 << 8)),
+ ///
+ /// A file unlock operation failed.
+ ///
+ IoErr_Unlock = (IoErr | (8 << 8)),
+ ///
+ /// A file lock operation failed.
+ ///
+ IoErr_RdLock = (IoErr | (9 << 8)),
+ ///
+ /// A file delete operation failed.
+ ///
+ IoErr_Delete = (IoErr | (10 << 8)),
+ ///
+ /// Not currently used.
+ ///
+ IoErr_Blocked = (IoErr | (11 << 8)),
+ ///
+ /// Out-of-memory during a file operation.
+ ///
+ IoErr_NoMem = (IoErr | (12 << 8)),
+ ///
+ /// A file existence/status operation failed.
+ ///
+ IoErr_Access = (IoErr | (13 << 8)),
+ ///
+ /// A check for a reserved lock failed.
+ ///
+ IoErr_CheckReservedLock = (IoErr | (14 << 8)),
+ ///
+ /// A file lock operation failed.
+ ///
+ IoErr_Lock = (IoErr | (15 << 8)),
+ ///
+ /// A file close operation failed.
+ ///
+ IoErr_Close = (IoErr | (16 << 8)),
+ ///
+ /// A directory close operation failed.
+ ///
+ IoErr_Dir_Close = (IoErr | (17 << 8)),
+ ///
+ /// A shared memory open operation failed.
+ ///
+ IoErr_ShmOpen = (IoErr | (18 << 8)),
+ ///
+ /// A shared memory size operation failed.
+ ///
+ IoErr_ShmSize = (IoErr | (19 << 8)),
+ ///
+ /// A shared memory lock operation failed.
+ ///
+ IoErr_ShmLock = (IoErr | (20 << 8)),
+ ///
+ /// A shared memory map operation failed.
+ ///
+ IoErr_ShmMap = (IoErr | (21 << 8)),
+ ///
+ /// A file seek operation failed.
+ ///
+ IoErr_Seek = (IoErr | (22 << 8)),
+ ///
+ /// A file delete operation failed because it does not exist.
+ ///
+ IoErr_Delete_NoEnt = (IoErr | (23 << 8)),
+ ///
+ /// A file memory mapping operation failed.
+ ///
+ IoErr_Mmap = (IoErr | (24 << 8)),
+ ///
+ /// The temporary directory path could not be obtained.
+ ///
+ IoErr_GetTempPath = (IoErr | (25 << 8)),
+ ///
+ /// A path string conversion operation failed.
+ ///
+ IoErr_ConvPath = (IoErr | (26 << 8)),
+ ///
+ /// A database table is locked in shared-cache mode.
+ ///
+ Locked_SharedCache = (Locked | (1 << 8)),
+ ///
+ /// A database file is locked due to a recovery operation.
+ ///
+ Busy_Recovery = (Busy | (1 << 8)),
+ ///
+ /// A database file is locked due to snapshot semantics.
+ ///
+ Busy_Snapshot = (Busy | (2 << 8)),
+ ///
+ /// A database file cannot be opened because no temporary directory is available.
+ ///
+ CantOpen_NoTempDir = (CantOpen | (1 << 8)),
+ ///
+ /// A database file cannot be opened because its path represents a directory.
+ ///
+ CantOpen_IsDir = (CantOpen | (2 << 8)),
+ ///
+ /// A database file cannot be opened because its full path could not be obtained.
+ ///
+ CantOpen_FullPath = (CantOpen | (3 << 8)),
+ ///
+ /// A database file cannot be opened because a path string conversion operation failed.
+ ///
+ CantOpen_ConvPath = (CantOpen | (4 << 8)),
+ ///
+ /// A virtual table is malformed.
+ ///
+ Corrupt_Vtab = (Corrupt | (1 << 8)),
+ ///
+ /// A database file is read-only due to a recovery operation.
+ ///
+ ReadOnly_Recovery = (ReadOnly | (1 << 8)),
+ ///
+ /// A database file is read-only because a lock could not be obtained.
+ ///
+ ReadOnly_CantLock = (ReadOnly | (2 << 8)),
+ ///
+ /// A database file is read-only because it needs rollback processing.
+ ///
+ ReadOnly_Rollback = (ReadOnly | (3 << 8)),
+ ///
+ /// A database file is read-only because it was moved while open.
+ ///
+ ReadOnly_DbMoved = (ReadOnly | (4 << 8)),
+ ///
+ /// An operation is being aborted due to rollback processing.
+ ///
+ Abort_Rollback = (Abort | (2 << 8)),
+ ///
+ /// A CHECK constraint failed.
+ ///
+ Constraint_Check = (Constraint | (1 << 8)),
+ ///
+ /// A commit hook produced a unsuccessful return code.
+ ///
+ Constraint_CommitHook = (Constraint | (2 << 8)),
+ ///
+ /// A FOREIGN KEY constraint failed.
+ ///
+ Constraint_ForeignKey = (Constraint | (3 << 8)),
+ ///
+ /// Not currently used.
+ ///
+ Constraint_Function = (Constraint | (4 << 8)),
+ ///
+ /// A NOT NULL constraint failed.
+ ///
+ Constraint_NotNull = (Constraint | (5 << 8)),
+ ///
+ /// A PRIMARY KEY constraint failed.
+ ///
+ Constraint_PrimaryKey = (Constraint | (6 << 8)),
+ ///
+ /// The RAISE function was used by a trigger-program.
+ ///
+ Constraint_Trigger = (Constraint | (7 << 8)),
+ ///
+ /// A UNIQUE constraint failed.
+ ///
+ Constraint_Unique = (Constraint | (8 << 8)),
+ ///
+ /// Not currently used.
+ ///
+ Constraint_Vtab = (Constraint | (9 << 8)),
+ ///
+ /// A ROWID constraint failed.
+ ///
+ Constraint_RowId = (Constraint | (10 << 8)),
+ ///
+ /// Frames were recovered from the WAL log file.
+ ///
+ Notice_Recover_Wal = (Notice | (1 << 8)),
+ ///
+ /// Pages were recovered from the journal file.
+ ///
+ Notice_Recover_Rollback = (Notice | (2 << 8)),
+ ///
+ /// An automatic index was created to process a query.
+ ///
+ Warning_AutoIndex = (Warning | (1 << 8)),
+ ///
+ /// User authentication failed.
+ ///
+ Auth_User = (Auth | (1 << 8))
}
}
Index: readme.htm
==================================================================
--- readme.htm
+++ readme.htm
@@ -214,10 +214,11 @@
- Updated to SQLite 3.8.11.
- Implement the Substring method for LINQ using the "substr" core SQL function. ** Potentially Incompatible Change **
- Remove errant semi-colons from the SQL used by LINQ to INSERT and then SELECT rows with composite primary keys. Fix for [9d353b0bd8].
- Change the base type for the SQLiteConnectionFlags enumeration to long integer. ** Potentially Incompatible Change **
+ - Add extended return codes to the SQLiteErrorCode enumeration. Pursuant to [71bedaca19]. ** Potentially Incompatible Change **
- Improve exception handling in all native callbacks implemented in the SQLiteConnection class.
- Add Progress event and ProgressOps connection string property to enable raising progress events during long-running queries.
- Add VfsName connection string property to allow a non-default VFS to be used by the SQLite core library.
- Add BusyTimeout connection string property to set the busy timeout to be used by the SQLite core library.
- Enable integration with the ZipVFS extension.
Index: www/news.wiki
==================================================================
--- www/news.wiki
+++ www/news.wiki
@@ -8,10 +8,11 @@
- Updated to [https://www.sqlite.org/draft/releaselog/3_8_11.html|SQLite 3.8.11].
- Implement the Substring method for LINQ using the "substr" core SQL function. ** Potentially Incompatible Change **
- Remove errant semi-colons from the SQL used by LINQ to INSERT and then SELECT rows with composite primary keys. Fix for [9d353b0bd8].
- Change the base type for the SQLiteConnectionFlags enumeration to long integer. ** Potentially Incompatible Change **
+ - Add extended return codes to the SQLiteErrorCode enumeration. Pursuant to [71bedaca19]. ** Potentially Incompatible Change **
- Improve exception handling in all native callbacks implemented in the SQLiteConnection class.
- Add Progress event and ProgressOps connection string property to enable raising progress events during long-running queries.
- Add VfsName connection string property to allow a non-default VFS to be used by the SQLite core library.
- Add BusyTimeout connection string property to set the busy timeout to be used by the SQLite core library.
- Enable integration with the [http://www.hwaci.com/sw/sqlite/zipvfs.html|ZipVFS] extension.