On Fri, Jun 14, 2013 at 12:56 PM, Maxim Khitrov <m...@mxcrypt.com> wrote: > On Thu, Jun 13, 2013 at 9:27 PM, Igor Tandetnik <i...@tandetnik.org> wrote: >> On 6/13/2013 9:15 PM, Maxim Khitrov wrote: >>> >>> This works and also triggers SQLITE_SCHEMA with v1 interface. I did a >>> few more tests and it looks like the schema changes are ignored if the >>> statement is in the middle of iteration. As you said, only the first >>> step after a prepare/reset causes the values to change. Is that a safe >>> assumption to make? >> >> >> Well, that's how it works with the current implementation. Whether it will >> work this way forever, I don't know. > > Understood, thanks! I was just looking through the SQLite source and > it looks like sqlite3_expired would give me the information that I > need, but it's marked as deprecated. Is it unsafe to use or just no > longer necessary due to automatic recompilation?
Never mind. I dug deeper into code and realized that sqlite3_expired only tells me about database changes from the same process. The statement could be invalidated after comparing the in-memory schema with what's on disk. I have no way of learning about that before the first step call and don't get any indication that recompilation happened after. _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users