Fossil SCM

Update the built-in SQLite to the latest beta for testing.

drh 2026-02-19 14:36 trunk
Commit 065736a20c6cc8523fe6d1259dcfe77b0b4c3b2368b6296db665bbb4093d45d6
+1 -1
--- extsrc/shell.c
+++ extsrc/shell.c
@@ -4542,11 +4542,11 @@
45424542
double r = sqlite3_value_double(apVal[0]);
45434543
int n = nVal>=2 ? sqlite3_value_int(apVal[1]) : 26;
45444544
char z[400];
45454545
if( n<1 ) n = 1;
45464546
if( n>350 ) n = 350;
4547
- sqlite3_snprintf(sizeof(z), z, "%#+.*e", n, r);
4547
+ sprintf(z, "%#+.*e", n, r);
45484548
sqlite3_result_text(pCtx, z, -1, SQLITE_TRANSIENT);
45494549
}
45504550
45514551
/*
45524552
** SQL function: shell_add_schema(S,X)
45534553
--- extsrc/shell.c
+++ extsrc/shell.c
@@ -4542,11 +4542,11 @@
4542 double r = sqlite3_value_double(apVal[0]);
4543 int n = nVal>=2 ? sqlite3_value_int(apVal[1]) : 26;
4544 char z[400];
4545 if( n<1 ) n = 1;
4546 if( n>350 ) n = 350;
4547 sqlite3_snprintf(sizeof(z), z, "%#+.*e", n, r);
4548 sqlite3_result_text(pCtx, z, -1, SQLITE_TRANSIENT);
4549 }
4550
4551 /*
4552 ** SQL function: shell_add_schema(S,X)
4553
--- extsrc/shell.c
+++ extsrc/shell.c
@@ -4542,11 +4542,11 @@
4542 double r = sqlite3_value_double(apVal[0]);
4543 int n = nVal>=2 ? sqlite3_value_int(apVal[1]) : 26;
4544 char z[400];
4545 if( n<1 ) n = 1;
4546 if( n>350 ) n = 350;
4547 sprintf(z, "%#+.*e", n, r);
4548 sqlite3_result_text(pCtx, z, -1, SQLITE_TRANSIENT);
4549 }
4550
4551 /*
4552 ** SQL function: shell_add_schema(S,X)
4553
+11 -12
--- 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
-** 2610105a439e25c050b2deb32953861187c8 with changes in files:
21
+** e540f6c370675ae043af8cdbb80f7eb17c08 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 "2026-02-17 11:28:48 2610105a439e25c050b2deb32953861187c81b1d97407f41dc188e6627e0ac4d"
472
+#define SQLITE_SOURCE_ID "2026-02-19 12:59:42 e540f6c370675ae043af8cdbb80f7eb17c08e50f7634e0b78f0b1dccf7bd4b18"
473473
#define SQLITE_SCM_BRANCH "trunk"
474474
#define SQLITE_SCM_TAGS ""
475
-#define SQLITE_SCM_DATETIME "2026-02-17T11:28:48.505Z"
475
+#define SQLITE_SCM_DATETIME "2026-02-19T12:59:42.005Z"
476476
477477
/*
478478
** CAPI3REF: Run-Time Library Version Numbers
479479
** KEYWORDS: sqlite3_version sqlite3_sourceid
480480
**
@@ -36653,17 +36653,16 @@
3665336653
** The input m is required to have its highest bit set. In other words,
3665436654
** m should be left-shifted, and e decremented, to maximize the value of m.
3665536655
*/
3665636656
static void sqlite3Fp2Convert10(u64 m, int e, int n, u64 *pD, int *pP){
3665736657
int p;
36658
- u64 h, out;
36658
+ u64 h;
3665936659
p = n - 1 - pwr2to10(e+63);
3666036660
h = sqlite3Multiply128(m, powerOfTen(p));
36661
- assert( -(e + pwr10to2(p) + 3) >=0 );
36662
- assert( -(e + pwr10to2(p) + 3) <64 );
36663
- out = h >> -(e + pwr10to2(p) + 3);
36664
- *pD = (out + 2 + ((out>>2)&1)) >> 2;
36661
+ assert( -(e + pwr10to2(p) + 1) >=0 );
36662
+ assert( -(e + pwr10to2(p) + 1) <64 );
36663
+ *pD = h >> -(e + pwr10to2(p) + 1);
3666536664
*pP = -p;
3666636665
}
3666736666
3666836667
/*
3666936668
** Return an IEEE754 floating point value that approximates d*pow(10,p).
@@ -36849,11 +36848,11 @@
3684936848
/*
3685036849
** Digit pairs used to convert a U64 or I64 into text, two digits
3685136850
** at a time.
3685236851
*/
3685336852
static const union {
36854
- char a[200];
36853
+ char a[201];
3685536854
short int forceAlignment;
3685636855
} sqlite3DigitPairs = {
3685736856
"00010203040506070809"
3685836857
"10111213141516171819"
3685936858
"20212223242526272829"
@@ -37161,11 +37160,11 @@
3716137160
/*
3716237161
** Decode a floating-point value into an approximate decimal
3716337162
** representation.
3716437163
**
3716537164
** If iRound<=0 then round to -iRound significant digits to the
37166
-** the left of the decimal point, or to a maximum of mxRound total
37165
+** the right of the decimal point, or to a maximum of mxRound total
3716737166
** significant digits.
3716837167
**
3716937168
** If iRound>0 round to min(iRound,mxRound) significant digits total.
3717037169
**
3717137170
** mxRound must be positive.
@@ -37213,11 +37212,11 @@
3721337212
e = -1074 - n;
3721437213
}else{
3721537214
v = (v<<11) | U64_BIT(63);
3721637215
e -= 1086;
3721737216
}
37218
- sqlite3Fp2Convert10(v, e, 17, &v, &exp);
37217
+ sqlite3Fp2Convert10(v, e, (iRound<=0||iRound>=18)?18:iRound+1, &v, &exp);
3721937218
3722037219
/* Extract significant digits. */
3722137220
i = sizeof(p->zBuf)-1;
3722237221
assert( v>0 );
3722337222
while( v>=10 ){
@@ -261750,11 +261749,11 @@
261750261749
int nArg, /* Number of args */
261751261750
sqlite3_value **apUnused /* Function arguments */
261752261751
){
261753261752
assert( nArg==0 );
261754261753
UNUSED_PARAM2(nArg, apUnused);
261755
- sqlite3_result_text(pCtx, "fts5: 2026-02-17 01:04:23 dd5af703e1082951a4295a3453611db12b23cfbcfee4258ec3985abe96ab54ba", -1, SQLITE_TRANSIENT);
261754
+ sqlite3_result_text(pCtx, "fts5: 2026-02-19 12:59:42 e540f6c370675ae043af8cdbb80f7eb17c08e50f7634e0b78f0b1dccf7bd4b18", -1, SQLITE_TRANSIENT);
261756261755
}
261757261756
261758261757
/*
261759261758
** Implementation of fts5_locale(LOCALE, TEXT) function.
261760261759
**
261761261760
--- 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 ** 2610105a439e25c050b2deb32953861187c8 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-02-17 11:28:48 2610105a439e25c050b2deb32953861187c81b1d97407f41dc188e6627e0ac4d"
473 #define SQLITE_SCM_BRANCH "trunk"
474 #define SQLITE_SCM_TAGS ""
475 #define SQLITE_SCM_DATETIME "2026-02-17T11:28:48.505Z"
476
477 /*
478 ** CAPI3REF: Run-Time Library Version Numbers
479 ** KEYWORDS: sqlite3_version sqlite3_sourceid
480 **
@@ -36653,17 +36653,16 @@
36653 ** The input m is required to have its highest bit set. In other words,
36654 ** m should be left-shifted, and e decremented, to maximize the value of m.
36655 */
36656 static void sqlite3Fp2Convert10(u64 m, int e, int n, u64 *pD, int *pP){
36657 int p;
36658 u64 h, out;
36659 p = n - 1 - pwr2to10(e+63);
36660 h = sqlite3Multiply128(m, powerOfTen(p));
36661 assert( -(e + pwr10to2(p) + 3) >=0 );
36662 assert( -(e + pwr10to2(p) + 3) <64 );
36663 out = h >> -(e + pwr10to2(p) + 3);
36664 *pD = (out + 2 + ((out>>2)&1)) >> 2;
36665 *pP = -p;
36666 }
36667
36668 /*
36669 ** Return an IEEE754 floating point value that approximates d*pow(10,p).
@@ -36849,11 +36848,11 @@
36849 /*
36850 ** Digit pairs used to convert a U64 or I64 into text, two digits
36851 ** at a time.
36852 */
36853 static const union {
36854 char a[200];
36855 short int forceAlignment;
36856 } sqlite3DigitPairs = {
36857 "00010203040506070809"
36858 "10111213141516171819"
36859 "20212223242526272829"
@@ -37161,11 +37160,11 @@
37161 /*
37162 ** Decode a floating-point value into an approximate decimal
37163 ** representation.
37164 **
37165 ** If iRound<=0 then round to -iRound significant digits to the
37166 ** the left of the decimal point, or to a maximum of mxRound total
37167 ** significant digits.
37168 **
37169 ** If iRound>0 round to min(iRound,mxRound) significant digits total.
37170 **
37171 ** mxRound must be positive.
@@ -37213,11 +37212,11 @@
37213 e = -1074 - n;
37214 }else{
37215 v = (v<<11) | U64_BIT(63);
37216 e -= 1086;
37217 }
37218 sqlite3Fp2Convert10(v, e, 17, &v, &exp);
37219
37220 /* Extract significant digits. */
37221 i = sizeof(p->zBuf)-1;
37222 assert( v>0 );
37223 while( v>=10 ){
@@ -261750,11 +261749,11 @@
261750 int nArg, /* Number of args */
261751 sqlite3_value **apUnused /* Function arguments */
261752 ){
261753 assert( nArg==0 );
261754 UNUSED_PARAM2(nArg, apUnused);
261755 sqlite3_result_text(pCtx, "fts5: 2026-02-17 01:04:23 dd5af703e1082951a4295a3453611db12b23cfbcfee4258ec3985abe96ab54ba", -1, SQLITE_TRANSIENT);
261756 }
261757
261758 /*
261759 ** Implementation of fts5_locale(LOCALE, TEXT) function.
261760 **
261761
--- 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 ** e540f6c370675ae043af8cdbb80f7eb17c08 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-02-19 12:59:42 e540f6c370675ae043af8cdbb80f7eb17c08e50f7634e0b78f0b1dccf7bd4b18"
473 #define SQLITE_SCM_BRANCH "trunk"
474 #define SQLITE_SCM_TAGS ""
475 #define SQLITE_SCM_DATETIME "2026-02-19T12:59:42.005Z"
476
477 /*
478 ** CAPI3REF: Run-Time Library Version Numbers
479 ** KEYWORDS: sqlite3_version sqlite3_sourceid
480 **
@@ -36653,17 +36653,16 @@
36653 ** The input m is required to have its highest bit set. In other words,
36654 ** m should be left-shifted, and e decremented, to maximize the value of m.
36655 */
36656 static void sqlite3Fp2Convert10(u64 m, int e, int n, u64 *pD, int *pP){
36657 int p;
36658 u64 h;
36659 p = n - 1 - pwr2to10(e+63);
36660 h = sqlite3Multiply128(m, powerOfTen(p));
36661 assert( -(e + pwr10to2(p) + 1) >=0 );
36662 assert( -(e + pwr10to2(p) + 1) <64 );
36663 *pD = h >> -(e + pwr10to2(p) + 1);
 
36664 *pP = -p;
36665 }
36666
36667 /*
36668 ** Return an IEEE754 floating point value that approximates d*pow(10,p).
@@ -36849,11 +36848,11 @@
36848 /*
36849 ** Digit pairs used to convert a U64 or I64 into text, two digits
36850 ** at a time.
36851 */
36852 static const union {
36853 char a[201];
36854 short int forceAlignment;
36855 } sqlite3DigitPairs = {
36856 "00010203040506070809"
36857 "10111213141516171819"
36858 "20212223242526272829"
@@ -37161,11 +37160,11 @@
37160 /*
37161 ** Decode a floating-point value into an approximate decimal
37162 ** representation.
37163 **
37164 ** If iRound<=0 then round to -iRound significant digits to the
37165 ** the right of the decimal point, or to a maximum of mxRound total
37166 ** significant digits.
37167 **
37168 ** If iRound>0 round to min(iRound,mxRound) significant digits total.
37169 **
37170 ** mxRound must be positive.
@@ -37213,11 +37212,11 @@
37212 e = -1074 - n;
37213 }else{
37214 v = (v<<11) | U64_BIT(63);
37215 e -= 1086;
37216 }
37217 sqlite3Fp2Convert10(v, e, (iRound<=0||iRound>=18)?18:iRound+1, &v, &exp);
37218
37219 /* Extract significant digits. */
37220 i = sizeof(p->zBuf)-1;
37221 assert( v>0 );
37222 while( v>=10 ){
@@ -261750,11 +261749,11 @@
261749 int nArg, /* Number of args */
261750 sqlite3_value **apUnused /* Function arguments */
261751 ){
261752 assert( nArg==0 );
261753 UNUSED_PARAM2(nArg, apUnused);
261754 sqlite3_result_text(pCtx, "fts5: 2026-02-19 12:59:42 e540f6c370675ae043af8cdbb80f7eb17c08e50f7634e0b78f0b1dccf7bd4b18", -1, SQLITE_TRANSIENT);
261755 }
261756
261757 /*
261758 ** Implementation of fts5_locale(LOCALE, TEXT) function.
261759 **
261760
--- 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 "2026-02-17 11:28:48 2610105a439e25c050b2deb32953861187c81b1d97407f41dc188e6627e0ac4d"
151
+#define SQLITE_SOURCE_ID "2026-02-19 12:59:42 e540f6c370675ae043af8cdbb80f7eb17c08e50f7634e0b78f0b1dccf7bd4b18"
152152
#define SQLITE_SCM_BRANCH "trunk"
153153
#define SQLITE_SCM_TAGS ""
154
-#define SQLITE_SCM_DATETIME "2026-02-17T11:28:48.505Z"
154
+#define SQLITE_SCM_DATETIME "2026-02-19T12:59:42.005Z"
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 "2026-02-17 11:28:48 2610105a439e25c050b2deb32953861187c81b1d97407f41dc188e6627e0ac4d"
152 #define SQLITE_SCM_BRANCH "trunk"
153 #define SQLITE_SCM_TAGS ""
154 #define SQLITE_SCM_DATETIME "2026-02-17T11:28:48.505Z"
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-02-19 12:59:42 e540f6c370675ae043af8cdbb80f7eb17c08e50f7634e0b78f0b1dccf7bd4b18"
152 #define SQLITE_SCM_BRANCH "trunk"
153 #define SQLITE_SCM_TAGS ""
154 #define SQLITE_SCM_DATETIME "2026-02-19T12:59:42.005Z"
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