mirror of
https://github.com/sqlite/sqlite.git
synced 2025-07-30 19:03:16 +03:00
Update the reuse-schema branch to version 3.50.0
FossilOrigin-Name: 4b1a38ff6bba84d54667a4a12cad1dcecc05f1c466ab55231725ecf01a99bdf8
This commit is contained in:
@ -616,7 +616,7 @@ proc sqlite-check-common-system-deps {} {
|
||||
|
||||
# Check for needed/wanted functions
|
||||
cc-check-functions gmtime_r isnan localtime_r localtime_s \
|
||||
malloc_usable_size strchrnul usleep utime pread pread64 pwrite pwrite64
|
||||
strchrnul usleep utime pread pread64 pwrite pwrite64
|
||||
|
||||
apply {{} {
|
||||
set ldrt ""
|
||||
|
@ -240,7 +240,7 @@ static int vtablogConnect(
|
||||
|
||||
|
||||
/*
|
||||
** This method is the destructor for vtablog_cursor objects.
|
||||
** This method is the destructor for vtablog_vtab objects.
|
||||
*/
|
||||
static int vtablogDisconnect(sqlite3_vtab *pVtab){
|
||||
vtablog_vtab *pTab = (vtablog_vtab*)pVtab;
|
||||
@ -252,7 +252,7 @@ static int vtablogDisconnect(sqlite3_vtab *pVtab){
|
||||
}
|
||||
|
||||
/*
|
||||
** This method is the destructor for vtablog_cursor objects.
|
||||
** This method is (also) the destructor for vtablog_vtab objects.
|
||||
*/
|
||||
static int vtablogDestroy(sqlite3_vtab *pVtab){
|
||||
vtablog_vtab *pTab = (vtablog_vtab*)pVtab;
|
||||
|
@ -96,6 +96,22 @@ do_test 1.5 {
|
||||
$iter finalize
|
||||
grp delete
|
||||
|
||||
do_test 1.6 {
|
||||
set C [changeset_from_sql {
|
||||
INSERT INTO t1 VALUES(1001, hex(randomblob(10000)), hex(randomblob(10000)));
|
||||
INSERT INTO t1 VALUES(2001, hex(randomblob(10000)), hex(randomblob(10000)));
|
||||
INSERT INTO t1 VALUES(3001, hex(randomblob(10000)), hex(randomblob(10000)));
|
||||
}]
|
||||
|
||||
sqlite3changegroup grp
|
||||
set iter [sqlite3changeset_start $C]
|
||||
while {[$iter next]=="SQLITE_ROW"} {
|
||||
grp add_change $iter
|
||||
}
|
||||
$iter finalize
|
||||
} SQLITE_OK
|
||||
|
||||
grp delete
|
||||
|
||||
|
||||
finish_test
|
||||
|
@ -3396,14 +3396,15 @@ int sqlite3changeset_start_v2_strm(
|
||||
** object and the buffer is full, discard some data to free up space.
|
||||
*/
|
||||
static void sessionDiscardData(SessionInput *pIn){
|
||||
if( pIn->xInput && pIn->iNext>=sessions_strm_chunk_size ){
|
||||
int nMove = pIn->buf.nBuf - pIn->iNext;
|
||||
if( pIn->xInput && pIn->iCurrent>=sessions_strm_chunk_size ){
|
||||
int nMove = pIn->buf.nBuf - pIn->iCurrent;
|
||||
assert( nMove>=0 );
|
||||
if( nMove>0 ){
|
||||
memmove(pIn->buf.aBuf, &pIn->buf.aBuf[pIn->iNext], nMove);
|
||||
memmove(pIn->buf.aBuf, &pIn->buf.aBuf[pIn->iCurrent], nMove);
|
||||
}
|
||||
pIn->buf.nBuf -= pIn->iNext;
|
||||
pIn->iNext = 0;
|
||||
pIn->buf.nBuf -= pIn->iCurrent;
|
||||
pIn->iNext -= pIn->iCurrent;
|
||||
pIn->iCurrent = 0;
|
||||
pIn->nData = pIn->buf.nBuf;
|
||||
}
|
||||
}
|
||||
@ -3757,8 +3758,8 @@ static int sessionChangesetNextOne(
|
||||
p->rc = sessionInputBuffer(&p->in, 2);
|
||||
if( p->rc!=SQLITE_OK ) return p->rc;
|
||||
|
||||
sessionDiscardData(&p->in);
|
||||
p->in.iCurrent = p->in.iNext;
|
||||
sessionDiscardData(&p->in);
|
||||
|
||||
/* If the iterator is already at the end of the changeset, return DONE. */
|
||||
if( p->in.iNext>=p->in.nData ){
|
||||
@ -6117,14 +6118,19 @@ int sqlite3changegroup_add_change(
|
||||
sqlite3_changegroup *pGrp,
|
||||
sqlite3_changeset_iter *pIter
|
||||
){
|
||||
int rc = SQLITE_OK;
|
||||
|
||||
if( pIter->in.iCurrent==pIter->in.iNext
|
||||
|| pIter->rc!=SQLITE_OK
|
||||
|| pIter->bInvert
|
||||
){
|
||||
/* Iterator does not point to any valid entry or is an INVERT iterator. */
|
||||
return SQLITE_ERROR;
|
||||
rc = SQLITE_ERROR;
|
||||
}else{
|
||||
pIter->in.bNoDiscard = 1;
|
||||
rc = sessionOneChangeToHash(pGrp, pIter, 0);
|
||||
}
|
||||
return sessionOneChangeToHash(pGrp, pIter, 0);
|
||||
return rc;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -1459,6 +1459,9 @@ struct TestChangegroup {
|
||||
typedef struct TestChangeIter TestChangeIter;
|
||||
struct TestChangeIter {
|
||||
sqlite3_changeset_iter *pIter;
|
||||
|
||||
/* If this iter uses streaming. */
|
||||
TestStreamInput in;
|
||||
};
|
||||
|
||||
|
||||
@ -1681,6 +1684,7 @@ static int SQLITE_TCLAPI test_sqlite3changeset_start(
|
||||
sqlite3_changeset_iter *pIter = 0;
|
||||
int flags = 0;
|
||||
int rc = SQLITE_OK;
|
||||
int nAlloc = 0; /* Bytes of space to allocate */
|
||||
|
||||
static int iCmd = 1;
|
||||
char zCmd[64];
|
||||
@ -1696,18 +1700,36 @@ static int SQLITE_TCLAPI test_sqlite3changeset_start(
|
||||
return TCL_ERROR;
|
||||
}
|
||||
|
||||
flags = isInvert ? SQLITE_CHANGESETSTART_INVERT : 0;
|
||||
pChangeset = (void *)Tcl_GetByteArrayFromObj(objv[objc-1], &nChangeset);
|
||||
flags = isInvert ? SQLITE_CHANGESETSTART_INVERT : 0;
|
||||
|
||||
nAlloc = sizeof(TestChangeIter);
|
||||
if( test_tcl_integer(interp, SESSION_STREAM_TCL_VAR) ){
|
||||
nAlloc += nChangeset;
|
||||
}
|
||||
pNew = (TestChangeIter*)ckalloc(nAlloc);
|
||||
memset(pNew, 0, nAlloc);
|
||||
if( test_tcl_integer(interp, SESSION_STREAM_TCL_VAR) ){
|
||||
pNew->in.nStream = test_tcl_integer(interp, SESSION_STREAM_TCL_VAR);
|
||||
pNew->in.nData = nChangeset;
|
||||
pNew->in.aData = (unsigned char*)&pNew[1];
|
||||
memcpy(pNew->in.aData, pChangeset, nChangeset);
|
||||
}
|
||||
|
||||
if( pNew->in.nStream ){
|
||||
void *pCtx = (void*)&pNew->in;
|
||||
rc = sqlite3changeset_start_v2_strm(&pIter, testStreamInput, pCtx, flags);
|
||||
}else{
|
||||
rc = sqlite3changeset_start_v2(&pIter, (int)nChangeset, pChangeset, flags);
|
||||
}
|
||||
if( rc!=SQLITE_OK ){
|
||||
char *zErr = sqlite3_mprintf(
|
||||
"error in sqlite3changeset_start_v2() - %d", rc
|
||||
);
|
||||
Tcl_AppendResult(interp, zErr, (char*)0);
|
||||
ckfree(pNew);
|
||||
return TCL_ERROR;
|
||||
}
|
||||
|
||||
pNew = (TestChangeIter*)ckalloc(sizeof(TestChangeIter));
|
||||
pNew->pIter = pIter;
|
||||
|
||||
sprintf(zCmd, "csiter%d", iCmd++);
|
||||
|
1
main.mk
1
main.mk
@ -999,6 +999,7 @@ FUZZCHECK_OPT += \
|
||||
-DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION \
|
||||
-DSQLITE_ENABLE_STAT4 \
|
||||
-DSQLITE_ENABLE_STMT_SCANSTATUS \
|
||||
-DSQLITE_JSON_MAX_DEPTH=500 \
|
||||
-DSQLITE_MAX_MEMORY=50000000 \
|
||||
-DSQLITE_MAX_MMAP_SIZE=0 \
|
||||
-DSQLITE_OMIT_LOAD_EXTENSION \
|
||||
|
48
manifest
48
manifest
@ -1,5 +1,5 @@
|
||||
C Merge\sthe\slatest\strunk\schanges\sinto\sthe\sreuse-schema\sbranch.
|
||||
D 2025-05-19T17:06:55.321
|
||||
C Update\sthe\sreuse-schema\sbranch\sto\sversion\s3.50.0
|
||||
D 2025-05-29T14:59:57.902
|
||||
F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
|
||||
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
|
||||
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
|
||||
@ -24,7 +24,7 @@ F autoconf/README.txt b749816b8452b3af994dc6d607394bef3df1736d7e09359f1087de8439
|
||||
F autoconf/auto.def 3d994f3a9cc9b712dbce92a5708570ddcf3b988141b6eb738f2ed16127a9f0ac
|
||||
F autoconf/tea/Makefile.in 14c6a79ce87e10d8a35398f2d0e04e1d83a88eb52ee16ebf0eeaccf005ff84b3
|
||||
F autoconf/tea/README.txt 656d4686c509d375f5988ff3deda94f65fe6cd8358cd55d1f1dcc7b6e2ff73aa
|
||||
F autoconf/tea/_teaish.tester.tcl.in ed5445512e91c12afbbb99771efb68a23be4a046d52d61213fb5b6f010118129 w autoconf/tea/teaish.tester.tcl.in
|
||||
F autoconf/tea/_teaish.tester.tcl.in ed5445512e91c12afbbb99771efb68a23be4a046d52d61213fb5b6f010118129
|
||||
F autoconf/tea/auto.def ce95b9450e2fa4ba5dc857e208fe10f4e6f2d737796ac3278aee6079db417529
|
||||
F autoconf/tea/configure d0b12b984edca6030d1976375b80157ac78b5b90a5b4f0dcee39357f63f4a80b x
|
||||
F autoconf/tea/doc/sqlite3.n 9a97f4f717ceab73004ea412af7960625c1cb24b5c25e4ae4c8b5d8fa4300f4e
|
||||
@ -48,12 +48,12 @@ F autosetup/find_tclconfig.tcl e64886ffe3b982d4df42cd28ed91fe0b5940c2c5785e126c1
|
||||
F autosetup/jimsh0.c 563b966c137a4ce3c9333e5196723b7ac0919140a9d7989eb440463cd855c367
|
||||
F autosetup/pkg-config.tcl 4e635bf39022ff65e0d5434339dd41503ea48fc53822c9c5bde88b02d3d952ba
|
||||
F autosetup/proj.tcl c4a77735b57f3c016a185bff048212a197b77723f9bea6cfafe396e4b542c666
|
||||
F autosetup/sqlite-config.tcl 7ff986f6c3951f3aec5608522cbf772d8d04a0d26cc894289e2ca4836e018719
|
||||
F autosetup/sqlite-config.tcl ccda82e43e377b832aae72a1678b1dc17dcaff36ed0ebbd8f0cfc88612ae8de3
|
||||
F autosetup/system.tcl 51d4be76cd9a9074704b584e5c9cbba616202c8468cf9ba8a4f8294a7ab1dba9
|
||||
F autosetup/teaish/README.txt b40071e6f8506500a2f7f71d5fc69e0bf87b9d7678dd9da1e5b4d0acbf40b1ca w autoconf/tea/autosetup/README.txt
|
||||
F autosetup/teaish/core.tcl 1ebbe849d8e716424a3ffe9384c7e8b352b3e1194d3d4a153b125cc5176b3715 w autoconf/tea/autosetup/core.tcl
|
||||
F autosetup/teaish/feature.tcl 18194fb79a24d30e5bbdeab40999616f39278b53a27525349ded033af2fd73be w autoconf/tea/autosetup/feature-tests.tcl
|
||||
F autosetup/teaish/tester.tcl 091745984473faea6985254b9986c6dfd0cce06f68bc515ba4afc1e6b3742fa8 w autoconf/tea/autosetup/tester.tcl
|
||||
F autosetup/teaish/README.txt b40071e6f8506500a2f7f71d5fc69e0bf87b9d7678dd9da1e5b4d0acbf40b1ca
|
||||
F autosetup/teaish/core.tcl 1ebbe849d8e716424a3ffe9384c7e8b352b3e1194d3d4a153b125cc5176b3715
|
||||
F autosetup/teaish/feature.tcl 18194fb79a24d30e5bbdeab40999616f39278b53a27525349ded033af2fd73be
|
||||
F autosetup/teaish/tester.tcl 091745984473faea6985254b9986c6dfd0cce06f68bc515ba4afc1e6b3742fa8
|
||||
F configure 9a00b21dfd13757bbfb8d89b30660a89ec1f8f3a79402b8f9f9b6fc475c3303a x
|
||||
F contrib/sqlitecon.tcl eb4c6578e08dd353263958da0dc620f8400b869a50d06e271ab0be85a51a08d3
|
||||
F doc/F2FS.txt c1d4a0ae9711cfe0e1d8b019d154f1c29e0d3abfe820787ba1e9ed7691160fcd
|
||||
@ -458,7 +458,7 @@ F ext/misc/uuid.c 5bb2264c1b64d163efa46509544fd7500cb8769cb7c16dd52052da8d961505
|
||||
F ext/misc/vfslog.c 3932ab932eeb2601dbc4447cb14d445aaa9fbe43b863ef5f014401c3420afd20
|
||||
F ext/misc/vfsstat.c 0b23c0a69a2b63dc0ef0af44f9c1fc977300c480a1f7a9814500369d8211f56e
|
||||
F ext/misc/vfstrace.c 0e4b8b17ac0675ea90f6d168d8214687e06ca3efbc0060aad4814994d82b41fb
|
||||
F ext/misc/vtablog.c 1100250ce8782db37c833e3a9a5c9a3ecf1af5e15b8325572b82e6e0a138ffb5
|
||||
F ext/misc/vtablog.c a197addbbd1e267a5476274b74953e1b6f050e28516f0a5fe7d6382753165ee6
|
||||
F ext/misc/vtshim.c e5bce24ab8c532f4fdc600148718fe1802cb6ed57417f1c1032d8961f72b0e8f
|
||||
F ext/misc/wholenumber.c 0fa0c082676b7868bf2fa918e911133f2b349bcdceabd1198bba5f65b4fc0668
|
||||
F ext/misc/zipfile.c b62147ac4985eaac4e368d529b1f4f43ad6bc9ac13d6805d907fff3afdac64d3
|
||||
@ -602,7 +602,7 @@ F ext/session/sessionalter.test e852acb3d2357aac7d0b920a2109da758c4331bfdf85b41d
|
||||
F ext/session/sessionat.test 00c8badb35e43a2f12a716d2734a44d614ff62361979b6b85419035bc04b45ee
|
||||
F ext/session/sessionbig.test 47c381e7acfabeef17d98519a3080d69151723354d220afa2053852182ca7adf
|
||||
F ext/session/sessionblob.test 87faf667870b72f08e91969abd9f52a383ab7b514506ee194d64a39d8faff00a
|
||||
F ext/session/sessionchange.test 77c4702050f24270b58070e2cf01c95c3d232a3ef164b70f31974b386ce69903
|
||||
F ext/session/sessionchange.test 6618cb1c1338a4b6df173b6ac42d09623fb71269962abf23ebb7617fe9f45a50
|
||||
F ext/session/sessionconflict.test 19e4a53795c4c930bfec49e809311e09b2a9e202d9446e56d7a8b139046a0c07 x
|
||||
F ext/session/sessiondiff.test e89f7aedcdd89e5ebac3a455224eb553a171e9586fc3e1e6a7b3388d2648ba8d
|
||||
F ext/session/sessionfault.test c2b43d01213b389a3f518e90775fca2120812ba51e50444c4066962263e45c11
|
||||
@ -618,9 +618,9 @@ F ext/session/sessionrowid.test 85187c2f1b38861a5844868126f69f9ec62223a03449a98a
|
||||
F ext/session/sessionsize.test 8fcf4685993c3dbaa46a24183940ab9f5aa9ed0d23e5fb63bfffbdb56134b795
|
||||
F ext/session/sessionstat1.test 5e718d5888c0c49bbb33a7a4f816366db85f59f6a4f97544a806421b85dc2dec
|
||||
F ext/session/sessionwor.test 6fd9a2256442cebde5b2284936ae9e0d54bde692d0f5fd009ecef8511f4cf3fc
|
||||
F ext/session/sqlite3session.c 7a8816d56940c464c74706dfb02f18129b290655df1ccb8648228a7d436141f2
|
||||
F ext/session/sqlite3session.c 6b0877fe1ab832aa4b85eaca72606dfd1630a1363a1be7af10ee1042a5ec719e
|
||||
F ext/session/sqlite3session.h 9bb1a6687b467764b35178dc29bbd2c57ab8cd3acdc8a62f088c34ad17e4fe2b
|
||||
F ext/session/test_session.c af162108e8dc40cb9fe0e876e0155cecabcb49e82e5939677d21451e36160283
|
||||
F ext/session/test_session.c 2ddff73ea368d827028c32851b291416e1008845832feb27b751d15e57e13cc3
|
||||
F ext/wasm/EXPORTED_FUNCTIONS.fiddle 7fb73f7150ab79d83bb45a67d257553c905c78cd3d693101699243f36c5ae6c3
|
||||
F ext/wasm/GNUmakefile 24d7e6f446528fa67f5ade6c3c7d7e46e1ac52649d6264cbe24539c1dab608e1
|
||||
F ext/wasm/README-dist.txt f01081a850ce38a56706af6b481e3a7878e24e42b314cfcd4b129f0f8427066a
|
||||
@ -710,7 +710,7 @@ F ext/wasm/tests/opfs/sahpool/sahpool-pausing.js f264925cfc82155de38cecb3d204c36
|
||||
F ext/wasm/tests/opfs/sahpool/sahpool-worker.js bd25a43fc2ab2d1bafd8f2854ad3943ef673f7c3be03e95ecf1612ff6e8e2a61
|
||||
F ext/wasm/wasmfs.make 68999f5bd8c489239592d59a420f8c627c99169bbd6fa16a404751f757b9f702
|
||||
F magic.txt 5ade0bc977aa135e79e3faaea894d5671b26107cc91e70783aa7dc83f22f3ba0
|
||||
F main.mk 6dec93a1b3eeaa9b89fc0856fe8646e92bfca968f46aeb06163cd2fe3bd8b93e
|
||||
F main.mk b46b716a764adee732e0f127169e9c27543d5d4c3d7e538c78e43ac2f59e313c
|
||||
F mptest/config01.test 3c6adcbc50b991866855f1977ff172eb6d901271
|
||||
F mptest/config02.test 4415dfe36c48785f751e16e32c20b077c28ae504
|
||||
F mptest/crash01.test 61e61469e257df0850df4293d7d4d6c2af301421
|
||||
@ -747,7 +747,7 @@ F src/hash.h 46b92795a95bfefb210f52f0c316e9d7cdbcdd7e7fcfb0d8be796d3a5767cddf
|
||||
F src/hwtime.h f9c2dfb84dce7acf95ce6d289e46f5f9d3d1afd328e53da8f8e9008e3b3caae6
|
||||
F src/in-operator.md 10cd8f4bcd225a32518407c2fb2484089112fd71
|
||||
F src/insert.c d05934dfab2c5c0c480fc6fd2038f11215661de08ea6ff38d2563216bd555c1b
|
||||
F src/json.c 2406a6b0dd849ee0fd107d5cfef9fec2cdc2fbe631ece3183c31d6f85e0ec988
|
||||
F src/json.c d34969ecb9555f33fc0b2227628189a9a4e20dda5df5d173db9918a014aa7ad1
|
||||
F src/legacy.c d7874bc885906868cd51e6c2156698f2754f02d9eee1bae2d687323c3ca8e5aa
|
||||
F src/loadext.c d7edd8e671237539d795d30daaf888908a2c82e99bade4c78f3be021e8b7d655
|
||||
F src/main.c a3f2f92765ace08ec85aaac7982606d38043aa50e03a6178069c02a42429ec4b
|
||||
@ -795,7 +795,7 @@ F src/sqliteInt.h 481734ac8742bf28b848561e6f5a3d471fdf1708bb87cdb90c4a9d0e937f47
|
||||
F src/sqliteLimit.h 6d817c28a8f19af95e6f4921933b7fbbca48a962bce0eb0ec81e8bb3ef38e68b
|
||||
F src/status.c 9adeef15f9b2bd4a72ccd22b1f29e34dea6ca898baf420016332ba7e63f55539
|
||||
F src/table.c 0f141b58a16de7e2fbe81c308379e7279f4c6b50eb08efeec5892794a0ba30d1
|
||||
F src/tclsqlite.c 834f1708b471fdd3180573bd0b76071e1afe76dbe1300796c35ba7096be6f13f
|
||||
F src/tclsqlite.c 6603c89e39781b07b4e231a2de01a9752c5254833b5799cca480363ce769ee43
|
||||
F src/tclsqlite.h 65e2c761446e1c9fa0342b7d2612a703483643c8b6a316d12a65b745a4727395
|
||||
F src/test1.c 9b54135e5f1352f06b1d23d7c183f124c1f33de6ea8997cd801f0f215c43591d
|
||||
F src/test2.c 62f0830958f9075692c29c6de51b495ae8969e1bef85f239ffcd9ba5fb44a5ff
|
||||
@ -871,7 +871,7 @@ F src/vxworks.h d2988f4e5a61a4dfe82c6524dd3d6e4f2ce3cdb9
|
||||
F src/wal.c bcf40795a09b699ad7e42624dd6282b13335164fbabcd5a98a717758cebef451
|
||||
F src/wal.h ba252daaa94f889f4b2c17c027e823d9be47ce39da1d3799886bbd51f0490452
|
||||
F src/walker.c d5006d6b005e4ea7302ad390957a8d41ed83faa177e412f89bc5600a7462a014
|
||||
F src/where.c 4a49c5c0d5240fcf54ca29f2a5f3755ecb7314bd65a52e68f3dadd2ee75f5c3b
|
||||
F src/where.c 0f77decad05b6993a85f8ee7685cd73f866ef4e8c867ca494517428b3bfc7d81
|
||||
F src/whereInt.h ecdbfb5551cf394f04ec7f0bc7ad963146d80eee3071405ac29aa84950128b8e
|
||||
F src/wherecode.c 8825756ea7b1a49ac830719d28557c638520bb2434fe9c2dd6c7f584034bfe32
|
||||
F src/whereexpr.c 2415c8eee5ff89a8b709d7d83d71c1ff986cd720d0520057e1d8a5371339012a
|
||||
@ -1390,7 +1390,7 @@ F test/json/json-generator.tcl dc0dd0f393800c98658fc4c47eaa6af29d4e17527380cd286
|
||||
F test/json/json-q1.txt 65f9d1cdcc4cffa9823fb73ed936aae5658700cd001fde448f68bfb91c807307
|
||||
F test/json/json-speed-check.sh 7d5898808ce7542762318306ae6075a30f5e7ee115c4a409f487e123afe91d88 x
|
||||
F test/json/jsonb-q1.txt 1e180fe6491efab307e318b22879e3a736ac9a96539bbde7911a13ee5b33abc7
|
||||
F test/json101.test 11024e20fe298f7214878947b8f85a2dbe593593e04b4173c14a5857afbb986c
|
||||
F test/json101.test 8237a484c256965eab1678fd950a32ac56325bb7d0dadbd095a46b0ddd95d62b
|
||||
F test/json102.test 9b2e5ada10845ff84853b3feaae2ce51ce7145ae458f74c6a6cecc6ef6ee3ae1
|
||||
F test/json103.test 355746a6b66aa438f214b4fae454b13068fad2444b5f693e0d538ad1c059b264
|
||||
F test/json104.test 1b844a70cddcfa2e4cd81a5db0657b2e61e7f00868310f24f56a9ba0114348c1
|
||||
@ -1697,7 +1697,7 @@ F test/speed4.test abc0ad3399dcf9703abed2fff8705e4f8e416715
|
||||
F test/speed4p.explain 6b5f104ebeb34a038b2f714150f51d01143e59aa
|
||||
F test/speed4p.test 377a0c48e5a92e0b11c1c5ebb1bc9d83a7312c922bc0cb05970ef5d6a96d1f0c
|
||||
F test/speedtest.md ee958457ae1b729d9715ae33c0320600000bf1d9ddea1a88dcf79f56729d6fad
|
||||
F test/speedtest.tcl 926d1e168f4a14e6fb68c5dc174de743536b547f365264bd5bac533b3621a4a0 x
|
||||
F test/speedtest.tcl 405411356fbc54af15987b7ffeec330a49138f71584220fb8fe1948b2f7ac907 x
|
||||
F test/speedtest1.c 64b8804b053a796eab22f8b23fb181000f05d7b3e2aa44f022117ea543bc5a2a
|
||||
F test/spellfix.test 951a6405d49d1a23d6b78027d3877b4a33eeb8221dcab5704b499755bb4f552e
|
||||
F test/spellfix2.test dfc8f519a3fc204cb2dfa8b4f29821ae90f6f8c3
|
||||
@ -1746,7 +1746,7 @@ F test/temptable3.test d11a0974e52b347e45ee54ef1923c91ed91e4637
|
||||
F test/temptrigger.test 38f0ca479b1822d3117069e014daabcaacefffcc
|
||||
F test/tester.tcl 34f7785cde1ac74ee36103feb98c95b15d7fa33a0eb07b47bb4a97aecc4e9209
|
||||
F test/testrunner.tcl 6dc7bff6c6e52c0f798fd2a720b1d667ec50405f2cb5a02cdbfc6c8dcbfe031c x
|
||||
F test/testrunner_data.tcl b72df8b4c5ff29f4306b384e7091afa51d5659a889c3e022a8199fb204414cc6
|
||||
F test/testrunner_data.tcl 879ef5162438891618e375e12c0ec0367109b5d53a37b35b5ae97c7da89af463
|
||||
F test/thread001.test a0985c117eab62c0c65526e9fa5d1360dd1cac5b03bde223902763274ce21899
|
||||
F test/thread002.test c24c83408e35ba5a952a3638b7ac03ccdf1ce4409289c54a050ac4c5f1de7502
|
||||
F test/thread003.test ee4c9efc3b86a6a2767516a37bd64251272560a7
|
||||
@ -2155,7 +2155,7 @@ F tool/genfkey.README e550911fa984c8255ebed2ef97824125d83806eb5232582700de949edf
|
||||
F tool/genfkey.test b6afd7b825d797a1e1274f519ab5695373552ecad5cd373530c63533638a5a4f
|
||||
F tool/getlock.c f4c39b651370156cae979501a7b156bdba50e7ce
|
||||
F tool/index_usage.c f62a0c701b2c7ff2f3e21d206f093c123f222dbf07136a10ffd1ca15a5c706c5
|
||||
F tool/lemon.c 5f999ac3801e8b585149a5fd5c7c2bbdde3baca98985ebe68e1a41b8e19d19a4
|
||||
F tool/lemon.c c52ba5a29d190102d6ec89815170a5c93a15aca9555074810abc824398f048b6
|
||||
F tool/lempar.c bdffd3b233a4e4e78056c9c01fadd2bb3fe902435abde3bce3d769fdf0d5cca2
|
||||
F tool/libvers.c caafc3b689638a1d88d44bc5f526c2278760d9b9
|
||||
F tool/loadfts.c c3c64e4d5e90e8ba41159232c2189dba4be7b862
|
||||
@ -2198,7 +2198,7 @@ F tool/showwal.c 11eca547980a066b081f512636151233350ac679f29ecf4ebfce7f4530230b3
|
||||
F tool/soak1.tcl a3892082ed1079671565c044e93b55c3c7f38829aedf53cc597c65d23ffdaddf
|
||||
F tool/spaceanal.tcl 1f83962090a6b60e1d7bf92495d643e622bef9fe82ea3f2d22350dcbce9a12d0
|
||||
F tool/spellsift.tcl 52b4b04dc4333c7ab024f09d9d66ed6b6f7c6eb00b38497a09f338fa55d40618 x
|
||||
F tool/split-sqlite3c.tcl 07e18a1d8cc3f6b3a4a1f3528e63c9b29a5c8a7bca0b8d394b231da464ce1247
|
||||
F tool/split-sqlite3c.tcl 4969fd642dad0ea483e4e104163021d92baf98f6a8eac981fe48525f9b873430
|
||||
F tool/sqldiff.c 134be7866be19f8beb32043d5aea5657f01aaeae2df8d33d758ff722c78666b9
|
||||
F tool/sqlite3_analyzer.c.in 14f02cb5ec3c264cd6107d1f1dad77092b1cf440fc196c30b69ae87b56a1a43b
|
||||
F tool/sqlite3_rsync.c e8659970e839d71d2ef04b96d48ad65f1d4298a41636affaf93c32ed71f3f879
|
||||
@ -2219,8 +2219,8 @@ F tool/version-info.c 3b36468a90faf1bbd59c65fd0eb66522d9f941eedd364fabccd7227350
|
||||
F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
|
||||
F tool/warnings.sh 1ad0169b022b280bcaaf94a7fa231591be96b514230ab5c98fbf15cd7df842dd
|
||||
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
|
||||
P f98aa940b439c6e4419be9af988c72a8f97eb5713ad684808afea34f3a1415a4 ba8184d132a935aa1980fbfb61ff308b93d433d559db4968f9014f7653ac9c6e
|
||||
R 4ff6fa9472dbea6fcbe6dc6e8fb62788
|
||||
P fc5edd557e4398c87f920d85492eb8a22c27976b1a0a97039bb151c2ddb1d04f dfc790f998f450d9c35e3ba1c8c89c17466cb559f87b0239e4aab9d34e28f742
|
||||
R 331c0042737c0a6c47ad31510124b83f
|
||||
U drh
|
||||
Z dac9ae61aaee6f5e1a5149f41f021c49
|
||||
Z 9a38b6f1e116ca192c6c6f35d4a50632
|
||||
# Remove this line to create a well-formed Fossil manifest.
|
||||
|
@ -1 +1 @@
|
||||
fc5edd557e4398c87f920d85492eb8a22c27976b1a0a97039bb151c2ddb1d04f
|
||||
4b1a38ff6bba84d54667a4a12cad1dcecc05f1c466ab55231725ecf01a99bdf8
|
||||
|
@ -4850,19 +4850,21 @@ static void jsonObjectStep(
|
||||
UNUSED_PARAMETER(argc);
|
||||
pStr = (JsonString*)sqlite3_aggregate_context(ctx, sizeof(*pStr));
|
||||
if( pStr ){
|
||||
z = (const char*)sqlite3_value_text(argv[0]);
|
||||
n = sqlite3Strlen30(z);
|
||||
if( pStr->zBuf==0 ){
|
||||
jsonStringInit(pStr, ctx);
|
||||
jsonAppendChar(pStr, '{');
|
||||
}else if( pStr->nUsed>1 ){
|
||||
}else if( pStr->nUsed>1 && z!=0 ){
|
||||
jsonAppendChar(pStr, ',');
|
||||
}
|
||||
pStr->pCtx = ctx;
|
||||
z = (const char*)sqlite3_value_text(argv[0]);
|
||||
n = sqlite3Strlen30(z);
|
||||
if( z!=0 ){
|
||||
jsonAppendString(pStr, z, n);
|
||||
jsonAppendChar(pStr, ':');
|
||||
jsonAppendSqlValue(pStr, argv[1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
static void jsonObjectCompute(sqlite3_context *ctx, int isFinal){
|
||||
JsonString *pStr;
|
||||
|
@ -4057,8 +4057,8 @@ EXTERN int sqlite_Init(Tcl_Interp *interp){ return Sqlite3_Init(interp);}
|
||||
#if defined(TCLSH)
|
||||
|
||||
/* This is the main routine for an ordinary TCL shell. If there are
|
||||
** are arguments, run the first argument as a script. Otherwise,
|
||||
** read TCL commands from standard input
|
||||
** arguments, run the first argument as a script. Otherwise, read TCL
|
||||
** commands from standard input
|
||||
*/
|
||||
static const char *tclsh_main_loop(void){
|
||||
static const char zMainloop[] =
|
||||
|
@ -3602,6 +3602,7 @@ static int whereUsablePartialIndex(
|
||||
if( (!ExprHasProperty(pExpr, EP_OuterON) || pExpr->w.iJoin==iTab)
|
||||
&& ((jointype & JT_OUTER)==0 || ExprHasProperty(pExpr, EP_OuterON))
|
||||
&& sqlite3ExprImpliesExpr(pParse, pExpr, pWhere, iTab)
|
||||
&& !sqlite3ExprImpliesExpr(pParse, pExpr, pWhere, -1)
|
||||
&& (pTerm->wtFlags & TERM_VNULL)==0
|
||||
){
|
||||
return 1;
|
||||
|
@ -1113,7 +1113,7 @@ do_execsql_test json101-21.26 {
|
||||
do_execsql_test json101-21.27 {
|
||||
WITH c(x,y) AS (VALUES('a',1),('b',2.0),('c',NULL),(NULL,'three'),('e','four'))
|
||||
SELECT json_group_object(x,y) FROM c;
|
||||
} {{{"a":1,"b":2.0,"c":null,:"three","e":"four"}}}
|
||||
} {{{"a":1,"b":2.0,"c":null,"e":"four"}}}
|
||||
|
||||
# 2023-10-09 https://sqlite.org/forum/forumpost/b25edc1d46
|
||||
# UAF due to JSON cache overflow
|
||||
|
@ -25,6 +25,7 @@ Other options include:
|
||||
--help Show this help screen.
|
||||
--lean "Lean" mode.
|
||||
--lookaside N SZ Lookahead uses N slots of SZ bytes each.
|
||||
--osmalloc Use the OS native malloc() instead of MEMSYS5
|
||||
--pagesize N Use N as the page size.
|
||||
--quiet | -q "Quite". Put results in file but don't pop up editor
|
||||
--size N Change the test size. 100 means 100%. Default: 5.
|
||||
@ -40,7 +41,8 @@ set cc gcc
|
||||
set testset mix1
|
||||
set dryrun 0
|
||||
set quiet 0
|
||||
set speedtestflags {--shrink-memory --reprepare --stats --heap 40000000 64}
|
||||
set osmalloc 0
|
||||
set speedtestflags {--shrink-memory --reprepare --stats}
|
||||
lappend speedtestflags --journal wal --size 5
|
||||
|
||||
for {set i 0} {$i<[llength $argv]} {incr i} {
|
||||
@ -92,6 +94,10 @@ for {set i 0} {$i<[llength $argv]} {incr i} {
|
||||
--dryrun {
|
||||
set dryrun 1
|
||||
}
|
||||
-osmalloc -
|
||||
--osmalloc {
|
||||
set osmalloc 1
|
||||
}
|
||||
-? -
|
||||
-help -
|
||||
--help {
|
||||
@ -139,10 +145,13 @@ for {set i 0} {$i<[llength $argv]} {incr i} {
|
||||
if {[lsearch -glob $cflags -O*]<0} {
|
||||
lappend cflags -Os
|
||||
}
|
||||
if {[lsearch -glob $cflags -DSQLITE_ENABLE_MEMSYS*]<0} {
|
||||
if {!$osmalloc} {
|
||||
append speedtestflags { --heap 40000000 64}
|
||||
}
|
||||
if {!$osmalloc && [lsearch -glob $cflags {-DSQLITE_ENABLE_MEMSYS*}]<0} {
|
||||
lappend cflags -DSQLITE_ENABLE_MEMSYS5
|
||||
}
|
||||
if {[lsearch -glob $cflags -DSQLITE_ENABLE_RTREE*]<0} {
|
||||
if {[lsearch -glob $cflags {-DSQLITE_ENABLE_RTREE*}]<0} {
|
||||
lappend cflags -DSQLITE_ENABLE_RTREE
|
||||
}
|
||||
if {$srcfile==""} {
|
||||
|
@ -470,16 +470,17 @@ proc trd_fuzztest_data {buildname} {
|
||||
|
||||
if {$::tcl_platform(platform) eq "windows"} {
|
||||
return [list fuzzcheck.exe $lFuzzDb]
|
||||
} elseif {[lsearch $sanBuilds $buildname]>=0} {
|
||||
return [list [trd_get_bin_name fuzzcheck] $lFuzzDb \
|
||||
[trd_get_bin_name fuzzcheck-asan] $lFuzzDb \
|
||||
[trd_get_bin_name fuzzcheck-ubsan] $lFuzzDb \
|
||||
{sessionfuzz run} $lSessionDb]
|
||||
} else {
|
||||
return [list [trd_get_bin_name fuzzcheck] $lFuzzDb \
|
||||
{sessionfuzz run} $lSessionDb]
|
||||
set lRet [list [trd_get_bin_name fuzzcheck] $lFuzzDb]
|
||||
if {[lsearch $sanBuilds $buildname]>=0} {
|
||||
lappend lRet [trd_get_bin_name fuzzcheck-asan] $lFuzzDb
|
||||
if {$::tcl_platform(os) ne "OpenBSD"} {
|
||||
lappend lRet [trd_get_bin_name fuzzcheck-ubsan] $lFuzzDb
|
||||
}
|
||||
}
|
||||
lappend lRet {sessionfuzz run} $lSessionDb
|
||||
return $lRet
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -4122,10 +4122,10 @@ PRIVATE int translate_code(struct lemon *lemp, struct rule *rp){
|
||||
}
|
||||
}
|
||||
if( lhsdirect ){
|
||||
sprintf(zLhs, "yymsp[%d].minor.yy%d",1-rp->nrhs,rp->lhs->dtnum);
|
||||
lemon_sprintf(zLhs, "yymsp[%d].minor.yy%d",1-rp->nrhs,rp->lhs->dtnum);
|
||||
}else{
|
||||
rc = 1;
|
||||
sprintf(zLhs, "yylhsminor.yy%d",rp->lhs->dtnum);
|
||||
lemon_sprintf(zLhs, "yylhsminor.yy%d",rp->lhs->dtnum);
|
||||
}
|
||||
|
||||
append_str(0,0,0,0);
|
||||
|
@ -56,7 +56,7 @@ proc write_one_file {content} {
|
||||
set label $filecnt
|
||||
}
|
||||
set out [open sqlite3-$label.c w]
|
||||
fconfigure $out -translation lf
|
||||
fconfigure $out -translation text
|
||||
puts -nonewline $out $content
|
||||
close $out
|
||||
puts $::out1 "#include \"sqlite3-$filecnt.c\""
|
||||
|
Reference in New Issue
Block a user