]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Merge the checkpoint_fullfsync pragma and the superlock demonstration into blocking-checkpoint
authordrh <drh@noemail.net>
Fri, 19 Nov 2010 18:51:31 +0000 (18:51 +0000)
committerdrh <drh@noemail.net>
Fri, 19 Nov 2010 18:51:31 +0000 (18:51 +0000)
the checkpoint-v2 experimental branch.

FossilOrigin-Name: ebf74015f09fe241c1c6902dc8954f2b59ab41ec

1  2 
main.mk
manifest
manifest.uuid
src/btree.c
src/btree.h
src/main.c
src/pager.c
src/pager.h
src/pragma.c
src/sqlite.h.in
src/sqliteInt.h

diff --cc main.mk
Simple merge
diff --cc manifest
index 40abf7203b29248209d13ab237ba5703c6360327,c90d94de6f4fbc09c6b891ec465a2b4c12934792..8fc2b20728881cc916687d74057116a1f349055e
+++ b/manifest
@@@ -1,5 -1,8 +1,8 @@@
- C Add\sfile\stest/tt3_checkpoint.c\sthat\sadds\sa\smulti-threaded\stest\sfor\sblocking\scheckpoints\sto\sthreadtest3.
- D 2010-11-19T09:58:11
+ -----BEGIN PGP SIGNED MESSAGE-----
+ Hash: SHA1
 -C Merge\sin\sthe\ssuperlock\sdemonstration\schanges.
 -D 2010-11-19T18:36:45
++C Merge\sthe\scheckpoint_fullfsync\spragma\sand\sthe\ssuperlock\sdemonstration\sinto\nthe\scheckpoint-v2\sexperimental\sbranch.
++D 2010-11-19T18:51:31
  F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
  F Makefile.in e7a59672eaeb04408d1fa8501618d7501a3c5e39
  F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@@ -99,7 -102,7 +102,7 @@@ F ext/rtree/tkt3363.test 142ab96eded44a
  F ext/rtree/viewrtree.tcl eea6224b3553599ae665b239bd827e182b466024
  F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 x
  F ltmain.sh 3ff0879076df340d2e23ae905484d8c15d5fdea8
- F main.mk 2c360958d2981a394ce021a9dfc842577f7935df
 -F main.mk 05d0f3475dd331896bd607cfb45c5e21b94589ad
++F main.mk 731380a234515bd21ba4f930e12041ed3acfcc3a
  F mkdll.sh 7d09b23c05d56532e9d44a50868eb4b12ff4f74a
  F mkextu.sh 416f9b7089d80e5590a29692c9d9280a10dbad9f
  F mkextw.sh 4123480947681d9b434a5e7b1ee08135abe409ac
@@@ -119,8 -122,8 +122,8 @@@ F src/auth.c 523da7fb4979469955d822ff92
  F src/backup.c d5b0137bc20327af08c14772227cc35134839c30
  F src/bitvec.c af50f1c8c0ff54d6bdb7a80e2fceca5a93670bef
  F src/btmutex.c 96a12f50f7a17475155971a241d85ec5171573ff
- F src/btree.c d90149f6e0a6f715b58b272ef1028fa249a2a088
- F src/btree.h 1d62748eb7d129292782cf65b891b85cbfa024d4
 -F src/btree.c ccafb8a86e9837daabe89ec590862907a669ecad
 -F src/btree.h 10f9296bf4edf034f5adce921b7b4383a56a1c90
++F src/btree.c 3578a5e812ab9b434b1b705aad547939a055be11
++F src/btree.h e2f2cd9933bf30724f53ffa12c4c5a3a864bbd6e
  F src/btreeInt.h c424f2f131cc61ddf130f9bd736b3df12c8a51f0
  F src/build.c 00a327120d81ace6267e714ae8010c997d55de5d
  F src/callback.c a1d1b1c9c85415dff013af033e2fed9c8382d33b
@@@ -141,7 -144,7 +144,7 @@@ F src/journal.c 552839e54d1bf76fb8f7abe
  F src/legacy.c a199d7683d60cef73089e892409113e69c23a99f
  F src/lempar.c 7f026423f4d71d989e719a743f98a1cbd4e6d99e
  F src/loadext.c 8af9fcc75708d60b88636ccba38b4a7b3c155c3e
