diff --git a/manifest b/manifest index ced639718b..a37efd0e09 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C When\sa\svirtual\stable\sreports\sorderByConsumed,\sthat\stells\sus\snothing\sabout\nwhether\sor\snot\sthe\sSQLITE_DISTINCTBY\sconstraint\sis\smet.\nFix\sfor\sticket\s[7e59041f9c4e5102].\nTest\scases\sin\sTH3. -D 2019-11-08T20:13:44.344 +C Make\ssure\sthe\sWITH\sstack\sin\sthe\sParse\sobject\sis\sdisabled\sfollowing\san\serror. +D 2019-11-09T14:38:58.070 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -526,7 +526,7 @@ F src/printf.c 9be6945837c839ba57837b4bc3af349eba630920fa5532aa518816defe42a7d4 F src/random.c 80f5d666f23feb3e6665a6ce04c7197212a88384 F src/resolve.c cf2391c93d425455388389e7a47674b9da107d2ed69ebf49979044d70dbeb045 F src/rowset.c d977b011993aaea002cab3e0bb2ce50cf346000dff94e944d547b989f4b1fe93 -F src/select.c 3395765ea3749341deb4c25e8339c3d626a8ac641a52c216e9632e48e620ba68 +F src/select.c 887c3096566e22d28c6cc1a09ac0f6eb9636e5f38eb55e296e39e282c56fda65 F src/shell.c.in c06961f202f3cc50b819744b7331d3caea3d79d958402f4900b0668248557468 F src/sqlite.h.in 5ba20664cede7f4e6861541fad1f17bac50f7bf576b40a8784c54f9126a9edd4 F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8 @@ -596,7 +596,7 @@ F src/trigger.c 845ccc08f60716c58aa28fe6470385c18ef8c4e1d88c93dcf449bc13d464eb2e F src/update.c 07a50767f7d3e26d4c887c31cd66448d700d3215caea6023acf7269336097df7 F src/upsert.c b445315c8958d8f17ec3297d06842e61dacaad0633ccaec1e4e160de7e562212 F src/utf.c 2f0fac345c7660d5c5bd3df9e9d8d33d4c27f366bcfb09e07443064d751a0507 -F src/util.c 10d910e04a4f3842042485e0df01a484f57f912c10b60b3a09ccddd5019bd138 +F src/util.c 66b22af7b359ce6493c34fef28c87d5c2d1765f212d6e4cd5e08d99ac30b89bb F src/vacuum.c 82dcec9e7b1afa980288718ad11bc499651c722d7b9f32933c4d694d91cb6ebf F src/vdbe.c b67d6af853e03c3dd6d1116351567f62d8a2c10d3bd6db5f7f366e75d11c6653 F src/vdbe.h fdbc0a11e5768a702b46ce63286f60e22e71351a29bd98b3666405e1fccc7802 @@ -1731,7 +1731,7 @@ F test/windowerr.test a8b752402109c15aa1c5efe1b93ccb0ce1ef84fa964ae1cd6684dd0b3c F test/windowfault.test a90b397837209f15e54afa62e8be39b2759a0101fae04e05a08bcc50e243a452 F test/with1.test d32792084dcb5f6c047d77bb8a032822ef9fe050ade07d0aeffa37753a05e3c9 F test/with2.test e0030e2f0267a910d6c0e4f46f2dfe941c1cc0d4f659ba69b3597728e7e8f1ab -F test/with3.test b5f1372097690c6ef84db2f13fc7e64a88c7263c3f88493605f90597e8a68d45 +F test/with3.test 7de8dff2891aca0f9453463e4a2d6eb995baf137827d5596116fee53e22a4e29 F test/with4.test 257be66c0c67fee1defbbac0f685c3465e2cad037f21ce65f23f86084f198205 F test/withM.test 693b61765f2b387b5e3e24a4536e2e82de15ff64 F test/without_rowid1.test 9cfb83705c506e3849fa7efc88a3c9a15f9a50bf9b1516b41757a7cef9bba8c3 @@ -1849,7 +1849,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 34f64f11ca481996b1ff1686bdc5e278946635b6856cd1fe2355fce8e298e0f8 -R 31de4c083b648ffd51f71fd6244bffef +P b59f94e4da9b1653f2004b214407a50340dd476b27e6ec7e29e501a95db9c963 +R 895ed8b37daa70e59944b1a121e85596 U drh -Z 28abf6e2f78150740c50123f02de8e33 +Z bce644ebcb3df09f16a3af5cdce2d123 diff --git a/manifest.uuid b/manifest.uuid index f175b311ea..e864040912 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -b59f94e4da9b1653f2004b214407a50340dd476b27e6ec7e29e501a95db9c963 \ No newline at end of file +de6e6d6846d6a41c4821454dfdc042096234df753be08c5567b79fe535d9b6ea \ No newline at end of file diff --git a/src/select.c b/src/select.c index b21effc0a0..269469485f 100644 --- a/src/select.c +++ b/src/select.c @@ -4668,6 +4668,9 @@ static int withExpand( With *pWith; /* WITH clause that pCte belongs to */ assert( pFrom->pTab==0 ); + if( pParse->nErr ){ + return SQLITE_ERROR; + } pCte = searchWith(pParse->pWith, pFrom, &pWith); if( pCte ){ diff --git a/src/util.c b/src/util.c index d28950d266..2c14911b6f 100644 --- a/src/util.c +++ b/src/util.c @@ -192,6 +192,7 @@ void sqlite3ErrorMsg(Parse *pParse, const char *zFormat, ...){ sqlite3DbFree(db, pParse->zErrMsg); pParse->zErrMsg = zMsg; pParse->rc = SQLITE_ERROR; + pParse->pWith = 0; } } diff --git a/test/with3.test b/test/with3.test index 360d37f9b9..eebb9d6546 100644 --- a/test/with3.test +++ b/test/with3.test @@ -30,7 +30,15 @@ do_catchsql_test 1.0 { SELECT 5 FROM t0 UNION SELECT 8 FROM m ) SELECT * FROM i; -} {1 {no such table: m}} +} {1 {no such table: t0}} + +# 2019-11-09 dbfuzzcheck find +do_catchsql_test 1.1 { + CREATE VIEW v1(x,y) AS + WITH t1(a,b) AS (VALUES(1,2)) + SELECT * FROM nosuchtable JOIN t1; + SELECT * FROM v1; +} {1 {no such table: main.nosuchtable}} # Additional test cases that came out of the work to # fix for Kostya's problem.