From 0195d8ef5d7e3dd32819178a567c3a32f2d22698 Mon Sep 17 00:00:00 2001 From: dan Date: Mon, 9 Jan 2017 06:53:00 +0000 Subject: [PATCH] Disable the optimization from [8cb8516d] (omit TableLock instructions for non-sharable databases) on this branch. This branch uses the TableLock instructions to ensure that the db schema is not written from within a BEGIN CONCURRENT transaction. FossilOrigin-Name: c8ca3e0a8d82dbb077551c2d952cb2043f78333b --- manifest | 12 ++++++------ manifest.uuid | 2 +- src/build.c | 2 ++ 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/manifest b/manifest index d78d211a93..38fa1464ab 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Upgrade\sthis\sbranch\sto\s3.16\splus\sthe\svarious\sfixes\sthat\sappeared\safter\sits\nrelease. -D 2017-01-09T06:33:50.719 +C Disable\sthe\soptimization\sfrom\s[8cb8516d]\s(omit\sTableLock\sinstructions\sfor\nnon-sharable\sdatabases)\son\sthis\sbranch.\sThis\sbranch\suses\sthe\sTableLock\ninstructions\sto\sensure\sthat\sthe\sdb\sschema\sis\snot\swritten\sfrom\swithin\sa\sBEGIN\nCONCURRENT\stransaction. +D 2017-01-09T06:53:00.359 F Makefile.in 41bd4cad981487345c4a84081074bcdb876e4b2e F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc b8ca53350ae545e3562403d5da2a69cec79308da @@ -334,7 +334,7 @@ F src/btmutex.c 0e9ce2d56159b89b9bc8e197e023ee11e39ff8ca F src/btree.c 5e5bf5079aae45b91e71eb087f3eddd28deafafe F src/btree.h 9306cfe42eed20cf2d0e407172704f5193af26cc F src/btreeInt.h bade42398d4dcadd2263c6d17886e812e2471e87 -F src/build.c efef69bbc7d0729a9b1e6d71f1047d0c5e1cdb5b +F src/build.c 58bd67d6648d6120592605768a7008fd52fb2656 F src/callback.c 2e76147783386374bf01b227f752c81ec872d730 F src/complete.c a3634ab1e687055cd002e11b8f43eb75c17da23e F src/ctime.c 9f2296a4e5d26ebf0e0d95a0af4628f1ea694e7a @@ -1548,7 +1548,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P d9f8918c5b7b6c8540b3f433142e1b4aa4433885 6696cd1878be4bd44a24841b04163e52d847711e -R 47f5758f699f0ce7270fcc21bb40e26e +P d0e212d08f82dfb5e42a156b3e2bb03dd8e21258 +R e3f8f4a25fa664daafdf2b1037a6c994 U dan -Z 398299ab95e9ac138577a5fdad763428 +Z 5b5ce2ca54ddaa75cd9b42bf54bd493e diff --git a/manifest.uuid b/manifest.uuid index a10503843d..01c64fc58f 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -d0e212d08f82dfb5e42a156b3e2bb03dd8e21258 \ No newline at end of file +c8ca3e0a8d82dbb077551c2d952cb2043f78333b \ No newline at end of file diff --git a/src/build.c b/src/build.c index e412a44bc1..ea282ee8ea 100644 --- a/src/build.c +++ b/src/build.c @@ -59,8 +59,10 @@ void sqlite3TableLock( TableLock *p; assert( iDb>=0 ); +#ifdef SQLITE_OMIT_CONCURRENT if( iDb==1 ) return; if( !sqlite3BtreeSharable(pParse->db->aDb[iDb].pBt) ) return; +#endif for(i=0; inTableLock; i++){ p = &pToplevel->aTableLock[i]; if( p->iDb==iDb && p->iTab==iTab ){ -- 2.47.3