"Scott Hess" <[EMAIL PROTECTED]> wrote:
> do_test test-1.1 {
> execsql {PRAGMA encoding}
>
> sqlite3 db2 test.db
> execsql {CREATE TABLE t (id int)} db2
> db2 close
>
> #execsql {SELECT * FROM sqlite_master}
> catchsql {SELECT * FROM t}
> } {1 {no such table: t}}
>
> Looks like the schema info is obviously being cached. The first
> PRAGMA is to make sure this is happening - I originally wrote it with
> the CREATE in db and the SELECT in db2, and the behaviour didn't
> manifest unless I forced it to hit the database first.
>
Correct. The parser does not check to see if the database
schema has changed. To do so would be a noticable performance
impact and in most cases the schema does not change.
See also ticket #2486
http://www.sqlite.org/cvstrac/tktview?tn=2486
We have not plans to change any of these in the near future.
--
D. Richard Hipp <[EMAIL PROTECTED]>
-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------