Fossil SCM

Update the built-in SQLite to the latest 3.52.0 alpha version for testing.

drh 2026-01-05 12:37 trunk
Commit 12e4a0f415a15e53454e73a3eeee4f8b1f104ca54de23fcad8e816db4a40b9e7
+9 -4
--- extsrc/shell.c
+++ extsrc/shell.c
@@ -3836,11 +3836,11 @@
38363836
38373837
/* Return the current wall-clock time in microseconds since the
38383838
** Unix epoch (1970-01-01T00:00:00Z)
38393839
*/
38403840
static sqlite3_int64 timeOfDay(void){
3841
-#if defined(_WIN64)
3841
+#if defined(_WIN64) && _WIN32_WINNT >= _WIN32_WINNT_WIN8
38423842
sqlite3_uint64 t;
38433843
FILETIME tm;
38443844
GetSystemTimePreciseAsFileTime(&tm);
38453845
t = ((u64)tm.dwHighDateTime<<32) | (u64)tm.dwLowDateTime;
38463846
t += 116444736000000000LL;
@@ -13566,11 +13566,11 @@
1356613566
rc = zipfileReadData(
1356713567
pFile, aRead, nExtra+nFile, iOff+ZIPFILE_CDS_FIXED_SZ, pzErr
1356813568
);
1356913569
}else{
1357013570
aRead = (u8*)&aBlob[iOff + ZIPFILE_CDS_FIXED_SZ];
13571
- if( (iOff + ZIPFILE_LFH_FIXED_SZ + nFile + nExtra)>nBlob ){
13571
+ if( (iOff + ZIPFILE_CDS_FIXED_SZ + nFile + nExtra)>nBlob ){
1357213572
rc = zipfileCorrupt(pzErr);
1357313573
}
1357413574
}
1357513575
}
1357613576
@@ -24178,18 +24178,19 @@
2417824178
u8 autoExplain; /* Automatically turn on .explain mode */
2417924179
u8 autoEQP; /* Run EXPLAIN QUERY PLAN prior to each SQL stmt */
2418024180
u8 autoEQPtrace; /* autoEQP is in trace mode */
2418124181
u8 scanstatsOn; /* True to display scan stats before each finalize */
2418224182
u8 bAutoScreenWidth; /* Using the TTY to determine screen width */
24183
- u8 mFlags; /* MFLG_ECHO and/or MFLG_CRLF */
24183
+ u8 mFlags; /* MFLG_ECHO, MFLG_CRLF, etc. */
2418424184
u8 eMode; /* One of the MODE_ values */
2418524185
sqlite3_qrf_spec spec; /* Spec to be passed into QRF */
2418624186
} Mode;
2418724187
2418824188
/* Flags for Mode.mFlags */
2418924189
#define MFLG_ECHO 0x01 /* Echo inputs to output */
2419024190
#define MFLG_CRLF 0x02 /* Use CR/LF output line endings */
24191
+#define MFLG_HDR 0x04 /* .header used to change headers on/off */
2419124192
2419224193
2419324194
/*
2419424195
** State information about the database connection is contained in an
2419524196
** instance of the following structure.
@@ -24550,11 +24551,13 @@
2455024551
if( pI->eCSep ) modeSetStr(&pM->spec.zColumnSep, aModeStr[pI->eCSep]);
2455124552
if( pI->eRSep ) modeSetStr(&pM->spec.zRowSep, aModeStr[pI->eRSep]);
2455224553
if( pI->eNull ) modeSetStr(&pM->spec.zNull, aModeStr[pI->eNull]);
2455324554
pM->spec.eText = pI->eText;
2455424555
pM->spec.eBlob = pI->eBlob;
24555
- pM->spec.bTitles = pI->bHdr;
24556
+ if( (pM->mFlags & MFLG_HDR)==0 ){
24557
+ pM->spec.bTitles = pI->bHdr;
24558
+ }
2455624559
pM->spec.eTitle = pI->eHdr;
2455724560
if( pI->mFlg & 0x01 ){
2455824561
pM->spec.bBorder = QRF_No;
2455924562
}else{
2456024563
pM->spec.bBorder = QRF_Auto;
@@ -31286,10 +31289,11 @@
3128631289
if( k<0 ){
3128731290
dotCmdError(p, i, "bad --titles value","%z", zErr);
3128831291
return 1;
3128931292
}
3129031293
p->mode.spec.bTitles = k>=1 ? QRF_Yes : QRF_No;
31294
+ p->mode.mFlags &= ~MFLG_HDR;
3129131295
p->mode.spec.eTitle = k>1 ? k-1 : aModeInfo[p->mode.eMode].eHdr;
3129231296
chng = 1;
3129331297
}else if( optionMatch(z,"widths") || optionMatch(z,"width") ){
3129431298
int nWidth = 0;
3129531299
short int *aWidth;
@@ -32759,10 +32763,11 @@
3275932763
}else
3276032764
3276132765
if( c=='h' && cli_strncmp(azArg[0], "headers", n)==0 ){
3276232766
if( nArg==2 ){
3276332767
p->mode.spec.bTitles = booleanValue(azArg[1]) ? QRF_Yes : QRF_No;
32768
+ p->mode.mFlags |= MFLG_HDR;
3276432769
p->mode.spec.eTitle = aModeInfo[p->mode.eMode].eHdr;
3276532770
}else{
3276632771
eputz("Usage: .headers on|off\n");
3276732772
rc = 1;
3276832773
}
3276932774
--- extsrc/shell.c
+++ extsrc/shell.c
@@ -3836,11 +3836,11 @@
3836
3837 /* Return the current wall-clock time in microseconds since the
3838 ** Unix epoch (1970-01-01T00:00:00Z)
3839 */
3840 static sqlite3_int64 timeOfDay(void){
3841 #if defined(_WIN64)
3842 sqlite3_uint64 t;
3843 FILETIME tm;
3844 GetSystemTimePreciseAsFileTime(&tm);
3845 t = ((u64)tm.dwHighDateTime<<32) | (u64)tm.dwLowDateTime;
3846 t += 116444736000000000LL;
@@ -13566,11 +13566,11 @@
13566 rc = zipfileReadData(
13567 pFile, aRead, nExtra+nFile, iOff+ZIPFILE_CDS_FIXED_SZ, pzErr
13568 );
13569 }else{
13570 aRead = (u8*)&aBlob[iOff + ZIPFILE_CDS_FIXED_SZ];
13571 if( (iOff + ZIPFILE_LFH_FIXED_SZ + nFile + nExtra)>nBlob ){
13572 rc = zipfileCorrupt(pzErr);
13573 }
13574 }
13575 }
13576
@@ -24178,18 +24178,19 @@
24178 u8 autoExplain; /* Automatically turn on .explain mode */
24179 u8 autoEQP; /* Run EXPLAIN QUERY PLAN prior to each SQL stmt */
24180 u8 autoEQPtrace; /* autoEQP is in trace mode */
24181 u8 scanstatsOn; /* True to display scan stats before each finalize */
24182 u8 bAutoScreenWidth; /* Using the TTY to determine screen width */
24183 u8 mFlags; /* MFLG_ECHO and/or MFLG_CRLF */
24184 u8 eMode; /* One of the MODE_ values */
24185 sqlite3_qrf_spec spec; /* Spec to be passed into QRF */
24186 } Mode;
24187
24188 /* Flags for Mode.mFlags */
24189 #define MFLG_ECHO 0x01 /* Echo inputs to output */
24190 #define MFLG_CRLF 0x02 /* Use CR/LF output line endings */
 
