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?

Unconditionally invalidating the cache after each initial call to step
will add a bit of overhead when repopulating the values. If I could do
a simple if (sqlite3_expired(stmt)) {...} check instead, that would be
better.
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to