From: drh Date: Wed, 29 Jul 2015 14:10:43 +0000 (+0000) Subject: The "PRAGMA cache_size" reads the database schema, as it has down in all prior X-Git-Tag: version-3.8.11.1~1^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8ea60e35c2bd3a4f7e7422772e9ab7151af4e501;p=thirdparty%2Fsqlite.git The "PRAGMA cache_size" reads the database schema, as it has down in all prior versions of SQLite. This side-effect of cache_size is undocumented, but apparently it does get used and its absence from 3.8.11 was causing problems. FossilOrigin-Name: 4489722a6b560355ef13f091e5c9dcf0b00072f0 --- diff --git a/manifest b/manifest index 9db7a69587..c9e1a84eb5 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Version\s3.8.11 -D 2015-07-27T13:49:41.754 +C The\s"PRAGMA\scache_size"\sreads\sthe\sdatabase\sschema,\sas\sit\shas\sdown\sin\sall\sprior\nversions\sof\sSQLite.\s\sThis\sside-effect\sof\scache_size\sis\sundocumented,\sbut\s\napparently\sit\sdoes\sget\sused\sand\sits\sabsence\sfrom\s3.8.11\swas\scausing\sproblems. +D 2015-07-29T14:10:43.686 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in 4de3ef40c8b3b75c0c55ff4242a43c8ce1ad90ee F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -321,7 +321,7 @@ F src/parse.y 6d60dda8f8d418b6dc034f1fbccd816c459983a8 F src/pcache.c cde06aa50962595e412d497e22fd2e07878ba1f0 F src/pcache.h 9968603796240cdf83da7e7bef76edf90619cea9 F src/pcache1.c d08939800abf3031bd0affd5a13fbc4d7ba3fb68 -F src/pragma.c e52084b37a08a88f258830518461e94627af2621 +F src/pragma.c 669bc0fdb3fb5554e18330e8dd9743319bac16f4 F src/pragma.h 631a91c8b0e6ca8f051a1d8a4a0da4150e04620a F src/prepare.c 82e5db1013846a819f198336fed72c44c974e7b1 F src/printf.c 2bc439ff20a4aad0e0ad50a37a67b5eae7d20edc @@ -1366,10 +1366,10 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P 9f1dcdc3e1644c21762dacf619fac70afe6318c5 -R 8f58f88db8a7564cc507b9707cc8c853 -T +bgcolor * #d0c0ff -T +sym-release * -T +sym-version-3.8.11 * +P b8e92227a469de677a66da62e4361f099c0b79d0 +R 3876a06188adf0d8a5a1f130dc4be3ea +T *branch * branch-3.8.11 +T *sym-branch-3.8.11 * +T -sym-trunk * U drh -Z ff777afb71751a2633799d5aca45576d +Z a04bc97930dddfd11b5773b036bde6ba diff --git a/manifest.uuid b/manifest.uuid index 8247151f16..33292a1219 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -b8e92227a469de677a66da62e4361f099c0b79d0 \ No newline at end of file +4489722a6b560355ef13f091e5c9dcf0b00072f0 \ No newline at end of file diff --git a/src/pragma.c b/src/pragma.c index ffa0685727..96ff136c25 100644 --- a/src/pragma.c +++ b/src/pragma.c @@ -727,6 +727,7 @@ void sqlite3Pragma( int size = sqlite3Atoi(zRight); pDb->pSchema->cache_size = size; sqlite3BtreeSetCacheSize(pDb->pBt, pDb->pSchema->cache_size); + if( sqlite3ReadSchema(pParse) ) goto pragma_out; } break; }