- F src/main.c 5927ac9ca30c46df68148ad68227329d1be41a21
 -F src/main.c 721e5530b14b91a1fb6aead279af8b8729fa9a20
++F src/main.c 84fdf5b2d823641f6bb394a81e467b6d7ff9b7ec
  F src/malloc.c 3d7284cd9346ab6e3945535761e68c23c6cf40ef
  F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645
  F src/mem1.c 00bd8265c81abb665c48fea1e0c234eb3b922206
@@@ -162,13 -165,13 +165,13 @@@ F src/os_common.h a8f95b81eca8a1ab8593d
  F src/os_os2.c 72d0b2e562952a2464308c4ce5f7913ac10bef3e
  F src/os_unix.c de5be4cdbf3d07018059934eaf7e5d8d594a895c
  F src/os_win.c 2f90f7bdec714fad51cd31b4ecad3cc1b4bb5aad
- F src/pager.c b46a78a196d99bc855eec3c602777a1bc8db5122
- F src/pager.h e2485f2f2fa5264f2bb68d1783c149d3d57d3637
 -F src/pager.c a8b36940ca8afcb45224e0017669782b3b2c90a3
 -F src/pager.h 0ea59db2a33bc6c2c02cae34de33367e1effdf76
++F src/pager.c b3e86e5d27c04e05a73a55ce2c79bb6028196431
++F src/pager.h 3f8c783de1d4706b40b1ac15b64f5f896bcc78d1
  F src/parse.y 12b7ebd61ea54f0e1b1083ff69cc2c8ce9353d58
  F src/pcache.c 09d38c44ab275db581f7a2f6ff8b9bc7f8c0faaa
  F src/pcache.h c683390d50f856d4cd8e24342ae62027d1bb6050
  F src/pcache1.c e9578a3beac26f229ee558a4e16c863f2498185f
- F src/pragma.c f843c877845ddbb911f10eea50c9290bc8354b03
 -F src/pragma.c 8e87e9e3e8a6734995d22f60dcc8bb838db52436
++F src/pragma.c 900f480cc266428218d1a745a3e670fbd33cf12d
  F src/prepare.c c2b318037d626fed27905c9446730b560637217a
  F src/printf.c 8ae5082dd38a1b5456030c3755ec3a392cd51506
  F src/random.c cd4a67b3953b88019f8cd4ccd81394a8ddfaba50
@@@ -176,9 -179,9 +179,9 @@@ F src/resolve.c 1c0f32b64f8e3f555fe1f73
  F src/rowset.c 69afa95a97c524ba6faf3805e717b5b7ae85a697
  F src/select.c 550d67688f5e8bc8022faf6d014838afba1415af
  F src/shell.c 8517fc1f9c59ae4007e6cc8b9af91ab231ea2056
- F src/sqlite.h.in 0dc08ed5d4decf11002e5fee2be0d6ef87798960
 -F src/sqlite.h.in e6e87d10e6a3756b8c7e9a11703716b6a1575a40
++F src/sqlite.h.in daa5e94df834537708afb917e9b4cc4489c63c00
  F src/sqlite3ext.h c90bd5507099f62043832d73f6425d8d5c5da754
- F src/sqliteInt.h 4e7045f17606296bc8e7898d69567fc3cd06b761
 -F src/sqliteInt.h f5b5041bfebd5654212992f6ebaa3f575c4b9c17
++F src/sqliteInt.h eea368b138c8c90ea1aef8f06f49ec29aacb2a8b
  F src/sqliteLimit.h a17dcd3fb775d63b64a43a55c54cb282f9726f44
  F src/status.c 496913d4e8441195f6f2a75b1c95993a45b9b30b
  F src/table.c 2cd62736f845d82200acfa1287e33feb3c15d62e
@@@ -889,7 -892,14 +894,14 @@@ F tool/speedtest2.tcl ee2149167303ba8e9
  F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
  F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
  F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
