Включение или выключение кэша общего использования
int sqlite3_enable_shared_cache(int);
Данная процедура включает или выключает совместное использование кэша базы данных и структур данных схемы между соединениями с той же базой данных. Совместное использование включено, если аргумент имеет значение true, и выключено, если аргумент имеет значение false.
Этот интерфейс опущен, если SQLite скомпилирован с -DSQLITE_OMIT_SHARED_CACHE. Рекомендуется использовать опцию компиляции -DSQLITE_OMIT_SHARED_CACHE, поскольку использование режима кэша общего использования не рекомендуется.
Режим совместного использования кэша включается и выключается для всего процесса. Это изменение, начиная с SQLite версии 3.5.0 (2007-09-04). В предыдущих версиях SQLite совместное использование включалось или выключалось для каждого потока отдельно.
Режим совместного использования кэша, установленный этим интерфейсом, влияет на все последующие вызовы sqlite3_open(), sqlite3_open_v2() и sqlite3_open16(). Существующие соединения с базой данных продолжают использовать режим совместного использования, который действовал в момент их открытия.
Эта процедура возвращает SQLITE_OK, если кэш общего использования был успешно включен или выключен. В противном случае возвращается код ошибки.
Кэш общего использования по умолчанию выключен. Рекомендуется, чтобы он оставался в таком состоянии. Другими словами, не используйте эту процедуру. Этот интерфейс сохраняется для обеспечения обратной совместимости, но его использование не рекомендуется. Любое использование кэша общего использования не рекомендуется. Если кэш общего использования необходимо использовать, рекомендуется включить кэш общего использования только для отдельных соединений с базой данных с помощью интерфейса sqlite3_open_v2() со флагом SQLITE_OPEN_SHAREDCACHE.
Примечание: Этот метод отключён в MacOS X 10.7 и iOS версии 5.0 и всегда будет возвращать SQLITE_MISUSE. В этих системах режим кэша общего использования следует включать для каждого соединения с базой данных через sqlite3_open_v2() с SQLITE_OPEN_SHAREDCACHE.
Этот интерфейс потокобезопасен на процессорах, где запись 32-битного целого числа является атомарной.
См. также: Режим кэша общего использования SQLite
См. также списки объектов, констант и функций.
SQLite is in the Public Domain.
https://sqlite.org/c3ref/enable_shared_cache.html