On Thu, 13 Jun 2013 21:27:33 -0400
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.

Well, forever is a long time.  But at the very least I would hope we
can count on the number of columns being constant thoughout the life of
the transaction.  

SELECT is atomic.  Once executed (not merely prepared, but executed) it
must return consistent results until the last row is fetched or the
operation is otherwise completed.  

It's not that the schema changes are "ignored", exactly, but
"managed".  The DBMS is isolating the process from changes made by other
processes.   Well done, and may it be ever thus.  

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

Reply via email to