24191
24192
24193 /*
24194 ** State information about the database connection is contained in an
24195 ** instance of the following structure.
@@ -24550,11 +24551,13 @@
24550 if( pI->eCSep ) modeSetStr(&pM->spec.zColumnSep, aModeStr[pI->eCSep]);
24551 if( pI->eRSep ) modeSetStr(&pM->spec.zRowSep, aModeStr[pI->eRSep]);
24552 if( pI->eNull ) modeSetStr(&pM->spec.zNull, aModeStr[pI->eNull]);
24553 pM->spec.eText = pI->eText;
24554 pM->spec.eBlob = pI->eBlob;
24555 pM->spec.bTitles = pI->bHdr;
 
 
24556 pM->spec.eTitle = pI->eHdr;
24557 if( pI->mFlg & 0x01 ){
24558 pM->spec.bBorder = QRF_No;
24559 }else{
24560 pM->spec.bBorder = QRF_Auto;
@@ -31286,10 +31289,11 @@
31286 if( k<0 ){
31287 dotCmdError(p, i, "bad --titles value","%z", zErr);
31288 return 1;
31289 }
31290 p->mode.spec.bTitles = k>=1 ? QRF_Yes : QRF_No;
 
31291 p->mode.spec.eTitle = k>1 ? k-1 : aModeInfo[p->mode.eMode].eHdr;
31292 chng = 1;
31293 }else if( optionMatch(z,"widths") || optionMatch(z,"width") ){
31294 int nWidth = 0;
31295 short int *aWidth;
@@ -32759,10 +32763,11 @@
32759 }else
32760
32761 if( c=='h' && cli_strncmp(azArg[0], "headers", n)==0 ){
32762 if( nArg==2 ){
32763 p->mode.spec.bTitles = booleanValue(azArg[1]) ? QRF_Yes : QRF_No;
 
32764 p->mode.spec.eTitle = aModeInfo[p->mode.eMode].eHdr;
32765 }else{
32766 eputz("Usage: .headers on|off\n");
32767 rc = 1;
32768 }
32769
--- extsrc/shell.c
+++ extsrc/shell.c
@@ -3836,11 +3836,11 @@
3836
3837 /* Return the current wall-clock time in microseconds since the
3838 ** Unix epoch (1970-01-01T00:00:00Z)
3839 */
3840 static sqlite3_int64 timeOfDay(void){
3841 #if defined(_WIN64) && _WIN32_WINNT >= _WIN32_WINNT_WIN8
3842 sqlite3_uint64 t;
3843 FILETIME tm;
3844 GetSystemTimePreciseAsFileTime(&tm);
3845 t = ((u64)tm.dwHighDateTime<<32) | (u64)tm.dwLowDateTime;
3846 t += 116444736000000000LL;
@@ -13566,11 +13566,11 @@
13566 rc = zipfileReadData(
13567 pFile, aRead, nExtra+nFile, iOff+ZIPFILE_CDS_FIXED_SZ, pzErr
13568 );
13569 }else{
13570 aRead = (u8*)&aBlob[iOff + ZIPFILE_CDS_FIXED_SZ];
13571 if( (iOff + ZIPFILE_CDS_FIXED_SZ + nFile + nExtra)>nBlob ){
13572 rc = zipfileCorrupt(pzErr);
13573 }
13574 }
13575 }
13576
@@ -24178,18 +24178,19 @@
24178 u8 autoExplain; /* Automatically turn on .explain mode */
24179 u8 autoEQP; /* Run EXPLAIN QUERY PLAN prior to each SQL stmt */
24180 u8 autoEQPtrace; /* autoEQP is in trace mode */
24181 u8 scanstatsOn; /* True to display scan stats before each finalize */
24182 u8 bAutoScreenWidth; /* Using the TTY to determine screen width */
24183 u8 mFlags; /* MFLG_ECHO, MFLG_CRLF, etc. */
24184 u8 eMode; /* One of the MODE_ values */
24185 sqlite3_qrf_spec spec; /* Spec to be passed into QRF */
24186 } Mode;
24187
24188 /* Flags for Mode.mFlags */
24189 #define MFLG_ECHO 0x01 /* Echo inputs to output */
24190 #define MFLG_CRLF 0x02 /* Use CR/LF output line endings */
24191 #define MFLG_HDR 0x04 /* .header used to change headers on/off */
24192
24193
24194 /*
24195 ** State information about the database connection is contained in an
24196 ** instance of the following structure.
@@ -24550,11 +24551,13 @@
24551 if( pI->eCSep ) modeSetStr(&pM->spec.zColumnSep, aModeStr[pI->eCSep]);
24552 if( pI->eRSep ) modeSetStr(&pM->spec.zRowSep, aModeStr[pI->eRSep]);
24553 if( pI->eNull ) modeSetStr(&pM->spec.zNull, aModeStr[pI->eNull]);
24554 pM->spec.eText = pI->eText;
24555 pM->spec.eBlob = pI->eBlob;
24556 if( (pM->mFlags & MFLG_HDR)==0 ){
24557 pM->spec.bTitles = pI->bHdr;
24558 }
24559 pM->spec.eTitle = pI->eHdr;
24560 if( pI->mFlg & 0x01 ){
24561 pM->spec.bBorder = QRF_No;
24562 }else{
24563 pM->spec.bBorder = QRF_Auto;
@@ -31286,10 +31289,11 @@
31289 if( k<0 ){
31290 dotCmdError(p, i, "bad --titles value","%z", zErr);
31291 return 1;
31292 }
31293 p->mode.spec.bTitles = k>=1 ? QRF_Yes : QRF_No;
31294 p->mode.mFlags &= ~MFLG_HDR;
31295 p->mode.spec.eTitle = k>1 ? k-1 : aModeInfo[p->mode.eMode].eHdr;
31296 chng = 1;
31297 }else if( optionMatch(z,"widths") || optionMatch(z,"width") ){
31298 int nWidth = 0;
31299 short int *aWidth;
@@ -32759,10 +32763,11 @@
32763 }else
32764
32765 if( c=='h' && cli_strncmp(azArg[0], "headers", n)==0 ){
32766 if( nArg==2 ){
32767 p->mode.spec.bTitles = booleanValue(azArg[1]) ? QRF_Yes : QRF_No;
32768 p->mode.mFlags |= MFLG_HDR;
32769 p->mode.spec.eTitle = aModeInfo[p->mode.eMode].eHdr;
32770 }else{
32771 eputz("Usage: .headers on|off\n");
32772 rc = 1;
32773 }
32774
+17 -5
--- extsrc/sqlite3.c
+++ extsrc/sqlite3.c
@@ -16,11 +16,11 @@
1616
** if you want a wrapper to interface SQLite with your choice of programming
1717
** language. The code for the "sqlite3" command-line shell is also in a
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
-** 39e15ce3d6c42b13d0c1164a161e7b5d5d83 with changes in files:
21
+** 707c0f6442e946f23de061ee2753eb5994ab with changes in files:
2222
**
2323
**
2424
*/
2525
#ifndef SQLITE_AMALGAMATION
2626
#define SQLITE_CORE 1
@@ -467,14 +467,14 @@
467467
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
468468
** [sqlite_version()] and [sqlite_source_id()].
469469
*/
470470
#define SQLITE_VERSION "3.52.0"
471471
#define SQLITE_VERSION_NUMBER 3052000
472
-#define SQLITE_SOURCE_ID "2025-12-30 13:10:10 39e15ce3d6c42b13d0c1164a161e7b5d5d8382050c2729961733ddef695c9116"
472
+#define SQLITE_SOURCE_ID "2026-01-04 11:05:05 707c0f6442e946f23de061ee2753eb5994ab55d411c49b232799f309ba0f10cf"
473473
#define SQLITE_SCM_BRANCH "trunk"
474474
#define SQLITE_SCM_TAGS ""
475
-#define SQLITE_SCM_DATETIME "2025-12-30T13:10:10.143Z"
475
+#define SQLITE_SCM_DATETIME "2026-01-04T11:05:05.639Z"
476476
477477
/*
478478
** CAPI3REF: Run-Time Library Version Numbers
479479
** KEYWORDS: sqlite3_version sqlite3_sourceid
480480
**
@@ -154838,16 +154838,28 @@
154838154838
Expr *pSubWhere = pSub->pWhere;
154839154839
if( pSub->pSrc->nSrc==1
154840154840
&& (pSub->selFlags & SF_Aggregate)==0
154841154841
&& !pSub->pSrc->a[0].fg.isSubquery
154842154842
&& pSub->pLimit==0
154843
+ && pSub->pPrior==0
154843154844
){
154845
+ /* Before combining the sub-select with the parent, renumber the
154846
+ ** cursor used by the subselect. This is because the EXISTS expression
154847
+ ** might be a copy of another EXISTS expression from somewhere
154848
+ ** else in the tree, and in this case it is important that it use
154849
+ ** a unique cursor number. */
154850
+ sqlite3 *db = pParse->db;
154851
+ int *aCsrMap = sqlite3DbMallocZero(db, (pParse->nTab+2)*sizeof(int));
154852
+ if( aCsrMap==0 ) return;
154853
+ aCsrMap[0] = (pParse->nTab+1);
154854
+ renumberCursors(pParse, pSub, -1, aCsrMap);
154855
+ sqlite3DbFree(db, aCsrMap);
154856
+
154844154857
memset(pWhere, 0, sizeof(*pWhere));
154845154858
pWhere->op = TK_INTEGER;
154846154859
pWhere->u.iValue = 1;
154847154860
ExprSetProperty(pWhere, EP_IntValue);
154848
-
154849154861
assert( p->pWhere!=0 );
154850154862
pSub->pSrc->a[0].fg.fromExists = 1;
154851154863
pSub->pSrc->a[0].fg.jointype |= JT_CROSS;
154852154864
p->pSrc = sqlite3SrcListAppendList(pParse, p->pSrc, pSub->pSrc);
154853154865
if( pSubWhere ){
@@ -261154,11 +261166,11 @@
261154261166
int nArg, /* Number of args */
261155261167
sqlite3_value **apUnused /* Function arguments */
261156261168
){
261157261169
assert( nArg==0 );
261158261170
UNUSED_PARAM2(nArg, apUnused);
261159
- sqlite3_result_text(pCtx, "fts5: 2025-12-30 11:36:23 52738908b04848b93d54431def37ffaa9723043270ff8ba1e2fa59ab0040afc5", -1, SQLITE_TRANSIENT);
261171
+ sqlite3_result_text(pCtx, "fts5: 2026-01-04 11:05:05 707c0f6442e946f23de061ee2753eb5994ab55d411c49b232799f309ba0f10cf", -1, SQLITE_TRANSIENT);
261160261172
}
261161261173
261162261174
/*
261163261175
** Implementation of fts5_locale(LOCALE, TEXT) function.
261164261176
**
261165261177
--- extsrc/sqlite3.c
+++ extsrc/sqlite3.c
@@ -16,11 +16,11 @@
16 ** if you want a wrapper to interface SQLite with your choice of programming
17 ** language. The code for the "sqlite3" command-line shell is also in a
18 ** separate file. This file contains only code for the core SQLite library.
19 **
20 ** The content in this amalgamation comes from Fossil check-in
21 ** 39e15ce3d6c42b13d0c1164a161e7b5d5d83 with changes in files:
22 **
23 **
24 */
25 #ifndef SQLITE_AMALGAMATION
26 #define SQLITE_CORE 1
@@ -467,14 +467,14 @@
467 ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
468 ** [sqlite_version()] and [sqlite_source_id()].
469 */
470 #define SQLITE_VERSION "3.52.0"
471 #define SQLITE_VERSION_NUMBER 3052000
472 #define SQLITE_SOURCE_ID "2025-12-30 13:10:10 39e15ce3d6c42b13d0c1164a161e7b5d5d8382050c2729961733ddef695c9116"
473 #define SQLITE_SCM_BRANCH "trunk"
474 #define SQLITE_SCM_TAGS ""
475 #define SQLITE_SCM_DATETIME "2025-12-30T13:10:10.143Z"
476
477 /*
478 ** CAPI3REF: Run-Time Library Version Numbers
479 ** KEYWORDS: sqlite3_version sqlite3_sourceid
480 **
@@ -154838,16 +154838,28 @@
154838 Expr *pSubWhere = pSub->pWhere;
154839 if( pSub->pSrc->nSrc==1
154840 && (pSub->selFlags & SF_Aggregate)==0
154841 && !pSub->pSrc->a[0].fg.isSubquery
154842 && pSub->pLimit==0
 
154843 ){
 
 
 
 
 
 
 
 
 
 
 
 
154844 memset(pWhere, 0, sizeof(*pWhere));
154845 pWhere->op = TK_INTEGER;
154846 pWhere->u.iValue = 1;
154847 ExprSetProperty(pWhere, EP_IntValue);
154848
154849 assert( p->pWhere!=0 );
154850 pSub->pSrc->a[0].fg.fromExists = 1;
154851 pSub->pSrc->a[0].fg.jointype |= JT_CROSS;
154852 p->pSrc = sqlite3SrcListAppendList(pParse, p->pSrc, pSub->pSrc);
154853 if( pSubWhere ){
@@ -261154,11 +261166,11 @@
261154 int nArg, /* Number of args */
261155 sqlite3_value **apUnused /* Function arguments */
261156 ){
261157 assert( nArg==0 );
261158 UNUSED_PARAM2(nArg, apUnused);
261159 sqlite3_result_text(pCtx, "fts5: 2025-12-30 11:36:23 52738908b04848b93d54431def37ffaa9723043270ff8ba1e2fa59ab0040afc5", -1, SQLITE_TRANSIENT);
261160 }
261161
261162 /*
261163 ** Implementation of fts5_locale(LOCALE, TEXT) function.
261164 **
261165
--- extsrc/sqlite3.c
+++ extsrc/sqlite3.c
@@ -16,11 +16,11 @@
16 ** if you want a wrapper to interface SQLite with your choice of programming
17 ** language. The code for the "sqlite3" command-line shell is also in a
18 ** separate file. This file contains only code for the core SQLite library.
19 **
20 ** The content in this amalgamation comes from Fossil check-in
21 ** 707c0f6442e946f23de061ee2753eb5994ab with changes in files:
22 **
23 **
24 */
25 #ifndef SQLITE_AMALGAMATION
26 #define SQLITE_CORE 1
@@ -467,14 +467,14 @@
467 ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
468 ** [sqlite_version()] and [sqlite_source_id()].
469 */
470 #define SQLITE_VERSION "3.52.0"
471 #define SQLITE_VERSION_NUMBER 3052000
472 #define SQLITE_SOURCE_ID "2026-01-04 11:05:05 707c0f6442e946f23de061ee2753eb5994ab55d411c49b232799f309ba0f10cf"
473 #define SQLITE_SCM_BRANCH "trunk"
474 #define SQLITE_SCM_TAGS ""
475 #define SQLITE_SCM_DATETIME "2026-01-04T11:05:05.639Z"
476
477 /*
478 ** CAPI3REF: Run-Time Library Version Numbers
479 ** KEYWORDS: sqlite3_version sqlite3_sourceid
480 **
@@ -154838,16 +154838,28 @@
154838 Expr *pSubWhere = pSub->pWhere;
154839 if( pSub->pSrc->nSrc==1
154840 && (pSub->selFlags & SF_Aggregate)==0
154841 && !pSub->pSrc->a[0].fg.isSubquery
154842 && pSub->pLimit==0
154843 && pSub->pPrior==0
154844 ){
154845 /* Before combining the sub-select with the parent, renumber the
154846 ** cursor used by the subselect. This is because the EXISTS expression
154847 ** might be a copy of another EXISTS expression from somewhere
154848 ** else in the tree, and in this case it is important that it use
154849 ** a unique cursor number. */
154850 sqlite3 *db = pParse->db;
154851 int *aCsrMap = sqlite3DbMallocZero(db, (pParse->nTab+2)*sizeof(int));
154852 if( aCsrMap==0 ) return;
154853 aCsrMap[0] = (pParse->nTab+1);
154854 renumberCursors(pParse, pSub, -1, aCsrMap);
154855 sqlite3DbFree(db, aCsrMap);
154856
154857 memset(pWhere, 0, sizeof(*pWhere));
154858 pWhere->op = TK_INTEGER;
154859 pWhere->u.iValue = 1;
154860 ExprSetProperty(pWhere, EP_IntValue);
 
