Index: System.Data.SQLite/SQLite3.cs ================================================================== --- System.Data.SQLite/SQLite3.cs +++ System.Data.SQLite/SQLite3.cs @@ -267,11 +267,18 @@ /// Attempts to interrupt the query currently executing on the associated /// native database connection. /// internal override void Cancel() { - UnsafeNativeMethods.sqlite3_interrupt(_sql); + try + { + // do nothing. + } + finally /* NOTE: Thread.Abort() protection. */ + { + UnsafeNativeMethods.sqlite3_interrupt(_sql); + } } /// /// This function binds a user-defined function to the connection. /// @@ -799,11 +806,18 @@ uint starttick = (uint)Environment.TickCount; uint timeout = (uint)(stmt._command._commandTimeout * 1000); while (true) { - n = UnsafeNativeMethods.sqlite3_step(stmt._sqlite_stmt); + try + { + // do nothing. + } + finally /* NOTE: Thread.Abort() protection. */ + { + n = UnsafeNativeMethods.sqlite3_step(stmt._sqlite_stmt); + } if (n == SQLiteErrorCode.Row) return true; if (n == SQLiteErrorCode.Done) return false; if (n != SQLiteErrorCode.Ok) Index: System.Data.SQLite/UnsafeNativeMethods.cs ================================================================== --- System.Data.SQLite/UnsafeNativeMethods.cs +++ System.Data.SQLite/UnsafeNativeMethods.cs @@ -1588,13 +1588,10 @@ internal static extern SQLiteErrorCode sqlite3_cursor_rowid_interop(IntPtr stmt, int cursor, ref long rowid); [DllImport(SQLITE_DLL)] internal static extern SQLiteErrorCode sqlite3_index_column_info_interop(IntPtr db, byte[] catalog, byte[] IndexName, byte[] ColumnName, ref int sortOrder, ref int onError, ref IntPtr Collation, ref int colllen); - [DllImport(SQLITE_DLL)] - internal static extern void sqlite3_resetall_interop(IntPtr db); - [DllImport(SQLITE_DLL)] internal static extern int sqlite3_table_cursor_interop(IntPtr stmt, int db, int tableRootPage); #endif // !SQLITE_STANDARD