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

Reply via email to