Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Merge updates from trunk. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | tkt-e30b820248 |
Files: | files | file ages | folders |
SHA1: |
8f3314a82520608fddad20c2f90b3138 |
User & Date: | mistachkin 2011-11-13 22:16:09 |
Context
2011-11-13
| ||
23:47 | When compiling with DEBUG defined, complain about failures to release CriticalHandle objects. Also, add more diagnostics to test case for ticket [e30b820248]. check-in: 5578f853af user: mistachkin tags: tkt-e30b820248 | |
22:16 | Merge updates from trunk. check-in: 8f3314a825 user: mistachkin tags: tkt-e30b820248 | |
22:03 | More updates to docs for release 77. check-in: f0a39e8e34 user: mistachkin tags: trunk | |
21:27 | Formal attempt to reproduce the issue in ticket [e30b820248]. check-in: 68d2140bad user: mistachkin tags: tkt-e30b820248 | |
Changes
Changes to Doc/Extra/version.html.
44 44 <div id="mainBody"> 45 45 <h1 class="heading">Version History</h1> 46 46 <p><b>1.0.77.0 - November XX, 2011</b></p> 47 47 <ul> 48 48 <li>Updated to SQLite 3.7.9 <a href="http://www.sqlite.org/src/info/c7c6050ef0">[c7c6050ef0]</a>.</li> 49 49 <li>More enhancements to the build and test automation.</li> 50 50 <li>Support building the core System.Data.SQLite assemblies using the .NET Framework 4.0 Client Profile. Fix for <a href="http://system.data.sqlite.org/index.html/info/566f1ad1e4">[566f1ad1e4]</a>.</li> 51 + <li>When generating the schema based on the contents of a SQLiteDataReader, skip flagging columns as unique if the data reader is holding the result of some kind of multi-table construct (e.g. a cross join) because we must allow duplicate values in that case. Fix for <a href="http://system.data.sqlite.org/index.html/info/7e3fa93744">[7e3fa93744]</a>.</li> 51 52 <li>When returning schema information that may be used by the .NET Framework to construct dynamic SQL, use a fake schema name (instead of null) so that the table names will be properly qualified with the catalog name (i.e. the attached database name). Partial fix for <a href="http://system.data.sqlite.org/index.html/info/343d392b51">[343d392b51]</a>.</li> 53 + <li>Add MemoryUsed and MemoryHighwater properties to the SQLiteConnection class to help determine the memory usage of SQLite.</li> 52 54 <li>Add DateTimeKind connection string property to control the DateTimeKind of parsed DateTime values. Partial fix for <a href="http://system.data.sqlite.org/index.html/info/343d392b51">[343d392b51]</a>.</li> 53 55 <li>Improve the robustness of the SQLiteLog class when it will be initialized and unloaded multiple times.</li> 54 56 <li>Fix the name of the interop assembly for Windows CE. Add unit tests to prevent this type of issue from happening again. Fix for <a href="http://system.data.sqlite.org/index.html/info/737ca4ff74">[737ca4ff74]</a>.</li> 55 57 <li>Formally support the SQL type name BOOLEAN in addition to BOOL. Fix for <a href="http://system.data.sqlite.org/index.html/info/544dba0a2f">[544dba0a2f]</a>.</li> 56 58 <li>Make sure the SQLiteConvert.TypeNameToDbType method is thread-safe. Fix for <a href="http://system.data.sqlite.org/index.html/info/84718e79fa">[84718e79fa]</a>.</li> 57 59 </ul> 58 60 <p><b>1.0.76.0 - October 4, 2011</b></p>
Changes to System.Data.SQLite/SQLite3.cs.
119 119 internal override long MemoryUsed 120 120 { 121 121 get 122 122 { 123 123 return UnsafeNativeMethods.sqlite3_memory_used(); 124 124 } 125 125 } 126 + 127 + internal override long MemoryHighwater 128 + { 129 + get 130 + { 131 + return UnsafeNativeMethods.sqlite3_memory_highwater(0); 132 + } 133 + } 126 134 127 135 /// <summary> 128 136 /// Shutdown the SQLite engine so that it can be restarted with different config options. 129 137 /// We depend on auto initialization to recover. 130 138 /// </summary> 131 139 /// <returns>Returns a result code</returns> 132 140 internal override int Shutdown()
Changes to System.Data.SQLite/SQLiteBase.cs.
29 29 /// </summary> 30 30 internal abstract long LastInsertRowId { get; } 31 31 /// <summary> 32 32 /// Returns the number of changes the last executing insert/update caused. 33 33 /// </summary> 34 34 internal abstract int Changes { get; } 35 35 /// <summary> 36 - /// Returns the amount of memory, in bytes, currently in use by SQLite core library. 36 + /// Returns the amount of memory (in bytes) currently in use by the SQLite core library. 37 37 /// </summary> 38 38 internal abstract long MemoryUsed { get; } 39 + /// <summary> 40 + /// Returns the maximum amount of memory (in bytes) used by the SQLite core library since the high-water mark was last reset. 41 + /// </summary> 42 + internal abstract long MemoryHighwater { get; } 39 43 /// <summary> 40 44 /// Shutdown the SQLite engine so that it can be restarted with different config options. 41 45 /// We depend on auto initialization to recover. 42 46 /// </summary> 43 47 internal abstract int Shutdown(); 44 48 /// <summary> 45 49 /// Returns non-zero if a database connection is open.
Changes to System.Data.SQLite/SQLiteConnection.cs.
1035 1035 throw new InvalidOperationException("Database connection not valid for getting number of changes."); 1036 1036 1037 1037 return _sql.Changes; 1038 1038 } 1039 1039 } 1040 1040 1041 1041 /// <summary> 1042 - /// Returns the amount of memory, in bytes, currently in use by SQLite core library. 1042 + /// Returns the amount of memory (in bytes) currently in use by the SQLite core library. 1043 1043 /// </summary> 1044 1044 #if !PLATFORM_COMPACTFRAMEWORK 1045 1045 [Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] 1046 1046 #endif 1047 1047 public long MemoryUsed 1048 1048 { 1049 1049 get ................................................................................ 1050 1050 { 1051 1051 if (_sql == null) 1052 1052 throw new InvalidOperationException("Database connection not valid for getting memory used."); 1053 1053 1054 1054 return _sql.MemoryUsed; 1055 1055 } 1056 1056 } 1057 + 1058 + /// <summary> 1059 + /// Returns the maximum amount of memory (in bytes) used by the SQLite core library since the high-water mark was last reset. 1060 + /// </summary> 1061 +#if !PLATFORM_COMPACTFRAMEWORK 1062 + [Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] 1063 +#endif 1064 + public long MemoryHighwater 1065 + { 1066 + get 1067 + { 1068 + if (_sql == null) 1069 + throw new InvalidOperationException("Database connection not valid for getting maximum memory used."); 1070 + 1071 + return _sql.MemoryHighwater; 1072 + } 1073 + } 1057 1074 1058 1075 /// <summary> 1059 1076 /// Returns the version of the underlying SQLite database engine 1060 1077 /// </summary> 1061 1078 public static string SQLiteVersion 1062 1079 { 1063 1080 get { return SQLite3.SQLiteVersion; }
Changes to System.Data.SQLite/UnsafeNativeMethods.cs.
375 375 #if !PLATFORM_COMPACTFRAMEWORK 376 376 [DllImport(SQLITE_DLL, CallingConvention = CallingConvention.Cdecl)] 377 377 #else 378 378 [DllImport(SQLITE_DLL)] 379 379 #endif 380 380 internal static extern long sqlite3_memory_used(); 381 381 382 +#if !PLATFORM_COMPACTFRAMEWORK 383 + [DllImport(SQLITE_DLL, CallingConvention = CallingConvention.Cdecl)] 384 +#else 385 + [DllImport(SQLITE_DLL)] 386 +#endif 387 + internal static extern long sqlite3_memory_highwater(int resetFlag); 388 + 382 389 #if !PLATFORM_COMPACTFRAMEWORK 383 390 [DllImport(SQLITE_DLL, CallingConvention = CallingConvention.Cdecl)] 384 391 #else 385 392 [DllImport(SQLITE_DLL)] 386 393 #endif 387 394 internal static extern int sqlite3_shutdown(); 388 395
Changes to Tests/common.eagle.
476 476 # NOTE: Delete the test database file now. For now, all test database 477 477 # files are stored in the temporary directory. 478 478 # 479 479 catch {file delete [file join [getTemporaryPath] [file tail $fileName]]} 480 480 } 481 481 482 482 proc reportSQLiteResources { channel } { 483 - tputs $channel "---- memory now in use by SQLite... " 483 + tputs $channel "---- current memory in use by SQLite... " 484 + 485 + if {[catch {object invoke -flags +NonPublic \ 486 + System.Data.SQLite.UnsafeNativeMethods \ 487 + sqlite3_memory_used} memory] == 0} then { 488 + tputs $channel [appendArgs $memory " bytes\n"] 489 + } else { 490 + # 491 + # NOTE: Maybe the SQLite native library is unavailable? 492 + # 493 + tputs $channel unknown\n 494 + } 495 + 496 + tputs $channel "---- maximum memory in use by SQLite... " 484 497 485 498 if {[catch {object invoke -flags +NonPublic \ 486 - System.Data.SQLite.UnsafeNativeMethods sqlite3_memory_used} \ 487 - memory] == 0} then { 499 + System.Data.SQLite.UnsafeNativeMethods \ 500 + sqlite3_memory_highwater 0} memory] == 0} then { 488 501 tputs $channel [appendArgs $memory " bytes\n"] 489 502 } else { 490 503 # 491 504 # NOTE: Maybe the SQLite native library is unavailable? 492 505 # 493 506 tputs $channel unknown\n 494 507 }
Changes to Tests/tkt-7e3fa93744.eagle.
83 83 FROM t1, t2 \ 84 84 ORDER BY t1.id1, t2.id1, t2.id2; \ 85 85 } 86 86 87 87 unset -nocomplain results errors 88 88 89 89 set code [compileCSharpWith [subst { 90 - using System; 91 90 using System.Data; 92 91 using System.Data.SQLite; 93 92 94 93 namespace _Dynamic${id} 95 94 { 96 95 public class Test${id} 97 96 {
Changes to readme.htm.
192 192 <p> 193 193 <b>1.0.77.0 - November XX, 2011</b> 194 194 </p> 195 195 <ul> 196 196 <li>Updated to SQLite 3.7.9 <a href="http://www.sqlite.org/src/info/c7c6050ef0">[c7c6050ef0]</a>.</li> 197 197 <li>More enhancements to the build and test automation.</li> 198 198 <li>Support building the core System.Data.SQLite assemblies using the .NET Framework 4.0 Client Profile. Fix for [566f1ad1e4].</li> 199 + <li>When generating the schema based on the contents of a SQLiteDataReader, skip flagging columns as unique if the data reader is holding the result of some kind of multi-table construct (e.g. a cross join) because we must allow duplicate values in that case. Fix for [7e3fa93744].</li> 199 200 <li>When returning schema information that may be used by the .NET Framework to construct dynamic SQL, use a fake schema name (instead of null) so that the table names will be properly qualified with the catalog name (i.e. the attached database name). Partial fix for [343d392b51].</li> 201 + <li>Add MemoryUsed and MemoryHighwater properties to the SQLiteConnection class to help determine the memory usage of SQLite.</li> 200 202 <li>Add DateTimeKind connection string property to control the DateTimeKind of parsed DateTime values. Partial fix for [343d392b51].</li> 201 203 <li>Improve the robustness of the SQLiteLog class when it will be initialized and unloaded multiple times.</li> 202 204 <li>Fix the name of the interop assembly for Windows CE. Add unit tests to prevent this type of issue from happening again. Fix for [737ca4ff74].</li> 203 205 <li>Formally support the SQL type name BOOLEAN in addition to BOOL. Fix for [544dba0a2f].</li> 204 206 <li>Make sure the SQLiteConvert.TypeNameToDbType method is thread-safe. Fix for [84718e79fa].</li> 205 207 </ul> 206 208 <p>
Changes to www/news.wiki.
5 5 <p> 6 6 <b>1.0.77.0 - November XX, 2011</b> 7 7 </p> 8 8 <ul> 9 9 <li>Updated to SQLite 3.7.9 <a href="http://www.sqlite.org/src/info/c7c6050ef0">[c7c6050ef0]</a>.</li> 10 10 <li>More enhancements to the build and test automation.</li> 11 11 <li>Support building the core System.Data.SQLite assemblies using the .NET Framework 4.0 Client Profile. Fix for [566f1ad1e4].</li> 12 + <li>When generating the schema based on the contents of a SQLiteDataReader, skip flagging columns as unique if the data reader is holding the result of some kind of multi-table construct (e.g. a cross join) because we must allow duplicate values in that case. Fix for [7e3fa93744].</li> 12 13 <li>When returning schema information that may be used by the .NET Framework to construct dynamic SQL, use a fake schema name (instead of null) so that the table names will be properly qualified with the catalog name (i.e. the attached database name). Partial fix for [343d392b51].</li> 14 + <li>Add MemoryUsed and MemoryHighwater properties to the SQLiteConnection class to help determine the memory usage of SQLite.</li> 13 15 <li>Add DateTimeKind connection string property to control the DateTimeKind of parsed DateTime values. Partial fix for [343d392b51].</li> 14 16 <li>Improve the robustness of the SQLiteLog class when it will be initialized and unloaded multiple times.</li> 15 17 <li>Fix the name of the interop assembly for Windows CE. Add unit tests to prevent this type of issue from happening again. Fix for [737ca4ff74].</li> 16 18 <li>Formally support the SQL type name BOOLEAN in addition to BOOL. Fix for [544dba0a2f].</li> 17 19 <li>Make sure the SQLiteConvert.TypeNameToDbType method is thread-safe. Fix for [84718e79fa].</li> 18 20 </ul> 19 21 <p>