On Sat, Oct 2, 2010 at 4:35 AM, Dave Dyer <ddyer-sql...@real-me.net> wrote:

>
> Ok, I'll settle for a list of the errors that can be returned by
> the standard codebase, and particularly what SQLITE_CANTOPEN means
> when the database clearly was already open.
>
> Also, this is coming from a SELECT query, so there should be no
> question of opening a transaction file.
>
>
If the previous process to access the database was in the middle of a write
but crashed before the write could complete, then your "read-only" process
will still need to write to the database in order to clean up the mess left
behind by the prior process before it can start its query.  So perhaps your
"read-only" process is unable to open the rollback journal.

Another possibility is that your SELECT needs to create some transient
intermediate tables to store intermediate results.  Such tables are normally
created in /var/tmp (or wherever else it is appropriate to create temporary
files on your system) and then deleted at the end of the SELECT.   If you
are out of space on /var/tmp or if you do not have write permission on
/var/tmp, you could get an SQLITE_CANTOPEN error.



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



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

Reply via email to