Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Merge updates from trunk. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | tkt-5cee5409f8 |
Files: | files | file ages | folders |
SHA1: |
596797845c1f20e3f522bd3db64d205a |
User & Date: | mistachkin 2018-01-26 02:23:35.536 |
Context
2018-01-26
| ||
03:04 | Fix infinite connection disposal cycle caused by not nulling out the connection enlistment for a rolled back transaction. check-in: 73c64a8452 user: mistachkin tags: tkt-5cee5409f8 | |
02:23 | Merge updates from trunk. check-in: 596797845c user: mistachkin tags: tkt-5cee5409f8 | |
02:22 | Further debugging enhancements. check-in: 0b0bd83ddd user: mistachkin tags: trunk | |
01:51 | Merge updates from trunk. check-in: 06756ebc51 user: mistachkin tags: tkt-5cee5409f8 | |
Changes
Changes to System.Data.SQLite/SQLite3.cs.
︙ | ︙ | |||
203 204 205 206 207 208 209 210 211 212 213 214 215 216 | // // NOTE: Everything should be fully disposed at this point. // disposed = true; } } #endregion /////////////////////////////////////////////////////////////////////////////////////////////// #if INTEROP_VIRTUAL_TABLE /// <summary> /// This method attempts to dispose of all the <see cref="SQLiteModule" /> derived /// object instances currently associated with the native database connection. | > > > > > > > > > > > | 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 | // // NOTE: Everything should be fully disposed at this point. // disposed = true; } } #endregion /////////////////////////////////////////////////////////////////////////////////////////////// #if DEBUG public override string ToString() { return HelperMethods.StringFormat( CultureInfo.InvariantCulture, "fileName = {0}, flags = {1}", _fileName, _flags); } #endif /////////////////////////////////////////////////////////////////////////////////////////////// #if INTEROP_VIRTUAL_TABLE /// <summary> /// This method attempts to dispose of all the <see cref="SQLiteModule" /> derived /// object instances currently associated with the native database connection. |
︙ | ︙ |
Changes to System.Data.SQLite/SQLiteConnection.cs.
︙ | ︙ | |||
2935 2936 2937 2938 2939 2940 2941 | { // If the connection is enlisted in a transaction scope and the scope is still active, // we cannot truly shut down this connection until the scope has completed. Therefore make a // hidden connection temporarily to hold open the connection until the scope has completed. SQLiteConnection cnn = new SQLiteConnection(); #if DEBUG | | > > > > | 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 | { // If the connection is enlisted in a transaction scope and the scope is still active, // we cannot truly shut down this connection until the scope has completed. Therefore make a // hidden connection temporarily to hold open the connection until the scope has completed. SQLiteConnection cnn = new SQLiteConnection(); #if DEBUG cnn._debugString = HelperMethods.StringFormat( CultureInfo.InvariantCulture, "closeThreadId = {0}, {1}{2}{2}{3}", HelperMethods.GetThreadId(), _sql, Environment.NewLine, _debugString); #endif cnn._sql = _sql; cnn._transactionLevel = _transactionLevel; cnn._transactionSequence = _transactionSequence; cnn._enlistment = enlistment; cnn._connectionState = _connectionState; |
︙ | ︙ | |||
4219 4220 4221 4222 4223 4224 4225 | OnChanged(this, new ConnectionEventArgs( SQLiteConnectionEventType.Opened, eventArgs, null, null, null, null, _connectionString, new object[] { opts })); #if DEBUG _debugString = HelperMethods.StringFormat( CultureInfo.InvariantCulture, | | | 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 | OnChanged(this, new ConnectionEventArgs( SQLiteConnectionEventType.Opened, eventArgs, null, null, null, null, _connectionString, new object[] { opts })); #if DEBUG _debugString = HelperMethods.StringFormat( CultureInfo.InvariantCulture, "openThreadId = {0}, connectionString = {1}", HelperMethods.GetThreadId(), _connectionString); #endif } catch { _connectionState = oldstate; throw; |
︙ | ︙ |