This routine enables or disables the sharing of the database cache and schema data structures between connections to the same database. Sharing is enabled if the argument is true and disabled if the argument is false.
Cache sharing is enabled and disabled for an entire process. This is a change as of SQLite version 3.5.0. In prior versions of SQLite, sharing was enabled or disabled for each thread separately.
The cache sharing mode set by this interface effects all subsequent calls to sqlite3_open(), sqlite3_open_v2(), and sqlite3_open16(). Existing database connections continue use the sharing mode that was in effect at the time they were opened.
This routine returns SQLITE_OK if shared cache was enabled or disabled successfully. An error code is returned otherwise.
Shared cache is disabled by default. But this might change in future releases of SQLite. Applications that care about shared cache setting should set it explicitly.
Note: This method is disabled on MacOS X 10.7 and iOS version 5.0 and will always return SQLITE_MISUSE. On those systems, shared cache mode should be enabled per-database connection via sqlite3_open_v2() with SQLITE_OPEN_SHAREDCACHE.
This interface is threadsafe on processors where writing a 32-bit integer is atomic.
See Also: SQLite Shared-Cache Mode
See also lists of Objects, Constants, and Functions.