154861 assert( p->pWhere!=0 );
154862 pSub->pSrc->a[0].fg.fromExists = 1;
154863 pSub->pSrc->a[0].fg.jointype |= JT_CROSS;
154864 p->pSrc = sqlite3SrcListAppendList(pParse, p->pSrc, pSub->pSrc);
154865 if( pSubWhere ){
@@ -261154,11 +261166,11 @@
261166 int nArg, /* Number of args */
261167 sqlite3_value **apUnused /* Function arguments */
261168 ){
261169 assert( nArg==0 );
261170 UNUSED_PARAM2(nArg, apUnused);
261171 sqlite3_result_text(pCtx, "fts5: 2026-01-04 11:05:05 707c0f6442e946f23de061ee2753eb5994ab55d411c49b232799f309ba0f10cf", -1, SQLITE_TRANSIENT);
261172 }
261173
261174 /*
261175 ** Implementation of fts5_locale(LOCALE, TEXT) function.
261176 **
261177
--- extsrc/sqlite3.h
+++ extsrc/sqlite3.h
@@ -146,14 +146,14 @@
146146
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
147147
** [sqlite_version()] and [sqlite_source_id()].
148148
*/
149149
#define SQLITE_VERSION "3.52.0"
150150
#define SQLITE_VERSION_NUMBER 3052000
151
-#define SQLITE_SOURCE_ID "2025-12-30 13:10:10 39e15ce3d6c42b13d0c1164a161e7b5d5d8382050c2729961733ddef695c9116"
151
+#define SQLITE_SOURCE_ID "2026-01-04 11:05:05 707c0f6442e946f23de061ee2753eb5994ab55d411c49b232799f309ba0f10cf"
152152
#define SQLITE_SCM_BRANCH "trunk"
153153
#define SQLITE_SCM_TAGS ""
154
-#define SQLITE_SCM_DATETIME "2025-12-30T13:10:10.143Z"
154
+#define SQLITE_SCM_DATETIME "2026-01-04T11:05:05.639Z"
155155
156156
/*
157157
** CAPI3REF: Run-Time Library Version Numbers
158158
** KEYWORDS: sqlite3_version sqlite3_sourceid
159159
**
160160
--- extsrc/sqlite3.h
+++ extsrc/sqlite3.h
@@ -146,14 +146,14 @@
146 ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
147 ** [sqlite_version()] and [sqlite_source_id()].
148 */
149 #define SQLITE_VERSION "3.52.0"
150 #define SQLITE_VERSION_NUMBER 3052000
151 #define SQLITE_SOURCE_ID "2025-12-30 13:10:10 39e15ce3d6c42b13d0c1164a161e7b5d5d8382050c2729961733ddef695c9116"
152 #define SQLITE_SCM_BRANCH "trunk"
153 #define SQLITE_SCM_TAGS ""
154 #define SQLITE_SCM_DATETIME "2025-12-30T13:10:10.143Z"
155
156 /*
157 ** CAPI3REF: Run-Time Library Version Numbers
158 ** KEYWORDS: sqlite3_version sqlite3_sourceid
159 **
160
--- extsrc/sqlite3.h
+++ extsrc/sqlite3.h
@@ -146,14 +146,14 @@
146 ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
147 ** [sqlite_version()] and [sqlite_source_id()].
148 */
149 #define SQLITE_VERSION "3.52.0"
150 #define SQLITE_VERSION_NUMBER 3052000
151 #define SQLITE_SOURCE_ID "2026-01-04 11:05:05 707c0f6442e946f23de061ee2753eb5994ab55d411c49b232799f309ba0f10cf"
152 #define SQLITE_SCM_BRANCH "trunk"
153 #define SQLITE_SCM_TAGS ""
154 #define SQLITE_SCM_DATETIME "2026-01-04T11:05:05.639Z"
155
156 /*
157 ** CAPI3REF: Run-Time Library Version Numbers
158 ** KEYWORDS: sqlite3_version sqlite3_sourceid
159 **
160

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button