I've collected a little more information about this problem.  

At the low level sqlite3_step is going through "pagerSharedLock"
and ultimately to unixOpen, which is returning unix errno=2
for the journal file.

-- presumably at this point, the journal file is known to exist, 
so error 2 ought to be impossible.

(I'm a little curious about the logic in unixOpen, which if a
read/write open fails, tries a readonly open instead.  I'm unsure
how this is supposed to be acceptable.  In any case, it's what's
going on here - a readwrite open returns 2, so it tries a readonly
open which also returns 2.)

The other data point is that I'm sure something has changed in OSX
as of 10.4.  We used to test for the existence of the main database
by opening it for reading, before asking sqlite to open it.  This stopped
working when the database was already open by a different user.
so we switched to using an indirect test for the existance of the database.

-- In other words, maybe this is all a "screwed by apple" issue.  I haven't
seen any indication what apple actually changed that broke the open test.

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

Reply via email to