- P ac348ae25cb0239dc525bb473cc83cdb1b3de205
- R d259a6023fb0ad6db4b616b7c9bd726d
- U dan
- Z 699d2f3824e67293f11a7075160f739b
 -P a069867301de3ca2e1753bd4d2e426d27365be4c 1a3e7417a2184188fe21c3284e58720da9ca11cf
 -R 612a5c6e6ceeba977718ef175cdd20b9
++P 648dd157ef3b7b790764698fd4dd7107c25212c9 570e79a8eb3bb2d2a15c46c55fbf52c9dd3e3ae8
++R 29ee6d2e4bc9e75a0c4b1469b6aa491c
+ U drh
 -Z f6076b0dc8e47c984cebf6ec68cb33ea
++Z 62a52f8bb2681a24e7959006560a6980
+ -----BEGIN PGP SIGNATURE-----
+ Version: GnuPG v1.4.6 (GNU/Linux)
 -iD8DBQFM5sO/oxKgR168RlERAjMvAJ46ffI5I7vl/OKgwTBinI+EBDsO5QCeLCGK
 -6NmdlpkMD1RVx2Ohr0Mr5i0=
 -=Nkm+
++iD8DBQFM5sdNoxKgR168RlERAn8IAJ4xAREF+dTwudzwR6tkh9wg+ffZegCeIyuW
++SnmYKb+i1Y56lE+LONz+l/g=
++=HICj
+ -----END PGP SIGNATURE-----
diff --cc manifest.uuid
index ee5c3341d6cb61c5794d2e4c14100eaad0285814,f40be047333afae119aee1857f5e1de037f28332..0da19b37b64b346b568f5cded8fc8c4d236c022c
@@@ -1,1 -1,1 +1,1 @@@
- 648dd157ef3b7b790764698fd4dd7107c25212c9
 -570e79a8eb3bb2d2a15c46c55fbf52c9dd3e3ae8
++ebf74015f09fe241c1c6902dc8954f2b59ab41ec
diff --cc src/btree.c
Simple merge
diff --cc src/btree.h
Simple merge
diff --cc src/main.c
Simple merge
diff --cc src/pager.c
index bb9f6ddf02f7cd623c2618bd872eeb440dacee4a,a95606e47f62afb1825a010dd096f82a87310f79..e0230c6e978e0ec7d2ce1e0c97e5285efa39296a
@@@ -6516,21 -6550,14 +6550,20 @@@ sqlite3_backup **sqlite3PagerBackupPtr(
  
  #ifndef SQLITE_OMIT_WAL
  /*
 -** This function is called when the user invokes "PRAGMA checkpoint".
 +** This function is called when the user invokes "PRAGMA wal_checkpoint",
 +** "PRAGMA wal_blocking_checkpoint" or calls the sqlite3_wal_checkpoint()
 +** or wal_blocking_checkpoint() API functions.
 +**
 +** Parameter eMode is one of SQLITE_CHECKPOINT_PASSIVE, FULL or RESTART.
  */
 -int sqlite3PagerCheckpoint(Pager *pPager){
 +int sqlite3PagerCheckpoint(Pager *pPager, int eMode, int *pnLog, int *pnCkpt){
    int rc = SQLITE_OK;
    if( pPager->pWal ){
 -    u8 *zBuf = (u8 *)pPager->pTmpSpace;
 -    rc = sqlite3WalCheckpoint(pPager->pWal, pPager->ckptSyncFlags,
 -                              pPager->pageSize, zBuf);
 +    rc = sqlite3WalCheckpoint(pPager->pWal, eMode,
 +        pPager->xBusyHandler, pPager->pBusyHandlerArg,
-         (pPager->noSync ? 0 : pPager->sync_flags),
-         pPager->pageSize, (u8 *)pPager->pTmpSpace,
++        pPager->ckptSyncFlags, pPager->pageSize, (u8 *)pPager->pTmpSpace,
 +        pnLog, pnCkpt
 +    );
    }
    return rc;
  }
diff --cc src/pager.h
Simple merge
diff --cc src/pragma.c
Simple merge
diff --cc src/sqlite.h.in
Simple merge
diff --cc src/sqliteInt.h
Simple merge