From c7a5ff45b92fbd2db1beba2411fdc0bf07874d0b Mon Sep 17 00:00:00 2001 From: drh Date: Tue, 24 Dec 2019 21:01:37 +0000 Subject: [PATCH] Backout the early VTable cursor close change from yesterday, as Yongheng and Rui have found a test case for which it fails. The new test case is added to fuzzcheck. FossilOrigin-Name: ddb10f0374e66886d0681937b14cf0b4f100f03d3955b45b6c508dc6d9e36976 --- manifest | 17 +++++++++-------- manifest.uuid | 2 +- src/where.c | 5 +---- test/fuzzdata8.db | Bin 1607680 -> 1608704 bytes 4 files changed, 11 insertions(+), 13 deletions(-) diff --git a/manifest b/manifest index 5400b3ceeb..7f3882aa04 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sa\sproblem\scausing\sfts5\sintegrity-check\sfailures\sif\snumeric\svalues\sare\sinserted\sinto\sa\stable\swithin\sa\sutf-16\sdatabase.\sFix\sfor\s[752fdbf6]. -D 2019-12-24T20:51:01.789 +C Backout\sthe\searly\sVTable\scursor\sclose\schange\sfrom\syesterday,\sas\sYongheng\sand\nRui\shave\sfound\sa\stest\scase\sfor\swhich\sit\sfails.\s\sThe\snew\stest\scase\sis\sadded\nto\sfuzzcheck. +D 2019-12-24T21:01:37.072 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -613,7 +613,7 @@ F src/vxworks.h d2988f4e5a61a4dfe82c6524dd3d6e4f2ce3cdb9 F src/wal.c 15a2845769f51ba132f9cf0b2c7a6887a91fc8437892dbcce9fcdc68b66d60a1 F src/wal.h 606292549f5a7be50b6227bd685fa76e3a4affad71bb8ac5ce4cb5c79f6a176a F src/walker.c a137468bf36c92e64d2275caa80c83902e3a0fc59273591b96c6416d3253d05d -F src/where.c ac6704a7c5758d603ceaa0d6fcb9cd2d34b57cd3a6a7b598b3eddea558bc54ed +F src/where.c 58653781a4b31fa16b95b953591fdc1f1ed5ff77574e59b90a27da3819b60a46 F src/whereInt.h 4a296fd4fa79fdcbc2b5e8c1b898901617655811223e1082b899c23ecb092217 F src/wherecode.c bb58d5e6e7f583db5b74e0fd35f1d65fdee67d20553b55cd6098fc3f8148053a F src/whereexpr.c 4b34be1434183e7bb8a05d4bf42bd53ea53021b0b060936fbd12062b4ff6b396 @@ -1017,7 +1017,7 @@ F test/fuzzdata4.db b502c7d5498261715812dd8b3c2005bad08b3a26e6489414bd13926cd3e4 F test/fuzzdata5.db e35f64af17ec48926481cfaf3b3855e436bd40d1cfe2d59a9474cb4b748a52a5 F test/fuzzdata6.db 92a80e4afc172c24f662a10a612d188fb272de4a9bd19e017927c95f737de6d7 F test/fuzzdata7.db e7a86fd83dda151d160445d542e32e5c6019c541b3a74c2a525b6ac640639711 -F test/fuzzdata8.db 7fd98a5d4c281d993950212507ad56a55ace0cf3083785eb3366aad9ebd8041c +F test/fuzzdata8.db 5666148e99337de4f87c2df75c6ca2cc48ed813f6defc79c4982df37ffec81bc F test/fuzzer1.test 3d4c4b7e547aba5e5511a2991e3e3d07166cfbb8 F test/fuzzer2.test a85ef814ce071293bce1ad8dffa217cbbaad4c14 F test/fuzzerfault.test 8792cd77fd5bce765b05d0c8e01b9edcf8af8536 @@ -1852,7 +1852,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P b9c2005f0291d58d7f3bfd4a2286eb6563e9c9433519c3329035f325fc723445 -R 7f0e48842e6b5bcfdbb69ec084979d12 -U dan -Z 93c602bc1993059f2ccb7d930f69aa4d +P bae060f382e4386c0793db4aa280fe9cd4893307d17a1801a17218ae4dc031c2 +Q -eb95dac7f6482c36853a23234c5ce7af37c7beed8e3675d6a49c4d3a8307e076 +R 056e130351576a95134652be2c0d73eb +U drh +Z 0627f3ed229bfb4c9422500dce5b2813 diff --git a/manifest.uuid b/manifest.uuid index f1d185a745..d75c569f0c 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -bae060f382e4386c0793db4aa280fe9cd4893307d17a1801a17218ae4dc031c2 \ No newline at end of file +ddb10f0374e66886d0681937b14cf0b4f100f03d3955b45b6c508dc6d9e36976 \ No newline at end of file diff --git a/src/where.c b/src/where.c index af490390c5..830dbfde3a 100644 --- a/src/where.c +++ b/src/where.c @@ -5341,16 +5341,13 @@ void sqlite3WhereEnd(WhereInfo *pWInfo){ continue; } - if( IsVirtual(pTab) ){ - sqlite3VdbeAddOp1(v, OP_Close, pTabItem->iCursor); - } #ifdef SQLITE_ENABLE_EARLY_CURSOR_CLOSE /* Close all of the cursors that were opened by sqlite3WhereBegin. ** Except, do not close cursors that will be reused by the OR optimization ** (WHERE_OR_SUBCLAUSE). And do not close the OP_OpenWrite cursors ** created for the ONEPASS optimization. */ - else if( (pTab->tabFlags & TF_Ephemeral)==0 + if( (pTab->tabFlags & TF_Ephemeral)==0 && pTab->pSelect==0 && (pWInfo->wctrlFlags & WHERE_OR_SUBCLAUSE)==0 ){ diff --git a/test/fuzzdata8.db b/test/fuzzdata8.db index 7247ea141662d090df2375bb219475c6802ce5e7..f3f4d2eb93a1035613734586363d77ca2d6a9e00 100644 GIT binary patch delta 19662 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