From 9aacd2c6780ff9b546da46fde39a3d65ab1a0594 Mon Sep 17 00:00:00 2001 From: utelle Date: Sat, 7 May 2022 22:40:28 +0200 Subject: [PATCH] Prepare release of wxSQLite3 4.8.1 - Update to SQLite3 Multiple Ciphers 1.4.3 (based on SQLite 3.38.5) --- configure.ac | 2 +- docs/Doxyfile | 2 +- include/wx/wxsqlite3_version.h | 4 ++-- include/wx/wxsqlite3def.h | 6 ++++++ readme.md | 2 ++ src/sqlite3mc_amalgamation.c | 38 +++++++++++++++++++++++----------- src/sqlite3mc_amalgamation.h | 10 ++++----- 7 files changed, 43 insertions(+), 21 deletions(-) diff --git a/configure.ac b/configure.ac index e2b7d51a..55a6032f 100644 --- a/configure.ac +++ b/configure.ac @@ -4,7 +4,7 @@ dnl Copyright (C) 2017-2021 Ulrich Telle , Vadim Zeitlin dnl dnl This file is covered by the same licence as the entire wxSQLite3 package. -AC_INIT([wxsqlite3], [4.8.0], [ulrich@telle-online.de]) +AC_INIT([wxsqlite3], [4.8.1], [ulrich@telle-online.de]) dnl This is the version tested with, might work with earlier ones. AC_PREREQ([2.69]) diff --git a/docs/Doxyfile b/docs/Doxyfile index 2f65ce4a..c566243c 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -38,7 +38,7 @@ PROJECT_NAME = wxSQLite3 # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 4.8.0 +PROJECT_NUMBER = 4.8.1 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/include/wx/wxsqlite3_version.h b/include/wx/wxsqlite3_version.h index 26dc64bc..c3e3d946 100644 --- a/include/wx/wxsqlite3_version.h +++ b/include/wx/wxsqlite3_version.h @@ -14,8 +14,8 @@ #define WXSQLITE3_MAJOR_VERSION 4 #define WXSQLITE3_MINOR_VERSION 8 -#define WXSQLITE3_RELEASE_NUMBER 0 +#define WXSQLITE3_RELEASE_NUMBER 1 #define WXSQLITE3_SUBRELEASE_NUMBER 0 -#define WXSQLITE3_VERSION_STRING "wxSQLite3 4.8.0" +#define WXSQLITE3_VERSION_STRING "wxSQLite3 4.8.1" #endif // WXSQLITE3_VERSION_H_ diff --git a/include/wx/wxsqlite3def.h b/include/wx/wxsqlite3def.h index b5453dfe..02caa454 100644 --- a/include/wx/wxsqlite3def.h +++ b/include/wx/wxsqlite3def.h @@ -46,6 +46,12 @@
+
4.8.1 - May 2022
+
+Upgrade to SQLite3 Multiple Ciphers version 1.4.3 (SQLite version 3.38.5)
+ +
+
4.8.0 - April 2022
Upgrade to SQLite3 Multiple Ciphers version 1.4.2 (SQLite version 3.38.3)
diff --git a/readme.md b/readme.md index e2ee8323..287bef53 100644 --- a/readme.md +++ b/readme.md @@ -48,6 +48,8 @@ Since August 2020 a new implementation of an encryption extension, capable of su ## Version history +* 4.8.1 - *May 2022* + - Upgrade to SQLite3 Multiple Ciphers version 1.4.3 (SQLite version 3.38.5) * 4.8.0 - *April 2022* - Upgrade to SQLite3 Multiple Ciphers version 1.4.2 (SQLite version 3.38.3) * 4.7.9 - *April 2022* diff --git a/src/sqlite3mc_amalgamation.c b/src/sqlite3mc_amalgamation.c index 9dd8d43b..ce1d65b2 100644 --- a/src/sqlite3mc_amalgamation.c +++ b/src/sqlite3mc_amalgamation.c @@ -92,7 +92,7 @@ extern SQLITE_API LPWSTR sqlite3_win32_utf8_to_unicode(const char*); /*** Begin of #include "sqlite3patched.c" ***/ /****************************************************************************** ** This file is an amalgamation of many separate C source files from SQLite -** version 3.38.3. By combining all the individual C code files into this +** version 3.38.5. By combining all the individual C code files into this ** single large file, the entire code can be compiled as a single translation ** unit. This allows many compilers to do optimizations that would not be ** possible if the files were compiled separately. Performance improvements @@ -544,9 +544,9 @@ extern "C" { ** [sqlite3_libversion_number()], [sqlite3_sourceid()], ** [sqlite_version()] and [sqlite_source_id()]. */ -#define SQLITE_VERSION "3.38.3" -#define SQLITE_VERSION_NUMBER 3038003 -#define SQLITE_SOURCE_ID "2022-04-27 12:03:15 9547e2c38a1c6f751a77d4d796894dec4dc5d8f5d79b1cd39e1ffc50df7b3be4" +#define SQLITE_VERSION "3.38.5" +#define SQLITE_VERSION_NUMBER 3038005 +#define SQLITE_SOURCE_ID "2022-05-06 15:25:27 78d9c993d404cdfaa7fdd2973fa1052e3da9f66215cff9c5540ebe55c407d9fe" /* ** CAPI3REF: Run-Time Library Version Numbers @@ -88486,6 +88486,8 @@ case OP_Gosub: { /* jump */ /* Most jump operations do a goto to this spot in order to update ** the pOp pointer. */ jump_to_p2: + assert( pOp->p2>0 ); /* There are never any jumps to instruction 0 */ + assert( pOp->p2nOp ); /* Jumps must be in range */ pOp = &aOp[pOp->p2 - 1]; break; } @@ -133970,6 +133972,14 @@ SQLITE_PRIVATE void sqlite3ParseObjectInit(Parse *pParse, sqlite3 *db){ if( db->mallocFailed ) sqlite3ErrorMsg(pParse, "out of memory"); } +/* +** Maximum number of times that we will try again to prepare a statement +** that returns SQLITE_ERROR_RETRY. +*/ +#ifndef SQLITE_MAX_PREPARE_RETRY +# define SQLITE_MAX_PREPARE_RETRY 25 +#endif + /* ** Compile the UTF-8 encoded SQL statement zSql into a statement handle. */ @@ -134144,7 +134154,7 @@ static int sqlite3LockAndPrepare( rc = sqlite3Prepare(db, zSql, nBytes, prepFlags, pOld, ppStmt, pzTail); assert( rc==SQLITE_OK || *ppStmt==0 ); if( rc==SQLITE_OK || db->mallocFailed ) break; - }while( rc==SQLITE_ERROR_RETRY + }while( (rc==SQLITE_ERROR_RETRY && (cnt++)u.pIdxTrans; if( sqlite3ExprCompare(0, pExpr, pX->pIdxExpr, pX->iTabCur)==0 ){ + pExpr = sqlite3ExprSkipCollate(pExpr); preserveExpr(pX, pExpr); pExpr->affExpr = sqlite3ExprAffinity(pExpr); pExpr->op = TK_COLUMN; @@ -148981,6 +148992,8 @@ static SQLITE_NOINLINE void filterPullDown( /* ,--- Because sqlite3ConstructBloomFilter() has will not have set ** vvvvv--' pLevel->regFilter if this were true. */ if( NEVER(pLoop->prereq & notReady) ) continue; + assert( pLevel->addrBrk==0 ); + pLevel->addrBrk = addrNxt; if( pLoop->wsFlags & WHERE_IPK ){ WhereTerm *pTerm = pLoop->aLTerm[0]; int regRowid; @@ -149007,6 +149020,7 @@ static SQLITE_NOINLINE void filterPullDown( VdbeCoverage(pParse->pVdbe); } pLevel->regFilter = 0; + pLevel->addrBrk = 0; } } @@ -234606,7 +234620,7 @@ static void fts5SourceIdFunc( ){ assert( nArg==0 ); UNUSED_PARAM2(nArg, apUnused); - sqlite3_result_text(pCtx, "fts5: 2022-04-27 12:03:15 9547e2c38a1c6f751a77d4d796894dec4dc5d8f5d79b1cd39e1ffc50df7b3be4", -1, SQLITE_TRANSIENT); + sqlite3_result_text(pCtx, "fts5: 2022-05-06 15:25:27 78d9c993d404cdfaa7fdd2973fa1052e3da9f66215cff9c5540ebe55c407d9fe", -1, SQLITE_TRANSIENT); } /* @@ -239735,9 +239749,9 @@ SQLITE_API const char *sqlite3_sourceid(void){ return SQLITE_SOURCE_ID; } #define SQLITE3MC_VERSION_MAJOR 1 #define SQLITE3MC_VERSION_MINOR 4 -#define SQLITE3MC_VERSION_RELEASE 2 +#define SQLITE3MC_VERSION_RELEASE 3 #define SQLITE3MC_VERSION_SUBRELEASE 0 -#define SQLITE3MC_VERSION_STRING "SQLite3 Multiple Ciphers 1.4.2" +#define SQLITE3MC_VERSION_STRING "SQLite3 Multiple Ciphers 1.4.3" #endif /* SQLITE3MC_VERSION_H_ */ /*** End of #include "sqlite3mc_version.h" ***/ @@ -239896,9 +239910,9 @@ extern "C" { ** [sqlite3_libversion_number()], [sqlite3_sourceid()], ** [sqlite_version()] and [sqlite_source_id()]. */ -#define SQLITE_VERSION "3.38.3" -#define SQLITE_VERSION_NUMBER 3038003 -#define SQLITE_SOURCE_ID "2022-04-27 12:03:15 9547e2c38a1c6f751a77d4d796894dec4dc5d8f5d79b1cd39e1ffc50df7b3be4" +#define SQLITE_VERSION "3.38.5" +#define SQLITE_VERSION_NUMBER 3038005 +#define SQLITE_SOURCE_ID "2022-05-06 15:25:27 78d9c993d404cdfaa7fdd2973fa1052e3da9f66215cff9c5540ebe55c407d9fe" /* ** CAPI3REF: Run-Time Library Version Numbers @@ -262721,7 +262735,7 @@ sqlite3mcBtreeSetPageSize(Btree* p, int pageSize, int nReserve, int iFix) ** Change 4: Call sqlite3mcBtreeSetPageSize instead of sqlite3BtreeSetPageSize for main database ** (sqlite3mcBtreeSetPageSize allows to reduce the number of reserved bytes) ** -** This code is generated by the script rekeyvacuum.sh from SQLite version 3.38.3 amalgamation. +** This code is generated by the script rekeyvacuum.sh from SQLite version 3.38.5 amalgamation. */ SQLITE_PRIVATE SQLITE_NOINLINE int sqlite3mcRunVacuumForRekey( char **pzErrMsg, /* Write error message here */ diff --git a/src/sqlite3mc_amalgamation.h b/src/sqlite3mc_amalgamation.h index 9ae59970..67bb75f7 100644 --- a/src/sqlite3mc_amalgamation.h +++ b/src/sqlite3mc_amalgamation.h @@ -31,9 +31,9 @@ #define SQLITE3MC_VERSION_MAJOR 1 #define SQLITE3MC_VERSION_MINOR 4 -#define SQLITE3MC_VERSION_RELEASE 2 +#define SQLITE3MC_VERSION_RELEASE 3 #define SQLITE3MC_VERSION_SUBRELEASE 0 -#define SQLITE3MC_VERSION_STRING "SQLite3 Multiple Ciphers 1.4.2" +#define SQLITE3MC_VERSION_STRING "SQLite3 Multiple Ciphers 1.4.3" #endif /* SQLITE3MC_VERSION_H_ */ /*** End of #include "sqlite3mc_version.h" ***/ @@ -192,9 +192,9 @@ extern "C" { ** [sqlite3_libversion_number()], [sqlite3_sourceid()], ** [sqlite_version()] and [sqlite_source_id()]. */ -#define SQLITE_VERSION "3.38.3" -#define SQLITE_VERSION_NUMBER 3038003 -#define SQLITE_SOURCE_ID "2022-04-27 12:03:15 9547e2c38a1c6f751a77d4d796894dec4dc5d8f5d79b1cd39e1ffc50df7b3be4" +#define SQLITE_VERSION "3.38.5" +#define SQLITE_VERSION_NUMBER 3038005 +#define SQLITE_SOURCE_ID "2022-05-06 15:25:27 78d9c993d404cdfaa7fdd2973fa1052e3da9f66215cff9c5540ebe55c407d9fe" /* ** CAPI3REF: Run-Time Library Version Numbers