◐ Shell
clean mode source ↗

deps: update sqlite to 3.47.2 · nodejs/node@54308c5

11

/******************************************************************************

22

** This file is an amalgamation of many separate C source files from SQLite

3-

** version 3.47.1. By combining all the individual C code files into this

3+

** version 3.47.2. By combining all the individual C code files into this

44

** single large file, the entire code can be compiled as a single translation

55

** unit. This allows many compilers to do optimizations that would not be

66

** possible if the files were compiled separately. Performance improvements

@@ -18,7 +18,7 @@

1818

** separate file. This file contains only code for the core SQLite library.

1919

**

2020

** The content in this amalgamation comes from Fossil check-in

21-

** b95d11e958643b969c47a8e5857f3793b9e6.

21+

** 2aabe05e2e8cae4847a802ee2daddc1d7413.

2222

*/

2323

#define SQLITE_CORE 1

2424

#define SQLITE_AMALGAMATION 1

@@ -462,9 +462,9 @@ extern "C" {

462462

** [sqlite3_libversion_number()], [sqlite3_sourceid()],

463463

** [sqlite_version()] and [sqlite_source_id()].

464464

*/

465-

#define SQLITE_VERSION "3.47.1"

466-

#define SQLITE_VERSION_NUMBER 3047001

467-

#define SQLITE_SOURCE_ID "2024-11-25 12:07:48 b95d11e958643b969c47a8e5857f3793b9e69700b8f1469371386369a26e577e"

465+

#define SQLITE_VERSION "3.47.2"

466+

#define SQLITE_VERSION_NUMBER 3047002

467+

#define SQLITE_SOURCE_ID "2024-12-07 20:39:59 2aabe05e2e8cae4847a802ee2daddc1d7413d8fc560254d93ee3e72c14685b6c"

468468469469

/*

470470

** CAPI3REF: Run-Time Library Version Numbers

@@ -35697,8 +35697,8 @@ SQLITE_PRIVATE int sqlite3AtoF(const char *z, double *pResult, int length, u8 en

3569735697

int eValid = 1; /* True exponent is either not used or is well-formed */

3569835698

int nDigit = 0; /* Number of digits processed */

3569935699

int eType = 1; /* 1: pure integer, 2+: fractional -1 or less: bad UTF16 */

35700+

u64 s2; /* round-tripped significand */

3570035701

double rr[2];

35701-

u64 s2;

35702357023570335703

assert( enc==SQLITE_UTF8 || enc==SQLITE_UTF16LE || enc==SQLITE_UTF16BE );

3570435704

*pResult = 0.0; /* Default return value, in case of an error */

@@ -35801,7 +35801,7 @@ SQLITE_PRIVATE int sqlite3AtoF(const char *z, double *pResult, int length, u8 en

3580135801

e = (e*esign) + d;

35802358023580335803

/* Try to adjust the exponent to make it smaller */

35804-

while( e>0 && s<(LARGEST_UINT64/10) ){

35804+

while( e>0 && s<((LARGEST_UINT64-0x7ff)/10) ){

3580535805

s *= 10;

3580635806

e--;

3580735807

}

@@ -35811,11 +35811,16 @@ SQLITE_PRIVATE int sqlite3AtoF(const char *z, double *pResult, int length, u8 en

3581135811

}

35812358123581335813

rr[0] = (double)s;

35814-

s2 = (u64)rr[0];

35815-

#if defined(_MSC_VER) && _MSC_VER<1700

35816-

if( s2==0x8000000000000000LL ){ s2 = 2*(u64)(0.5*rr[0]); }

35817-

#endif

35818-

rr[1] = s>=s2 ? (double)(s - s2) : -(double)(s2 - s);

35814+

assert( sizeof(s2)==sizeof(rr[0]) );

35815+

memcpy(&s2, &rr[0], sizeof(s2));

35816+

if( s2<=0x43efffffffffffffLL ){

35817+

s2 = (u64)rr[0];

35818+

rr[1] = s>=s2 ? (double)(s - s2) : -(double)(s2 - s);

35819+

}else{

35820+

rr[1] = 0.0;

35821+

}

35822+

assert( rr[1]<=1.0e-10*rr[0] ); /* Equal only when rr[0]==0.0 */

35823+3581935824

if( e>0 ){

3582035825

while( e>=100 ){

3582135826

e -= 100;

@@ -147605,32 +147610,32 @@ static Expr *substExpr(

147605147610

if( pSubst->isOuterJoin ){

147606147611

ExprSetProperty(pNew, EP_CanBeNull);

147607147612

}

147608-

if( ExprHasProperty(pExpr,EP_OuterON|EP_InnerON) ){

147609-

sqlite3SetJoinExpr(pNew, pExpr->w.iJoin,

147610-

pExpr->flags & (EP_OuterON|EP_InnerON));

147611-

}

147612-

sqlite3ExprDelete(db, pExpr);

147613-

pExpr = pNew;

147614-

if( pExpr->op==TK_TRUEFALSE ){

147615-

pExpr->u.iValue = sqlite3ExprTruthValue(pExpr);

147616-

pExpr->op = TK_INTEGER;

147617-

ExprSetProperty(pExpr, EP_IntValue);

147613+

if( pNew->op==TK_TRUEFALSE ){

147614+

pNew->u.iValue = sqlite3ExprTruthValue(pNew);

147615+

pNew->op = TK_INTEGER;

147616+

ExprSetProperty(pNew, EP_IntValue);

147618147617

}

147619147618147620147619

/* Ensure that the expression now has an implicit collation sequence,

147621147620

** just as it did when it was a column of a view or sub-query. */

147622147621

{

147623-

CollSeq *pNat = sqlite3ExprCollSeq(pSubst->pParse, pExpr);

147622+

CollSeq *pNat = sqlite3ExprCollSeq(pSubst->pParse, pNew);

147624147623

CollSeq *pColl = sqlite3ExprCollSeq(pSubst->pParse,

147625147624

pSubst->pCList->a[iColumn].pExpr

147626147625

);

147627-

if( pNat!=pColl || (pExpr->op!=TK_COLUMN && pExpr->op!=TK_COLLATE) ){

147628-

pExpr = sqlite3ExprAddCollateString(pSubst->pParse, pExpr,

147626+

if( pNat!=pColl || (pNew->op!=TK_COLUMN && pNew->op!=TK_COLLATE) ){

147627+

pNew = sqlite3ExprAddCollateString(pSubst->pParse, pNew,

147629147628

(pColl ? pColl->zName : "BINARY")

147630147629

);

147631147630

}

147632147631

}

147633-

ExprClearProperty(pExpr, EP_Collate);

147632+

ExprClearProperty(pNew, EP_Collate);

147633+

if( ExprHasProperty(pExpr,EP_OuterON|EP_InnerON) ){

147634+

sqlite3SetJoinExpr(pNew, pExpr->w.iJoin,

147635+

pExpr->flags & (EP_OuterON|EP_InnerON));

147636+

}

147637+

sqlite3ExprDelete(db, pExpr);

147638+

pExpr = pNew;

147634147639

}

147635147640

}

147636147641

}else{

@@ -254938,7 +254943,7 @@ static void fts5SourceIdFunc(

254938254943

){

254939254944

assert( nArg==0 );

254940254945

UNUSED_PARAM2(nArg, apUnused);

254941-

sqlite3_result_text(pCtx, "fts5: 2024-11-25 12:07:48 b95d11e958643b969c47a8e5857f3793b9e69700b8f1469371386369a26e577e", -1, SQLITE_TRANSIENT);

254946+

sqlite3_result_text(pCtx, "fts5: 2024-12-07 20:39:59 2aabe05e2e8cae4847a802ee2daddc1d7413d8fc560254d93ee3e72c14685b6c", -1, SQLITE_TRANSIENT);

254942254947

}

254943254948254944254949

/*