Skip to content

Commit 4ac1b67

Browse files
committed
Prepare release of wxSQLite3 4.9.11
- Update to SQLite3 Multiple Ciphers 1.8.6 (based on SQLite 3.46.0)
1 parent 1e387a4 commit 4ac1b67

File tree

7 files changed

+6230
-4017
lines changed

7 files changed

+6230
-4017
lines changed

Diff for: configure.ac

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ dnl Copyright (C) 2017-2024 Ulrich Telle <[email protected]>, Vadim Zeitlin
44
dnl
55
dnl This file is covered by the same licence as the entire wxSQLite3 package.
66

7-
AC_INIT([wxsqlite3], [4.9.10], [[email protected]])
7+
AC_INIT([wxsqlite3], [4.9.11], [[email protected]])
88

99
dnl This is the version tested with, might work with earlier ones.
1010
AC_PREREQ([2.69])

Diff for: docs/Doxyfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ PROJECT_NAME = wxSQLite3
4848
# could be handy for archiving the generated documentation or if some version
4949
# control system is used.
5050

51-
PROJECT_NUMBER = 4.9.10
51+
PROJECT_NUMBER = 4.9.11
5252

5353
# Using the PROJECT_BRIEF tag one can provide an optional one line description
5454
# for a project that appears at the top of each page and should give viewer a

Diff for: include/wx/wxsqlite3_version.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414

1515
#define WXSQLITE3_MAJOR_VERSION 4
1616
#define WXSQLITE3_MINOR_VERSION 9
17-
#define WXSQLITE3_RELEASE_NUMBER 10
17+
#define WXSQLITE3_RELEASE_NUMBER 11
1818
#define WXSQLITE3_SUBRELEASE_NUMBER 0
19-
#define WXSQLITE3_VERSION_STRING "wxSQLite3 4.9.10"
19+
#define WXSQLITE3_VERSION_STRING "wxSQLite3 4.9.11"
2020

2121
#endif // WXSQLITE3_VERSION_H_

Diff for: include/wx/wxsqlite3def.h

+6
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,12 @@
4646
4747
<dl>
4848
49+
<dt><b>4.9.11</b> - <i>June 2024</i></dt>
50+
<dd>
51+
Upgrade to <i>SQLite3 Multiple Ciphers version 1.8.6 (SQLite version 3.46.0)</i>
52+
53+
</dd>
54+
4955
<dt><b>4.9.10</b> - <i>March 2024</i></dt>
5056
<dd>
5157
Upgrade to <i>SQLite3 Multiple Ciphers version 1.8.4 (SQLite version 3.45.2)</i><br>

Diff for: readme.md

+2
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@ Since August 2020 a new implementation of an encryption extension, capable of su
4949

5050
## <a name="history"></a>Version history
5151

52+
* 4.9.11 - *June 2024*
53+
- Upgrade to SQLite3 Multiple Ciphers version 1.8.6 (SQLite version 3.46.0)
5254
* 4.9.10 - *March 2024*
5355
- Upgrade to SQLite3 Multiple Ciphers version 1.8.4 (SQLite version 3.45.2)
5456
- Disable user authentication extension in build files by default

Diff for: src/sqlite3mc_amalgamation.c

+6,123-3,987
Large diffs are not rendered by default.

Diff for: src/sqlite3mc_amalgamation.h

+95-26
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@
3131

3232
#define SQLITE3MC_VERSION_MAJOR 1
3333
#define SQLITE3MC_VERSION_MINOR 8
34-
#define SQLITE3MC_VERSION_RELEASE 4
34+
#define SQLITE3MC_VERSION_RELEASE 6
3535
#define SQLITE3MC_VERSION_SUBRELEASE 0
36-
#define SQLITE3MC_VERSION_STRING "SQLite3 Multiple Ciphers 1.8.4"
36+
#define SQLITE3MC_VERSION_STRING "SQLite3 Multiple Ciphers 1.8.6"
3737

