mirror of
https://github.com/sqlite/sqlite.git
synced 2025-08-05 15:55:57 +03:00
Passive checkpoints do not use the busy-handler. So, in order to minimize visible changes for legacy applications, do not enable blocking locks for passive checkpoints.
FossilOrigin-Name: 9c2b4bdd03716bf492ba85198717f3084ebf187bdb068893bd1ff8662362df89
This commit is contained in:
14
manifest
14
manifest
@@ -1,6 +1,6 @@
|
|||||||
B 7a876209a678a34c198b54ceef9e3c041f128a14dc73357f6a57cadadaa6cf7b
|
B 7a876209a678a34c198b54ceef9e3c041f128a14dc73357f6a57cadadaa6cf7b
|
||||||
C Change\sthings\sso\sthat\sif\sSQLITE_ENABLE_SETLK_TIMEOUT\sis\sdefined\sas\s2\sinstead\sof\s1,\sall\sblocking\slocks\sare\staken\sfor\sa\ssingle\smillisecond\sand\sthe\sdefault\sbusy-handler\sinvoked\sas\snormal.
|
C Passive\scheckpoints\sdo\snot\suse\sthe\sbusy-handler.\sSo,\sin\sorder\sto\sminimize\svisible\schanges\sfor\slegacy\sapplications,\sdo\snot\senable\sblocking\slocks\sfor\spassive\scheckpoints.
|
||||||
D 2020-06-29T18:22:21.402
|
D 2020-06-29T19:58:26.005
|
||||||
F Makefile.in 19374a5db06c3199ec1bab71ab74a103d8abf21053c05e9389255dc58083f806
|
F Makefile.in 19374a5db06c3199ec1bab71ab74a103d8abf21053c05e9389255dc58083f806
|
||||||
F Makefile.msc 48f5a3fc32672c09ad73795749f6253e406a31526935fbbffd8f021108d54574
|
F Makefile.msc 48f5a3fc32672c09ad73795749f6253e406a31526935fbbffd8f021108d54574
|
||||||
F autoconf/Makefile.am a8d1d24affe52ebf8d7ddcf91aa973fa0316618ab95bb68c87cabf8faf527dc8
|
F autoconf/Makefile.am a8d1d24affe52ebf8d7ddcf91aa973fa0316618ab95bb68c87cabf8faf527dc8
|
||||||
@@ -17,6 +17,7 @@ F src/select.c bc25f48e49eca122c16c247e7d4697241156e7c32c735b219be667657aa017ef
|
|||||||
F src/shell.c.in d663152487d4bfddea0f6d21ebc2ed51575d22657a02c6828afd344bbd4651af
|
F src/shell.c.in d663152487d4bfddea0f6d21ebc2ed51575d22657a02c6828afd344bbd4651af
|
||||||
F src/test1.c fe56c4bcaa2685ca9aa25d817a0ee9345e189aff4a5a71a3d8ba946c7776feb8
|
F src/test1.c fe56c4bcaa2685ca9aa25d817a0ee9345e189aff4a5a71a3d8ba946c7776feb8
|
||||||
F src/vdbeapi.c c1a9004ac554d8d48794d2ce5f80397f8e419fd28643a543cc1e004c7713c3ef
|
F src/vdbeapi.c c1a9004ac554d8d48794d2ce5f80397f8e419fd28643a543cc1e004c7713c3ef
|
||||||
|
F src/wal.c 53e6b90973d9ef8b4bedd48430d22bf5c7c320e73b9e42e84518cd92200613d1
|
||||||
F test/busy2.test 5a449cd1bd7616c6ce709484d3e2a419a151b75e87ec5d2c7cb26e05a15dbd7b
|
F test/busy2.test 5a449cd1bd7616c6ce709484d3e2a419a151b75e87ec5d2c7cb26e05a15dbd7b
|
||||||
F test/decimal.test 12739a01bdba4c4d79f95b323e6b67b9fad1ab6ffb56116bd2b9c81a5b19e1d9
|
F test/decimal.test 12739a01bdba4c4d79f95b323e6b67b9fad1ab6ffb56116bd2b9c81a5b19e1d9
|
||||||
F test/fts3corrupt4.test 99a3017da1f43c8dbecd1b053029ade08dfa51b94ca043abffe5d32f21cc5736
|
F test/fts3corrupt4.test 99a3017da1f43c8dbecd1b053029ade08dfa51b94ca043abffe5d32f21cc5736
|
||||||
@@ -28,10 +29,7 @@ F tool/mksqlite3c.tcl f4ef476510eca4124c874a72029f1e01bc54a896b1724e8f9eef0d8bfa
|
|||||||
F tool/mksqlite3h.tcl 1f5e4a1dbbbc43c83cc6e74fe32c6c620502240b66c7c0f33a51378e78fc4edf
|
F tool/mksqlite3h.tcl 1f5e4a1dbbbc43c83cc6e74fe32c6c620502240b66c7c0f33a51378e78fc4edf
|
||||||
F tool/showlocks.c 9cc5e66d4ebbf2d194f39db2527ece92077e86ae627ddd233ee48e16e8142564
|
F tool/showlocks.c 9cc5e66d4ebbf2d194f39db2527ece92077e86ae627ddd233ee48e16e8142564
|
||||||
F tool/speed-check.sh 615cbdf50f1409ef3bbf9f682e396df80f49d97ed93ed3e61c8e91fae6afde58
|
F tool/speed-check.sh 615cbdf50f1409ef3bbf9f682e396df80f49d97ed93ed3e61c8e91fae6afde58
|
||||||
P ada43e7c490bf72a50ee84e1db994e149744b2a943260449076b83d1874813b2
|
P ac381e6eb3c9284e65f7aad66d21bee1bca9ef4123684ccaf069b8a6d157a56d
|
||||||
R 93e888407e9721413a70c252713da7cc
|
R 753e39341ac04afeb02e6da18d0f5274
|
||||||
T *branch * wal-setlk-changes
|
|
||||||
T *sym-wal-setlk-changes *
|
|
||||||
T -sym-trunk *
|
|
||||||
U dan
|
U dan
|
||||||
Z 013fbd5cd0583cc6a6abd723420eba48
|
Z d19f6be8ed2e8d92d9c0542836650d0b
|
||||||
|
@@ -1 +1 @@
|
|||||||
ac381e6eb3c9284e65f7aad66d21bee1bca9ef4123684ccaf069b8a6d157a56d
|
9c2b4bdd03716bf492ba85198717f3084ebf187bdb068893bd1ff8662362df89
|
@@ -3701,10 +3701,9 @@ int sqlite3WalCheckpoint(
|
|||||||
if( pWal->readOnly ) return SQLITE_READONLY;
|
if( pWal->readOnly ) return SQLITE_READONLY;
|
||||||
WALTRACE(("WAL%p: checkpoint begins\n", pWal));
|
WALTRACE(("WAL%p: checkpoint begins\n", pWal));
|
||||||
|
|
||||||
/* Enable blocking locks, if possible. If blocking locks are successfully
|
/* Enable blocking locks, if possible. */
|
||||||
** enabled, set xBusy2=0 so that the busy-handler is never invoked. */
|
|
||||||
sqlite3WalDb(pWal, db);
|
sqlite3WalDb(pWal, db);
|
||||||
(void)walEnableBlocking(pWal);
|
if( xBusy2 ) (void)walEnableBlocking(pWal);
|
||||||
|
|
||||||
/* IMPLEMENTATION-OF: R-62028-47212 All calls obtain an exclusive
|
/* IMPLEMENTATION-OF: R-62028-47212 All calls obtain an exclusive
|
||||||
** "checkpoint" lock on the database file.
|
** "checkpoint" lock on the database file.
|
||||||
@@ -3746,7 +3745,7 @@ int sqlite3WalCheckpoint(
|
|||||||
if( rc==SQLITE_OK ){
|
if( rc==SQLITE_OK ){
|
||||||
walDisableBlocking(pWal);
|
walDisableBlocking(pWal);
|
||||||
rc = walIndexReadHdr(pWal, &isChanged);
|
rc = walIndexReadHdr(pWal, &isChanged);
|
||||||
(void)walEnableBlocking(pWal);
|
if( xBusy2 ) (void)walEnableBlocking(pWal);
|
||||||
if( isChanged && pWal->pDbFd->pMethods->iVersion>=3 ){
|
if( isChanged && pWal->pDbFd->pMethods->iVersion>=3 ){
|
||||||
sqlite3OsUnfetch(pWal->pDbFd, 0, 0);
|
sqlite3OsUnfetch(pWal->pDbFd, 0, 0);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user