]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Transient locks in WAL mode can now block in order to resolve priority
authordrh <drh@noemail.net>
Tue, 17 Mar 2015 16:59:57 +0000 (16:59 +0000)
committerdrh <drh@noemail.net>
Tue, 17 Mar 2015 16:59:57 +0000 (16:59 +0000)
inversions.

FossilOrigin-Name: ec2f46de531ec8ef91981b19b48ab64db7727264

1  2 
manifest
manifest.uuid
src/sqlite.h.in

diff --cc manifest
index 781a2701935d0d0a300b903efcec24bbd398a575,881ae7d644b095c774012800fd70da32256184bd..01201de72831b9b4fdcd3ae1810a3dc19fa0aa14
+++ b/manifest
@@@ -1,7 -1,7 +1,7 @@@
- C Make\sSQLite\sslightly\smore\slikely\sto\suse\san\sauto-index\swithin\sa\ssub-query.
- D 2015-03-16T20:40:00.496
 -C Arrange\sfor\ssome\sof\sthe\stransient\slocks\sin\sWAL\smode\sto\sblock,\sas\sa\ssingle\nto\sthe\sOS\sto\sfix\spriority\sinversions.
 -D 2015-03-10T20:22:35.302
++C Transient\slocks\sin\sWAL\smode\scan\snow\sblock\sin\sorder\sto\sresolve\spriority\ninversions.
++D 2015-03-17T16:59:57.519
  F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 -F Makefile.in 2f643d6968dfc0b82d2e546a0525a39079f9e928
 +F Makefile.in 88a3e6261286db378fdffa1124cad11b3c05f5bb
  F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
  F Makefile.msc 529e61cd9d29a3934758b4b3a0bb649b6c653481
  F Makefile.vxworks e1b65dea203f054e71653415bd8f96dcaed47858
@@@ -232,7 -232,7 +232,7 @@@ F src/resolve.c f4d79e31ffa5820c2e3d174
  F src/rowset.c eccf6af6d620aaa4579bd3b72c1b6395d9e9fa1e
  F src/select.c 94e016b6733b1d39a2f4c8d431155b4c2897d907
  F src/shell.c cce82ca26392578a4a1ee927dfe55ea3411c7c92
- F src/sqlite.h.in 356e69db9500b3fd11705c21ca247e19b95884a3
 -F src/sqlite.h.in 4eb59d93caec4b60eada51d3211087746187edef
++F src/sqlite.h.in ce547ac4df17e8d996679f7a385911b3a0c52d48
  F src/sqlite3.rc 992c9f5fb8285ae285d6be28240a7e8d3a7f2bad
  F src/sqlite3ext.h 17d487c3c91b0b8c584a32fbeb393f6f795eea7d
  F src/sqliteInt.h fae682c2b4dfbe489b134d74521c41c088f16ab1
@@@ -304,10 -304,10 +304,10 @@@ F src/vdbesort.c 6d64c5448b64851b99931e
  F src/vdbetrace.c 7e4222955e07dd707a2f360c0eb73452be1cb010
  F src/vtab.c 699f2b8d509cfe379c33dde33827875d5b030e01
  F src/vxworks.h c18586c8edc1bddbc15c004fa16aeb1e1342b4fb
- F src/wal.c 39303f2c9db02a4e422cd8eb2c8760420c6a51fe
+ F src/wal.c 878c8e1a51cb2ec45c395d26b7d5cd9e1a098e4a
  F src/wal.h df01efe09c5cb8c8e391ff1715cca294f89668a4
  F src/walker.c c253b95b4ee44b21c406e2a1052636c31ea27804
 -F src/where.c eb141b075776e9864d38f279333e2472a8653202
 +F src/where.c 42ce3fd5ec9fe050f623be358cfddee01c1f6286
  F src/whereInt.h cbe4aa57326998d89e7698ca65bb7c28541d483c
  F test/8_3_names.test ebbb5cd36741350040fd28b432ceadf495be25b2
  F test/aggerror.test a867e273ef9e3d7919f03ef4f0e8c0d2767944f2
@@@ -1245,7 -1241,10 +1245,7 @@@ F tool/vdbe_profile.tcl 67746953071a9f8
  F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
  F tool/warnings.sh 0abfd78ceb09b7f7c27c688c8e3fe93268a13b32
  F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
- P 34779c528f1817d6ec34216b58fb4277956b5167
- R 20e702b8205b517ce2cb7b49f472a434
- U dan
- Z 33f45126f2bf7daffd881933acc4eaa9
 -P 8d0b11c96e15556dd65ced05708a832aef134e69
 -R e3a6235cb886b3e146e5aa9fea4e9436
 -T *branch * wal-blocking-lock
 -T *sym-wal-blocking-lock *
 -T -sym-trunk *
++P ab832336f4a28193c4d2b61e833564822a7b86a8 c6e6d5f4e06c3ac0bfb620c0c728fbc7230c4a02
++R e9615c177cbff927553c4cf3589d469c
+ U drh
 -Z 53b7d268fee9eb6c03e124e757f212c1
++Z 0b12e1121ffbe338a20dac08008c6f99
diff --cc manifest.uuid
index cc066477d94b8c000bdd9e85c8fb6820310820ed,e908b35f97e6b5474c8c369287527e539d1bce06..804167befe18198be8bb2ee7514a2265623a010f
@@@ -1,1 -1,1 +1,1 @@@
- ab832336f4a28193c4d2b61e833564822a7b86a8
 -c6e6d5f4e06c3ac0bfb620c0c728fbc7230c4a02
++ec2f46de531ec8ef91981b19b48ab64db7727264
diff --cc src/sqlite.h.in
index 06e0f7eb9fb469aa89b2e9f6951056c19be35d9b,f0f6f5ddcf382928f24c46d2a59598115562cef5..483534e4941313455f68e3d5aa024cc5e881c5c9
@@@ -945,6 -945,13 +945,13 @@@ struct sqlite3_io_methods 
  ** pointed to by the pArg argument.  This capability is used during testing
  ** and only needs to be supported when SQLITE_TEST is defined.
  **
 -** The [SQLITE_FCNTL_WAL_BLOCK] is a single to the VFS layer that it might
+ ** <li>[[SQLITE_FCNTL_WAL_BLOCK]]
 -** available.  The WAL subsystem issues this ioctl() during some rare
++** The [SQLITE_FCNTL_WAL_BLOCK] is a signal to the VFS layer that it might
+ ** be advantageous to block on the next WAL lock if the lock is not immediately
++** available.  The WAL subsystem issues this signal during rare
+ ** circumstances in order to fix a problem with priority inversion.
+ ** Applications should <em>not</em> use this file-control.
+ **
  ** </ul>
  */
  #define SQLITE_FCNTL_LOCKSTATE               1