From: danielk1977 Date: Fri, 3 Aug 2007 07:33:08 +0000 (+0000) Subject: Avoid reloading the schema when an expired statement is finalized or reset. X-Git-Tag: version-3.6.10~1980 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d42f8fdc7a60fac4dd2101f1e55008dd4cc7e290;p=thirdparty%2Fsqlite.git Avoid reloading the schema when an expired statement is finalized or reset. This is only necessary when the in-memory schema does not match the file-system schema. (CVS 4194) FossilOrigin-Name: 61de5b52daa0a862a04147dbaf71fafb696052f6 --- diff --git a/manifest b/manifest index 0e3aa272fa..d76738a093 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sa\stypo\sin\slimits.html.\s(CVS\s4193) -D 2007-07-30T23:02:39 +C Avoid\sreloading\sthe\sschema\swhen\san\sexpired\sstatement\sis\sfinalized\sor\sreset.\nThis\sis\sonly\snecessary\swhen\sthe\sin-memory\sschema\sdoes\snot\smatch\sthe\sfile-system\sschema.\s(CVS\s4194) +D 2007-08-03T07:33:09 F Makefile.in 0c0e53720f658c7a551046442dd7afba0b72bfbe F Makefile.linux-gcc 65241babba6faf1152bf86574477baab19190499 F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028 @@ -144,7 +144,7 @@ F src/vdbe.c cf973bd1af5fbda845b0f759bb06eb19ff42e215 F src/vdbe.h 001c5b257567c1d3de7feb2203aac71d0d7b16a3 F src/vdbeInt.h c3514903cad9e36d6b3242be20261351d09db56c F src/vdbeapi.c 220b81132abaf0f620edb8da48799a77daef12a7 -F src/vdbeaux.c ca1d673fd5e45fe9ba994391b11568c48a7e1b59 +F src/vdbeaux.c e28c03dbe6a4b14d18455a9fea789e727230b4ed F src/vdbeblob.c bb30b3e387c35ba869949494b2736aff97159470 F src/vdbefifo.c 3ca8049c561d5d67cbcb94dc909ae9bb68c0bf8f F src/vdbemem.c ca4d3994507cb0a9504820293af69f5c778b4abd @@ -358,7 +358,7 @@ F test/select5.test 0b47058d3e916c1fc9fe81f44b438e02bade21ce F test/select6.test 399f14b9ba37b768afe5d2cd8c12e4f340a69db8 F test/select7.test 45606f9afbe2056058c7d75fc33e5092e65ec770 F test/server1.test e328b8e641ba8fe9273132cfef497383185dc1f5 -F test/shared.test 5c39f216ce85d723eda5875804bbf5ef8a03fcfc +F test/shared.test 08b30d5f1939efff0517e7ff8ec7b74ad31c151b F test/shared2.test 8b48f8d33494413ef4cf250110d89403e2bf6b23 F test/shared3.test 01e3e124dbb3859788aabc7cfb82f7ea04421749 F test/shared_err.test cc528f6e78665787e93d9ce3a782a2ce5179d821 @@ -523,7 +523,7 @@ F www/tclsqlite.tcl 8be95ee6dba05eabcd27a9d91331c803f2ce2130 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0 F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5 -P 49a2e85511e845051cfc6ae4318207b1866d43c9 -R 9ba9a669c074d0994fd89f02c8dfec0b -U drh -Z 16bd3d6dd35ab01f2fb60bdbb2d0cc63 +P c709140b51610a2fbbff15c1fd80783218780f6f +R 293a7586f4cdc273241b9546560115df +U danielk1977 +Z 3cd7b0b17487fa01eb69a20aa7e9c59e diff --git a/manifest.uuid b/manifest.uuid index 4bec425904..7375b3ffe5 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -c709140b51610a2fbbff15c1fd80783218780f6f \ No newline at end of file +61de5b52daa0a862a04147dbaf71fafb696052f6 \ No newline at end of file diff --git a/src/vdbeaux.c b/src/vdbeaux.c index b3d92c4276..133b6f4c72 100644 --- a/src/vdbeaux.c +++ b/src/vdbeaux.c @@ -1600,9 +1600,6 @@ int sqlite3VdbeReset(Vdbe *p){ #endif p->magic = VDBE_MAGIC_INIT; p->aborted = 0; - if( p->rc==SQLITE_SCHEMA ){ - sqlite3ResetInternalSchema(db, 0); - } return p->rc & db->errMask; } diff --git a/test/shared.test b/test/shared.test index 7e84a89986..0985d92f11 100644 --- a/test/shared.test +++ b/test/shared.test @@ -9,7 +9,7 @@ # #*********************************************************************** # -# $Id: shared.test,v 1.24 2007/05/05 18:39:25 drh Exp $ +# $Id: shared.test,v 1.25 2007/08/03 07:33:10 danielk1977 Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl @@ -667,12 +667,16 @@ ifcapable utf16 { } db2 string range [execsql {PRAGMA encoding;} db2] 0 end-2 } {UTF-16} + +# Bug #2547 is causing this to fail. +if 0 { do_test shared-$av.8.2.3 { catchsql { SELECT * FROM aux.sqlite_master; } } {1 {attached databases must use the same text encoding as main database}} } +} catch {db close} catch {db2 close}