Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Add support for using the sqlite3_limit() native API via the SetLimitOption method. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
c156d4710cc93151dac6093a3c4a1489 |
User & Date: | mistachkin 2019-10-26 23:26:58.418 |
Context
2019-10-26
| ||
23:47 | Add preliminary support for .NET Core 3.0 and the .NET Standard 2.1. Pursuant to [ce75d320d0]. check-in: f27654c95b user: mistachkin tags: trunk | |
23:26 | Add support for using the sqlite3_limit() native API via the SetLimitOption method. check-in: c156d4710c user: mistachkin tags: trunk | |
23:06 | Fix test name. Closed-Leaf check-in: 08dc03fa55 user: mistachkin tags: limits | |
2019-10-20
| ||
04:37 | Update Eagle in externals to the beta 45 release. check-in: a8c34ef499 user: mistachkin tags: trunk | |
Changes
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.112.0 - October XX, 2019 <font color="red">(release scheduled)</font></b></p> <ul> <li>Updated to <a href="https://www.sqlite.org/releaselog/3_30_0.html">SQLite 3.30.0</a>.</li> <li>Add support for new DBCONFIG options from the SQLite core library. Pursuant to <a href="https://system.data.sqlite.org/index.html/info/03b6b0edd7">[03b6b0edd7]</a>.</li> </ul> <p><b>1.0.111.0 - June 10, 2019</b></p> <ul> <li>Updated to <a href="https://www.sqlite.org/releaselog/3_28_0.html">SQLite 3.28.0</a>.</li> <li>Add No_SQLiteLog environment variable.</li> </ul> <p><b>1.0.110.0 - March 4, 2019</b></p> | > | 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.112.0 - October XX, 2019 <font color="red">(release scheduled)</font></b></p> <ul> <li>Updated to <a href="https://www.sqlite.org/releaselog/3_30_0.html">SQLite 3.30.0</a>.</li> <li>Add support for new DBCONFIG options from the SQLite core library. Pursuant to <a href="https://system.data.sqlite.org/index.html/info/03b6b0edd7">[03b6b0edd7]</a>.</li> <li>Add SetLimitOption method to the SQLiteConnection class.</li> </ul> <p><b>1.0.111.0 - June 10, 2019</b></p> <ul> <li>Updated to <a href="https://www.sqlite.org/releaselog/3_28_0.html">SQLite 3.28.0</a>.</li> <li>Add No_SQLiteLog environment variable.</li> </ul> <p><b>1.0.110.0 - March 4, 2019</b></p> |
︙ | ︙ |
Changes to System.Data.SQLite/SQLite3.cs.
︙ | ︙ | |||
2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 | SQLiteStatusOpsEnum.SQLITE_DBSTATUS_CACHE_WRITE, SQLiteStatusOpsEnum.SQLITE_DBSTATUS_DEFERRED_FKS, SQLiteStatusOpsEnum.SQLITE_DBSTATUS_CACHE_USED_SHARED); #endif return builder.ToString(); } /// <summary> /// Builds an error message string fragment containing the /// defined values of the <see cref="SQLiteConfigDbOpsEnum" /> /// enumeration. /// </summary> /// <returns> | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 | SQLiteStatusOpsEnum.SQLITE_DBSTATUS_CACHE_WRITE, SQLiteStatusOpsEnum.SQLITE_DBSTATUS_DEFERRED_FKS, SQLiteStatusOpsEnum.SQLITE_DBSTATUS_CACHE_USED_SHARED); #endif return builder.ToString(); } /// <summary> /// Builds an error message string fragment containing the /// defined values of the <see cref="SQLiteLimitOpsEnum" /> /// enumeration. /// </summary> /// <returns> /// The built string fragment. /// </returns> private static string GetLimitOpsNames() { StringBuilder builder = new StringBuilder(); #if !PLATFORM_COMPACTFRAMEWORK foreach (string name in Enum.GetNames( typeof(SQLiteLimitOpsEnum))) { if (String.IsNullOrEmpty(name)) continue; if (builder.Length > 0) builder.Append(", "); builder.Append(name); } #else // // TODO: Update this list if the available values in the // "SQLiteLimitOpsEnum" enumeration change. // builder.AppendFormat(CultureInfo.InvariantCulture, "{0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}", SQLiteConfigDbOpsEnum.SQLITE_LIMIT_LENGTH, SQLiteConfigDbOpsEnum.SQLITE_LIMIT_SQL_LENGTH, SQLiteConfigDbOpsEnum.SQLITE_LIMIT_COLUMN, SQLiteConfigDbOpsEnum.SQLITE_LIMIT_EXPR_DEPTH, SQLiteConfigDbOpsEnum.SQLITE_LIMIT_COMPOUND_SELECT, SQLiteConfigDbOpsEnum.SQLITE_LIMIT_VDBE_OP, SQLiteConfigDbOpsEnum.SQLITE_LIMIT_FUNCTION_ARG, SQLiteConfigDbOpsEnum.SQLITE_LIMIT_ATTACHED, SQLiteConfigDbOpsEnum.SQLITE_LIMIT_LIKE_PATTERN_LENGTH, SQLiteConfigDbOpsEnum.SQLITE_LIMIT_VARIABLE_NUMBER, SQLiteConfigDbOpsEnum.SQLITE_LIMIT_TRIGGER_DEPTH, SQLiteConfigDbOpsEnum.SQLITE_LIMIT_WORKER_THREADS); #endif return builder.ToString(); } /// <summary> /// Builds an error message string fragment containing the /// defined values of the <see cref="SQLiteConfigDbOpsEnum" /> /// enumeration. /// </summary> /// <returns> |
︙ | ︙ | |||
2886 2887 2888 2889 2890 2891 2892 | } #else // // TODO: Update this list if the available values in the // "SQLiteConfigDbOpsEnum" enumeration change. // builder.AppendFormat(CultureInfo.InvariantCulture, | | > | > > > > > > > | 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 | } #else // // TODO: Update this list if the available values in the // "SQLiteConfigDbOpsEnum" enumeration change. // builder.AppendFormat(CultureInfo.InvariantCulture, "{0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, " + "{9}, {10}, {11}, {12}, {13}, {14}, {15}, {16}", SQLiteConfigDbOpsEnum.SQLITE_DBCONFIG_NONE, SQLiteConfigDbOpsEnum.SQLITE_DBCONFIG_MAINDBNAME, SQLiteConfigDbOpsEnum.SQLITE_DBCONFIG_LOOKASIDE, SQLiteConfigDbOpsEnum.SQLITE_DBCONFIG_ENABLE_FKEY, SQLiteConfigDbOpsEnum.SQLITE_DBCONFIG_ENABLE_TRIGGER, SQLiteConfigDbOpsEnum.SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER, SQLiteConfigDbOpsEnum.SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION, SQLiteConfigDbOpsEnum.SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE, SQLiteConfigDbOpsEnum.SQLITE_DBCONFIG_ENABLE_QPSG, SQLiteConfigDbOpsEnum.SQLITE_DBCONFIG_TRIGGER_EQP, SQLiteConfigDbOpsEnum.SQLITE_DBCONFIG_RESET_DATABASE, SQLiteConfigDbOpsEnum.SQLITE_DBCONFIG_DEFENSIVE, SQLiteConfigDbOpsEnum.SQLITE_DBCONFIG_WRITABLE_SCHEMA, SQLiteConfigDbOpsEnum.SQLITE_DBCONFIG_LEGACY_ALTER_TABLE, SQLiteConfigDbOpsEnum.SQLITE_DBCONFIG_DQS_DML, SQLiteConfigDbOpsEnum.SQLITE_DBCONFIG_DQS_DDL, SQLiteConfigDbOpsEnum.SQLITE_DBCONFIG_ENABLE_VIEW); #endif return builder.ToString(); } /// <summary> /// Returns the current and/or highwater values for the specified |
︙ | ︙ | |||
2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 | "unrecognized status option, must be: {0}", GetStatusDbOpsNames())); } return UnsafeNativeMethods.sqlite3_db_status( _sql, option, ref current, ref highwater, reset ? 1 : 0); } /// <summary> /// Change a configuration option value for the database. | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > < | 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 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 | "unrecognized status option, must be: {0}", GetStatusDbOpsNames())); } return UnsafeNativeMethods.sqlite3_db_status( _sql, option, ref current, ref highwater, reset ? 1 : 0); } /// <summary> /// Change a limit value for the database. /// </summary> /// <param name="option"> /// The database limit to change. /// </param> /// <param name="value"> /// The new value for the specified limit. /// </param> /// <returns> /// The old value for the specified limit -OR- negative one if an error /// occurs. /// </returns> internal override int SetLimitOption( SQLiteLimitOpsEnum option, int value ) { if (!Enum.IsDefined(typeof(SQLiteLimitOpsEnum), option)) { throw new SQLiteException(HelperMethods.StringFormat( CultureInfo.CurrentCulture, "unrecognized limit option, must be: {0}", GetLimitOpsNames())); } return UnsafeNativeMethods.sqlite3_limit(_sql, option, value); } /// <summary> /// Change a configuration option value for the database. /// </summary> /// <param name="option"> /// The database configuration option to change. /// </param> /// <param name="value"> /// The new value for the specified configuration option. /// </param> |
︙ | ︙ |
Changes to System.Data.SQLite/SQLiteBase.cs.
︙ | ︙ | |||
390 391 392 393 394 395 396 397 398 399 400 401 402 403 | /// If applicable, receives the highwater value. /// </param> /// <returns> /// A standard SQLite return code. /// </returns> internal abstract SQLiteErrorCode GetStatusParameter(SQLiteStatusOpsEnum option, bool reset, ref int current, ref int highwater); /// <summary> /// Change a configuration option value for the database. /// </summary> /// <param name="option"> /// The database configuration option to change. /// </param> /// <param name="value"> /// The new value for the specified configuration option. | > > > > > > > > > > > > > > | 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 | /// If applicable, receives the highwater value. /// </param> /// <returns> /// A standard SQLite return code. /// </returns> internal abstract SQLiteErrorCode GetStatusParameter(SQLiteStatusOpsEnum option, bool reset, ref int current, ref int highwater); /// <summary> /// Change a limit value for the database. /// </summary> /// <param name="option"> /// The database limit to change. /// </param> /// <param name="value"> /// The new value for the specified limit. /// </param> /// <returns> /// The old value for the specified limit -OR- negative one if an error /// occurs. /// </returns> internal abstract int SetLimitOption(SQLiteLimitOpsEnum option, int value); /// <summary> /// Change a configuration option value for the database. /// </summary> /// <param name="option"> /// The database configuration option to change. /// </param> /// <param name="value"> /// The new value for the specified configuration option. |
︙ | ︙ | |||
1703 1704 1705 1706 1707 1708 1709 | { SQLITE_TRACE_NONE = 0x0, // nil SQLITE_TRACE_STMT = 0x1, // pStmt, zSql SQLITE_TRACE_PROFILE = 0x2, // pStmt, piNsec64 SQLITE_TRACE_ROW = 0x4, // pStmt SQLITE_TRACE_CLOSE = 0x8 // pDb } | | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 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 | { SQLITE_TRACE_NONE = 0x0, // nil SQLITE_TRACE_STMT = 0x1, // pStmt, zSql SQLITE_TRACE_PROFILE = 0x2, // pStmt, piNsec64 SQLITE_TRACE_ROW = 0x4, // pStmt SQLITE_TRACE_CLOSE = 0x8 // pDb } /// <summary> /// These constants are used with the sqlite3_limit() API. /// </summary> public enum SQLiteLimitOpsEnum { /// <summary> /// This value represents an unknown (or invalid) limit, do not use it. /// </summary> SQLITE_LIMIT_NONE = -1, /// <summary> /// The maximum size of any string or BLOB or table row, in bytes. /// </summary> SQLITE_LIMIT_LENGTH = 0, /// <summary> /// The maximum length of an SQL statement, in bytes. /// </summary> SQLITE_LIMIT_SQL_LENGTH = 1, /// <summary> /// The maximum number of columns in a table definition or in the /// result set of a SELECT or the maximum number of columns in an /// index or in an ORDER BY or GROUP BY clause. /// </summary> SQLITE_LIMIT_COLUMN = 2, /// <summary> /// The maximum depth of the parse tree on any expression. /// </summary> SQLITE_LIMIT_EXPR_DEPTH = 3, /// <summary> /// The maximum number of terms in a compound SELECT statement. /// </summary> SQLITE_LIMIT_COMPOUND_SELECT = 4, /// <summary> /// The maximum number of instructions in a virtual machine program /// used to implement an SQL statement. If sqlite3_prepare_v2() or /// the equivalent tries to allocate space for more than this many /// opcodes in a single prepared statement, an SQLITE_NOMEM error /// is returned. /// </summary> SQLITE_LIMIT_VDBE_OP = 5, /// <summary> /// The maximum number of arguments on a function. /// </summary> SQLITE_LIMIT_FUNCTION_ARG = 6, /// <summary> /// The maximum number of attached databases. /// </summary> SQLITE_LIMIT_ATTACHED = 7, /// <summary> /// The maximum length of the pattern argument to the LIKE or GLOB /// operators. /// </summary> SQLITE_LIMIT_LIKE_PATTERN_LENGTH = 8, /// <summary> /// The maximum index number of any parameter in an SQL statement. /// </summary> SQLITE_LIMIT_VARIABLE_NUMBER = 9, /// <summary> /// The maximum depth of recursion for triggers. /// </summary> SQLITE_LIMIT_TRIGGER_DEPTH = 10, /// <summary> /// The maximum number of auxiliary worker threads that a single /// prepared statement may start. /// </summary> SQLITE_LIMIT_WORKER_THREADS = 11 } } |
Changes to System.Data.SQLite/SQLiteConnection.cs.
︙ | ︙ | |||
3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 | catch { result = 0; return false; } #endif } /// <summary> /// Change a configuration option value for the database. /// </summary> /// <param name="option"> /// The database configuration option to change. /// </param> | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 | catch { result = 0; return false; } #endif } /// <summary> /// Change a limit value for the database. /// </summary> /// <param name="option"> /// The database limit to change. /// </param> /// <param name="value"> /// The new value for the specified limit. /// </param> /// <returns> /// The old value for the specified limit -OR- negative one if an error /// occurs. /// </returns> public int SetLimitOption( SQLiteLimitOpsEnum option, int value ) { CheckDisposed(); if (_sql == null) { throw new InvalidOperationException( "Database connection not valid for changing a limit option."); } return _sql.SetLimitOption(option, value); } /// <summary> /// Change a configuration option value for the database. /// </summary> /// <param name="option"> /// The database configuration option to change. /// </param> |
︙ | ︙ |
Changes to System.Data.SQLite/UnsafeNativeMethods.cs.
︙ | ︙ | |||
4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 | #if !PLATFORM_COMPACTFRAMEWORK [DllImport(SQLITE_DLL, CallingConvention = CallingConvention.Cdecl)] #else [DllImport(SQLITE_DLL)] #endif internal static extern IntPtr sqlite3_trace_v2(IntPtr db, SQLiteTraceFlags mask, SQLiteTraceCallback2 func, IntPtr pvUser); // Since sqlite3_config() takes a variable argument list, we have to overload declarations // for all possible calls that we want to use. #if !PLATFORM_COMPACTFRAMEWORK [DllImport(SQLITE_DLL, EntryPoint = "sqlite3_config", CallingConvention = CallingConvention.Cdecl)] #else [DllImport(SQLITE_DLL, EntryPoint = "sqlite3_config")] #endif | > > > > > > > | 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 | #if !PLATFORM_COMPACTFRAMEWORK [DllImport(SQLITE_DLL, CallingConvention = CallingConvention.Cdecl)] #else [DllImport(SQLITE_DLL)] #endif internal static extern IntPtr sqlite3_trace_v2(IntPtr db, SQLiteTraceFlags mask, SQLiteTraceCallback2 func, IntPtr pvUser); #if !PLATFORM_COMPACTFRAMEWORK [DllImport(SQLITE_DLL, CallingConvention = CallingConvention.Cdecl)] #else [DllImport(SQLITE_DLL)] #endif internal static extern int sqlite3_limit(IntPtr db, SQLiteLimitOpsEnum op, int value); // Since sqlite3_config() takes a variable argument list, we have to overload declarations // for all possible calls that we want to use. #if !PLATFORM_COMPACTFRAMEWORK [DllImport(SQLITE_DLL, EntryPoint = "sqlite3_config", CallingConvention = CallingConvention.Cdecl)] #else [DllImport(SQLITE_DLL, EntryPoint = "sqlite3_config")] #endif |
︙ | ︙ |
Changes to Tests/basic.eagle.
︙ | ︙ | |||
5498 5499 5500 5501 5502 5503 5504 5505 5506 5507 5508 5509 5510 5511 | (net471) (net472) (net48) (netXX) (netstandard2.0) (netstandard2.1) (.NETStandard,Version=vX.X)}} ############################################################################### reportSQLiteResources $test_channel ############################################################################### | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 5498 5499 5500 5501 5502 5503 5504 5505 5506 5507 5508 5509 5510 5511 5512 5513 5514 5515 5516 5517 5518 5519 5520 5521 5522 5523 5524 5525 5526 5527 5528 5529 5530 5531 5532 5533 5534 5535 5536 5537 5538 5539 5540 5541 5542 5543 5544 5545 5546 5547 5548 5549 5550 5551 | (net471) (net472) (net48) (netXX) (netstandard2.0) (netstandard2.1) (.NETStandard,Version=vX.X)}} ############################################################################### runTest {test data-1.103 {SetLimitOption method} -setup { setupDb [set fileName data-1.103.db] } -body { set limits [list] lappend limits SQLITE_LIMIT_NONE lappend limits SQLITE_LIMIT_LENGTH lappend limits SQLITE_LIMIT_SQL_LENGTH lappend limits SQLITE_LIMIT_COLUMN lappend limits SQLITE_LIMIT_EXPR_DEPTH lappend limits SQLITE_LIMIT_COMPOUND_SELECT lappend limits SQLITE_LIMIT_VDBE_OP lappend limits SQLITE_LIMIT_FUNCTION_ARG lappend limits SQLITE_LIMIT_ATTACHED lappend limits SQLITE_LIMIT_LIKE_PATTERN_LENGTH lappend limits SQLITE_LIMIT_VARIABLE_NUMBER lappend limits SQLITE_LIMIT_TRIGGER_DEPTH lappend limits SQLITE_LIMIT_WORKER_THREADS set connection [getDbConnection] foreach limit $limits { lappend result [$connection SetLimitOption $limit 1] lappend result [$connection SetLimitOption $limit 2] } set result } -cleanup { cleanupDb $fileName freeDbConnection unset -nocomplain value result limit limits unset -nocomplain connection db fileName } -constraints {eagle monoBug28 command.sql compile.DATA SQLite\ System.Data.SQLite} -result {-1 -1 1000000000 1 1000000000 1 2000 1 1000 1 500\ 1 250000000 1 127 1 10 1 50000 1 999 1 1000 1 0 1}} ############################################################################### reportSQLiteResources $test_channel ############################################################################### |
︙ | ︙ |
Changes to readme.htm.
︙ | ︙ | |||
209 210 211 212 213 214 215 216 217 218 219 220 221 222 | <p> <b>1.0.112.0 - October XX, 2019 <font color="red">(release scheduled)</font></b> </p> <ul> <li>Updated to <a href="https://www.sqlite.org/releaselog/3_30_0.html">SQLite 3.30.0</a>.</li> <li>Add support for new DBCONFIG options from the SQLite core library. Pursuant to [03b6b0edd7].</li> </ul> <p> <b>1.0.111.0 - June 10, 2019</b> </p> <ul> <li>Updated to <a href="https://www.sqlite.org/releaselog/3_28_0.html">SQLite 3.28.0</a>.</li> <li>Add No_SQLiteLog environment variable.</li> | > | 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 | <p> <b>1.0.112.0 - October XX, 2019 <font color="red">(release scheduled)</font></b> </p> <ul> <li>Updated to <a href="https://www.sqlite.org/releaselog/3_30_0.html">SQLite 3.30.0</a>.</li> <li>Add support for new DBCONFIG options from the SQLite core library. Pursuant to [03b6b0edd7].</li> <li>Add SetLimitOption method to the SQLiteConnection class.</li> </ul> <p> <b>1.0.111.0 - June 10, 2019</b> </p> <ul> <li>Updated to <a href="https://www.sqlite.org/releaselog/3_28_0.html">SQLite 3.28.0</a>.</li> <li>Add No_SQLiteLog environment variable.</li> |
︙ | ︙ |
Changes to www/news.wiki.
︙ | ︙ | |||
46 47 48 49 50 51 52 53 54 55 56 57 58 59 | <p> <b>1.0.112.0 - October XX, 2019 <font color="red">(release scheduled)</font></b> </p> <ul> <li>Updated to [https://www.sqlite.org/releaselog/3_30_0.html|SQLite 3.30.0].</li> <li>Add support for new DBCONFIG options from the SQLite core library. Pursuant to [03b6b0edd7].</li> </ul> <p> <b>1.0.111.0 - June 10, 2019</b> </p> <ul> <li>Updated to [https://www.sqlite.org/releaselog/3_28_0.html|SQLite 3.28.0].</li> <li>Add No_SQLiteLog environment variable.</li> | > | 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | <p> <b>1.0.112.0 - October XX, 2019 <font color="red">(release scheduled)</font></b> </p> <ul> <li>Updated to [https://www.sqlite.org/releaselog/3_30_0.html|SQLite 3.30.0].</li> <li>Add support for new DBCONFIG options from the SQLite core library. Pursuant to [03b6b0edd7].</li> <li>Add SetLimitOption method to the SQLiteConnection class.</li> </ul> <p> <b>1.0.111.0 - June 10, 2019</b> </p> <ul> <li>Updated to [https://www.sqlite.org/releaselog/3_28_0.html|SQLite 3.28.0].</li> <li>Add No_SQLiteLog environment variable.</li> |
︙ | ︙ |