better-sqlite3-multiple-ciphers 7.5.2-beta.0 → 7.5.2-beta.3
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 +4 -4
- package/deps/setup.ps1 +1 -1
- package/deps/sqlite3/sqlite3.c +117 -39
- package/deps/sqlite3/sqlite3.h +5 -5
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -19,14 +19,14 @@ The fastest and simplest library for SQLite3 in Node.js. This particular fork su
|
|
|
19
19
|
- ### Stable
|
|
20
20
|
- **better-sqlite3-multiple-ciphers** - [`7.5.1`](https://github.com/m4heshd/better-sqlite3-multiple-ciphers/releases/tag/v7.5.1)
|
|
21
21
|
- **better-sqlite3** - [`7.5.1`](https://github.com/JoshuaWise/better-sqlite3/releases/tag/v7.5.1)
|
|
22
|
-
- **SQLite** - [`3.38.2`](https://www.sqlite.org/
|
|
22
|
+
- **SQLite** - [`3.38.2`](https://www.sqlite.org/releaselog/3_38_2.html)
|
|
23
23
|
- **SQLite3 Multiple Ciphers** - [`1.3.10`](https://github.com/utelle/SQLite3MultipleCiphers/releases/tag/v1.3.10)
|
|
24
24
|
|
|
25
25
|
- ### Beta
|
|
26
|
-
- **better-sqlite3-multiple-ciphers** - [`7.5.2-beta.
|
|
26
|
+
- **better-sqlite3-multiple-ciphers** - [`7.5.2-beta.3`](https://github.com/m4heshd/better-sqlite3-multiple-ciphers/releases/tag/v7.5.2-beta.3)
|
|
27
27
|
- **better-sqlite3** - [`7.5.1`](https://github.com/JoshuaWise/better-sqlite3/releases/tag/v7.5.1)
|
|
28
|
-
- **SQLite** - [`3.38.
|
|
29
|
-
- **SQLite3 Multiple Ciphers** - [`1.4.
|
|
28
|
+
- **SQLite** - [`3.38.5`](https://www.sqlite.org/releaselog/3_38_5.html)
|
|
29
|
+
- **SQLite3 Multiple Ciphers** - [`1.4.3`](https://github.com/utelle/SQLite3MultipleCiphers/releases/tag/v1.4.3)
|
|
30
30
|
|
|
31
31
|
## Help this project stay strong! 💪
|
|
32
32
|
|
package/deps/setup.ps1
CHANGED
package/deps/sqlite3/sqlite3.c
CHANGED
|
@@ -92,7 +92,7 @@ extern SQLITE_API LPWSTR sqlite3_win32_utf8_to_unicode(const char*);
|
|
|
92
92
|
/*** Begin of #include "sqlite3patched.c" ***/
|
|
93
93
|
/******************************************************************************
|
|
94
94
|
** This file is an amalgamation of many separate C source files from SQLite
|
|
95
|
-
** version 3.38.
|
|
95
|
+
** version 3.38.5. By combining all the individual C code files into this
|
|
96
96
|
** single large file, the entire code can be compiled as a single translation
|
|
97
97
|
** unit. This allows many compilers to do optimizations that would not be
|
|
98
98
|
** possible if the files were compiled separately. Performance improvements
|
|
@@ -544,9 +544,9 @@ extern "C" {
|
|
|
544
544
|
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
|
|
545
545
|
** [sqlite_version()] and [sqlite_source_id()].
|
|
546
546
|
*/
|
|
547
|
-
#define SQLITE_VERSION "3.38.
|
|
548
|
-
#define SQLITE_VERSION_NUMBER
|
|
549
|
-
#define SQLITE_SOURCE_ID "2022-
|
|
547
|
+
#define SQLITE_VERSION "3.38.5"
|
|
548
|
+
#define SQLITE_VERSION_NUMBER 3038005
|
|
549
|
+
#define SQLITE_SOURCE_ID "2022-05-06 15:25:27 78d9c993d404cdfaa7fdd2973fa1052e3da9f66215cff9c5540ebe55c407d9fe"
|
|
550
550
|
|
|
551
551
|
/*
|
|
552
552
|
** CAPI3REF: Run-Time Library Version Numbers
|
|
@@ -20028,6 +20028,7 @@ SQLITE_PRIVATE int sqlite3ExprIsConstantNotJoin(Expr*);
|
|
|
20028
20028
|
SQLITE_PRIVATE int sqlite3ExprIsConstantOrFunction(Expr*, u8);
|
|
20029
20029
|
SQLITE_PRIVATE int sqlite3ExprIsConstantOrGroupBy(Parse*, Expr*, ExprList*);
|
|
20030
20030
|
SQLITE_PRIVATE int sqlite3ExprIsTableConstant(Expr*,int);
|
|
20031
|
+
SQLITE_PRIVATE int sqlite3ExprIsTableConstraint(Expr*,const SrcItem*);
|
|
20031
20032
|
#ifdef SQLITE_ENABLE_CURSOR_HINTS
|
|
20032
20033
|
SQLITE_PRIVATE int sqlite3ExprContainsSubquery(Expr*);
|
|
20033
20034
|
#endif
|
|
@@ -29436,8 +29437,9 @@ SQLITE_PRIVATE char *sqlite3DbSpanDup(sqlite3 *db, const char *zStart, const cha
|
|
|
29436
29437
|
** Free any prior content in *pz and replace it with a copy of zNew.
|
|
29437
29438
|
*/
|
|
29438
29439
|
SQLITE_PRIVATE void sqlite3SetString(char **pz, sqlite3 *db, const char *zNew){
|
|
29440
|
+
char *z = sqlite3DbStrDup(db, zNew);
|
|
29439
29441
|
sqlite3DbFree(db, *pz);
|
|
29440
|
-
*pz =
|
|
29442
|
+
*pz = z;
|
|
29441
29443
|
}
|
|
29442
29444
|
|
|
29443
29445
|
/*
|
|
@@ -67863,6 +67865,8 @@ static u8 *pageFindSlot(MemPage *pPg, int nByte, int *pRc){
|
|
|
67863
67865
|
** fragmented bytes within the page. */
|
|
67864
67866
|
memcpy(&aData[iAddr], &aData[pc], 2);
|
|
67865
67867
|
aData[hdr+7] += (u8)x;
|
|
67868
|
+
testcase( pc+x>maxPC );
|
|
67869
|
+
return &aData[pc];
|
|
67866
67870
|
}else if( x+pc > maxPC ){
|
|
67867
67871
|
/* This slot extends off the end of the usable part of the page */
|
|
67868
67872
|
*pRc = SQLITE_CORRUPT_PAGE(pPg);
|
|
@@ -72062,7 +72066,7 @@ SQLITE_PRIVATE int sqlite3BtreeIndexMoveto(
|
|
|
72062
72066
|
assert( lwr==upr+1 || (pPage->intKey && !pPage->leaf) );
|
|
72063
72067
|
assert( pPage->isInit );
|
|
72064
72068
|
if( pPage->leaf ){
|
|
72065
|
-
assert( pCur->ix<pCur->pPage->nCell );
|
|
72069
|
+
assert( pCur->ix<pCur->pPage->nCell || CORRUPT_DB );
|
|
72066
72070
|
pCur->ix = (u16)idx;
|
|
72067
72071
|
*pRes = c;
|
|
72068
72072
|
rc = SQLITE_OK;
|
|
@@ -74586,7 +74590,7 @@ static int balance_nonroot(
|
|
|
74586
74590
|
iOvflSpace += sz;
|
|
74587
74591
|
assert( sz<=pBt->maxLocal+23 );
|
|
74588
74592
|
assert( iOvflSpace <= (int)pBt->pageSize );
|
|
74589
|
-
for(k=0; b.ixNx[k]<=
|
|
74593
|
+
for(k=0; b.ixNx[k]<=j && ALWAYS(k<NB*2); k++){}
|
|
74590
74594
|
pSrcEnd = b.apEnd[k];
|
|
74591
74595
|
if( SQLITE_WITHIN(pSrcEnd, pCell, pCell+sz) ){
|
|
74592
74596
|
rc = SQLITE_CORRUPT_BKPT;
|
|
@@ -78151,7 +78155,11 @@ SQLITE_PRIVATE int sqlite3VdbeChangeEncoding(Mem *pMem, int desiredEnc){
|
|
|
78151
78155
|
assert( !sqlite3VdbeMemIsRowSet(pMem) );
|
|
78152
78156
|
assert( desiredEnc==SQLITE_UTF8 || desiredEnc==SQLITE_UTF16LE
|
|
78153
78157
|
|| desiredEnc==SQLITE_UTF16BE );
|
|
78154
|
-
if( !(pMem->flags&MEM_Str)
|
|
78158
|
+
if( !(pMem->flags&MEM_Str) ){
|
|
78159
|
+
pMem->enc = desiredEnc;
|
|
78160
|
+
return SQLITE_OK;
|
|
78161
|
+
}
|
|
78162
|
+
if( pMem->enc==desiredEnc ){
|
|
78155
78163
|
return SQLITE_OK;
|
|
78156
78164
|
}
|
|
78157
78165
|
assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) );
|
|
@@ -88478,6 +88486,8 @@ case OP_Gosub: { /* jump */
|
|
|
88478
88486
|
/* Most jump operations do a goto to this spot in order to update
|
|
88479
88487
|
** the pOp pointer. */
|
|
88480
88488
|
jump_to_p2:
|
|
88489
|
+
assert( pOp->p2>0 ); /* There are never any jumps to instruction 0 */
|
|
88490
|
+
assert( pOp->p2<p->nOp ); /* Jumps must be in range */
|
|
88481
88491
|
pOp = &aOp[pOp->p2 - 1];
|
|
88482
88492
|
break;
|
|
88483
88493
|
}
|
|
@@ -104858,6 +104868,38 @@ SQLITE_PRIVATE int sqlite3ExprIsTableConstant(Expr *p, int iCur){
|
|
|
104858
104868
|
return exprIsConst(p, 3, iCur);
|
|
104859
104869
|
}
|
|
104860
104870
|
|
|
104871
|
+
/*
|
|
104872
|
+
** Check pExpr to see if it is an invariant constraint on data source pSrc.
|
|
104873
|
+
** This is an optimization. False negatives will perhaps cause slower
|
|
104874
|
+
** queries, but false positives will yield incorrect answers. So when in
|
|
104875
|
+
** double, return 0.
|
|
104876
|
+
**
|
|
104877
|
+
** To be an invariant constraint, the following must be true:
|
|
104878
|
+
**
|
|
104879
|
+
** (1) pExpr cannot refer to any table other than pSrc->iCursor.
|
|
104880
|
+
**
|
|
104881
|
+
** (2) pExpr cannot use subqueries or non-deterministic functions.
|
|
104882
|
+
**
|
|
104883
|
+
** (*) ** Not applicable to this branch **
|
|
104884
|
+
**
|
|
104885
|
+
** (4) If pSrc is the right operand of a LEFT JOIN, then...
|
|
104886
|
+
** (4a) pExpr must come from an ON clause..
|
|
104887
|
+
** (4b) and specifically the ON clause associated with the LEFT JOIN.
|
|
104888
|
+
**
|
|
104889
|
+
** (5) If pSrc is not the right operand of a LEFT JOIN or the left
|
|
104890
|
+
** operand of a RIGHT JOIN, then pExpr must be from the WHERE
|
|
104891
|
+
** clause, not an ON clause.
|
|
104892
|
+
*/
|
|
104893
|
+
SQLITE_PRIVATE int sqlite3ExprIsTableConstraint(Expr *pExpr, const SrcItem *pSrc){
|
|
104894
|
+
if( pSrc->fg.jointype & JT_LEFT ){
|
|
104895
|
+
if( !ExprHasProperty(pExpr, EP_FromJoin) ) return 0; /* rule (4a) */
|
|
104896
|
+
if( pExpr->w.iRightJoinTable!=pSrc->iCursor ) return 0; /* rule (4b) */
|
|
104897
|
+
}else{
|
|
104898
|
+
if( ExprHasProperty(pExpr, EP_FromJoin) ) return 0; /* rule (5) */
|
|
104899
|
+
}
|
|
104900
|
+
return sqlite3ExprIsTableConstant(pExpr, pSrc->iCursor); /* rules (1), (2) */
|
|
104901
|
+
}
|
|
104902
|
+
|
|
104861
104903
|
|
|
104862
104904
|
/*
|
|
104863
104905
|
** sqlite3WalkExpr() callback used by sqlite3ExprIsConstantOrGroupBy().
|
|
@@ -133930,6 +133972,14 @@ SQLITE_PRIVATE void sqlite3ParseObjectInit(Parse *pParse, sqlite3 *db){
|
|
|
133930
133972
|
if( db->mallocFailed ) sqlite3ErrorMsg(pParse, "out of memory");
|
|
133931
133973
|
}
|
|
133932
133974
|
|
|
133975
|
+
/*
|
|
133976
|
+
** Maximum number of times that we will try again to prepare a statement
|
|
133977
|
+
** that returns SQLITE_ERROR_RETRY.
|
|
133978
|
+
*/
|
|
133979
|
+
#ifndef SQLITE_MAX_PREPARE_RETRY
|
|
133980
|
+
# define SQLITE_MAX_PREPARE_RETRY 25
|
|
133981
|
+
#endif
|
|
133982
|
+
|
|
133933
133983
|
/*
|
|
133934
133984
|
** Compile the UTF-8 encoded SQL statement zSql into a statement handle.
|
|
133935
133985
|
*/
|
|
@@ -134104,7 +134154,7 @@ static int sqlite3LockAndPrepare(
|
|
|
134104
134154
|
rc = sqlite3Prepare(db, zSql, nBytes, prepFlags, pOld, ppStmt, pzTail);
|
|
134105
134155
|
assert( rc==SQLITE_OK || *ppStmt==0 );
|
|
134106
134156
|
if( rc==SQLITE_OK || db->mallocFailed ) break;
|
|
134107
|
-
}while( rc==SQLITE_ERROR_RETRY
|
|
134157
|
+
}while( (rc==SQLITE_ERROR_RETRY && (cnt++)<SQLITE_MAX_PREPARE_RETRY)
|
|
134108
134158
|
|| (rc==SQLITE_SCHEMA && (sqlite3ResetOneSchema(db,-1), cnt++)==0) );
|
|
134109
134159
|
sqlite3BtreeLeaveAll(db);
|
|
134110
134160
|
rc = sqlite3ApiExit(db, rc);
|
|
@@ -139146,8 +139196,7 @@ static int pushDownWhereTerms(
|
|
|
139146
139196
|
Parse *pParse, /* Parse context (for malloc() and error reporting) */
|
|
139147
139197
|
Select *pSubq, /* The subquery whose WHERE clause is to be augmented */
|
|
139148
139198
|
Expr *pWhere, /* The WHERE clause of the outer query */
|
|
139149
|
-
|
|
139150
|
-
int isLeftJoin /* True if pSubq is the right term of a LEFT JOIN */
|
|
139199
|
+
SrcItem *pSrc /* The subquery term of the outer FROM clause */
|
|
139151
139200
|
){
|
|
139152
139201
|
Expr *pNew;
|
|
139153
139202
|
int nChng = 0;
|
|
@@ -139182,10 +139231,11 @@ static int pushDownWhereTerms(
|
|
|
139182
139231
|
return 0; /* restriction (3) */
|
|
139183
139232
|
}
|
|
139184
139233
|
while( pWhere->op==TK_AND ){
|
|
139185
|
-
nChng += pushDownWhereTerms(pParse, pSubq, pWhere->pRight,
|
|
139186
|
-
iCursor, isLeftJoin);
|
|
139234
|
+
nChng += pushDownWhereTerms(pParse, pSubq, pWhere->pRight, pSrc);
|
|
139187
139235
|
pWhere = pWhere->pLeft;
|
|
139188
139236
|
}
|
|
139237
|
+
|
|
139238
|
+
#if 0 /* Legacy code. Checks now done by sqlite3ExprIsTableConstraint() */
|
|
139189
139239
|
if( isLeftJoin
|
|
139190
139240
|
&& (ExprHasProperty(pWhere,EP_FromJoin)==0
|
|
139191
139241
|
|| pWhere->w.iRightJoinTable!=iCursor)
|
|
@@ -139197,7 +139247,9 @@ static int pushDownWhereTerms(
|
|
|
139197
139247
|
){
|
|
139198
139248
|
return 0; /* restriction (5) */
|
|
139199
139249
|
}
|
|
139200
|
-
|
|
139250
|
+
#endif
|
|
139251
|
+
|
|
139252
|
+
if( sqlite3ExprIsTableConstraint(pWhere, pSrc) ){
|
|
139201
139253
|
nChng++;
|
|
139202
139254
|
pSubq->selFlags |= SF_PushDown;
|
|
139203
139255
|
while( pSubq ){
|
|
@@ -139205,8 +139257,8 @@ static int pushDownWhereTerms(
|
|
|
139205
139257
|
pNew = sqlite3ExprDup(pParse->db, pWhere, 0);
|
|
139206
139258
|
unsetJoinExpr(pNew, -1);
|
|
139207
139259
|
x.pParse = pParse;
|
|
139208
|
-
x.iTable = iCursor;
|
|
139209
|
-
x.iNewTable = iCursor;
|
|
139260
|
+
x.iTable = pSrc->iCursor;
|
|
139261
|
+
x.iNewTable = pSrc->iCursor;
|
|
139210
139262
|
x.isLeftJoin = 0;
|
|
139211
139263
|
x.pEList = pSubq->pEList;
|
|
139212
139264
|
pNew = substExpr(&x, pNew);
|
|
@@ -140988,8 +141040,7 @@ SQLITE_PRIVATE int sqlite3Select(
|
|
|
140988
141040
|
if( OptimizationEnabled(db, SQLITE_PushDown)
|
|
140989
141041
|
&& (pItem->fg.isCte==0
|
|
140990
141042
|
|| (pItem->u2.pCteUse->eM10d!=M10d_Yes && pItem->u2.pCteUse->nUse<2))
|
|
140991
|
-
&& pushDownWhereTerms(pParse, pSub, p->pWhere, pItem
|
|
140992
|
-
(pItem->fg.jointype & JT_OUTER)!=0)
|
|
141043
|
+
&& pushDownWhereTerms(pParse, pSub, p->pWhere, pItem)
|
|
140993
141044
|
){
|
|
140994
141045
|
#if SELECTTRACE_ENABLED
|
|
140995
141046
|
if( sqlite3SelectTrace & 0x100 ){
|
|
@@ -148781,6 +148832,7 @@ static void preserveExpr(IdxExprTrans *pTrans, Expr *pExpr){
|
|
|
148781
148832
|
static int whereIndexExprTransNode(Walker *p, Expr *pExpr){
|
|
148782
148833
|
IdxExprTrans *pX = p->u.pIdxTrans;
|
|
148783
148834
|
if( sqlite3ExprCompare(0, pExpr, pX->pIdxExpr, pX->iTabCur)==0 ){
|
|
148835
|
+
pExpr = sqlite3ExprSkipCollate(pExpr);
|
|
148784
148836
|
preserveExpr(pX, pExpr);
|
|
148785
148837
|
pExpr->affExpr = sqlite3ExprAffinity(pExpr);
|
|
148786
148838
|
pExpr->op = TK_COLUMN;
|
|
@@ -148940,6 +148992,8 @@ static SQLITE_NOINLINE void filterPullDown(
|
|
|
148940
148992
|
/* ,--- Because sqlite3ConstructBloomFilter() has will not have set
|
|
148941
148993
|
** vvvvv--' pLevel->regFilter if this were true. */
|
|
148942
148994
|
if( NEVER(pLoop->prereq & notReady) ) continue;
|
|
148995
|
+
assert( pLevel->addrBrk==0 );
|
|
148996
|
+
pLevel->addrBrk = addrNxt;
|
|
148943
148997
|
if( pLoop->wsFlags & WHERE_IPK ){
|
|
148944
148998
|
WhereTerm *pTerm = pLoop->aLTerm[0];
|
|
148945
148999
|
int regRowid;
|
|
@@ -148966,6 +149020,7 @@ static SQLITE_NOINLINE void filterPullDown(
|
|
|
148966
149020
|
VdbeCoverage(pParse->pVdbe);
|
|
148967
149021
|
}
|
|
148968
149022
|
pLevel->regFilter = 0;
|
|
149023
|
+
pLevel->addrBrk = 0;
|
|
148969
149024
|
}
|
|
148970
149025
|
}
|
|
148971
149026
|
|
|
@@ -152914,8 +152969,7 @@ static SQLITE_NOINLINE void constructAutomaticIndex(
|
|
|
152914
152969
|
** WHERE clause (or the ON clause of a LEFT join) that constrain which
|
|
152915
152970
|
** rows of the target table (pSrc) that can be used. */
|
|
152916
152971
|
if( (pTerm->wtFlags & TERM_VIRTUAL)==0
|
|
152917
|
-
&& (
|
|
152918
|
-
&& sqlite3ExprIsTableConstant(pExpr, pSrc->iCursor)
|
|
152972
|
+
&& sqlite3ExprIsTableConstraint(pExpr, pSrc)
|
|
152919
152973
|
){
|
|
152920
152974
|
pPartial = sqlite3ExprAnd(pParse, pPartial,
|
|
152921
152975
|
sqlite3ExprDup(pParse->db, pExpr, 0));
|
|
@@ -153154,7 +153208,7 @@ static SQLITE_NOINLINE void sqlite3ConstructBloomFilter(
|
|
|
153154
153208
|
for(pTerm=pWInfo->sWC.a; pTerm<pWCEnd; pTerm++){
|
|
153155
153209
|
Expr *pExpr = pTerm->pExpr;
|
|
153156
153210
|
if( (pTerm->wtFlags & TERM_VIRTUAL)==0
|
|
153157
|
-
&&
|
|
153211
|
+
&& sqlite3ExprIsTableConstraint(pExpr, pItem)
|
|
153158
153212
|
){
|
|
153159
153213
|
sqlite3ExprIfFalse(pParse, pTerm->pExpr, addrCont, SQLITE_JUMPIFNULL);
|
|
153160
153214
|
}
|
|
@@ -160074,7 +160128,7 @@ static void windowAggStep(
|
|
|
160074
160128
|
|
|
160075
160129
|
for(iEnd=sqlite3VdbeCurrentAddr(v); iOp<iEnd; iOp++){
|
|
160076
160130
|
VdbeOp *pOp = sqlite3VdbeGetOp(v, iOp);
|
|
160077
|
-
if( pOp->opcode==OP_Column && pOp->p1==
|
|
160131
|
+
if( pOp->opcode==OP_Column && pOp->p1==pMWin->iEphCsr ){
|
|
160078
160132
|
pOp->p1 = csr;
|
|
160079
160133
|
}
|
|
160080
160134
|
}
|
|
@@ -194397,14 +194451,15 @@ static JsonNode *jsonLookupStep(
|
|
|
194397
194451
|
*pzErr = zPath;
|
|
194398
194452
|
return 0;
|
|
194399
194453
|
}
|
|
194454
|
+
testcase( nKey==0 );
|
|
194400
194455
|
}else{
|
|
194401
194456
|
zKey = zPath;
|
|
194402
194457
|
for(i=0; zPath[i] && zPath[i]!='.' && zPath[i]!='['; i++){}
|
|
194403
194458
|
nKey = i;
|
|
194404
|
-
|
|
194405
|
-
|
|
194406
|
-
|
|
194407
|
-
|
|
194459
|
+
if( nKey==0 ){
|
|
194460
|
+
*pzErr = zPath;
|
|
194461
|
+
return 0;
|
|
194462
|
+
}
|
|
194408
194463
|
}
|
|
194409
194464
|
j = 1;
|
|
194410
194465
|
for(;;){
|
|
@@ -195552,6 +195607,33 @@ static int jsonEachNext(sqlite3_vtab_cursor *cur){
|
|
|
195552
195607
|
return SQLITE_OK;
|
|
195553
195608
|
}
|
|
195554
195609
|
|
|
195610
|
+
/* Append an object label to the JSON Path being constructed
|
|
195611
|
+
** in pStr.
|
|
195612
|
+
*/
|
|
195613
|
+
static void jsonAppendObjectPathElement(
|
|
195614
|
+
JsonString *pStr,
|
|
195615
|
+
JsonNode *pNode
|
|
195616
|
+
){
|
|
195617
|
+
int jj, nn;
|
|
195618
|
+
const char *z;
|
|
195619
|
+
assert( pNode->eType==JSON_STRING );
|
|
195620
|
+
assert( pNode->jnFlags & JNODE_LABEL );
|
|
195621
|
+
assert( pNode->eU==1 );
|
|
195622
|
+
z = pNode->u.zJContent;
|
|
195623
|
+
nn = pNode->n;
|
|
195624
|
+
assert( nn>=2 );
|
|
195625
|
+
assert( z[0]=='"' );
|
|
195626
|
+
assert( z[nn-1]=='"' );
|
|
195627
|
+
if( nn>2 && sqlite3Isalpha(z[1]) ){
|
|
195628
|
+
for(jj=2; jj<nn-1 && sqlite3Isalnum(z[jj]); jj++){}
|
|
195629
|
+
if( jj==nn-1 ){
|
|
195630
|
+
z++;
|
|
195631
|
+
nn -= 2;
|
|
195632
|
+
}
|
|
195633
|
+
}
|
|
195634
|
+
jsonPrintf(nn+2, pStr, ".%.*s", nn, z);
|
|
195635
|
+
}
|
|
195636
|
+
|
|
195555
195637
|
/* Append the name of the path for element i to pStr
|
|
195556
195638
|
*/
|
|
195557
195639
|
static void jsonEachComputePath(
|
|
@@ -195576,10 +195658,7 @@ static void jsonEachComputePath(
|
|
|
195576
195658
|
}else{
|
|
195577
195659
|
assert( pUp->eType==JSON_OBJECT );
|
|
195578
195660
|
if( (pNode->jnFlags & JNODE_LABEL)==0 ) pNode--;
|
|
195579
|
-
|
|
195580
|
-
assert( pNode->jnFlags & JNODE_LABEL );
|
|
195581
|
-
assert( pNode->eU==1 );
|
|
195582
|
-
jsonPrintf(pNode->n+1, pStr, ".%.*s", pNode->n-2, pNode->u.zJContent+1);
|
|
195661
|
+
jsonAppendObjectPathElement(pStr, pNode);
|
|
195583
195662
|
}
|
|
195584
195663
|
}
|
|
195585
195664
|
|
|
@@ -195650,8 +195729,7 @@ static int jsonEachColumn(
|
|
|
195650
195729
|
if( p->eType==JSON_ARRAY ){
|
|
195651
195730
|
jsonPrintf(30, &x, "[%d]", p->iRowid);
|
|
195652
195731
|
}else if( p->eType==JSON_OBJECT ){
|
|
195653
|
-
|
|
195654
|
-
jsonPrintf(pThis->n, &x, ".%.*s", pThis->n-2, pThis->u.zJContent+1);
|
|
195732
|
+
jsonAppendObjectPathElement(&x, pThis);
|
|
195655
195733
|
}
|
|
195656
195734
|
}
|
|
195657
195735
|
jsonResult(&x);
|
|
@@ -234542,7 +234620,7 @@ static void fts5SourceIdFunc(
|
|
|
234542
234620
|
){
|
|
234543
234621
|
assert( nArg==0 );
|
|
234544
234622
|
UNUSED_PARAM2(nArg, apUnused);
|
|
234545
|
-
sqlite3_result_text(pCtx, "fts5: 2022-
|
|
234623
|
+
sqlite3_result_text(pCtx, "fts5: 2022-05-06 15:25:27 78d9c993d404cdfaa7fdd2973fa1052e3da9f66215cff9c5540ebe55c407d9fe", -1, SQLITE_TRANSIENT);
|
|
234546
234624
|
}
|
|
234547
234625
|
|
|
234548
234626
|
/*
|
|
@@ -239671,9 +239749,9 @@ SQLITE_API const char *sqlite3_sourceid(void){ return SQLITE_SOURCE_ID; }
|
|
|
239671
239749
|
|
|
239672
239750
|
#define SQLITE3MC_VERSION_MAJOR 1
|
|
239673
239751
|
#define SQLITE3MC_VERSION_MINOR 4
|
|
239674
|
-
#define SQLITE3MC_VERSION_RELEASE
|
|
239752
|
+
#define SQLITE3MC_VERSION_RELEASE 3
|
|
239675
239753
|
#define SQLITE3MC_VERSION_SUBRELEASE 0
|
|
239676
|
-
#define SQLITE3MC_VERSION_STRING "SQLite3 Multiple Ciphers 1.4.
|
|
239754
|
+
#define SQLITE3MC_VERSION_STRING "SQLite3 Multiple Ciphers 1.4.3"
|
|
239677
239755
|
|
|
239678
239756
|
#endif /* SQLITE3MC_VERSION_H_ */
|
|
239679
239757
|
/*** End of #include "sqlite3mc_version.h" ***/
|
|
@@ -239832,9 +239910,9 @@ extern "C" {
|
|
|
239832
239910
|
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
|
|
239833
239911
|
** [sqlite_version()] and [sqlite_source_id()].
|
|
239834
239912
|
*/
|
|
239835
|
-
#define SQLITE_VERSION "3.38.
|
|
239836
|
-
#define SQLITE_VERSION_NUMBER
|
|
239837
|
-
#define SQLITE_SOURCE_ID "2022-
|
|
239913
|
+
#define SQLITE_VERSION "3.38.5"
|
|
239914
|
+
#define SQLITE_VERSION_NUMBER 3038005
|
|
239915
|
+
#define SQLITE_SOURCE_ID "2022-05-06 15:25:27 78d9c993d404cdfaa7fdd2973fa1052e3da9f66215cff9c5540ebe55c407d9fe"
|
|
239838
239916
|
|
|
239839
239917
|
/*
|
|
239840
239918
|
** CAPI3REF: Run-Time Library Version Numbers
|
|
@@ -262657,7 +262735,7 @@ sqlite3mcBtreeSetPageSize(Btree* p, int pageSize, int nReserve, int iFix)
|
|
|
262657
262735
|
** Change 4: Call sqlite3mcBtreeSetPageSize instead of sqlite3BtreeSetPageSize for main database
|
|
262658
262736
|
** (sqlite3mcBtreeSetPageSize allows to reduce the number of reserved bytes)
|
|
262659
262737
|
**
|
|
262660
|
-
** This code is generated by the script rekeyvacuum.sh from SQLite version 3.38.
|
|
262738
|
+
** This code is generated by the script rekeyvacuum.sh from SQLite version 3.38.5 amalgamation.
|
|
262661
262739
|
*/
|
|
262662
262740
|
SQLITE_PRIVATE SQLITE_NOINLINE int sqlite3mcRunVacuumForRekey(
|
|
262663
262741
|
char **pzErrMsg, /* Write error message here */
|
package/deps/sqlite3/sqlite3.h
CHANGED
|
@@ -31,9 +31,9 @@
|
|
|
31
31
|
|
|
32
32
|
#define SQLITE3MC_VERSION_MAJOR 1
|
|
33
33
|
#define SQLITE3MC_VERSION_MINOR 4
|
|
34
|
-
#define SQLITE3MC_VERSION_RELEASE
|
|
34
|
+
#define SQLITE3MC_VERSION_RELEASE 3
|
|
35
35
|
#define SQLITE3MC_VERSION_SUBRELEASE 0
|
|
36
|
-
#define SQLITE3MC_VERSION_STRING "SQLite3 Multiple Ciphers 1.4.
|
|
36
|
+
#define SQLITE3MC_VERSION_STRING "SQLite3 Multiple Ciphers 1.4.3"
|
|
37
37
|
|
|
38
38
|
#endif /* SQLITE3MC_VERSION_H_ */
|
|
39
39
|
/*** End of #include "sqlite3mc_version.h" ***/
|
|
@@ -192,9 +192,9 @@ extern "C" {
|
|
|
192
192
|
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
|
|
193
193
|
** [sqlite_version()] and [sqlite_source_id()].
|
|
194
194
|
*/
|
|
195
|
-
#define SQLITE_VERSION "3.38.
|
|
196
|
-
#define SQLITE_VERSION_NUMBER
|
|
197
|
-
#define SQLITE_SOURCE_ID "2022-
|
|
195
|
+
#define SQLITE_VERSION "3.38.5"
|
|
196
|
+
#define SQLITE_VERSION_NUMBER 3038005
|
|
197
|
+
#define SQLITE_SOURCE_ID "2022-05-06 15:25:27 78d9c993d404cdfaa7fdd2973fa1052e3da9f66215cff9c5540ebe55c407d9fe"
|
|
198
198
|
|
|
199
199
|
/*
|
|
200
200
|
** CAPI3REF: Run-Time Library Version Numbers
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "better-sqlite3-multiple-ciphers",
|
|
3
|
-
"version": "7.5.2-beta.
|
|
3
|
+
"version": "7.5.2-beta.3",
|
|
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>",
|