sqlite.h


Nombre de la carpeta que contiene los ficheros temporales

SQLITE_EXTERN char *sqlite3_temp_directory;

Si esta variable global está hecha para que apunte a una cadena con el nombre de una carpeta (o sea, un directorio), entonces todos los ficheros temporales creados por SQLite cuando use el VFS integrado se colocarán en ese directorio. Si esa variable es un puntero NULL, entonces SQLite realizará una búsqueda de un adecuado para los ficheros temporales.

No es reguro leer o modificar esta variable en en más de un hilo a la vez. Tampoco es seguro leer o modificar esta variable si una conexión de base de datos está siendo usada al mismo tiempo en hilos separados. Se pretende que esta variable sea asignada una vez como parte del proceso de inicialización y antes de que cualquier rutina SQLite sea llamada y después esta variable debe permanecer sin cambiar después.

La opción pragma temp_store_directory puede modificar esta variable y hacer que apunte a memoria optenida de sqlite3_malloc. Por otra parte, el pragma temp_store_directory siempre asume que cualquier cadena a la que apunte esta variable permanecerá en la memoria obtenida de sqlite3_malloc y el pragma puede intentar liberar esa memoria usando sqlite3_free. Por lo tanto, si esta varible se modifica directamente, o bien debe quedar a NULL o hacer que apunte a memoria obtenida de sqlite3_malloc o si no el uso del pragma temp_store_directory debe ser evitado.