Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Changes In Branch sessions Excluding Merge-Ins
This is equivalent to a diff from 890d132eaf to 71327c1dd6
2017-10-14
| ||
07:33 | Add full support for the native session extension. check-in: 17c0ae883b user: mistachkin tags: trunk | |
07:25 | Add projects, solutions, and build environment support for Visual Studio 2017. check-in: 9d2b034e4c user: mistachkin tags: trunk | |
07:20 | Update the master release archive manifest. Closed-Leaf check-in: 71327c1dd6 user: mistachkin tags: sessions | |
06:37 | Final work on the initial draft of the doc comments. check-in: 8f18f2c045 user: mistachkin tags: sessions | |
2017-10-10
| ||
21:46 | Merge trunk. check-in: 9a31f08683 user: mistachkin tags: sessions | |
21:46 | Use an already existing local variable for a connection handle instead of re-querying a field. check-in: 890d132eaf user: mistachkin tags: trunk | |
21:45 | Use the 'getTemporaryDirectory' helper procedure in the test suite. check-in: f4e188e696 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 | 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | + | <div id="mainSection"> <div id="mainBody"> <h1 class="heading">Version History</h1> <p><b>1.0.106.0 - October XX, 2017 <font color="red">(release scheduled)</font></b></p> <ul> <li>Updated to <a href="https://www.sqlite.org/releaselog/3_20_1.html">SQLite 3.20.1</a>.</li> <li>Add BindDecimalAsText and GetDecimalAsText connection flags to force binding and returning of decimal values as text. Pursuant to <a href="https://system.data.sqlite.org/index.html/info/b167206ad3">[b167206ad3]</a>.</li> <li>Add support for the native <a href="https://www.sqlite.org/sessionintro.html">session</a> extension.</li> </ul> <p><b>1.0.105.2 - June 12, 2017</b></p> <ul> <li>Updated to <a href="https://www.sqlite.org/releaselog/3_19_3.html">SQLite 3.19.3</a>.</li> <li>Fix issues that prevented SQLiteBlob creation from succeeding for tables that did not have an integer primary key.</li> </ul> <p><b>1.0.105.1 - May 15, 2017</b></p> |
︙ |
Changes to SQLite.Interop/props/SQLite.Interop.2005.vsprops.
︙ | |||
55 56 57 58 59 60 61 | 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" |
︙ |
Changes to SQLite.Interop/props/SQLite.Interop.2008.vsprops.
︙ | |||
55 56 57 58 59 60 61 | 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" |
︙ |
Changes to SQLite.Interop/props/SQLite.Interop.2010.props.
︙ | |||
14 15 16 17 18 19 20 | 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.106.0</INTEROP_MANIFEST_VERSION> <INTEROP_RC_VERSION>1,0,106,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> |
︙ |
Changes to SQLite.Interop/props/SQLite.Interop.2012.props.
︙ | |||
14 15 16 17 18 19 20 | 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.106.0</INTEROP_MANIFEST_VERSION> <INTEROP_RC_VERSION>1,0,106,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> |
︙ |
Changes to SQLite.Interop/props/SQLite.Interop.2013.props.
︙ | |||
14 15 16 17 18 19 20 | 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.106.0</INTEROP_MANIFEST_VERSION> <INTEROP_RC_VERSION>1,0,106,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> |
︙ |
Changes to SQLite.Interop/props/SQLite.Interop.2015.props.
︙ | |||
14 15 16 17 18 19 20 | 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.106.0</INTEROP_MANIFEST_VERSION> <INTEROP_RC_VERSION>1,0,106,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> |
︙ |
Changes to SQLite.Interop/src/generic/interop.c.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | + + + + + + + + + | /******************************************************** * ADO.NET 2.0 Data Provider for SQLite Version 3.X * Written by Robert Simpson (robert@blackcastlesoft.com) * * Released to the public domain, use at your own risk! ********************************************************/ #ifdef _WIN32 #define SQLITE_API __declspec(dllexport) #else #define WINAPI #endif #if /* SQLITE_VERSION_NUMBER >= 3013000 && */ defined(INTEROP_SESSION_EXTENSION) #ifndef SQLITE_ENABLE_SESSION #define SQLITE_ENABLE_SESSION (1) #endif #ifndef SQLITE_ENABLE_PREUPDATE_HOOK #define SQLITE_ENABLE_PREUPDATE_HOOK (1) #endif #endif #include "../core/sqlite3.c" #if !SQLITE_OS_WIN #include <wchar.h> #endif |
︙ | |||
127 128 129 130 131 132 133 134 135 136 137 138 139 140 | 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 | + + + | "LOG", #endif #ifdef INTEROP_PERCENTILE_EXTENSION "PERCENTILE_EXTENSION", #endif #ifdef INTEROP_REGEXP_EXTENSION "REGEXP_EXTENSION", #endif #ifdef INTEROP_SESSION_EXTENSION "SESSION_EXTENSION", #endif #ifdef INTEROP_SHA1_EXTENSION "SHA1_EXTENSION", #endif #ifdef INTEROP_TEST_EXTENSION "TEST_EXTENSION", #endif |
︙ |
Changes to Setup/compile-interop-assembly-debug.sh.
︙ | |||
8 9 10 11 12 13 14 | 8 9 10 11 12 13 14 15 16 17 18 | - + | gccflags="-arch i386 -arch x86_64" else libname=libSQLite.Interop.so gccflags="" fi pushd "$scriptdir/../SQLite.Interop/src/generic" |
Changes to Setup/compile-interop-assembly-release.sh.
︙ | |||
8 9 10 11 12 13 14 | 8 9 10 11 12 13 14 15 16 17 18 | - + | gccflags="-arch i386 -arch x86_64" else libname=libSQLite.Interop.so gccflags="" fi pushd "$scriptdir/../SQLite.Interop/src/generic" |
Changes to Setup/data/verify.lst.
︙ | |||
211 212 213 214 215 216 217 | 211 212 213 214 215 216 217 218 219 220 221 222 223 224 | - | Externals/Eagle/ Externals/Eagle/bin/ Externals/Eagle/bin/EagleShell.exe.config Externals/Eagle/bin/EagleShell.exe.mda.config Externals/Eagle/lib/ Externals/Eagle/lib/Eagle1.0/ Externals/Eagle/lib/Eagle1.0/vendor.eagle |
︙ | |||
587 588 589 590 591 592 593 594 595 596 597 598 599 600 | 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 | + | System.Data.SQLite/SQLiteModule.cs System.Data.SQLite/SQLiteModuleCommon.cs System.Data.SQLite/SQLiteModuleEnumerable.cs System.Data.SQLite/SQLiteModuleNoop.cs System.Data.SQLite/SQLiteParameter.cs System.Data.SQLite/SQLiteParameterCollection.cs System.Data.SQLite/SQLitePatchLevel.cs System.Data.SQLite/SQLiteSession.cs System.Data.SQLite/SQLiteStatement.cs System.Data.SQLite/SQLiteTransaction.cs System.Data.SQLite/SQLiteTransaction2.cs System.Data.SQLite/SQLiteTransactionBase.cs System.Data.SQLite/System.Data.SQLite.2005.csproj System.Data.SQLite/System.Data.SQLite.2008.csproj System.Data.SQLite/System.Data.SQLite.2010.csproj |
︙ | |||
781 782 783 784 785 786 787 788 789 790 791 792 793 794 | 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 | + | Tests/data/Uninstaller_Test_Vs2013.log Tests/data/Uninstaller_Test_Vs2015.log Tests/data/wal.db Tests/installer.eagle Tests/linq.eagle Tests/memory.eagle Tests/progress.eagle Tests/session.eagle Tests/speed.eagle Tests/stress.eagle Tests/template/ Tests/template/empty.eagle Tests/thread.eagle Tests/tkt-00f86f9739.eagle Tests/tkt-0a32885109.eagle |
︙ | |||
845 846 847 848 849 850 851 852 853 854 855 856 857 858 | 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 | + | Tests/tkt-9ba9346f75.eagle Tests/tkt-9d353b0bd8.eagle Tests/tkt-a4d9c7ee94.eagle Tests/tkt-a7d04fb111.eagle Tests/tkt-aba4549801.eagle Tests/tkt-ac47dd230a.eagle Tests/tkt-ae5267b863.eagle Tests/tkt-b167206ad3.eagle Tests/tkt-b4a7ddc83f.eagle Tests/tkt-bb4b04d457.eagle Tests/tkt-c010fa6584.eagle Tests/tkt-c28d7fe915.eagle Tests/tkt-ccfa69fc32.eagle Tests/tkt-d4728aecb7.eagle Tests/tkt-da685c0bac.eagle |
︙ | |||
909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 | 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 | + + + | Externals/Eagle/lib/Eagle1.0/file3.eagle Externals/Eagle/lib/Eagle1.0/info.eagle Externals/Eagle/lib/Eagle1.0/init.eagle Externals/Eagle/lib/Eagle1.0/list.eagle Externals/Eagle/lib/Eagle1.0/object.eagle Externals/Eagle/lib/Eagle1.0/pkgIndex.eagle Externals/Eagle/lib/Eagle1.0/pkgIndex.tcl Externals/Eagle/lib/Eagle1.0/pkgt.eagle Externals/Eagle/lib/Eagle1.0/platform.eagle Externals/Eagle/lib/Eagle1.0/process.eagle Externals/Eagle/lib/Eagle1.0/runopt.eagle Externals/Eagle/lib/Eagle1.0/safe.eagle Externals/Eagle/lib/Eagle1.0/shell.eagle Externals/Eagle/lib/Eagle1.0/shim.eagle Externals/Eagle/lib/Eagle1.0/test.eagle Externals/Eagle/lib/Eagle1.0/testlog.eagle Externals/Eagle/lib/Eagle1.0/unkobj.eagle Externals/Eagle/lib/Eagle1.0/unzip.eagle Externals/Eagle/lib/Eagle1.0/update.eagle Externals/Eagle/lib/Eagle1.0/vendor.eagle Externals/Eagle/lib/Eagle1.0/word.tcl Externals/Eagle/lib/Test1.0/ Externals/Eagle/lib/Test1.0/all.eagle Externals/Eagle/lib/Test1.0/constraints.eagle Externals/Eagle/lib/Test1.0/epilogue.eagle Externals/Eagle/lib/Test1.0/pkgIndex.eagle Externals/Eagle/lib/Test1.0/pkgIndex.tcl Externals/Eagle/lib/Test1.0/prologue.eagle } |
︙ |
Changes to System.Data.SQLite/SQLiteConnection.cs.
︙ | |||
1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 | 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + | } } } } /////////////////////////////////////////////////////////////////////////////////////////////// /// <summary> /// Attempts to lookup the native handle associated with the connection. An exception will /// be thrown if this cannot be accomplished. /// </summary> /// <param name="connection"> /// The connection associated with the desired native handle. /// </param> /// <returns> /// The native handle associated with the connection or <see cref="IntPtr.Zero" /> if it /// cannot be determined. /// </returns> private static SQLiteConnectionHandle GetNativeHandle( SQLiteConnection connection ) { if (connection == null) throw new ArgumentNullException("connection"); SQLite3 sqlite3 = connection._sql as SQLite3; if (sqlite3 == null) throw new InvalidOperationException("Connection has no wrapper"); SQLiteConnectionHandle handle = sqlite3._sql; if (handle == null) throw new InvalidOperationException("Connection has an invalid handle."); IntPtr handlePtr = handle; if (handlePtr == IntPtr.Zero) { throw new InvalidOperationException( "Connection has an invalid handle pointer."); } return handle; } /////////////////////////////////////////////////////////////////////////////////////////////// /// <summary> /// Raises the <see cref="Changed" /> event. /// </summary> /// <param name="connection"> /// The connection associated with this event. If this parameter is not /// null and the specified connection cannot raise events, then the /// registered event handlers will not be invoked. |
︙ | |||
2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 | 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + | /// Forwards to the local <see cref="CreateCommand" /> function. /// </summary> /// <returns></returns> protected override DbCommand CreateDbCommand() { return CreateCommand(); } #if INTEROP_SESSION_EXTENSION /// <summary> /// Attempts to create a new <see cref="ISQLiteSession" /> object instance /// using this connection and the specified database name. /// </summary> /// <param name="databaseName"> /// The name of the database for the newly created session. /// </param> /// <returns> /// The newly created session -OR- null if it cannot be created. /// </returns> public ISQLiteSession CreateSession( string databaseName ) { CheckDisposed(); return new SQLiteSession(GetNativeHandle(this), _flags, databaseName); } /// <summary> /// Attempts to create a new <see cref="ISQLiteChangeSet" /> object instance /// using this connection and the specified raw data. /// </summary> /// <param name="rawData"> /// The raw data that contains a change set (or patch set). /// </param> /// <returns> /// The newly created change set -OR- null if it cannot be created. /// </returns> public ISQLiteChangeSet CreateChangeSet( byte[] rawData ) { CheckDisposed(); return new SQLiteMemoryChangeSet(rawData, GetNativeHandle(this), _flags); } /// <summary> /// Attempts to create a new <see cref="ISQLiteChangeSet" /> object instance /// using this connection and the specified stream. /// </summary> /// <param name="inputStream"> /// The stream where the raw data that contains a change set (or patch set) /// may be read. /// </param> /// <param name="outputStream"> /// The stream where the raw data that contains a change set (or patch set) /// may be written. /// </param> /// <returns> /// The newly created change set -OR- null if it cannot be created. /// </returns> public ISQLiteChangeSet CreateChangeSet( Stream inputStream, Stream outputStream ) { CheckDisposed(); return new SQLiteStreamChangeSet( inputStream, outputStream, GetNativeHandle(this), _flags); } /// <summary> /// Attempts to create a new <see cref="ISQLiteChangeGroup" /> object /// instance using this connection. /// </summary> /// <returns> /// The newly created change group -OR- null if it cannot be created. /// </returns> public ISQLiteChangeGroup CreateChangeGroup() { CheckDisposed(); return new SQLiteChangeGroup(_flags); } #endif /// <summary> /// Returns the data source file name without extension or path. /// </summary> #if !PLATFORM_COMPACTFRAMEWORK [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] #endif |
︙ |
Changes to System.Data.SQLite/SQLiteDefineConstants.cs.
︙ | |||
71 72 73 74 75 76 77 78 79 80 81 82 83 84 | 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | + + + + | #if INTEROP_PERCENTILE_EXTENSION "INTEROP_PERCENTILE_EXTENSION", #endif #if INTEROP_REGEXP_EXTENSION "INTEROP_REGEXP_EXTENSION", #endif #if INTEROP_SESSION_EXTENSION "INTEROP_SESSION_EXTENSION", #endif #if INTEROP_SHA1_EXTENSION "INTEROP_SHA1_EXTENSION", #endif #if INTEROP_TEST_EXTENSION "INTEROP_TEST_EXTENSION", |
︙ |
Changes to System.Data.SQLite/SQLiteModule.cs.
︙ | |||
333 334 335 336 337 338 339 340 341 342 343 344 345 346 | 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 | + + + + + + + + + + + + + + + + + + + + + | pValue = IntPtr.Zero; } #endregion /////////////////////////////////////////////////////////////////////// #region Internal Marshal Helper Methods /// <summary> /// Converts a native pointer to a native sqlite3_value structure into /// a managed <see cref="SQLiteValue" /> object instance. /// </summary> /// <param name="pValue"> /// The native pointer to a native sqlite3_value structure to convert. /// </param> /// <returns> /// The managed <see cref="SQLiteValue" /> object instance or null upon /// failure. /// </returns> internal static SQLiteValue FromIntPtr( IntPtr pValue ) { if (pValue == IntPtr.Zero) return null; return new SQLiteValue(pValue); } /////////////////////////////////////////////////////////////////////// /// <summary> /// Converts a logical array of native pointers to native sqlite3_value /// structures into a managed array of <see cref="SQLiteValue" /> /// object instances. /// </summary> /// <param name="argc"> /// The number of elements in the logical array of native sqlite3_value |
︙ | |||
568 569 570 571 572 573 574 575 576 577 578 579 580 581 | 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + | public byte[] GetBlob() { if (pValue == IntPtr.Zero) return null; return SQLiteBytes.FromIntPtr( UnsafeNativeMethods.sqlite3_value_blob(pValue), GetBytes()); } /////////////////////////////////////////////////////////////////////// /// <summary> /// Gets and returns an <see cref="Object" /> instance associated with /// this value. /// </summary> /// <returns> /// The <see cref="Object" /> associated with this value. If the type /// affinity of the object is unknown or cannot be determined, a null /// value will be returned. /// </returns> public object GetObject() { switch (GetTypeAffinity()) { case TypeAffinity.Uninitialized: { return null; } case TypeAffinity.Int64: { return GetInt64(); } case TypeAffinity.Double: { return GetDouble(); } case TypeAffinity.Text: { return GetString(); } case TypeAffinity.Blob: { return GetBytes(); } case TypeAffinity.Null: { return DBNull.Value; } default: { return null; } } } /////////////////////////////////////////////////////////////////////// /// <summary> /// Uses the native value handle to obtain and store the managed value /// for this object instance, thus saving it for later use. The type /// of the managed value is determined by the type affinity of the |
︙ | |||
3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 | 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 | + + + + + + + + + + + + + + + + + + + + + + + + + + + - + | /// <returns> /// The native NUL-terminated UTF-8 string pointer or /// <see cref="IntPtr.Zero" /> upon failure. /// </returns> public static IntPtr Utf8IntPtrFromString( string value ) { int length = 0; return Utf8IntPtrFromString(value, ref length); } /////////////////////////////////////////////////////////////////////// /// <summary> /// Converts the specified managed string into a native NUL-terminated /// UTF-8 string pointer using memory obtained from the SQLite core /// library. /// </summary> /// <param name="value"> /// The managed string to convert. /// </param> /// <param name="length"> /// The length of the native string, in bytes. /// </param> /// <returns> /// The native NUL-terminated UTF-8 string pointer or /// <see cref="IntPtr.Zero" /> upon failure. /// </returns> public static IntPtr Utf8IntPtrFromString( string value, ref int length ) { if (value == null) return IntPtr.Zero; IntPtr result = IntPtr.Zero; byte[] bytes = GetUtf8BytesFromString(value); if (bytes == null) return IntPtr.Zero; |
︙ | |||
3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 | 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 | + + + + + + + + + + + + + + + + + + + + + + + + + - + | /// </param> /// <returns> /// The native pointer to a logical byte array or null upon failure. /// </returns> public static IntPtr ToIntPtr( byte[] value ) { int length = 0; return ToIntPtr(value, ref length); } /////////////////////////////////////////////////////////////////////// /// <summary> /// Converts a managed byte array into a native pointer to a logical /// array of bytes. /// </summary> /// <param name="value"> /// The managed byte array to convert. /// </param> /// <param name="length"> /// The length, in bytes, of the converted logical array of bytes. /// </param> /// <returns> /// The native pointer to a logical byte array or null upon failure. /// </returns> public static IntPtr ToIntPtr( byte[] value, ref int length ) { if (value == null) return IntPtr.Zero; |
︙ |
Added System.Data.SQLite/SQLiteSession.cs.