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

Make sure that when a connection is blocking on a RESERVED lock that it

continues after the lock is released.  Ticket #3093. (CVS 5078)

FossilOrigin-Name: 3dc334aa4a394e85858d2441225d64d73664b5b5
This commit is contained in:
drh
2008-05-02 14:23:54 +00:00
parent 8c23864c17
commit 8a9c17f1d5
4 changed files with 14 additions and 12 deletions

View File

@@ -1,5 +1,5 @@
C Add\sa\s\stest\scase\sfor\sticket\s#3093.\s(CVS\s5077)
D 2008-05-02T14:08:56
C Make\ssure\sthat\swhen\sa\sconnection\sis\sblocking\son\sa\sRESERVED\slock\sthat\sit\ncontinues\safter\sthe\slock\sis\sreleased.\s\sTicket\s#3093.\s(CVS\s5078)
D 2008-05-02T14:23:55
F Makefile.arm-wince-mingw32ce-gcc ac5f7b2cef0cd850d6f755ba6ee4ab961b1fadf7
F Makefile.in 25b3282a4ac39388632c2fb0e044ff494d490952
F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@@ -86,7 +86,7 @@ F src/attach.c 496cc628b2e8c4d8db99d7c136761fcbebd8420b
F src/auth.c c8b2ab5c8bad4bd90ed7c294694f48269162c627
F src/bitvec.c 8ec2212cfb702bc4f402c0b7ae7623d85320c714
F src/btmutex.c 483ced3c52205b04b97df69161fadbf87f4f1ea2
F src/btree.c 8b2294c64baeee6ae0519e1438c577fd601c02fb
F src/btree.c 05c6bcb6d840d00f231514b253a2ed2f3987f88e
F src/btree.h 8826591bf54dd35fcf2e67473d5f1bae253861c7
F src/btreeInt.h dc04ee33d8eb84714b2acdf81336fbbf6e764530
F src/build.c a52d9d51341444a2131e3431608f245db80d9591
@@ -503,7 +503,7 @@ F test/tkt2920.test a8737380e4ae6424e00c0273dc12775704efbebf
F test/tkt2927.test a473c09eafa83d95579fc2b976f2afc11571ce7e
F test/tkt2942.test c5c87d179799ca6d1fbe83c815510b87cd5ec7ce
F test/tkt3080.test 31a02e87a4c80ed443831c2c5b0e8216ff95ac14
F test/tkt3093.test 433851feaef6bacb95700355c4811344ef6b851e
F test/tkt3093.test fbdbc5b4969244ad11f540759003e361fcaf391f
F test/trace.test 951cd0f5f571e7f36bf7bfe04be70f90fb16fb00
F test/trans.test 2fd24cd7aa0b879d49a224cbd647d698f1e7ac5c
F test/trigger1.test 7c13f39ca36f529bf856e05c7d004fc0531d48b4
@@ -634,7 +634,7 @@ F www/tclsqlite.tcl 8be95ee6dba05eabcd27a9d91331c803f2ce2130
F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b
F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5
P 1906d2dadcd70053f55e2133af9f838e2d828fa7
R 753b7a8a009f233c8697dfefcc46a9a8
P 288a7655c9a876abf53d92dc6599a9305399d562
R 2ccc70e81b08cd2e7dd9d593658d1cd0
U drh
Z 13a2787d3df0d75d1a6ce4dedc8ab3e0
Z df24ea2862549271d3b6a0f98f01dab8

View File

@@ -1 +1 @@
288a7655c9a876abf53d92dc6599a9305399d562
3dc334aa4a394e85858d2441225d64d73664b5b5

View File

@@ -9,7 +9,7 @@
** May you share freely, never taking more than you give.
**
*************************************************************************
** $Id: btree.c,v 1.452 2008/04/24 19:15:10 shane Exp $
** $Id: btree.c,v 1.453 2008/05/02 14:23:55 drh Exp $
**
** This file implements a external (disk-based) database using BTrees.
** See the header comment on "btreeInt.h" for additional information.
@@ -1899,8 +1899,10 @@ int sqlite3BtreeBeginTrans(Btree *p, int wrflag){
#endif
do {
while( rc==SQLITE_OK && pBt->pPage1==0 ){
rc = lockBtree(pBt);
if( pBt->pPage1==0 ){
do{
rc = lockBtree(pBt);
}while( pBt->pPage1==0 && rc==SQLITE_OK );
}
if( rc==SQLITE_OK && wrflag ){

View File

@@ -14,7 +14,7 @@
# Verify that a busy callback waiting on a reserved lock resolves
# once the lock clears.
#
# $Id: tkt3093.test,v 1.1 2008/05/02 14:08:56 drh Exp $
# $Id: tkt3093.test,v 1.2 2008/05/02 14:23:55 drh Exp $
#
set testdir [file dirname $argv0]