Matt Young <youngsan...@gmail.com> wrote:
> I install a prepared statement, but it cannot allow the table identifiers
> to be replaced with sqlite3_bind.

Of course not. How do you expect SQLite to prepare a query execution plan 
without knowing which tables it's going to execute against?

> If the table in the statements is a view,
> then I suppode it is an error to redefine the vie?

Redefining the view counts as a schema change. See 
http://sqlite.org/c3ref/prepare.html for a description of how that affects a 
prepared statement.

> Bottom line, it is an error to change any table definition in a prepared
> statement?

If you use sqlite3_prepare[16] to prepare your statement, then yes, you'll get 
an error next time you try to use it after the change, at which point you would 
need to finalize the statement and prepare it again. If you use 
sqlite3_prepare[16]_v2, then SQLite will try to re-prepare the statement 
automatically. Of course, this may still fail if the schema changed in ways 
that make the statement invalid.
-- 
Igor Tandetnik

_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to