Hi,

Just want to bump this, I really need to get to the bottom of this.

Thanks for any info,
Kris.

Kris Groves wrote:
> Hi,
> From what I understand :
> - default behavior is to use files for temporary stuff.
> - the directory that will be used for these temporary files can be
> defined via pragma (temp_store_directory).  If the pragma is not used,
> it will default to the first hardcoded directory (linux), in the order
> that follows: /var/tmp, /usr/tmp, /tmp, or finally current directory.
>
> So, in the environment I am running in, either those directories do not
> exist, or are not writable to the user under which the process is
> running.  The result being an "error 14: unable to open database file"
> as soon as temporary files are needed.
>
> After a little digging I discover SQLITE_TEMP_STORE compilation flag. 
> So I export CFLAGS=-DSQLITE_TEMP_STORE=3, run configure and remake,
> figuring that the temp files will now reside in memory, and need no
> writing into a directory.  However, the problem remains.
>
> When I look through the code, there is no instance of SQLITE_TEMP_STORE,
> only TEMP_STORE... So I repeat the above with -DTEMP_STORE.  Same result.
>
> Then I add a path that I know is accessible to the user under which the
> process runs, to the azDirs array in the unixGetTempname function. 
> Voila.. working now..
>
> I've retested with default TEMP_STORE and TEMP_STORE compiled in a
> 3(memory only).  And regardless of the setting, it only works if there
> is a readable/writable directory...
>
> I would think that if TEMP_STORE=3, then no directory is required ?  Is
> this a bug, or am I misunderstanding something ?
>
> Thanks,
> Kris.
>
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>   

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

Reply via email to