1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-08 14:02:16 +03:00

Fix a problem with the output of "PRAGMA wal_checkpoint" introduced long ago by [63483e22c775183e].

FossilOrigin-Name: c5f7bba8683a9aa503750abb7fd937566983dc1ca08361eca8b9b185294b909a
This commit is contained in:
dan
2024-12-13 20:18:29 +00:00
parent 5e5362267b
commit 7204db1f61
4 changed files with 26 additions and 12 deletions

View File

@@ -1,5 +1,5 @@
C Update\sthe\swal2\sbranch\swith\sthe\slatest\strunk\senhancements\sand\sfixes. C Fix\sa\sproblem\swith\sthe\soutput\sof\s"PRAGMA\swal_checkpoint"\sintroduced\slong\sago\sby\s[63483e22c775183e].
D 2024-12-07T23:24:17.824 D 2024-12-13T20:18:29.915
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md e108e1e69ae8e8a59e93c455654b8ac9356a11720d3345df2a4743e9590fb20d F LICENSE.md e108e1e69ae8e8a59e93c455654b8ac9356a11720d3345df2a4743e9590fb20d
@@ -860,7 +860,7 @@ F src/vdbetrace.c fe0bc29ebd4e02c8bc5c1945f1d2e6be5927ec12c06d89b03ef2a4def34bf8
F src/vdbevtab.c fc46b9cbd759dc013f0b3724549cc0d71379183c667df3a5988f7e2f1bd485f3 F src/vdbevtab.c fc46b9cbd759dc013f0b3724549cc0d71379183c667df3a5988f7e2f1bd485f3
F src/vtab.c 316cd48e9320660db3047cd306cd056e4361180cebb4d0f10a39244e10c11422 F src/vtab.c 316cd48e9320660db3047cd306cd056e4361180cebb4d0f10a39244e10c11422
F src/vxworks.h d2988f4e5a61a4dfe82c6524dd3d6e4f2ce3cdb9 F src/vxworks.h d2988f4e5a61a4dfe82c6524dd3d6e4f2ce3cdb9
F src/wal.c 70d127be90923ec33cc53f7206d947173f1e4e4a98b34115d92861e1584e36ef F src/wal.c c80108214438d8112963ac4a28e2ddfb92fc993b33bf25fdc77440e30ff6c268
F src/wal.h 97b8a9903387401377b59507e86b93a148ef1ad4e5ce0f23659a12dcdce56af2 F src/wal.h 97b8a9903387401377b59507e86b93a148ef1ad4e5ce0f23659a12dcdce56af2
F src/walker.c d5006d6b005e4ea7302ad390957a8d41ed83faa177e412f89bc5600a7462a014 F src/walker.c d5006d6b005e4ea7302ad390957a8d41ed83faa177e412f89bc5600a7462a014
F src/where.c b34adb09fdb2a4f57a0bafd4194b501047ef383976fef9f0ac3f395f4881694d F src/where.c b34adb09fdb2a4f57a0bafd4194b501047ef383976fef9f0ac3f395f4881694d
@@ -2003,7 +2003,7 @@ F test/wal2recover3.test 4a91689e165a38bc401736e6518188c2b0ff4fa1566d1810b886753
F test/wal2rewrite.test 6ca6f631ffcf871240beab5f02608913fd075c6d0d31310b026c8383c65c9f9c F test/wal2rewrite.test 6ca6f631ffcf871240beab5f02608913fd075c6d0d31310b026c8383c65c9f9c
F test/wal2rollback.test 23adc4a099b23f6aaea8b04fdca1c35861d887dd80f8be7da2d5273eb777e428 F test/wal2rollback.test 23adc4a099b23f6aaea8b04fdca1c35861d887dd80f8be7da2d5273eb777e428
F test/wal2savepoint.test c380512ec1f97012cfc753e718bf3df38f51e7c319110e1cae25094a33b371c4 F test/wal2savepoint.test c380512ec1f97012cfc753e718bf3df38f51e7c319110e1cae25094a33b371c4
F test/wal2simple.test 320a08927f307d0ead26fa3fcef4e3f64279f49be9504f918cb33294f75aeec8 F test/wal2simple.test 2aaf8d81e889035e6021369bec45758f89ac3a13ae7bcefc111ea1aabe3f9cfd
F test/wal2snapshot.test 7a5f4629a3c43a43c3440b8b2ea9f07de91a46b0b9eea5f08f62b5bf5b6468df F test/wal2snapshot.test 7a5f4629a3c43a43c3440b8b2ea9f07de91a46b0b9eea5f08f62b5bf5b6468df
F test/wal3.test 5de023bb862fd1eb9d2ad26fa8d9c43abb5370582e5b08b2ae0d6f93661bc310 F test/wal3.test 5de023bb862fd1eb9d2ad26fa8d9c43abb5370582e5b08b2ae0d6f93661bc310
F test/wal4.test 4744e155cd6299c6bd99d3eab1c82f77db9cdb3c F test/wal4.test 4744e155cd6299c6bd99d3eab1c82f77db9cdb3c
@@ -2216,8 +2216,8 @@ F tool/version-info.c 3b36468a90faf1bbd59c65fd0eb66522d9f941eedd364fabccd7227350
F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7 F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
F tool/warnings.sh 49a486c5069de041aedcbde4de178293e0463ae9918ecad7539eedf0ec77a139 F tool/warnings.sh 49a486c5069de041aedcbde4de178293e0463ae9918ecad7539eedf0ec77a139
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
P 9591ab7c6b9bf70d33607c3dc8e319906d537c13c8e6b853b294e941581bcfe1 fc6904a508eb732b1cb5cc12321a0d637d97e1e066a022a2c93cb50595f3a86a P d3ce95f7e0335b8522a1805ab602b64856ced3007c507ba42039c6183ef9ac3d
R 716accb182792985409c3e9a8fb0b506 R ee2cfb61cc5fc78106af5b84f79ac024
U drh U dan
Z 936f7b3be32146f67ad3db2a80519bfd Z 2ab193829137f4720a5ca440c0e08d93
# Remove this line to create a well-formed Fossil manifest. # Remove this line to create a well-formed Fossil manifest.

