better-sqlite3-multiple-ciphers 12.4.6 → 12.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -17,10 +17,10 @@ The fastest and simplest library for SQLite in Node.js. This particular fork sup
17
17
  ## Current versions
18
18
 
19
19
  - ### Stable
20
- - **better-sqlite3-multiple-ciphers** - [`12.4.6`](https://github.com/m4heshd/better-sqlite3-multiple-ciphers/releases/tag/v12.4.6)
21
- - **better-sqlite3** - [`12.4.6`](https://github.com/JoshuaWise/better-sqlite3/releases/tag/v12.4.6)
22
- - **SQLite** - [`3.51.0`](https://www.sqlite.org/releaselog/3_51_0.html)
23
- - **SQLite3 Multiple Ciphers** - [`2.2.5`](https://github.com/utelle/SQLite3MultipleCiphers/releases/tag/v2.2.5)
20
+ - **better-sqlite3-multiple-ciphers** - [`12.5.0`](https://github.com/m4heshd/better-sqlite3-multiple-ciphers/releases/tag/v12.5.0)
21
+ - **better-sqlite3** - [`12.5.0`](https://github.com/JoshuaWise/better-sqlite3/releases/tag/v12.5.0)
22
+ - **SQLite** - [`3.51.1`](https://www.sqlite.org/releaselog/3_51_1.html)
23
+ - **SQLite3 Multiple Ciphers** - [`2.2.6`](https://github.com/utelle/SQLite3MultipleCiphers/releases/tag/v2.2.6)
24
24
 
25
25
  - ### Beta
26
26
  - **better-sqlite3-multiple-ciphers** - [`11.0.0-beta.0`](https://github.com/m4heshd/better-sqlite3-multiple-ciphers/releases/tag/v11.0.0-beta.0)
@@ -123,7 +123,7 @@ SQLITE_API LPWSTR sqlite3_win32_utf8_to_unicode(const char*);
123
123
  /*** Begin of #include "sqlite3patched.c" ***/
124
124
  /******************************************************************************
125
125
  ** This file is an amalgamation of many separate C source files from SQLite
126
- ** version 3.51.0. By combining all the individual C code files into this
126
+ ** version 3.51.1. By combining all the individual C code files into this
127
127
  ** single large file, the entire code can be compiled as a single translation
128
128
  ** unit. This allows many compilers to do optimizations that would not be
129
129
  ** possible if the files were compiled separately. Performance improvements
@@ -141,7 +141,7 @@ SQLITE_API LPWSTR sqlite3_win32_utf8_to_unicode(const char*);
141
141
  ** separate file. This file contains only code for the core SQLite library.
142
142
  **
143
143
  ** The content in this amalgamation comes from Fossil check-in
144
- ** fb2c931ae597f8d00a37574ff67aeed3eced with changes in files:
144
+ ** 281fc0e9afc38674b9b0991943b9e9d1e64c with changes in files:
145
145
  **
146
146
  **
147
147
  */
@@ -591,12 +591,12 @@ extern "C" {
591
591
  ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
592
592
  ** [sqlite_version()] and [sqlite_source_id()].
593
593
  */
594
- #define SQLITE_VERSION "3.51.0"
595
- #define SQLITE_VERSION_NUMBER 3051000
596
- #define SQLITE_SOURCE_ID "2025-11-04 19:38:17 fb2c931ae597f8d00a37574ff67aeed3eced4e5547f9120744a-experimental"
597
- #define SQLITE_SCM_BRANCH "unknown"
598
- #define SQLITE_SCM_TAGS "unknown"
599
- #define SQLITE_SCM_DATETIME "2025-11-04T19:38:17.314Z"
594
+ #define SQLITE_VERSION "3.51.1"
595
+ #define SQLITE_VERSION_NUMBER 3051001
596
+ #define SQLITE_SOURCE_ID "2025-11-28 17:28:25 281fc0e9afc38674b9b0991943b9e9d1e64c6cbdb133d35f6f5c87ff6af38a88"
597
+ #define SQLITE_SCM_BRANCH "branch-3.51"
598
+ #define SQLITE_SCM_TAGS "release version-3.51.1"
599
+ #define SQLITE_SCM_DATETIME "2025-11-28T17:28:25.933Z"
600
600
 
601
601
  /*
602
602
  ** CAPI3REF: Run-Time Library Version Numbers
@@ -10871,7 +10871,7 @@ SQLITE_API int sqlite3_vtab_in(sqlite3_index_info*, int iCons, int bHandle);
10871
10871
  **   ){
10872
10872
  **   // do something with pVal
10873
10873
  **   }
10874
- **   if( rc!=SQLITE_OK ){
10874
+ **   if( rc!=SQLITE_DONE ){
10875
10875
  **   // an error has occurred
10876
10876
  **   }
10877
10877
  ** </pre></blockquote>)^
@@ -38148,6 +38148,7 @@ SQLITE_PRIVATE void *sqlite3HashInsert(Hash *pH, const char *pKey, void *data){
38148
38148
  return 0;
38149
38149
  }
38150
38150
 
38151
+
38151
38152
  /************** End of hash.c ************************************************/
38152
38153
  /************** Begin file opcodes.c *****************************************/
38153
38154
  /* Automatically generated. Do not edit */
@@ -130815,6 +130816,7 @@ SQLITE_PRIVATE void sqlite3SchemaClear(void *p){
130815
130816
  for(pElem=sqliteHashFirst(&temp2); pElem; pElem=sqliteHashNext(pElem)){
130816
130817
  sqlite3DeleteTrigger(&xdb, (Trigger*)sqliteHashData(pElem));
130817
130818
  }
130819
+
130818
130820
  sqlite3HashClear(&temp2);
130819
130821
  sqlite3HashInit(&pSchema->tblHash);
130820
130822
  for(pElem=sqliteHashFirst(&temp1); pElem; pElem=sqliteHashNext(pElem)){
@@ -161145,9 +161147,12 @@ SQLITE_PRIVATE int sqlite3VtabEponymousTableInit(Parse *pParse, Module *pMod){
161145
161147
  addModuleArgument(pParse, pTab, sqlite3DbStrDup(db, pTab->zName));
161146
161148
  addModuleArgument(pParse, pTab, 0);
161147
161149
  addModuleArgument(pParse, pTab, sqlite3DbStrDup(db, pTab->zName));
161150
+ db->nSchemaLock++;
161148
161151
  rc = vtabCallConstructor(db, pTab, pMod, pModule->xConnect, &zErr);
161152
+ db->nSchemaLock--;
161149
161153
  if( rc ){
161150
161154
  sqlite3ErrorMsg(pParse, "%s", zErr);
161155
+ pParse->rc = rc;
161151
161156
  sqlite3DbFree(db, zErr);
161152
161157
  sqlite3VtabEponymousTableClear(db, pMod);
161153
161158
  }
@@ -174209,8 +174214,22 @@ SQLITE_PRIVATE void sqlite3WhereEnd(WhereInfo *pWInfo){
174209
174214
  sqlite3VdbeAddOp2(v, OP_Goto, 1, pLevel->p2);
174210
174215
  }
174211
174216
  #endif /* SQLITE_DISABLE_SKIPAHEAD_DISTINCT */
174212
- if( pTabList->a[pLevel->iFrom].fg.fromExists ){
174213
- sqlite3VdbeAddOp2(v, OP_Goto, 0, sqlite3VdbeCurrentAddr(v)+2);
174217
+ if( pTabList->a[pLevel->iFrom].fg.fromExists && i==pWInfo->nLevel-1 ){
174218
+ /* If the EXISTS-to-JOIN optimization was applied, then the EXISTS
174219
+ ** loop(s) will be the inner-most loops of the join. There might be
174220
+ ** multiple EXISTS loops, but they will all be nested, and the join
174221
+ ** order will not have been changed by the query planner. If the
174222
+ ** inner-most EXISTS loop sees a single successful row, it should
174223
+ ** break out of *all* EXISTS loops. But only the inner-most of the
174224
+ ** nested EXISTS loops should do this breakout. */
174225
+ int nOuter = 0; /* Nr of outer EXISTS that this one is nested within */
174226
+ while( nOuter<i ){
174227
+ if( !pTabList->a[pLevel[-nOuter-1].iFrom].fg.fromExists ) break;
174228
+ nOuter++;
174229
+ }
174230
+ testcase( nOuter>0 );
174231
+ sqlite3VdbeAddOp2(v, OP_Goto, 0, pLevel[-nOuter].addrBrk);
174232
+ VdbeComment((v, "EXISTS break"));
174214
174233
  }
174215
174234
  /* The common case: Advance to the next row */
174216
174235
  if( pLevel->addrCont ) sqlite3VdbeResolveLabel(v, pLevel->addrCont);
@@ -186415,6 +186434,7 @@ SQLITE_PRIVATE void sqlite3LeaveMutexAndCloseZombie(sqlite3 *db){
186415
186434
  /* Clear the TEMP schema separately and last */
186416
186435
  if( db->aDb[1].pSchema ){
186417
186436
  sqlite3SchemaClear(db->aDb[1].pSchema);
186437
+ assert( db->aDb[1].pSchema->trigHash.count==0 );
186418
186438
  }
186419
186439
  sqlite3VtabUnlockList(db);
186420
186440
 
@@ -187743,7 +187763,7 @@ SQLITE_API const char *sqlite3_errmsg(sqlite3 *db){
187743
187763
  */
187744
187764
  SQLITE_API int sqlite3_set_errmsg(sqlite3 *db, int errcode, const char *zMsg){
187745
187765
  int rc = SQLITE_OK;
187746
- if( !sqlite3SafetyCheckSickOrOk(db) ){
187766
+ if( !sqlite3SafetyCheckOk(db) ){
187747
187767
  return SQLITE_MISUSE_BKPT;
187748
187768
  }
187749
187769
  sqlite3_mutex_enter(db->mutex);
@@ -249418,6 +249438,7 @@ static void fts5SegIterReverseInitPage(Fts5Index *p, Fts5SegIter *pIter){
249418
249438
  while( 1 ){
249419
249439
  u64 iDelta = 0;
249420
249440
 
249441
+ if( i>=n ) break;
249421
249442
  if( eDetail==FTS5_DETAIL_NONE ){
249422
249443
  /* todo */
249423
249444
  if( i<n && a[i]==0 ){
@@ -260481,7 +260502,7 @@ static void fts5SourceIdFunc(
260481
260502
  ){
260482
260503
  assert( nArg==0 );
260483
260504
  UNUSED_PARAM2(nArg, apUnused);
260484
- sqlite3_result_text(pCtx, "fts5: 2025-11-04 19:38:17 fb2c931ae597f8d00a37574ff67aeed3eced4e5547f9120744ae4bfa8e74527b", -1, SQLITE_TRANSIENT);
260505
+ sqlite3_result_text(pCtx, "fts5: 2025-11-28 17:28:25 281fc0e9afc38674b9b0991943b9e9d1e64c6cbdb133d35f6f5c87ff6af38a88", -1, SQLITE_TRANSIENT);
260485
260506
  }
260486
260507
 
260487
260508
  /*
@@ -265302,7 +265323,12 @@ static int fts5VocabOpenMethod(
265302
265323
  return rc;
265303
265324
  }
265304
265325
 
265326
+ /*
265327
+ ** Restore cursor pCsr to the state it was in immediately after being
265328
+ ** created by the xOpen() method.
265329
+ */
265305
265330
  static void fts5VocabResetCursor(Fts5VocabCursor *pCsr){
265331
+ int nCol = pCsr->pFts5->pConfig->nCol;
265306
265332
  pCsr->rowid = 0;
265307
265333
  sqlite3Fts5IterClose(pCsr->pIter);
265308
265334
  sqlite3Fts5StructureRelease(pCsr->pStruct);
@@ -265312,6 +265338,12 @@ static void fts5VocabResetCursor(Fts5VocabCursor *pCsr){
265312
265338
  pCsr->nLeTerm = -1;
265313
265339
  pCsr->zLeTerm = 0;
265314
265340
  pCsr->bEof = 0;
265341
+ pCsr->iCol = 0;
265342
+ pCsr->iInstPos = 0;
265343
+ pCsr->iInstOff = 0;
265344
+ pCsr->colUsed = 0;
265345
+ memset(pCsr->aCnt, 0, sizeof(i64)*nCol);
265346
+ memset(pCsr->aDoc, 0, sizeof(i64)*nCol);
265315
265347
  }
265316
265348
 
265317
265349
  /*
@@ -266321,9 +266353,9 @@ SQLITE_API const char *sqlite3_sourceid(void){ return SQLITE_SOURCE_ID; }
266321
266353
 
266322
266354
  #define SQLITE3MC_VERSION_MAJOR 2
266323
266355
  #define SQLITE3MC_VERSION_MINOR 2
266324
- #define SQLITE3MC_VERSION_RELEASE 5
266356
+ #define SQLITE3MC_VERSION_RELEASE 6
266325
266357
  #define SQLITE3MC_VERSION_SUBRELEASE 0
266326
- #define SQLITE3MC_VERSION_STRING "SQLite3 Multiple Ciphers 2.2.5"
266358
+ #define SQLITE3MC_VERSION_STRING "SQLite3 Multiple Ciphers 2.2.6"
266327
266359
 
266328
266360
  #endif /* SQLITE3MC_VERSION_H_ */
266329
266361
  /*** End of #include "sqlite3mc_version.h" ***/
@@ -266482,12 +266514,12 @@ extern "C" {
266482
266514
  ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
266483
266515
  ** [sqlite_version()] and [sqlite_source_id()].
266484
266516
  */
266485
- #define SQLITE_VERSION "3.51.0"
266486
- #define SQLITE_VERSION_NUMBER 3051000
266487
- #define SQLITE_SOURCE_ID "2025-11-04 19:38:17 fb2c931ae597f8d00a37574ff67aeed3eced4e5547f9120744a-experimental"
266488
- #define SQLITE_SCM_BRANCH "unknown"
266489
- #define SQLITE_SCM_TAGS "unknown"
266490
- #define SQLITE_SCM_DATETIME "2025-11-04T19:38:17.314Z"
266517
+ #define SQLITE_VERSION "3.51.1"
266518
+ #define SQLITE_VERSION_NUMBER 3051001
266519
+ #define SQLITE_SOURCE_ID "2025-11-28 17:28:25 281fc0e9afc38674b9b0991943b9e9d1e64c6cbdb133d35f6f5c87ff6af38a88"
266520
+ #define SQLITE_SCM_BRANCH "branch-3.51"
266521
+ #define SQLITE_SCM_TAGS "release version-3.51.1"
266522
+ #define SQLITE_SCM_DATETIME "2025-11-28T17:28:25.933Z"
266491
266523
 
266492
266524
  /*
266493
266525
  ** CAPI3REF: Run-Time Library Version Numbers
@@ -276762,7 +276794,7 @@ SQLITE_API int sqlite3_vtab_in(sqlite3_index_info*, int iCons, int bHandle);
276762
276794
  ** &nbsp; ){
276763
276795
  ** &nbsp; // do something with pVal
276764
276796
  ** &nbsp; }
276765
- ** &nbsp; if( rc!=SQLITE_OK ){
276797
+ ** &nbsp; if( rc!=SQLITE_DONE ){
276766
276798
  ** &nbsp; // an error has occurred
276767
276799
  ** &nbsp; }
276768
276800
  ** </pre></blockquote>)^
@@ -334508,7 +334540,7 @@ sqlite3mcBtreeSetPageSize(Btree* p, int pageSize, int nReserve, int iFix)
334508
334540
  ** Change 4: Call sqlite3mcBtreeSetPageSize instead of sqlite3BtreeSetPageSize for main database
334509
334541
  ** (sqlite3mcBtreeSetPageSize allows to reduce the number of reserved bytes)
334510
334542
  **
334511
- ** This code is generated by the script rekeyvacuum.sh from SQLite version 3.51.0 amalgamation.
334543
+ ** This code is generated by the script rekeyvacuum.sh from SQLite version 3.51.1 amalgamation.
334512
334544
  */
334513
334545
  SQLITE_PRIVATE SQLITE_NOINLINE int sqlite3mcRunVacuumForRekey(
334514
334546
  char **pzErrMsg, /* Write error message here */
@@ -31,9 +31,9 @@
31
31
 
32
32
  #define SQLITE3MC_VERSION_MAJOR 2
33
33
  #define SQLITE3MC_VERSION_MINOR 2
34
- #define SQLITE3MC_VERSION_RELEASE 5
34
+ #define SQLITE3MC_VERSION_RELEASE 6
35
35
  #define SQLITE3MC_VERSION_SUBRELEASE 0
36
- #define SQLITE3MC_VERSION_STRING "SQLite3 Multiple Ciphers 2.2.5"
36
+ #define SQLITE3MC_VERSION_STRING "SQLite3 Multiple Ciphers 2.2.6"
37
37
 
38
38
  #endif /* SQLITE3MC_VERSION_H_ */
39
39
  /*** End of #include "sqlite3mc_version.h" ***/
@@ -192,12 +192,12 @@ extern "C" {
192
192
  ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
193
193
  ** [sqlite_version()] and [sqlite_source_id()].
194
194
  */
195
- #define SQLITE_VERSION "3.51.0"
196
- #define SQLITE_VERSION_NUMBER 3051000
197
- #define SQLITE_SOURCE_ID "2025-11-04 19:38:17 fb2c931ae597f8d00a37574ff67aeed3eced4e5547f9120744a-experimental"
198
- #define SQLITE_SCM_BRANCH "unknown"
199
- #define SQLITE_SCM_TAGS "unknown"
200
- #define SQLITE_SCM_DATETIME "2025-11-04T19:38:17.314Z"
195
+ #define SQLITE_VERSION "3.51.1"
196
+ #define SQLITE_VERSION_NUMBER 3051001
197
+ #define SQLITE_SOURCE_ID "2025-11-28 17:28:25 281fc0e9afc38674b9b0991943b9e9d1e64c6cbdb133d35f6f5c87ff6af38a88"
198
+ #define SQLITE_SCM_BRANCH "branch-3.51"
199
+ #define SQLITE_SCM_TAGS "release version-3.51.1"
200
+ #define SQLITE_SCM_DATETIME "2025-11-28T17:28:25.933Z"
201
201
 
202
202
  /*
203
203
  ** CAPI3REF: Run-Time Library Version Numbers
@@ -10472,7 +10472,7 @@ SQLITE_API int sqlite3_vtab_in(sqlite3_index_info*, int iCons, int bHandle);
10472
10472
  ** &nbsp; ){
10473
10473
  ** &nbsp; // do something with pVal
10474
10474
  ** &nbsp; }
10475
- ** &nbsp; if( rc!=SQLITE_OK ){
10475
+ ** &nbsp; if( rc!=SQLITE_DONE ){
10476
10476
  ** &nbsp; // an error has occurred
10477
10477
  ** &nbsp; }
10478
10478
  ** </pre></blockquote>)^
@@ -21,8 +21,8 @@
21
21
  # ===
22
22
 
23
23
  YEAR="2025"
24
- VERSION="3510000"
25
- SQLITE3MC_VERSION="v2.2.5"
24
+ VERSION="3510100"
25
+ SQLITE3MC_VERSION="v2.2.6"
26
26
 
27
27
  # Defines below are sorted alphabetically
28
28
  DEFINES="
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "better-sqlite3-multiple-ciphers",
3
- "version": "12.4.6",
3
+ "version": "12.5.0",
4
4
  "description": "better-sqlite3 with multiple-cipher encryption support",
5
5
  "homepage": "https://github.com/m4heshd/better-sqlite3-multiple-ciphers",
6
6
  "author": "Mahesh Bandara Wijerathna (m4heshd) <m4heshd@gmail.com>",