RussianLDP Рейтинг@Mail.ru
WebMoney: 
WMZ Z294115950220 
WMR R409981405661 
WME E134003968233 
Visa 
4274 3200 2453 6495 

Small. Fast. Reliable.
Choose any three.

SQLite C Interface

Название файлов базы данных

SQLITE_EXTERN char *sqlite3_data_directory;

Если эта глобальная переменная будет указывать на последовательность, которая является названием каталога), то все файлы базы данных, определенные с относительным путем и созданные или полученные SQLite, используя встроенные VFS будут расположены относительно того каталога. Если эта переменная NULL, SQLite предполагает, что все файлы базы данных определены с относительным путем, относительно текущего каталога для процесса. Только windows VFS использует эту глобальную переменную, это проигнорировано Unix VFS.

Изменение этой переменной, в то время как соединение с базой данных открыто, может привести к поврежденной базе данных.

Небезопасно читать или менять эту переменную больше, чем в одном потоке за один раз. Небезопасно читать или менять эту переменную, если соединение с базой данных используется в то же время в отдельном потоке. Считается, что эта переменная установлена однажды как часть процесса инициализации прежде, чем любой интерфейс SQLite вызван, и что эта переменная остается неизменной после этого.

Прагма data_store_directory может изменить эту переменную и заставить ее указывать на память, полученную из sqlite3_malloc. Кроме того, прагма data_store_directory всегда предполагает, что любая последовательность, на которую указывает эта переменная, проводится в памяти, полученной из sqlite3_malloc и прагма может попытаться освободить эту память, используя sqlite3_free. Следовательно, если эта переменная изменяется непосредственно, это должно быть сделано NULL или указать на память, полученную из sqlite3_malloc, иначе использования прагмы data_store_directory pragma нужно избежать.