View File

@@ -1 +1 @@
d3ce95f7e0335b8522a1805ab602b64856ced3007c507ba42039c6183ef9ac3d c5f7bba8683a9aa503750abb7fd937566983dc1ca08361eca8b9b185294b909a

View File

@@ -5175,8 +5175,6 @@ int sqlite3WalCheckpoint(
/* Copy data from the log to the database file. */ /* Copy data from the log to the database file. */
if( rc==SQLITE_OK ){ if( rc==SQLITE_OK ){
int iCkpt = walidxGetFile(&pWal->hdr);
if( (walPagesize(pWal)!=nBuf) if( (walPagesize(pWal)!=nBuf)
&& ((pWal->hdr.mxFrame2 & 0x7FFFFFFF) || pWal->hdr.mxFrame) && ((pWal->hdr.mxFrame2 & 0x7FFFFFFF) || pWal->hdr.mxFrame)
){ ){
@@ -5195,7 +5193,7 @@ int sqlite3WalCheckpoint(
if( pnCkpt ){ if( pnCkpt ){
if( isWalMode2(pWal) ){ if( isWalMode2(pWal) ){
if( (int)(walCkptInfo(pWal)->nBackfill) ){ if( (int)(walCkptInfo(pWal)->nBackfill) ){
*pnCkpt = walidxGetMxFrame(&pWal->hdr, iCkpt); *pnCkpt = walidxGetMxFrame(&pWal->hdr,!walidxGetFile(&pWal->hdr));
}else{ }else{
*pnCkpt = 0; *pnCkpt = 0;
} }

View File

@@ -470,6 +470,22 @@ do_test 7.5.4 {
list [file size test.db-wal] [file size test.db-wal2] [file size test.db] list [file size test.db-wal] [file size test.db-wal2] [file size test.db]
} {22040 12608 87040} } {22040 12608 87040}
#-------------------------------------------------------------------------
reset_db
do_execsql_test 9.0 {
PRAGMA journal_size_limit = 10000;
PRAGMA journal_mode = wal2;
CREATE TABLE t1(x);
INSERT INTO t1 VALUES( hex( randomblob(5000) ) );
INSERT INTO t1 VALUES( hex( randomblob(5000) ) );
INSERT INTO t1 VALUES( hex( randomblob(5000) ) );
INSERT INTO t1 VALUES( hex( randomblob(5000) ) );
} {10000 wal2}
do_execsql_test 9.1 {
PRAGMA wal_checkpoint;
} {0 50 13}
finish_test finish_test