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