From: dan Date: Thu, 8 Aug 2019 11:44:57 +0000 (+0000) Subject: Fix a bug causing "no such table" and other similar sqlite3_prepare*() errors to... X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1430806e39be3d2ef3f6f69432166d9dac26e449;p=thirdparty%2Fsqlite.git Fix a bug causing "no such table" and other similar sqlite3_prepare*() errors to return SQLITE_SCHEMA instead of SQLITE_ERROR in shared-schema mode when there is an attached database for which the schema has never been loaded. FossilOrigin-Name: 111e2c73cf430ae61e3f4cc34a1bee8ac7025b8a960fc3f3b7f493009b759ad7 --- diff --git a/manifest b/manifest index a4ca8b55e8..126817a62b 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Add\sa\smulti-threaded\stest\sto\sthreadtest3.c\sfor\sthe\sfeature\son\sthis\sbranch. -D 2019-08-06T15:02:49.156 +C Fix\sa\sbug\scausing\s"no\ssuch\stable"\sand\sother\ssimilar\ssqlite3_prepare*()\serrors\sto\sreturn\sSQLITE_SCHEMA\sinstead\sof\sSQLITE_ERROR\sin\sshared-schema\smode\swhen\sthere\sis\san\sattached\sdatabase\sfor\swhich\sthe\sschema\shas\snever\sbeen\sloaded. +D 2019-08-08T11:44:57.781 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -519,7 +519,7 @@ F src/pcache.h 4f87acd914cef5016fae3030343540d75f5b85a1877eed1a2a19b9f284248586 F src/pcache1.c 62714cbd1b7299a6e6a27a587b66b4fd3a836a84e1181e7f96f5c34a50917848 F src/pragma.c 7f5272822ecdc6bb830b0192a06d37618a938ef499e480b5aa79b07c59c1f492 F src/pragma.h 089d20e01c735fcb9707f5947961008e4f0764b03f4a383ba1eacaa5b891fa6e -F src/prepare.c 3a891e51608a16e976b13fb17f6d0aa3542cbae293359f525fd86f77c6bcd4c0 +F src/prepare.c 786c5ea9030b6c92b9b631c1231eaeb52e818ada8095b3f1f59eca8a8e6aaaa6 F src/printf.c 9be6945837c839ba57837b4bc3af349eba630920fa5532aa518816defe42a7d4 F src/random.c 80f5d666f23feb3e6665a6ce04c7197212a88384 F src/resolve.c edf29463177e9fa9dad5346e9adf482f24db9f180c693d0ba993e25dc797f6b7 @@ -1847,7 +1847,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 fdd44bbb501c7252097e79685e916e760846e183bc9f022f9cf32f1d32f0089d -R a9b8527bf0773b824fbecc1d333eb46b +P 62557fab0d21d47893e69d504ae2b4405c1837ccd6300a5a6743cb756eb28ad3 +R 7685a58cd0424b4f663be4b37d288774 U dan -Z defc4aad4b110f20b71fb180d41dde27 +Z 1465b53bc3abab19ee3f0a331df543d1 diff --git a/manifest.uuid b/manifest.uuid index 2089444a38..27ebf0e685 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -62557fab0d21d47893e69d504ae2b4405c1837ccd6300a5a6743cb756eb28ad3 \ No newline at end of file +111e2c73cf430ae61e3f4cc34a1bee8ac7025b8a960fc3f3b7f493009b759ad7 \ No newline at end of file diff --git a/src/prepare.c b/src/prepare.c index cef8fa651e..0747822aaf 100644 --- a/src/prepare.c +++ b/src/prepare.c @@ -543,6 +543,10 @@ static void schemaIsValid(Parse *pParse){ Btree *pBt = db->aDb[iDb].pBt; /* Btree database to read cookie from */ if( pBt==0 ) continue; +#ifdef SQLITE_ENABLE_SHARED_SCHEMA + if( IsSharedSchema(db) && iDb!=1 && db->aDb[iDb].pSPool==0 ) continue; +#endif + /* If there is not already a read-only (or read-write) transaction opened ** on the b-tree database, open one now. If a transaction is opened, it ** will be closed immediately after reading the meta-value. */