Имя папки, содержащей файлы базы данных
SQLITE_EXTERN char *sqlite3_data_directory;
Если этой глобальной переменной присвоить имя папки (то есть каталога), то все файлы базы данных, указанные с относительным путём и созданные или открытые SQLite при использовании встроенной VFS Windows, будут считаться относительными к этой папке. Если эта переменная является указателем NULL, то SQLite предполагает, что все файлы базы данных, указанные с относительным путём, относительны к текущей папке процесса. Только VFS Windows использует эту глобальную переменную; она игнорируется VFS Unix.
Изменение значения этой переменной во время открытого соединения с базой данных может привести к повреждению базы данных.
Небезопасно читать или изменять эту переменную более чем в одной потоке одновременно. Небезопасно читать или изменять эту переменную, если подключение к базе данных соединение с базой данных используется одновременно в другом потоке. Предполагается, что эта переменная устанавливается один раз в процессе инициализации и до вызова каких-либо функций интерфейса SQLite, а затем остаётся неизменной.
Pragma data_store_directory может изменить эту переменную и заставить её указывать на память, полученную из sqlite3_malloc. Кроме того, pragma data_store_directory всегда предполагает, что любая строка, на которую указывает эта переменная, находится в памяти, полученной из sqlite3_malloc, и pragma может попытаться освободить эту память с помощью sqlite3_free. Следовательно, если эта переменная изменяется напрямую, то либо она должна быть установлена в NULL, либо должна указывать на память, полученную из sqlite3_malloc, иначе следует избегать использования pragmas data_store_directory.
См. также списки объектов, констант и функций.
SQLite is in the Public Domain.
https://sqlite.org/c3ref/data_directory.html