Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Changes In Branch zipvfs Excluding Merge-Ins
This is equivalent to a diff from b994e3c790 to 212beca674
2015-06-03
| ||
17:17 | Add support for integrating with ZipVFS. check-in: 0c9928dbbf user: mistachkin tags: trunk | |
16:38 | Fix incorrect test result. Closed-Leaf check-in: 212beca674 user: mistachkin tags: zipvfs | |
16:33 | Update embedded documentation and the version history docs. check-in: 984f5d1c0d user: mistachkin tags: zipvfs | |
2015-06-02
| ||
18:21 | Add optional support for building the interop assembly with ZIPVFS. check-in: dcd24352a0 user: mistachkin tags: zipvfs | |
2015-05-30
| ||
22:45 | Update SQLite core library to the latest trunk code. check-in: b994e3c790 user: mistachkin tags: trunk | |
21:38 | Implement the Substring method for LINQ using the 'substr' core SQL function. check-in: 52085afe23 user: mistachkin tags: trunk | |
Changes to Doc/Extra/Provider/version.html.
︙ | ︙ | |||
43 44 45 46 47 48 49 50 51 52 53 54 55 56 | <div id="mainSection"> <div id="mainBody"> <h1 class="heading">Version History</h1> <p><b>1.0.98.0 - August XX, 2015 <font color="red">(release scheduled)</font></b></p> <ul> <li>Updated to <a href="https://www.sqlite.org/draft/releaselog/3_8_11.html">SQLite 3.8.11</a>.</li> <li>Implement the Substring method for LINQ using the "substr" core SQL function. <b>** Potentially Incompatible Change **</b></li> </ul> <p><b>1.0.97.0 - May 26, 2015</b></p> <ul> <li>Updated to <a href="https://www.sqlite.org/releaselog/3_8_10_2.html">SQLite 3.8.10.2</a>.</li> <li>Updated to <a href="https://www.nuget.org/packages/EntityFramework/6.1.3">Entity Framework 6.1.3</a>.</li> <li>Improve ADO.NET conformance of the SQLiteDataReader.RecordsAffected property. Fix for <a href="https://system.data.sqlite.org/index.html/info/74542e702e">[74542e702e]</a>. <b>** Potentially Incompatible Change **</b></li> <li>Prevent the IDataReader.GetDataTypeName method from throwing "No current row" exceptions. Fix for <a href="https://system.data.sqlite.org/index.html/info/94252b9059">[94252b9059]</a>.</li> | > > | 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | <div id="mainSection"> <div id="mainBody"> <h1 class="heading">Version History</h1> <p><b>1.0.98.0 - August XX, 2015 <font color="red">(release scheduled)</font></b></p> <ul> <li>Updated to <a href="https://www.sqlite.org/draft/releaselog/3_8_11.html">SQLite 3.8.11</a>.</li> <li>Implement the Substring method for LINQ using the "substr" core SQL function. <b>** Potentially Incompatible Change **</b></li> <li>Add the VfsName connection string property to allow a non-default VFS to be used by the SQLite core library.</li> <li>Enable integration with the <a href="http://www.hwaci.com/sw/sqlite/zipvfs.html">ZipVFS</a> extension.</li> </ul> <p><b>1.0.97.0 - May 26, 2015</b></p> <ul> <li>Updated to <a href="https://www.sqlite.org/releaselog/3_8_10_2.html">SQLite 3.8.10.2</a>.</li> <li>Updated to <a href="https://www.nuget.org/packages/EntityFramework/6.1.3">Entity Framework 6.1.3</a>.</li> <li>Improve ADO.NET conformance of the SQLiteDataReader.RecordsAffected property. Fix for <a href="https://system.data.sqlite.org/index.html/info/74542e702e">[74542e702e]</a>. <b>** Potentially Incompatible Change **</b></li> <li>Prevent the IDataReader.GetDataTypeName method from throwing "No current row" exceptions. Fix for <a href="https://system.data.sqlite.org/index.html/info/94252b9059">[94252b9059]</a>.</li> |
︙ | ︙ |
Changes to SQLite.Interop/props/SQLite.Interop.2005.vsprops.
︙ | ︙ | |||
55 56 57 58 59 60 61 | <UserMacro Name="INTEROP_DEBUG_DEFINES" Value="INTEROP_DEBUG=0x31F;INTEROP_LOG=1;INTEROP_TEST_EXTENSION=1" PerformEnvironmentSet="true" /> <UserMacro Name="INTEROP_EXTRA_DEFINES" | | | 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | <UserMacro Name="INTEROP_DEBUG_DEFINES" Value="INTEROP_DEBUG=0x31F;INTEROP_LOG=1;INTEROP_TEST_EXTENSION=1" PerformEnvironmentSet="true" /> <UserMacro Name="INTEROP_EXTRA_DEFINES" Value="INTEROP_PLACEHOLDER=1;INTEROP_EXTENSION_FUNCTIONS=1;INTEROP_CODEC=1;INTEROP_VIRTUAL_TABLE=1;INTEROP_PERCENTILE_EXTENSION=1;INTEROP_TOTYPE_EXTENSION=1;INTEROP_REGEXP_EXTENSION=1" PerformEnvironmentSet="true" /> <UserMacro Name="INTEROP_ASSEMBLY_RESOURCES" Value="/ASSEMBLYRESOURCE:..\System.Data.SQLite\Resources\SQLiteCommand.bmp,System.Data.SQLite.SQLiteCommand.bmp /ASSEMBLYRESOURCE:..\System.Data.SQLite\Resources\SQLiteConnection.bmp,System.Data.SQLite.SQLiteConnection.bmp /ASSEMBLYRESOURCE:..\System.Data.SQLite\Resources\SQLiteDataAdapter.bmp,System.Data.SQLite.SQLiteDataAdapter.bmp" PerformEnvironmentSet="true" /> |
︙ | ︙ |
Changes to SQLite.Interop/props/SQLite.Interop.2008.vsprops.
︙ | ︙ | |||
55 56 57 58 59 60 61 | <UserMacro Name="INTEROP_DEBUG_DEFINES" Value="INTEROP_DEBUG=0x31F;INTEROP_LOG=1;INTEROP_TEST_EXTENSION=1" PerformEnvironmentSet="true" /> <UserMacro Name="INTEROP_EXTRA_DEFINES" | | | 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | <UserMacro Name="INTEROP_DEBUG_DEFINES" Value="INTEROP_DEBUG=0x31F;INTEROP_LOG=1;INTEROP_TEST_EXTENSION=1" PerformEnvironmentSet="true" /> <UserMacro Name="INTEROP_EXTRA_DEFINES" Value="INTEROP_PLACEHOLDER=1;INTEROP_EXTENSION_FUNCTIONS=1;INTEROP_CODEC=1;INTEROP_VIRTUAL_TABLE=1;INTEROP_PERCENTILE_EXTENSION=1;INTEROP_TOTYPE_EXTENSION=1;INTEROP_REGEXP_EXTENSION=1" PerformEnvironmentSet="true" /> <UserMacro Name="INTEROP_ASSEMBLY_RESOURCES" Value="/ASSEMBLYRESOURCE:..\System.Data.SQLite\Resources\SQLiteCommand.bmp,System.Data.SQLite.SQLiteCommand.bmp /ASSEMBLYRESOURCE:..\System.Data.SQLite\Resources\SQLiteConnection.bmp,System.Data.SQLite.SQLiteConnection.bmp /ASSEMBLYRESOURCE:..\System.Data.SQLite\Resources\SQLiteDataAdapter.bmp,System.Data.SQLite.SQLiteDataAdapter.bmp" PerformEnvironmentSet="true" /> |
︙ | ︙ |
Changes to SQLite.Interop/props/SQLite.Interop.2010.props.
︙ | ︙ | |||
14 15 16 17 18 19 20 | <INTEROP_LINKER_VERSION>1.0</INTEROP_LINKER_VERSION> <INTEROP_MANIFEST_VERSION>1.0.98.0</INTEROP_MANIFEST_VERSION> <INTEROP_RC_VERSION>1,0,98,0</INTEROP_RC_VERSION> <INTEROP_INCLUDE_DIRECTORIES>src\core</INTEROP_INCLUDE_DIRECTORIES> <INTEROP_LIBRARY_DIRECTORIES></INTEROP_LIBRARY_DIRECTORIES> <INTEROP_LIBRARY_DEPENDENCIES></INTEROP_LIBRARY_DEPENDENCIES> <INTEROP_DEBUG_DEFINES>INTEROP_DEBUG=0x31F;INTEROP_LOG=1;INTEROP_TEST_EXTENSION=1</INTEROP_DEBUG_DEFINES> | | | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | <INTEROP_LINKER_VERSION>1.0</INTEROP_LINKER_VERSION> <INTEROP_MANIFEST_VERSION>1.0.98.0</INTEROP_MANIFEST_VERSION> <INTEROP_RC_VERSION>1,0,98,0</INTEROP_RC_VERSION> <INTEROP_INCLUDE_DIRECTORIES>src\core</INTEROP_INCLUDE_DIRECTORIES> <INTEROP_LIBRARY_DIRECTORIES></INTEROP_LIBRARY_DIRECTORIES> <INTEROP_LIBRARY_DEPENDENCIES></INTEROP_LIBRARY_DEPENDENCIES> <INTEROP_DEBUG_DEFINES>INTEROP_DEBUG=0x31F;INTEROP_LOG=1;INTEROP_TEST_EXTENSION=1</INTEROP_DEBUG_DEFINES> <INTEROP_EXTRA_DEFINES>INTEROP_PLACEHOLDER=1;INTEROP_EXTENSION_FUNCTIONS=1;INTEROP_CODEC=1;INTEROP_VIRTUAL_TABLE=1;INTEROP_PERCENTILE_EXTENSION=1;INTEROP_TOTYPE_EXTENSION=1;INTEROP_REGEXP_EXTENSION=1</INTEROP_EXTRA_DEFINES> <INTEROP_ASSEMBLY_RESOURCES>/ASSEMBLYRESOURCE:..\System.Data.SQLite\Resources\SQLiteCommand.bmp,System.Data.SQLite.SQLiteCommand.bmp /ASSEMBLYRESOURCE:..\System.Data.SQLite\Resources\SQLiteConnection.bmp,System.Data.SQLite.SQLiteConnection.bmp /ASSEMBLYRESOURCE:..\System.Data.SQLite\Resources\SQLiteDataAdapter.bmp,System.Data.SQLite.SQLiteDataAdapter.bmp</INTEROP_ASSEMBLY_RESOURCES> <INTEROP_KEY_FILE>$(ProjectDir)..\Keys\System.Data.SQLite.snk</INTEROP_KEY_FILE> <INTEROP_NATIVE_NAME>SQLite.Interop</INTEROP_NATIVE_NAME> <INTEROP_MIXED_NAME>System.Data.SQLite</INTEROP_MIXED_NAME> </PropertyGroup> <ItemGroup> <BuildMacro Include="ConfigurationYear"> |
︙ | ︙ |
Changes to SQLite.Interop/props/SQLite.Interop.2012.props.
︙ | ︙ | |||
14 15 16 17 18 19 20 | <INTEROP_LINKER_VERSION>1.0</INTEROP_LINKER_VERSION> <INTEROP_MANIFEST_VERSION>1.0.98.0</INTEROP_MANIFEST_VERSION> <INTEROP_RC_VERSION>1,0,98,0</INTEROP_RC_VERSION> <INTEROP_INCLUDE_DIRECTORIES>src\core</INTEROP_INCLUDE_DIRECTORIES> <INTEROP_LIBRARY_DIRECTORIES></INTEROP_LIBRARY_DIRECTORIES> <INTEROP_LIBRARY_DEPENDENCIES></INTEROP_LIBRARY_DEPENDENCIES> <INTEROP_DEBUG_DEFINES>INTEROP_DEBUG=0x31F;INTEROP_LOG=1;INTEROP_TEST_EXTENSION=1</INTEROP_DEBUG_DEFINES> | | | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | <INTEROP_LINKER_VERSION>1.0</INTEROP_LINKER_VERSION> <INTEROP_MANIFEST_VERSION>1.0.98.0</INTEROP_MANIFEST_VERSION> <INTEROP_RC_VERSION>1,0,98,0</INTEROP_RC_VERSION> <INTEROP_INCLUDE_DIRECTORIES>src\core</INTEROP_INCLUDE_DIRECTORIES> <INTEROP_LIBRARY_DIRECTORIES></INTEROP_LIBRARY_DIRECTORIES> <INTEROP_LIBRARY_DEPENDENCIES></INTEROP_LIBRARY_DEPENDENCIES> <INTEROP_DEBUG_DEFINES>INTEROP_DEBUG=0x31F;INTEROP_LOG=1;INTEROP_TEST_EXTENSION=1</INTEROP_DEBUG_DEFINES> <INTEROP_EXTRA_DEFINES>INTEROP_PLACEHOLDER=1;INTEROP_EXTENSION_FUNCTIONS=1;INTEROP_CODEC=1;INTEROP_VIRTUAL_TABLE=1;INTEROP_PERCENTILE_EXTENSION=1;INTEROP_TOTYPE_EXTENSION=1;INTEROP_REGEXP_EXTENSION=1</INTEROP_EXTRA_DEFINES> <INTEROP_ASSEMBLY_RESOURCES>/ASSEMBLYRESOURCE:..\System.Data.SQLite\Resources\SQLiteCommand.bmp,System.Data.SQLite.SQLiteCommand.bmp /ASSEMBLYRESOURCE:..\System.Data.SQLite\Resources\SQLiteConnection.bmp,System.Data.SQLite.SQLiteConnection.bmp /ASSEMBLYRESOURCE:..\System.Data.SQLite\Resources\SQLiteDataAdapter.bmp,System.Data.SQLite.SQLiteDataAdapter.bmp</INTEROP_ASSEMBLY_RESOURCES> <INTEROP_KEY_FILE>$(ProjectDir)..\Keys\System.Data.SQLite.snk</INTEROP_KEY_FILE> <INTEROP_NATIVE_NAME>SQLite.Interop</INTEROP_NATIVE_NAME> <INTEROP_MIXED_NAME>System.Data.SQLite</INTEROP_MIXED_NAME> </PropertyGroup> <ItemGroup> <BuildMacro Include="ConfigurationYear"> |
︙ | ︙ |
Changes to SQLite.Interop/props/SQLite.Interop.2013.props.
︙ | ︙ | |||
14 15 16 17 18 19 20 | <INTEROP_LINKER_VERSION>1.0</INTEROP_LINKER_VERSION> <INTEROP_MANIFEST_VERSION>1.0.98.0</INTEROP_MANIFEST_VERSION> <INTEROP_RC_VERSION>1,0,98,0</INTEROP_RC_VERSION> <INTEROP_INCLUDE_DIRECTORIES>src\core</INTEROP_INCLUDE_DIRECTORIES> <INTEROP_LIBRARY_DIRECTORIES></INTEROP_LIBRARY_DIRECTORIES> <INTEROP_LIBRARY_DEPENDENCIES></INTEROP_LIBRARY_DEPENDENCIES> <INTEROP_DEBUG_DEFINES>INTEROP_DEBUG=0x31F;INTEROP_LOG=1;INTEROP_TEST_EXTENSION=1</INTEROP_DEBUG_DEFINES> | | | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | <INTEROP_LINKER_VERSION>1.0</INTEROP_LINKER_VERSION> <INTEROP_MANIFEST_VERSION>1.0.98.0</INTEROP_MANIFEST_VERSION> <INTEROP_RC_VERSION>1,0,98,0</INTEROP_RC_VERSION> <INTEROP_INCLUDE_DIRECTORIES>src\core</INTEROP_INCLUDE_DIRECTORIES> <INTEROP_LIBRARY_DIRECTORIES></INTEROP_LIBRARY_DIRECTORIES> <INTEROP_LIBRARY_DEPENDENCIES></INTEROP_LIBRARY_DEPENDENCIES> <INTEROP_DEBUG_DEFINES>INTEROP_DEBUG=0x31F;INTEROP_LOG=1;INTEROP_TEST_EXTENSION=1</INTEROP_DEBUG_DEFINES> <INTEROP_EXTRA_DEFINES>INTEROP_PLACEHOLDER=1;INTEROP_EXTENSION_FUNCTIONS=1;INTEROP_CODEC=1;INTEROP_VIRTUAL_TABLE=1;INTEROP_PERCENTILE_EXTENSION=1;INTEROP_TOTYPE_EXTENSION=1;INTEROP_REGEXP_EXTENSION=1</INTEROP_EXTRA_DEFINES> <INTEROP_ASSEMBLY_RESOURCES>/ASSEMBLYRESOURCE:..\System.Data.SQLite\Resources\SQLiteCommand.bmp,System.Data.SQLite.SQLiteCommand.bmp /ASSEMBLYRESOURCE:..\System.Data.SQLite\Resources\SQLiteConnection.bmp,System.Data.SQLite.SQLiteConnection.bmp /ASSEMBLYRESOURCE:..\System.Data.SQLite\Resources\SQLiteDataAdapter.bmp,System.Data.SQLite.SQLiteDataAdapter.bmp</INTEROP_ASSEMBLY_RESOURCES> <INTEROP_KEY_FILE>$(ProjectDir)..\Keys\System.Data.SQLite.snk</INTEROP_KEY_FILE> <INTEROP_NATIVE_NAME>SQLite.Interop</INTEROP_NATIVE_NAME> <INTEROP_MIXED_NAME>System.Data.SQLite</INTEROP_MIXED_NAME> </PropertyGroup> <ItemGroup> <BuildMacro Include="ConfigurationYear"> |
︙ | ︙ |
Changes to SQLite.Interop/props/sqlite3.props.
︙ | ︙ | |||
8 9 10 11 12 13 14 | * --> <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0"> <PropertyGroup Label="UserMacros"> <SQLITE_MANIFEST_VERSION>3.8.11.0</SQLITE_MANIFEST_VERSION> <SQLITE_RC_VERSION>3,8,11,0</SQLITE_RC_VERSION> <SQLITE_COMMON_DEFINES>_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;SQLITE_THREADSAFE=1;SQLITE_USE_URI=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_ENABLE_STAT4=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_LOAD_EXTENSION=1;SQLITE_ENABLE_RTREE=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_MEMORY_MANAGEMENT=1</SQLITE_COMMON_DEFINES> | | | 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | * --> <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0"> <PropertyGroup Label="UserMacros"> <SQLITE_MANIFEST_VERSION>3.8.11.0</SQLITE_MANIFEST_VERSION> <SQLITE_RC_VERSION>3,8,11,0</SQLITE_RC_VERSION> <SQLITE_COMMON_DEFINES>_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;SQLITE_THREADSAFE=1;SQLITE_USE_URI=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_ENABLE_STAT4=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_LOAD_EXTENSION=1;SQLITE_ENABLE_RTREE=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_MEMORY_MANAGEMENT=1</SQLITE_COMMON_DEFINES> <SQLITE_EXTRA_DEFINES>SQLITE_PLACEHOLDER=1;SQLITE_HAS_CODEC=1</SQLITE_EXTRA_DEFINES> <SQLITE_WINCE_200X_DEFINES>SQLITE_OMIT_WAL=1</SQLITE_WINCE_200X_DEFINES> <SQLITE_WINCE_2013_DEFINES>HAVE_ERRNO_H=1;SQLITE_MSVC_LOCALTIME_API=1</SQLITE_WINCE_2013_DEFINES> <SQLITE_DEBUG_DEFINES>SQLITE_DEBUG=1;SQLITE_MEMDEBUG=1;SQLITE_ENABLE_EXPENSIVE_ASSERT=1</SQLITE_DEBUG_DEFINES> <SQLITE_RELEASE_DEFINES>SQLITE_WIN32_MALLOC=1</SQLITE_RELEASE_DEFINES> <SQLITE_DISABLE_WARNINGS>4055;4100;4127;4146;4210;4232;4244;4245;4267;4306;4389;4701;4703;4706</SQLITE_DISABLE_WARNINGS> <SQLITE_DISABLE_X64_WARNINGS></SQLITE_DISABLE_X64_WARNINGS> </PropertyGroup> |
︙ | ︙ |
Changes to SQLite.Interop/props/sqlite3.vsprops.
︙ | ︙ | |||
25 26 27 28 29 30 31 | <UserMacro Name="SQLITE_COMMON_DEFINES" Value="_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;SQLITE_THREADSAFE=1;SQLITE_USE_URI=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_ENABLE_STAT4=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_LOAD_EXTENSION=1;SQLITE_ENABLE_RTREE=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_MEMORY_MANAGEMENT=1" PerformEnvironmentSet="true" /> <UserMacro Name="SQLITE_EXTRA_DEFINES" | | | 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | <UserMacro Name="SQLITE_COMMON_DEFINES" Value="_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;SQLITE_THREADSAFE=1;SQLITE_USE_URI=1;SQLITE_ENABLE_COLUMN_METADATA=1;SQLITE_ENABLE_STAT4=1;SQLITE_ENABLE_FTS3=1;SQLITE_ENABLE_LOAD_EXTENSION=1;SQLITE_ENABLE_RTREE=1;SQLITE_SOUNDEX=1;SQLITE_ENABLE_MEMORY_MANAGEMENT=1" PerformEnvironmentSet="true" /> <UserMacro Name="SQLITE_EXTRA_DEFINES" Value="SQLITE_PLACEHOLDER=1;SQLITE_HAS_CODEC=1" PerformEnvironmentSet="true" /> <UserMacro Name="SQLITE_WINCE_200X_DEFINES" Value="SQLITE_OMIT_WAL=1" PerformEnvironmentSet="true" /> |
︙ | ︙ |
Changes to SQLite.Interop/src/win/interop.c.
︙ | ︙ | |||
16 17 18 19 20 21 22 23 24 25 26 27 28 29 | #if defined(INTEROP_INCLUDE_CEROD) #include "../ext/cerod.c" #endif #if defined(INTEROP_INCLUDE_SEE) #include "../ext/see.c" #endif #if defined(INTEROP_VIRTUAL_TABLE) && SQLITE_VERSION_NUMBER >= 3004001 #include "../ext/vtshim.c" #endif #if defined(INTEROP_PERCENTILE_EXTENSION) #include "../ext/percentile.c" | > > > > > | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | #if defined(INTEROP_INCLUDE_CEROD) #include "../ext/cerod.c" #endif #if defined(INTEROP_INCLUDE_SEE) #include "../ext/see.c" #endif #if defined(INTEROP_INCLUDE_ZIPVFS) #include "../ext/zipvfs.c" #include "../ext/algorithms.c" #endif #if defined(INTEROP_VIRTUAL_TABLE) && SQLITE_VERSION_NUMBER >= 3004001 #include "../ext/vtshim.c" #endif #if defined(INTEROP_PERCENTILE_EXTENSION) #include "../ext/percentile.c" |
︙ | ︙ | |||
104 105 106 107 108 109 110 111 112 113 114 115 116 117 | "INCLUDE_CEROD", #endif #ifdef INTEROP_INCLUDE_EXTRA "INCLUDE_EXTRA", #endif #ifdef INTEROP_INCLUDE_SEE "INCLUDE_SEE", #endif #ifdef INTEROP_LEGACY_CLOSE "LEGACY_CLOSE", #endif #ifdef INTEROP_LOG "LOG", #endif | > > > | 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 | "INCLUDE_CEROD", #endif #ifdef INTEROP_INCLUDE_EXTRA "INCLUDE_EXTRA", #endif #ifdef INTEROP_INCLUDE_SEE "INCLUDE_SEE", #endif #ifdef INTEROP_INCLUDE_ZIPVFS "INCLUDE_ZIPVFS", #endif #ifdef INTEROP_LEGACY_CLOSE "LEGACY_CLOSE", #endif #ifdef INTEROP_LOG "LOG", #endif |
︙ | ︙ | |||
353 354 355 356 357 358 359 | } SQLITE_API const char *WINAPI interop_sourceid(void) { return INTEROP_SOURCE_ID " " INTEROP_SOURCE_TIMESTAMP; } | | | | | | | | | | | 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 | } SQLITE_API const char *WINAPI interop_sourceid(void) { return INTEROP_SOURCE_ID " " INTEROP_SOURCE_TIMESTAMP; } SQLITE_API int WINAPI sqlite3_open_interop(const char *filename, const char *vfsName, int flags, int extFuncs, sqlite3 **ppdb) { int ret; #if defined(INTEROP_DEBUG) && (INTEROP_DEBUG & INTEROP_DEBUG_OPEN) sqlite3InteropDebug("sqlite3_open_interop(): calling sqlite3_open_v2(\"%s\", \"%s\", %d, %d, %p)...\n", filename, vfsName, flags, extFuncs, ppdb); #endif ret = sqlite3_open_v2(filename, ppdb, flags, vfsName); #if defined(INTEROP_DEBUG) && (INTEROP_DEBUG & INTEROP_DEBUG_OPEN) sqlite3InteropDebug("sqlite3_open_interop(): sqlite3_open_v2(\"%s\", \"%s\", %d, %d, %p) returned %d.\n", filename, vfsName, flags, extFuncs, ppdb, ret); #endif #if defined(INTEROP_EXTENSION_FUNCTIONS) if ((ret == SQLITE_OK) && ppdb && extFuncs) RegisterExtensionFunctions(*ppdb); #endif return ret; } SQLITE_API int WINAPI sqlite3_open16_interop(const char *filename, const char *vfsName, int flags, int extFuncs, sqlite3 **ppdb) { int ret; #if defined(INTEROP_DEBUG) && (INTEROP_DEBUG & INTEROP_DEBUG_OPEN16) sqlite3InteropDebug("sqlite3_open16_interop(): calling sqlite3_open_interop(\"%s\", \"%s\", %d, %d, %p)...\n", filename, vfsName, flags, extFuncs, ppdb); #endif ret = sqlite3_open_interop(filename, vfsName, flags, extFuncs, ppdb); #if defined(INTEROP_DEBUG) && (INTEROP_DEBUG & INTEROP_DEBUG_OPEN16) sqlite3InteropDebug("sqlite3_open16_interop(): sqlite3_open_interop(\"%s\", \"%s\", %d, %d, %p) returned %d.\n", filename, vfsName, flags, extFuncs, ppdb, ret); #endif if ((ret == SQLITE_OK) && ppdb && !DbHasProperty(*ppdb, 0, DB_SchemaLoaded)) { ENC(*ppdb) = SQLITE_UTF16NATIVE; #if SQLITE_VERSION_NUMBER >= 3008008 |
︙ | ︙ |
Changes to System.Data.SQLite/SQLite3.cs.
︙ | ︙ | |||
688 689 690 691 692 693 694 | /// Non-zero if the associated native connection handle is open. /// </returns> internal override bool IsOpen() { return (_sql != null) && !_sql.IsInvalid && !_sql.IsClosed; } | | | 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 | /// Non-zero if the associated native connection handle is open. /// </returns> internal override bool IsOpen() { return (_sql != null) && !_sql.IsInvalid && !_sql.IsClosed; } internal override void Open(string strFilename, string vfsName, SQLiteConnectionFlags connectionFlags, SQLiteOpenFlagsEnum openFlags, int maxPoolSize, bool usePool) { // // NOTE: If the database connection is currently open, attempt to // close it now. This must be done because the file name or // other parameters that may impact the underlying database // connection may have changed. // |
︙ | ︙ | |||
729 730 731 732 733 734 735 | } finally /* NOTE: Thread.Abort() protection. */ { IntPtr db = IntPtr.Zero; SQLiteErrorCode n; #if !SQLITE_STANDARD | | | > > | | | | 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 | } finally /* NOTE: Thread.Abort() protection. */ { IntPtr db = IntPtr.Zero; SQLiteErrorCode n; #if !SQLITE_STANDARD int extFuncs = ((connectionFlags & SQLiteConnectionFlags.NoExtensionFunctions) != SQLiteConnectionFlags.NoExtensionFunctions) ? 1 : 0; if (extFuncs != 0) { n = UnsafeNativeMethods.sqlite3_open_interop(ToUTF8(strFilename), ToUTF8(vfsName), openFlags, extFuncs, ref db); } else #endif { n = UnsafeNativeMethods.sqlite3_open_v2(ToUTF8(strFilename), ref db, openFlags, ToUTF8(vfsName)); } #if !NET_COMPACT_20 && TRACE_CONNECTION Trace.WriteLine(String.Format("Open: {0}", db)); #endif if (n != SQLiteErrorCode.Ok) throw new SQLiteException(n, null); _sql = new SQLiteConnectionHandle(db, true); } lock (_sql) { /* HACK: Force the SyncBlock to be "created" now. */ } SQLiteConnection.OnChanged(null, new ConnectionEventArgs( SQLiteConnectionEventType.NewCriticalHandle, null, null, null, null, _sql, strFilename, new object[] { strFilename, vfsName, connectionFlags, openFlags, maxPoolSize, usePool })); } // Bind functions to this connection. If any previous functions of the same name // were already bound, then the new bindings replace the old. if ((connectionFlags & SQLiteConnectionFlags.NoBindFunctions) != SQLiteConnectionFlags.NoBindFunctions) { if (_functions == null) |
︙ | ︙ |
Changes to System.Data.SQLite/SQLite3_UTF16.cs.
︙ | ︙ | |||
124 125 126 127 128 129 130 | if (nbytelen == -1) return Marshal.PtrToStringUni(b); else return Marshal.PtrToStringUni(b, nbytelen / 2); } | | | 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 | if (nbytelen == -1) return Marshal.PtrToStringUni(b); else return Marshal.PtrToStringUni(b, nbytelen / 2); } internal override void Open(string strFilename, string vfsName, SQLiteConnectionFlags connectionFlags, SQLiteOpenFlagsEnum openFlags, int maxPoolSize, bool usePool) { // // NOTE: If the database connection is currently open, attempt to // close it now. This must be done because the file name or // other parameters that may impact the underlying database // connection may have changed. // |
︙ | ︙ | |||
164 165 166 167 168 169 170 171 | // do nothing. } finally /* NOTE: Thread.Abort() protection. */ { IntPtr db = IntPtr.Zero; SQLiteErrorCode n; #if !SQLITE_STANDARD | > > < > | > > > > > > | | 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 | // do nothing. } finally /* NOTE: Thread.Abort() protection. */ { IntPtr db = IntPtr.Zero; SQLiteErrorCode n; int extFuncs = ((connectionFlags & SQLiteConnectionFlags.NoExtensionFunctions) != SQLiteConnectionFlags.NoExtensionFunctions) ? 1 : 0; #if !SQLITE_STANDARD if ((vfsName != null) || (extFuncs != 0)) { n = UnsafeNativeMethods.sqlite3_open16_interop(ToUTF8(strFilename), ToUTF8(vfsName), openFlags, extFuncs, ref db); } else #endif { // // NOTE: This flag check is designed to enforce the constraint that opening // a database file that does not already exist requires specifying the // "Create" flag, even when a native API is used that does not accept // a flags parameter. // if (((openFlags & SQLiteOpenFlagsEnum.Create) != SQLiteOpenFlagsEnum.Create) && !File.Exists(strFilename)) throw new SQLiteException(SQLiteErrorCode.CantOpen, strFilename); if (vfsName != null) { throw new SQLiteException(SQLiteErrorCode.CantOpen, String.Format( "cannot open using UTF-16 and VFS \"{0}\": need interop assembly", vfsName)); } n = UnsafeNativeMethods.sqlite3_open16(strFilename, ref db); } #if !NET_COMPACT_20 && TRACE_CONNECTION Trace.WriteLine(String.Format("Open16: {0}", db)); #endif if (n != SQLiteErrorCode.Ok) throw new SQLiteException(n, null); _sql = new SQLiteConnectionHandle(db, true); } lock (_sql) { /* HACK: Force the SyncBlock to be "created" now. */ } SQLiteConnection.OnChanged(null, new ConnectionEventArgs( SQLiteConnectionEventType.NewCriticalHandle, null, null, null, null, _sql, strFilename, new object[] { strFilename, vfsName, connectionFlags, openFlags, maxPoolSize, usePool })); } // Bind functions to this connection. If any previous functions of the same name // were already bound, then the new bindings replace the old. if ((connectionFlags & SQLiteConnectionFlags.NoBindFunctions) != SQLiteConnectionFlags.NoBindFunctions) { if (_functions == null) |
︙ | ︙ |
Changes to System.Data.SQLite/SQLiteBase.cs.
︙ | ︙ | |||
91 92 93 94 95 96 97 98 99 100 101 | /// Opens a database. /// </summary> /// <remarks> /// Implementers should call SQLiteFunction.BindFunctions() and save the array after opening a connection /// to bind all attributed user-defined functions and collating sequences to the new connection. /// </remarks> /// <param name="strFilename">The filename of the database to open. SQLite automatically creates it if it doesn't exist.</param> /// <param name="connectionFlags">The flags associated with the parent connection object</param> /// <param name="openFlags">The open flags to use when creating the connection</param> /// <param name="maxPoolSize">The maximum size of the pool for the given filename</param> /// <param name="usePool">If true, the connection can be pulled from the connection pool</param> | > | | 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | /// Opens a database. /// </summary> /// <remarks> /// Implementers should call SQLiteFunction.BindFunctions() and save the array after opening a connection /// to bind all attributed user-defined functions and collating sequences to the new connection. /// </remarks> /// <param name="strFilename">The filename of the database to open. SQLite automatically creates it if it doesn't exist.</param> /// <param name="vfsName">The name of the VFS to use -OR- null to use the default VFS.</param> /// <param name="connectionFlags">The flags associated with the parent connection object</param> /// <param name="openFlags">The open flags to use when creating the connection</param> /// <param name="maxPoolSize">The maximum size of the pool for the given filename</param> /// <param name="usePool">If true, the connection can be pulled from the connection pool</param> internal abstract void Open(string strFilename, string vfsName, SQLiteConnectionFlags connectionFlags, SQLiteOpenFlagsEnum openFlags, int maxPoolSize, bool usePool); /// <summary> /// Closes the currently-open database. /// </summary> /// <remarks> /// After the database has been closed implemeters should call SQLiteFunction.UnbindFunctions() to deallocate all interop allocated /// memory associated with the user-defined functions and collating sequences tied to the closed connection. /// </remarks> |
︙ | ︙ |
Changes to System.Data.SQLite/SQLiteConnection.cs.
︙ | ︙ | |||
138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 | /// Starting with release 1.0.86.0, in order to use more than one consecutive backslash (e.g. for a /// UNC path), each of the adjoining backslash characters must be doubled (e.g. "\\Network\Share\test.db" /// would become "\\\\Network\Share\test.db"). /// </description> /// <description>Y</description> /// <description></description> /// </item> /// <item> /// <description>Version</description> /// <description>3</description> /// <description>N</description> /// <description>3</description> /// </item> /// <item> /// <description>UseUTF16Encoding</description> /// <description><b>True</b><br/><b>False</b></description> /// <description>N</description> /// <description>False</description> /// </item> /// <item> /// <description>DateTimeFormat</description> /// <description> /// <b>Ticks</b> - Use the value of DateTime.Ticks.<br/> /// <b>ISO8601</b> - Use the ISO-8601 format. Uses the "yyyy-MM-dd HH:mm:ss.FFFFFFFK" format for UTC /// DateTime values and "yyyy-MM-dd HH:mm:ss.FFFFFFF" format for local DateTime values).<br/> /// <b>JulianDay</b> - The interval of time in days and fractions of a day since January 1, 4713 BC.<br/> | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 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 228 229 230 231 232 233 234 | /// Starting with release 1.0.86.0, in order to use more than one consecutive backslash (e.g. for a /// UNC path), each of the adjoining backslash characters must be doubled (e.g. "\\Network\Share\test.db" /// would become "\\\\Network\Share\test.db"). /// </description> /// <description>Y</description> /// <description></description> /// </item> /// <item> /// <description>Uri</description> /// <description> /// If specified, this must be a file name that starts with "file://", "file:", or "/". Any leading /// "file://" or "file:" prefix will be stripped off and the resulting file name will be used to open /// the database. /// </description> /// <description>N</description> /// <description>null</description> /// </item> /// <item> /// <description>FullUri</description> /// <description> /// If specified, this must be a URI in a format recognized by the SQLite core library (starting with /// SQLite 3.7.7). It will be passed verbatim to the SQLite core library. /// </description> /// <description>N</description> /// <description>null</description> /// </item> /// <item> /// <description>Version</description> /// <description>3</description> /// <description>N</description> /// <description>3</description> /// </item> /// <item> /// <description>UseUTF16Encoding</description> /// <description><b>True</b><br/><b>False</b></description> /// <description>N</description> /// <description>False</description> /// </item> /// <item> /// <description>DefaultDbType</description> /// <description> /// This is the default <see cref="DbType" /> to use when one cannot be determined based on the /// column metadata and the configured type mappings. /// </description> /// <description>N</description> /// <description>null</description> /// </item> /// <item> /// <description>DefaultTypeName</description> /// <description> /// This is the default type name to use when one cannot be determined based on the column metadata /// and the configured type mappings. /// </description> /// <description>N</description> /// <description>null</description> /// </item> /// <item> /// <description>NoSharedFlags</description> /// <description> /// <b>True</b> - Do not combine the specified (or default) connection flags with the value of the /// <see cref="SharedFlags" /> property. /// <br/> /// <b>False</b> - Combine the specified (or default) connection flags with the value of the /// <see cref="SharedFlags" /> property. /// </description> /// <description>N</description> /// <description>false</description> /// </item> /// <item> /// <description>VfsName</description> /// <description> /// The name of the VFS to use when opening the database connection. /// If this is not specified, the default VFS will be used. /// </description> /// <description>N</description> /// <description>null</description> /// </item> /// <item> /// <description>ZipVfsVersion</description> /// <description> /// If non-null, this is the "version" of ZipVFS to use. This requires /// the System.Data.SQLite interop assembly -AND- primary managed assembly /// to be compiled with the INTEROP_INCLUDE_ZIPVFS option; otherwise, this /// property does nothing. The valid values are "v2" and "v3". Using /// anyother value will cause an exception to be thrown. Please see the /// ZipVFS documentation for more information on how to use this parameter. /// </description> /// <description>N</description> /// <description>null</description> /// </item> /// <item> /// <description>DateTimeFormat</description> /// <description> /// <b>Ticks</b> - Use the value of DateTime.Ticks.<br/> /// <b>ISO8601</b> - Use the ISO-8601 format. Uses the "yyyy-MM-dd HH:mm:ss.FFFFFFFK" format for UTC /// DateTime values and "yyyy-MM-dd HH:mm:ss.FFFFFFF" format for local DateTime values).<br/> /// <b>JulianDay</b> - The interval of time in days and fractions of a day since January 1, 4713 BC.<br/> |
︙ | ︙ | |||
384 385 386 387 388 389 390 391 392 393 394 395 396 397 | private const bool DefaultToFullPath = true; private const bool DefaultPooling = false; // TODO: Maybe promote this to static property? private const bool DefaultLegacyFormat = false; private const bool DefaultForeignKeys = false; private const bool DefaultEnlist = true; private const bool DefaultSetDefaults = true; internal const int DefaultPrepareRetries = 3; private const int SQLITE_FCNTL_CHUNK_SIZE = 6; private const int SQLITE_FCNTL_WIN32_AV_RETRY = 9; private const string _dataDirectory = "|DataDirectory|"; private const string _masterdb = "sqlite_master"; private const string _tempmasterdb = "sqlite_temp_master"; | > > > > > > > > | 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 | private const bool DefaultToFullPath = true; private const bool DefaultPooling = false; // TODO: Maybe promote this to static property? private const bool DefaultLegacyFormat = false; private const bool DefaultForeignKeys = false; private const bool DefaultEnlist = true; private const bool DefaultSetDefaults = true; internal const int DefaultPrepareRetries = 3; private const string DefaultVfsName = null; #if INTEROP_INCLUDE_ZIPVFS private const string ZipVfs_V2 = "v2"; private const string ZipVfs_V3 = "v3"; private const string DefaultZipVfsVersion = null; #endif private const int SQLITE_FCNTL_CHUNK_SIZE = 6; private const int SQLITE_FCNTL_WIN32_AV_RETRY = 9; private const string _dataDirectory = "|DataDirectory|"; private const string _masterdb = "sqlite_master"; private const string _tempmasterdb = "sqlite_temp_master"; |
︙ | ︙ | |||
521 522 523 524 525 526 527 528 529 530 531 532 533 534 | /// <summary> /// The default databse type name for this connection. This value will only /// be used if the <see cref="SQLiteConnectionFlags.UseConnectionTypes" /> /// flag is set. /// </summary> private string _defaultTypeName; /// <summary> /// Default command timeout /// </summary> private int _defaultTimeout = DefaultConnectionTimeout; /// <summary> /// The maximum number of retries when preparing SQL to be executed. This | > > > > > | 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 | /// <summary> /// The default databse type name for this connection. This value will only /// be used if the <see cref="SQLiteConnectionFlags.UseConnectionTypes" /> /// flag is set. /// </summary> private string _defaultTypeName; /// <summary> /// The name of the VFS to be used when opening the database connection. /// </summary> private string _vfsName; /// <summary> /// Default command timeout /// </summary> private int _defaultTimeout = DefaultConnectionTimeout; /// <summary> /// The maximum number of retries when preparing SQL to be executed. This |
︙ | ︙ | |||
676 677 678 679 680 681 682 683 684 685 686 687 688 689 | new TypeNameStringComparer()); _typeNames = new SQLiteDbTypeMap(); _parseViaFramework = parseViaFramework; _flags = SQLiteConnectionFlags.Default; _defaultDbType = null; _defaultTypeName = null; _connectionState = ConnectionState.Closed; _connectionString = null; if (connectionString != null) ConnectionString = connectionString; } | > | 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 | new TypeNameStringComparer()); _typeNames = new SQLiteDbTypeMap(); _parseViaFramework = parseViaFramework; _flags = SQLiteConnectionFlags.Default; _defaultDbType = null; _defaultTypeName = null; _vfsName = null; _connectionState = ConnectionState.Closed; _connectionString = null; if (connectionString != null) ConnectionString = connectionString; } |
︙ | ︙ | |||
2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 | // SQLiteConnectionStringBuilder.DefaultDbType property to null // here. // if ((_defaultDbType != null) && ((DbType)_defaultDbType == BadDbType)) _defaultDbType = null; _defaultTypeName = FindKey(opts, "DefaultTypeName", null); #if !NET_COMPACT_20 && TRACE_WARNING bool uri = false; #endif bool fullUri = false; string fileName; if (Convert.ToInt32(FindKey(opts, "Version", DefaultVersion.ToString()), CultureInfo.InvariantCulture) != DefaultVersion) throw new NotSupportedException(String.Format(CultureInfo.CurrentCulture, "Only SQLite Version {0} is supported at this time", DefaultVersion)); fileName = FindKey(opts, "Data Source", DefaultDataSource); if (String.IsNullOrEmpty(fileName)) { fileName = FindKey(opts, "Uri", DefaultUri); if (String.IsNullOrEmpty(fileName)) | > > > > > > > > > > > > > > > > > > > > > > > | 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 | // SQLiteConnectionStringBuilder.DefaultDbType property to null // here. // if ((_defaultDbType != null) && ((DbType)_defaultDbType == BadDbType)) _defaultDbType = null; _defaultTypeName = FindKey(opts, "DefaultTypeName", null); _vfsName = FindKey(opts, "VfsName", DefaultVfsName); #if !NET_COMPACT_20 && TRACE_WARNING bool uri = false; #endif bool fullUri = false; string fileName; if (Convert.ToInt32(FindKey(opts, "Version", DefaultVersion.ToString()), CultureInfo.InvariantCulture) != DefaultVersion) throw new NotSupportedException(String.Format(CultureInfo.CurrentCulture, "Only SQLite Version {0} is supported at this time", DefaultVersion)); #if INTEROP_INCLUDE_ZIPVFS string zipVfsVersion = FindKey(opts, "ZipVfsVersion", DefaultZipVfsVersion); if (zipVfsVersion != null) { if (String.Compare(zipVfsVersion, ZipVfs_V2) == 0) { UnsafeNativeMethods.zipvfsInit_v2(); } else if (String.Compare(zipVfsVersion, ZipVfs_V3) == 0) { UnsafeNativeMethods.zipvfsInit_v3(0); } else { throw new NotSupportedException(String.Format( CultureInfo.CurrentCulture, "Only ZipVFS versions {0} and {1} are supported at this time", ZipVfs_V2, ZipVfs_V3)); } } #endif fileName = FindKey(opts, "Data Source", DefaultDataSource); if (String.IsNullOrEmpty(fileName)) { fileName = FindKey(opts, "Uri", DefaultUri); if (String.IsNullOrEmpty(fileName)) |
︙ | ︙ | |||
2600 2601 2602 2603 2604 2605 2606 | { flags |= SQLiteOpenFlagsEnum.ReadWrite; } if (fullUri) flags |= SQLiteOpenFlagsEnum.Uri; | | | 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 | { flags |= SQLiteOpenFlagsEnum.ReadWrite; } if (fullUri) flags |= SQLiteOpenFlagsEnum.Uri; _sql.Open(fileName, _vfsName, _flags, flags, maxPoolSize, usePooling); _binaryGuid = SQLiteConvert.ToBoolean(FindKey(opts, "BinaryGUID", DefaultBinaryGUID.ToString())); #if INTEROP_CODEC || INTEROP_INCLUDE_SEE string hexPassword = FindKey(opts, "HexPassword", DefaultHexPassword); if (hexPassword != null) |
︙ | ︙ | |||
2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 | /// value will only be used when not null. /// </summary> public string DefaultTypeName { get { CheckDisposed(); return _defaultTypeName; } set { CheckDisposed(); _defaultTypeName = value; } } /// <summary> /// Returns non-zero if the underlying native connection handle is /// owned by this instance. /// </summary> public bool OwnHandle { | > > > > > > > > > > | 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 | /// value will only be used when not null. /// </summary> public string DefaultTypeName { get { CheckDisposed(); return _defaultTypeName; } set { CheckDisposed(); _defaultTypeName = value; } } /// <summary> /// Gets/sets the VFS name for this connection. This value will only be /// used when opening the database. /// </summary> public string VfsName { get { CheckDisposed(); return _vfsName; } set { CheckDisposed(); _vfsName = value; } } /// <summary> /// Returns non-zero if the underlying native connection handle is /// owned by this instance. /// </summary> public bool OwnHandle { |
︙ | ︙ |
Changes to System.Data.SQLite/SQLiteConnectionStringBuilder.cs.
︙ | ︙ | |||
179 180 181 182 183 184 185 | [DefaultValue("")] public string DataSource { get { object value; TryGetValue("data source", out value); | | | | | 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 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 228 229 230 231 232 233 | [DefaultValue("")] public string DataSource { get { object value; TryGetValue("data source", out value); return (value != null) ? value.ToString() : null; } set { this["data source"] = value; } } /// <summary> /// An alternate to the data source property /// </summary> [DisplayName("URI")] [Browsable(true)] [DefaultValue(null)] public string Uri { get { object value; TryGetValue("uri", out value); return (value != null) ? value.ToString() : null; } set { this["uri"] = value; } } /// <summary> /// An alternate to the data source property that uses the SQLite URI syntax. /// </summary> [DisplayName("Full URI")] [Browsable(true)] [DefaultValue(null)] public string FullUri { get { object value; TryGetValue("fulluri", out value); return (value != null) ? value.ToString() : null; } set { this["fulluri"] = value; } } |
︙ | ︙ | |||
364 365 366 367 368 369 370 | [DefaultValue("")] public string Password { get { object value; TryGetValue("password", out value); | | | 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 | [DefaultValue("")] public string Password { get { object value; TryGetValue("password", out value); return (value != null) ? value.ToString() : null; } set { this["password"] = value; } } |
︙ | ︙ | |||
664 665 666 667 668 669 670 | [DefaultValue(null)] public string DefaultTypeName { get { object value; TryGetValue("defaulttypename", out value); | | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 | [DefaultValue(null)] public string DefaultTypeName { get { object value; TryGetValue("defaulttypename", out value); return (value != null) ? value.ToString() : null; } set { this["defaulttypename"] = value; } } /// <summary> /// Gets/sets the VFS name for the connection. /// </summary> [DisplayName("VFS Name")] [Browsable(true)] [DefaultValue(null)] public string VfsName { get { object value; TryGetValue("vfsname", out value); return (value != null) ? value.ToString() : null; } set { this["vfsname"] = value; } } /// <summary> /// If enabled, use foreign key constraints /// </summary> [DisplayName("Foreign Keys")] [Browsable(true)] [DefaultValue(false)] public bool ForeignKeys { get { object value; TryGetValue("foreign keys", out value); return SQLiteConvert.ToBoolean(value); } set { this["foreign keys"] = value; } } /// <summary> /// If non-null, this is the version of ZipVFS to use. This requires the /// System.Data.SQLite interop assembly -AND- primary managed assembly to /// be compiled with the INTEROP_INCLUDE_ZIPVFS option; otherwise, this /// property does nothing. /// </summary> [DisplayName("ZipVFS Version")] [Browsable(true)] [DefaultValue(null)] public string ZipVfsVersion { get { object value; TryGetValue("zipvfsversion", out value); return (value != null) ? value.ToString() : null; } set { this["zipvfsversion"] = value; } } /// <summary> /// Gets/Sets the extra behavioral flags. /// </summary> [Browsable(true)] [DefaultValue(SQLiteConnectionFlags.Default)] public SQLiteConnectionFlags Flags |
︙ | ︙ |
Changes to System.Data.SQLite/SQLiteConvert.cs.
︙ | ︙ | |||
152 153 154 155 156 157 158 159 160 161 162 163 164 165 | /// <summary> /// Converts a string to a UTF-8 encoded byte array sized to include a null-terminating character. /// </summary> /// <param name="sourceText">The string to convert to UTF-8</param> /// <returns>A byte array containing the converted string plus an extra 0 terminating byte at the end of the array.</returns> public static byte[] ToUTF8(string sourceText) { Byte[] byteArray; int nlen = _utf8.GetByteCount(sourceText) + 1; byteArray = new byte[nlen]; nlen = _utf8.GetBytes(sourceText, 0, sourceText.Length, byteArray, 0); byteArray[nlen] = 0; | > | 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 | /// <summary> /// Converts a string to a UTF-8 encoded byte array sized to include a null-terminating character. /// </summary> /// <param name="sourceText">The string to convert to UTF-8</param> /// <returns>A byte array containing the converted string plus an extra 0 terminating byte at the end of the array.</returns> public static byte[] ToUTF8(string sourceText) { if (sourceText == null) return null; Byte[] byteArray; int nlen = _utf8.GetByteCount(sourceText) + 1; byteArray = new byte[nlen]; nlen = _utf8.GetBytes(sourceText, 0, sourceText.Length, byteArray, 0); byteArray[nlen] = 0; |
︙ | ︙ |
Changes to System.Data.SQLite/SQLiteDefineConstants.cs.
︙ | ︙ | |||
43 44 45 46 47 48 49 50 51 52 53 54 55 56 | #if INTEROP_INCLUDE_EXTRA "INTEROP_INCLUDE_EXTRA", #endif #if INTEROP_INCLUDE_SEE "INTEROP_INCLUDE_SEE", #endif #if INTEROP_LEGACY_CLOSE "INTEROP_LEGACY_CLOSE", #endif #if INTEROP_LOG "INTEROP_LOG", | > > > > | 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | #if INTEROP_INCLUDE_EXTRA "INTEROP_INCLUDE_EXTRA", #endif #if INTEROP_INCLUDE_SEE "INTEROP_INCLUDE_SEE", #endif #if INTEROP_INCLUDE_ZIPVFS "INTEROP_INCLUDE_ZIPVFS", #endif #if INTEROP_LEGACY_CLOSE "INTEROP_LEGACY_CLOSE", #endif #if INTEROP_LOG "INTEROP_LOG", |
︙ | ︙ |
Changes to System.Data.SQLite/Targets/System.Data.SQLite.Properties.targets.
︙ | ︙ | |||
168 169 170 171 172 173 174 175 176 177 178 179 180 181 | NOTE: Enable support (in the managed assemblies) for compressed and encrypted databases using CEROD? --> <PropertyGroup Condition="'$(InteropIncludeCerod)' != 'false'"> <DefineConstants>$(DefineConstants);INTEROP_INCLUDE_CEROD</DefineConstants> </PropertyGroup> <!-- NOTE: Enable support (in the managed assemblies) for whatever "extra" code (e.g. "extensions") may be included by the custom built interop DLL (i.e. "SQLite.Interop.DLL")? --> <PropertyGroup Condition="'$(InteropIncludeExtra)' != 'false'"> <DefineConstants>$(DefineConstants);INTEROP_INCLUDE_EXTRA</DefineConstants> | > > > > > > > > | 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 | NOTE: Enable support (in the managed assemblies) for compressed and encrypted databases using CEROD? --> <PropertyGroup Condition="'$(InteropIncludeCerod)' != 'false'"> <DefineConstants>$(DefineConstants);INTEROP_INCLUDE_CEROD</DefineConstants> </PropertyGroup> <!-- NOTE: Enable support (in the managed assemblies) for compressed databases (read/write) using ZipVFS? --> <PropertyGroup Condition="'$(InteropIncludeZipVfs)' != 'false'"> <DefineConstants>$(DefineConstants);INTEROP_INCLUDE_ZIPVFS</DefineConstants> </PropertyGroup> <!-- NOTE: Enable support (in the managed assemblies) for whatever "extra" code (e.g. "extensions") may be included by the custom built interop DLL (i.e. "SQLite.Interop.DLL")? --> <PropertyGroup Condition="'$(InteropIncludeExtra)' != 'false'"> <DefineConstants>$(DefineConstants);INTEROP_INCLUDE_EXTRA</DefineConstants> |
︙ | ︙ |
Changes to System.Data.SQLite/UnsafeNativeMethods.cs.
︙ | ︙ | |||
1364 1365 1366 1367 1368 1369 1370 | [DllImport(SQLITE_DLL)] internal static extern SQLiteErrorCode sqlite3_finalize_interop(IntPtr stmt); [DllImport(SQLITE_DLL)] internal static extern SQLiteErrorCode sqlite3_backup_finish_interop(IntPtr backup); [DllImport(SQLITE_DLL)] | | | | 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 | [DllImport(SQLITE_DLL)] internal static extern SQLiteErrorCode sqlite3_finalize_interop(IntPtr stmt); [DllImport(SQLITE_DLL)] internal static extern SQLiteErrorCode sqlite3_backup_finish_interop(IntPtr backup); [DllImport(SQLITE_DLL)] internal static extern SQLiteErrorCode sqlite3_open_interop(byte[] utf8Filename, byte[] vfsName, SQLiteOpenFlagsEnum flags, int extFuncs, ref IntPtr db); [DllImport(SQLITE_DLL)] internal static extern SQLiteErrorCode sqlite3_open16_interop(byte[] utf8Filename, byte[] vfsName, SQLiteOpenFlagsEnum flags, int extFuncs, ref IntPtr db); [DllImport(SQLITE_DLL)] internal static extern SQLiteErrorCode sqlite3_reset_interop(IntPtr stmt); [DllImport(SQLITE_DLL)] internal static extern int sqlite3_changes_interop(IntPtr db); #endif |
︙ | ︙ | |||
1733 1734 1735 1736 1737 1738 1739 | internal static extern void sqlite3_free(IntPtr p); #if !PLATFORM_COMPACTFRAMEWORK [DllImport(SQLITE_DLL, CallingConvention = CallingConvention.Cdecl)] #else [DllImport(SQLITE_DLL)] #endif | | | 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 | internal static extern void sqlite3_free(IntPtr p); #if !PLATFORM_COMPACTFRAMEWORK [DllImport(SQLITE_DLL, CallingConvention = CallingConvention.Cdecl)] #else [DllImport(SQLITE_DLL)] #endif internal static extern SQLiteErrorCode sqlite3_open_v2(byte[] utf8Filename, ref IntPtr db, SQLiteOpenFlagsEnum flags, byte[] vfsName); #if !PLATFORM_COMPACTFRAMEWORK [DllImport(SQLITE_DLL, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Unicode)] #else [DllImport(SQLITE_DLL, CharSet = CharSet.Unicode)] #endif internal static extern SQLiteErrorCode sqlite3_open16(string fileName, ref IntPtr db); |
︙ | ︙ | |||
2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 | #if !PLATFORM_COMPACTFRAMEWORK [DllImport(SQLITE_DLL, CallingConvention = CallingConvention.Cdecl)] #else [DllImport(SQLITE_DLL)] #endif internal static extern SQLiteErrorCode sqlite3_rekey(IntPtr db, byte[] key, int keylen); #endif #if !PLATFORM_COMPACTFRAMEWORK [DllImport(SQLITE_DLL, CallingConvention = CallingConvention.Cdecl)] #else [DllImport(SQLITE_DLL)] #endif internal static extern IntPtr sqlite3_set_authorizer(IntPtr db, SQLiteAuthorizerCallback func, IntPtr pvUser); | > > > > > > > > > > > > > > > > | 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 | #if !PLATFORM_COMPACTFRAMEWORK [DllImport(SQLITE_DLL, CallingConvention = CallingConvention.Cdecl)] #else [DllImport(SQLITE_DLL)] #endif internal static extern SQLiteErrorCode sqlite3_rekey(IntPtr db, byte[] key, int keylen); #endif #if INTEROP_INCLUDE_ZIPVFS #if !PLATFORM_COMPACTFRAMEWORK [DllImport(SQLITE_DLL, CallingConvention = CallingConvention.Cdecl)] #else [DllImport(SQLITE_DLL)] #endif internal static extern void zipvfsInit_v2(); #if !PLATFORM_COMPACTFRAMEWORK [DllImport(SQLITE_DLL, CallingConvention = CallingConvention.Cdecl)] #else [DllImport(SQLITE_DLL)] #endif internal static extern void zipvfsInit_v3(int regDflt); #endif #if !PLATFORM_COMPACTFRAMEWORK [DllImport(SQLITE_DLL, CallingConvention = CallingConvention.Cdecl)] #else [DllImport(SQLITE_DLL)] #endif internal static extern IntPtr sqlite3_set_authorizer(IntPtr db, SQLiteAuthorizerCallback func, IntPtr pvUser); |
︙ | ︙ |
Changes to Targets/SQLite.NET.Settings.targets.
︙ | ︙ | |||
372 373 374 375 376 377 378 379 380 381 382 383 384 385 | "SQLite.Interop\props\SQLite.Interop.20YY.[vs]props" both for the corresponding version(s) of Visual Studio. --> <InteropIncludeCerod Condition="'$(InteropIncludeCerod)' == ''">false</InteropIncludeCerod> <!-- NOTE: Enable including "extra" code with the custom built interop DLL (i.e. "SQLite.Interop.dll")? By default, this is disabled. If this is enabled, the "extra.c" file will be included from the extensions directory. If this is enabled, it must also be enabled via the "INTEROP_INCLUDE_EXTRA=1" preprocessor define being present in the "INTEROP_EXTRA_DEFINES" macro in the build | > > > > > > > > > > > > > > > > > > > > | 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 | "SQLite.Interop\props\SQLite.Interop.20YY.[vs]props" both for the corresponding version(s) of Visual Studio. --> <InteropIncludeCerod Condition="'$(InteropIncludeCerod)' == ''">false</InteropIncludeCerod> <!-- NOTE: Enable including ZipVFS with the custom built interop DLL (i.e. "SQLite.Interop.dll")? By default, this is disabled. If this is enabled, the "zipvfs.c" file will be included from the extensions directory. If this is enabled, it must also be enabled via the "SQLITE_ENABLE_ZIPVFS=1" preprocessor define being present in the "SQLITE_EXTRA_DEFINES" macro in the build properties file: "SQLite.Interop\props\sqlite3.[vs]props" AND via the "INTEROP_INCLUDE_ZIPVFS=1" preprocessor define being present in the "INTEROP_EXTRA_DEFINES" macro in the build properties file: "SQLite.Interop\props\SQLite.Interop.20YY.[vs]props" both for the corresponding version(s) of Visual Studio. --> <InteropIncludeZipVfs Condition="'$(InteropIncludeZipVfs)' == ''">false</InteropIncludeZipVfs> <!-- NOTE: Enable including "extra" code with the custom built interop DLL (i.e. "SQLite.Interop.dll")? By default, this is disabled. If this is enabled, the "extra.c" file will be included from the extensions directory. If this is enabled, it must also be enabled via the "INTEROP_INCLUDE_EXTRA=1" preprocessor define being present in the "INTEROP_EXTRA_DEFINES" macro in the build |
︙ | ︙ |
Changes to Tests/basic.eagle.
︙ | ︙ | |||
1049 1050 1051 1052 1053 1054 1055 | set keys [list null Version Synchronous UseUTF16Encoding Pooling \ BinaryGUID "Data Source" Uri FullUri "Default Timeout" \ Enlist FailIfMissing "Legacy Format" "Read Only" \ Password "Page Size" "Max Page Count" "Cache Size" \ DateTimeFormat DateTimeKind DateTimeFormatString \ BaseSchemaName "Journal Mode" "Default IsolationLevel" \ "Foreign Keys" Flags SetDefaults ToFullPath HexPassword \ | | > | | | 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 | set keys [list null Version Synchronous UseUTF16Encoding Pooling \ BinaryGUID "Data Source" Uri FullUri "Default Timeout" \ Enlist FailIfMissing "Legacy Format" "Read Only" \ Password "Page Size" "Max Page Count" "Cache Size" \ DateTimeFormat DateTimeKind DateTimeFormatString \ BaseSchemaName "Journal Mode" "Default IsolationLevel" \ "Foreign Keys" Flags SetDefaults ToFullPath HexPassword \ DefaultDbType DefaultTypeName NoSharedFlags PrepareRetries \ ZipVfsVersion VfsName] set values [list null 3 Normal True False \ True test.db test.db file:test.db 60 \ False True False True \ secret 4096 1024 8192 \ UnixEpoch Utc yyyy-MM-dd sqlite_schema \ Memory Serializable False \ Default False False 736563726574 String \ TEXT True 20 v2 test] set propertyNames [list null Version SyncMode UseUTF16Encoding Pooling \ BinaryGUID DataSource Uri FullUri DefaultTimeout \ Enlist FailIfMissing LegacyFormat ReadOnly \ Password PageSize MaxPageCount CacheSize \ DateTimeFormat DateTimeKind DateTimeFormatString \ BaseSchemaName JournalMode DefaultIsolationLevel \ ForeignKeys Flags SetDefaults ToFullPath \ HexPassword DefaultDbType DefaultTypeName \ NoSharedFlags PrepareRetries ZipVfsVersion VfsName] foreach key $keys value $values propertyName $propertyNames { set code [catch { object invoke _Dynamic${id}.Test${id} GetConnectionString \ $key $value $propertyName } result] |
︙ | ︙ | |||
1102 1103 1104 1105 1106 1107 1108 | DateTimeFormatString=yyyy-MM-dd\} 0 \{sqlite_schema,\ BaseSchemaName=sqlite_schema\} 0 \{Memory, Journal Mode=Memory\} 0\ \{Serializable, Default IsolationLevel=Serializable\} 0 \{False, Foreign\ Keys=False\} 0 \{(?:Default|LogCallbackException),\ Flags=(?:Default|LogCallbackException)\} 0 \{False, SetDefaults=False\} 0\ \{False, ToFullPath=False\} 0 {736563726574, HexPassword=736563726574} 0\ \{String, DefaultDbType=String\} 0 \{TEXT, DefaultTypeName=TEXT\} 0 \{True,\ | | > | 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 | DateTimeFormatString=yyyy-MM-dd\} 0 \{sqlite_schema,\ BaseSchemaName=sqlite_schema\} 0 \{Memory, Journal Mode=Memory\} 0\ \{Serializable, Default IsolationLevel=Serializable\} 0 \{False, Foreign\ Keys=False\} 0 \{(?:Default|LogCallbackException),\ Flags=(?:Default|LogCallbackException)\} 0 \{False, SetDefaults=False\} 0\ \{False, ToFullPath=False\} 0 {736563726574, HexPassword=736563726574} 0\ \{String, DefaultDbType=String\} 0 \{TEXT, DefaultTypeName=TEXT\} 0 \{True,\ NoSharedFlags=True\} 0 \{20, PrepareRetries=20\} 0 \{v2, ZipVfsVersion=v2\} 0\ \{test, VfsName=test\}$}} ############################################################################### runTest {test data-1.18 {SQLiteConvert ToDateTime (Julian Day)} -body { set dateTime [object invoke -create System.Data.SQLite.SQLiteConvert \ ToDateTime 2455928.0 Utc] |
︙ | ︙ |
Changes to Tests/common.eagle.
︙ | ︙ | |||
3430 3431 3432 3433 3434 3435 3436 | # for the interop assembly in order to be effective. For those # options, it will be assumed that it was enabled for the interop # assembly if it was enabled for the managed assembly. # foreach defineConstant [list \ CHECK_STATE COUNT_HANDLE DEBUG INTEROP_CODEC INTEROP_DEBUG \ INTEROP_EXTENSION_FUNCTIONS INTEROP_INCLUDE_CEROD \ | | | | | | | | | 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 | # for the interop assembly in order to be effective. For those # options, it will be assumed that it was enabled for the interop # assembly if it was enabled for the managed assembly. # foreach defineConstant [list \ CHECK_STATE COUNT_HANDLE DEBUG INTEROP_CODEC INTEROP_DEBUG \ INTEROP_EXTENSION_FUNCTIONS INTEROP_INCLUDE_CEROD \ INTEROP_INCLUDE_EXTRA INTEROP_INCLUDE_SEE INTEROP_INCLUDE_ZIPVFS \ INTEROP_LEGACY_CLOSE INTEROP_LOG INTEROP_TEST_EXTENSION \ INTEROP_VIRTUAL_TABLE NET_20 NET_35 NET_40 NET_45 NET_451 \ NET_COMPACT_20 PLATFORM_COMPACTFRAMEWORK PRELOAD_NATIVE_LIBRARY \ RETARGETABLE SQLITE_STANDARD THROW_ON_DISPOSED TRACE \ TRACE_CONNECTION TRACE_DETECTION TRACE_HANDLE TRACE_PRELOAD \ TRACE_SHARED TRACE_STATEMENT TRACE_WARNING TRACK_MEMORY_BYTES \ USE_ENTITY_FRAMEWORK_6 USE_INTEROP_DLL USE_PREPARE_V2 WINDOWS] { # # NOTE: Check if the compile-time option is listed in the list of # "define constants" kept track of by the managed assembly. # checkForSQLiteDefineConstant $::test_channel $defineConstant } |
︙ | ︙ |
Changes to readme.htm.
︙ | ︙ | |||
210 211 212 213 214 215 216 217 218 219 220 221 222 223 | <p> <b>1.0.98.0 - August XX, 2015 <font color="red">(release scheduled)</font></b> </p> <ul> <li>Updated to <a href="https://www.sqlite.org/draft/releaselog/3_8_11.html">SQLite 3.8.11</a>.</li> <li>Implement the Substring method for LINQ using the "substr" core SQL function. <b>** Potentially Incompatible Change **</b></li> </ul> <p> <b>1.0.97.0 - May 26, 2015</b> </p> <ul> <li>Updated to <a href="https://www.sqlite.org/releaselog/3_8_10_2.html">SQLite 3.8.10.2</a>.</li> <li>Updated to <a href="https://www.nuget.org/packages/EntityFramework/6.1.3">Entity Framework 6.1.3</a>.</li> | > > | 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 | <p> <b>1.0.98.0 - August XX, 2015 <font color="red">(release scheduled)</font></b> </p> <ul> <li>Updated to <a href="https://www.sqlite.org/draft/releaselog/3_8_11.html">SQLite 3.8.11</a>.</li> <li>Implement the Substring method for LINQ using the "substr" core SQL function. <b>** Potentially Incompatible Change **</b></li> <li>Add the VfsName connection string property to allow a non-default VFS to be used by the SQLite core library.</li> <li>Enable integration with the <a href="http://www.hwaci.com/sw/sqlite/zipvfs.html">ZipVFS</a> extension.</li> </ul> <p> <b>1.0.97.0 - May 26, 2015</b> </p> <ul> <li>Updated to <a href="https://www.sqlite.org/releaselog/3_8_10_2.html">SQLite 3.8.10.2</a>.</li> <li>Updated to <a href="https://www.nuget.org/packages/EntityFramework/6.1.3">Entity Framework 6.1.3</a>.</li> |
︙ | ︙ |
Changes to www/news.wiki.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <title>News</title> <b>Version History</b> <p> <b>1.0.98.0 - August XX, 2015 <font color="red">(release scheduled)</font></b> </p> <ul> <li>Updated to [https://www.sqlite.org/draft/releaselog/3_8_11.html|SQLite 3.8.11].</li> <li>Implement the Substring method for LINQ using the "substr" core SQL function. <b>** Potentially Incompatible Change **</b></li> </ul> <p> <b>1.0.97.0 - May 26, 2015</b> </p> <ul> <li>Updated to [https://www.sqlite.org/releaselog/3_8_10_2.html|SQLite 3.8.10.2].</li> <li>Updated to [https://www.nuget.org/packages/EntityFramework/6.1.3|Entity Framework 6.1.3].</li> | > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <title>News</title> <b>Version History</b> <p> <b>1.0.98.0 - August XX, 2015 <font color="red">(release scheduled)</font></b> </p> <ul> <li>Updated to [https://www.sqlite.org/draft/releaselog/3_8_11.html|SQLite 3.8.11].</li> <li>Implement the Substring method for LINQ using the "substr" core SQL function. <b>** Potentially Incompatible Change **</b></li> <li>Add the VfsName connection string property to allow a non-default VFS to be used by the SQLite core library.</li> <li>Enable integration with the [http://www.hwaci.com/sw/sqlite/zipvfs.html|ZipVFS] extension.</li> </ul> <p> <b>1.0.97.0 - May 26, 2015</b> </p> <ul> <li>Updated to [https://www.sqlite.org/releaselog/3_8_10_2.html|SQLite 3.8.10.2].</li> <li>Updated to [https://www.nuget.org/packages/EntityFramework/6.1.3|Entity Framework 6.1.3].</li> |
︙ | ︙ |