Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Add a LogMessage method overload to the SQLiteConnection class that takes a SQLiteErrorCode. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | threadAbortProtect |
Files: | files | file ages | folders |
SHA1: |
d874518f316f39c52321835db390da47 |
User & Date: | mistachkin 2012-10-12 16:09:31.719 |
Context
2012-10-12
| ||
16:20 | For the stress test: 1) if a workload hits an 'expected' error, it should still perform the remaining iterations. 2) make sure to capture all trace output from the core SQLite library. 3) allow the 'small' and 'big' chunk sizes to be overridden via the command line. check-in: c81fcd6794 user: mistachkin tags: threadAbortProtect | |
16:09 | Add a LogMessage method overload to the SQLiteConnection class that takes a SQLiteErrorCode. check-in: d874518f31 user: mistachkin tags: threadAbortProtect | |
14:09 | Enhance stress test workload diagnostic messages. check-in: 70c11fc93f user: mistachkin tags: threadAbortProtect | |
Changes
Changes to System.Data.SQLite/SQLite3.cs.
︙ | ︙ | |||
1508 1509 1510 1511 1512 1513 1514 | /// Gets the last SQLite extended error code internal override SQLiteErrorCode ExtendedResultCode() { return UnsafeNativeMethods.sqlite3_extended_errcode(_sql); } /// Add a log message via the SQLite sqlite3_log interface. | | | 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 | /// Gets the last SQLite extended error code internal override SQLiteErrorCode ExtendedResultCode() { return UnsafeNativeMethods.sqlite3_extended_errcode(_sql); } /// Add a log message via the SQLite sqlite3_log interface. internal override void LogMessage(SQLiteErrorCode iErrCode, string zMessage) { UnsafeNativeMethods.sqlite3_log(iErrCode, ToUTF8(zMessage)); } #if INTEROP_CODEC internal override void SetPassword(byte[] passwordBytes) { |
︙ | ︙ |
Changes to System.Data.SQLite/SQLiteBase.cs.
︙ | ︙ | |||
232 233 234 235 236 237 238 | /// Add a log message via the SQLite sqlite3_log interface. /// </summary> /// <param name="iErrCode">Error code to be logged with the message.</param> /// <param name="zMessage">String to be logged. Unlike the SQLite sqlite3_log() /// interface, this should be pre-formatted. Consider using the /// String.Format() function.</param> /// <returns></returns> | | | 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 | /// Add a log message via the SQLite sqlite3_log interface. /// </summary> /// <param name="iErrCode">Error code to be logged with the message.</param> /// <param name="zMessage">String to be logged. Unlike the SQLite sqlite3_log() /// interface, this should be pre-formatted. Consider using the /// String.Format() function.</param> /// <returns></returns> internal abstract void LogMessage(SQLiteErrorCode iErrCode, string zMessage); #if INTEROP_CODEC internal abstract void SetPassword(byte[] passwordBytes); internal abstract void ChangePassword(byte[] newPasswordBytes); #endif internal abstract void SetUpdateHook(SQLiteUpdateCallback func); |
︙ | ︙ |
Changes to System.Data.SQLite/SQLiteConnection.cs.
︙ | ︙ | |||
1930 1931 1932 1933 1934 1935 1936 | if (_sql == null) throw new InvalidOperationException("Database connection not valid for getting extended result code."); return _sql.ExtendedResultCode(); } /// Add a log message via the SQLite sqlite3_log interface. | | > > > > > > > > > > > | 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 | if (_sql == null) throw new InvalidOperationException("Database connection not valid for getting extended result code."); return _sql.ExtendedResultCode(); } /// Add a log message via the SQLite sqlite3_log interface. public void LogMessage(SQLiteErrorCode iErrCode, string zMessage) { CheckDisposed(); if (_sql == null) throw new InvalidOperationException("Database connection not valid for logging message."); _sql.LogMessage(iErrCode, zMessage); } /// Add a log message via the SQLite sqlite3_log interface. public void LogMessage(int iErrCode, string zMessage) { CheckDisposed(); if (_sql == null) throw new InvalidOperationException("Database connection not valid for logging message."); _sql.LogMessage((SQLiteErrorCode)iErrCode, zMessage); } #if INTEROP_CODEC /// <summary> /// Change the password (or assign a password) to an open database. /// </summary> /// <remarks> /// No readers or writers may be active for this process. The database must already be open |
︙ | ︙ |
Changes to System.Data.SQLite/UnsafeNativeMethods.cs.
︙ | ︙ | |||
1336 1337 1338 1339 1340 1341 1342 | // for all possible calls. For now, we are only exposing a single string, and // depend on the caller to format the string. #if !PLATFORM_COMPACTFRAMEWORK [DllImport(SQLITE_DLL, CallingConvention = CallingConvention.Cdecl)] #else [DllImport(SQLITE_DLL)] #endif | | | 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 | // for all possible calls. For now, we are only exposing a single string, and // depend on the caller to format the string. #if !PLATFORM_COMPACTFRAMEWORK [DllImport(SQLITE_DLL, CallingConvention = CallingConvention.Cdecl)] #else [DllImport(SQLITE_DLL)] #endif internal static extern void sqlite3_log(SQLiteErrorCode iErrCode, byte[] zFormat); #if !PLATFORM_COMPACTFRAMEWORK [DllImport(SQLITE_DLL, CallingConvention = CallingConvention.Cdecl)] #else [DllImport(SQLITE_DLL)] #endif internal static extern SQLiteErrorCode sqlite3_file_control(IntPtr db, byte[] zDbName, int op, IntPtr pArg); |
︙ | ︙ |
Changes to test/TestCases.cs.
︙ | ︙ | |||
1653 1654 1655 1656 1657 1658 1659 | sqlite_fact.Log += logHandler; cnn.Open(); logevents = 0; | | | 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 | sqlite_fact.Log += logHandler; cnn.Open(); logevents = 0; cnn.LogMessage(SQLiteErrorCode.Error, "test log event"); if (logevents != 1) throw new Exception(String.Format( "Log event count {0} incorrect.", logevents)); cnn.Close(); |
︙ | ︙ |