3838
#endif /* SQLITE3MC_VERSION_H_ */
3939
/*** End of #include "sqlite3mc_version.h" ***/
@@ -192,9 +192,9 @@ extern "C" {
192192
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
193193
** [sqlite_version()] and [sqlite_source_id()].
194194
*/
195-
#define SQLITE_VERSION "3.45.2"
196-
#define SQLITE_VERSION_NUMBER 3045002
197-
#define SQLITE_SOURCE_ID "2024-03-12 11:06:23 d8cd6d49b46a395b13955387d05e9e1a2a47e54fb99f3c9b59835bbefad6af77"
195+
#define SQLITE_VERSION "3.46.0"
196+
#define SQLITE_VERSION_NUMBER 3046000
197+
#define SQLITE_SOURCE_ID "2024-05-23 13:25:27 96c92aba00c8375bc32fafcdf12429c58bd8aabfcadab6683e35bbb9cdebf19e"
198198

199199
/*
200200
** CAPI3REF: Run-Time Library Version Numbers
@@ -810,11 +810,11 @@ struct sqlite3_file {
810810
** </ul>
811811
** xLock() upgrades the database file lock. In other words, xLock() moves the
812812
** database file lock in the direction NONE toward EXCLUSIVE. The argument to
813-
** xLock() is always on of SHARED, RESERVED, PENDING, or EXCLUSIVE, never
813+
** xLock() is always one of SHARED, RESERVED, PENDING, or EXCLUSIVE, never
814814
** SQLITE_LOCK_NONE. If the database file lock is already at or above the
815815
** requested lock, then the call to xLock() is a no-op.
816816
** xUnlock() downgrades the database file lock to either SHARED or NONE.
817-
* If the lock is already at or below the requested lock state, then the call
817+
** If the lock is already at or below the requested lock state, then the call
818818
** to xUnlock() is a no-op.
819819
** The xCheckReservedLock() method checks whether any database connection,
820820
** either in this process or in some other process, is holding a RESERVED,
@@ -2189,6 +2189,22 @@ struct sqlite3_mem_methods {
21892189
** configuration setting is never used, then the default maximum is determined
21902190
** by the [SQLITE_MEMDB_DEFAULT_MAXSIZE] compile-time option. If that
21912191
** compile-time option is not set, then the default maximum is 1073741824.
2192+
**
2193+
** [[SQLITE_CONFIG_ROWID_IN_VIEW]]
2194+
** <dt>SQLITE_CONFIG_ROWID_IN_VIEW
2195+
** <dd>The SQLITE_CONFIG_ROWID_IN_VIEW option enables or disables the ability
2196+
** for VIEWs to have a ROWID. The capability can only be enabled if SQLite is
2197+
** compiled with -DSQLITE_ALLOW_ROWID_IN_VIEW, in which case the capability
2198+
** defaults to on. This configuration option queries the current setting or
2199+
** changes the setting to off or on. The argument is a pointer to an integer.
2200+
** If that integer initially holds a value of 1, then the ability for VIEWs to
2201+
** have ROWIDs is activated. If the integer initially holds zero, then the
2202+
** ability is deactivated. Any other initial value for the integer leaves the
2203+
** setting unchanged. After changes, if any, the integer is written with
2204+
** a 1 or 0, if the ability for VIEWs to have ROWIDs is on or off. If SQLite
2205+
** is compiled without -DSQLITE_ALLOW_ROWID_IN_VIEW (which is the usual and
2206+
** recommended case) then the integer is always filled with zero, regardless
2207+
** if its initial value.
21922208
** </dl>
21932209
*/
21942210
#define SQLITE_CONFIG_SINGLETHREAD 1 /* nil */
@@ -2220,6 +2236,7 @@ struct sqlite3_mem_methods {
22202236
#define SQLITE_CONFIG_SMALL_MALLOC 27 /* boolean */
22212237
#define SQLITE_CONFIG_SORTERREF_SIZE 28 /* int nByte */
22222238
#define SQLITE_CONFIG_MEMDB_MAXSIZE 29 /* sqlite3_int64 */
2239+
#define SQLITE_CONFIG_ROWID_IN_VIEW 30 /* int* */
22232240

22242241
/*
22252242
** CAPI3REF: Database Connection Configuration Options
@@ -3334,8 +3351,8 @@ SQLITE_API int sqlite3_set_authorizer(
33343351
#define SQLITE_RECURSIVE 33 /* NULL NULL */
33353352

33363353
/*
3337-
** CAPI3REF: Tracing And Profiling Functions
3338-
** METHOD: sqlite3
3354+
** CAPI3REF: Deprecated Tracing And Profiling Functions
3355+
** DEPRECATED
33393356
**
33403357
** These routines are deprecated. Use the [sqlite3_trace_v2()] interface
33413358
** instead of the routines described here.
@@ -6916,6 +6933,12 @@ SQLITE_API int sqlite3_autovacuum_pages(
69166933
** The exceptions defined in this paragraph might change in a future
69176934
** release of SQLite.
69186935
**
6936+
** Whether the update hook is invoked before or after the
6937+
** corresponding change is currently unspecified and may differ
6938+
** depending on the type of change. Do not rely on the order of the
6939+
** hook call with regards to the final result of the operation which
6940+
** triggers the hook.
6941+
**
69196942
** The update hook implementation must not do anything that will modify
69206943
** the database connection that invoked the update hook. Any actions
69216944
** to modify the database connection must be deferred until after the
@@ -8386,7 +8409,7 @@ SQLITE_API int sqlite3_test_control(int op, ...);
83868409
** The sqlite3_keyword_count() interface returns the number of distinct
83878410
** keywords understood by SQLite.
83888411
**
8389-
** The sqlite3_keyword_name(N,Z,L) interface finds the N-th keyword and
8412+
** The sqlite3_keyword_name(N,Z,L) interface finds the 0-based N-th keyword and
83908413
** makes *Z point to that keyword expressed as UTF8 and writes the number
83918414
** of bytes in the keyword into *L. The string that *Z points to is not
83928415
** zero-terminated. The sqlite3_keyword_name(N,Z,L) routine returns
@@ -9965,24 +9988,45 @@ SQLITE_API const char *sqlite3_vtab_collation(sqlite3_index_info*,int);
99659988
** <li value="2"><p>
99669989
** ^(If the sqlite3_vtab_distinct() interface returns 2, that means
99679990
** that the query planner does not need the rows returned in any particular
9968-
** order, as long as rows with the same values in all "aOrderBy" columns
9969-
** are adjacent.)^ ^(Furthermore, only a single row for each particular
9970-
** combination of values in the columns identified by the "aOrderBy" field
9971-
** needs to be returned.)^ ^It is always ok for two or more rows with the same
9972-
** values in all "aOrderBy" columns to be returned, as long as all such rows
9973-
** are adjacent. ^The virtual table may, if it chooses, omit extra rows
9974-
** that have the same value for all columns identified by "aOrderBy".
9975-
** ^However omitting the extra rows is optional.
9991+
** order, as long as rows with the same values in all columns identified
9992+
** by "aOrderBy" are adjacent.)^ ^(Furthermore, when two or more rows
9993+
** contain the same values for all columns identified by "colUsed", all but
9994+
** one such row may optionally be omitted from the result.)^
9995+
** The virtual table is not required to omit rows that are duplicates
9996+
** over the "colUsed" columns, but if the virtual table can do that without
9997+
** too much extra effort, it could potentially help the query to run faster.
99769998
** This mode is used for a DISTINCT query.
99779999
** <li value="3"><p>
9978-
** ^(If the sqlite3_vtab_distinct() interface returns 3, that means
9979-
** that the query planner needs only distinct rows but it does need the
9980-
** rows to be sorted.)^ ^The virtual table implementation is free to omit
9981-
** rows that are identical in all aOrderBy columns, if it wants to, but
9982-
** it is not required to omit any rows. This mode is used for queries
10000+
** ^(If the sqlite3_vtab_distinct() interface returns 3, that means the
10001+
** virtual table must return rows in the order defined by "aOrderBy" as
10002+
** if the sqlite3_vtab_distinct() interface had returned 0. However if
10003+
** two or more rows in the result have the same values for all columns
10004+
** identified by "colUsed", then all but one such row may optionally be
10005+
** omitted.)^ Like when the return value is 2, the virtual table
10006+
** is not required to omit rows that are duplicates over the "colUsed"
10007+
** columns, but if the virtual table can do that without
10008+
** too much extra effort, it could potentially help the query to run faster.
10009+
** This mode is used for queries
998310010
** that have both DISTINCT and ORDER BY clauses.
998410011
** </ol>
998510012
**
10013+
** <p>The following table summarizes the conditions under which the
10014+
** virtual table is allowed to set the "orderByConsumed" flag based on
10015+
** the value returned by sqlite3_vtab_distinct(). This table is a
10016+
** restatement of the previous four paragraphs:
10017+
**
10018+
** <table border=1 cellspacing=0 cellpadding=10 width="90%">
10019+
** <tr>
10020+
** <td valign="top">sqlite3_vtab_distinct() return value
10021+
** <td valign="top">Rows are returned in aOrderBy order
10022+
** <td valign="top">Rows with the same value in all aOrderBy columns are adjacent
10023+
** <td valign="top">Duplicates over all colUsed columns may be omitted
10024+
** <tr><td>0<td>yes<td>yes<td>no
10025+
** <tr><td>1<td>no<td>yes<td>no
10026+
** <tr><td>2<td>no<td>yes<td>yes
10027+
** <tr><td>3<td>yes<td>yes<td>yes
10028+
** </table>
10029+
**
998610030
** ^For the purposes of comparing virtual table output values to see if the
998710031
** values are same value for sorting purposes, two NULL values are considered
998810032
** to be the same. In other words, the comparison operator is "IS"
@@ -12027,6 +12071,30 @@ SQLITE_API int sqlite3changegroup_schema(sqlite3_changegroup*, sqlite3*, const c
1202712071
*/
1202812072
SQLITE_API int sqlite3changegroup_add(sqlite3_changegroup*, int nData, void *pData);
1202912073

12074+
/*
12075+
** CAPI3REF: Add A Single Change To A Changegroup
12076+
** METHOD: sqlite3_changegroup
12077+
**
12078+
** This function adds the single change currently indicated by the iterator
12079+
** passed as the second argument to the changegroup object. The rules for
12080+
** adding the change are just as described for [sqlite3changegroup_add()].
12081+
**
12082+
** If the change is successfully added to the changegroup, SQLITE_OK is
12083+
** returned. Otherwise, an SQLite error code is returned.
12084+
**
12085+
** The iterator must point to a valid entry when this function is called.
12086+
** If it does not, SQLITE_ERROR is returned and no change is added to the
12087+
** changegroup. Additionally, the iterator must not have been opened with
12088+
** the SQLITE_CHANGESETAPPLY_INVERT flag. In this case SQLITE_ERROR is also
12089+
** returned.
12090+
*/
12091+
SQLITE_API int sqlite3changegroup_add_change(
12092+
sqlite3_changegroup*,
12093+
sqlite3_changeset_iter*
12094+
);
12095+
12096+
12097+
1203012098
/*
1203112099
** CAPI3REF: Obtain A Composite Changeset From A Changegroup
1203212100
** METHOD: sqlite3_changegroup
@@ -12831,8 +12899,8 @@ struct Fts5PhraseIter {
1283112899
** EXTENSION API FUNCTIONS
1283212900
**
1283312901
** xUserData(pFts):
12834-
** Return a copy of the context pointer the extension function was
12835-
** registered with.
12902+
** Return a copy of the pUserData pointer passed to the xCreateFunction()
12903+
** API when the extension function was registered.
1283612904
**
1283712905
** xColumnTotalSize(pFts, iCol, pnToken):
1283812906
** If parameter iCol is less than zero, set output variable *pnToken
@@ -13475,7 +13543,7 @@ SQLITE_API int sqlite3_user_add(
1347513543
** The sqlite3_user_change() interface can be used to change a users
1347613544
** login credentials or admin privilege. Any user can change their own
1347713545
** login credentials. Only an admin user can change another users login
13478-
** credentials or admin privilege setting. No user may change their own
13546+
** credentials or admin privilege setting. No user may change their own
1347913547
** admin privilege setting.
1348013548
*/
1348113549
SQLITE_API int sqlite3_user_change(
@@ -13709,6 +13777,7 @@ extern "C" {
1370913777
#ifndef SQLITE_PRIVATE
1371013778
#define SQLITE_PRIVATE
1371113779
#endif
13780+
1371213781
SQLITE_PRIVATE int sqlite3mcCheckVfs(const char* zVfs);
1371313782

1371413783
SQLITE_API int sqlite3mc_vfs_create(const char* zVfsReal, int makeDefault);

0 commit comments

Comments
 (0)