描述
此函数启用或禁用在连接到同一数据库之间共享数据库缓存和模式数据结构。
C / C ++语法
int sqlite3_enable_shared_cache(int); |
PB语法
FUNCTION sqlite3_enable_shared_cache ( _ BYVAL bSharing AS LONG _ ) AS LONG |
参数
bSharing
[in]TRUE或FALSE。如果参数为true并且如果参数为false,则禁用共享。
返回值
如果共享缓存已成功启用或禁用,则为SQLITE_OK。否则返回错误代码。
备注
对整个进程启用和禁用缓存共享。这是SQLite版本3.5.0的更改。在以前的SQLite版本中,每个线程分别启用或禁用共享。
此接口设置的高速缓存共享模式会对sqlite3_opensqlite3_open_v2和sqlite3_open16进行所有后续调用。现有数据库连接继续使用在打开时生效的共享模式。
默认情况下,共享缓存被禁用。但这可能会在将来的SQLite版本中发生变化。关心共享缓存设置的应用程序应该明确设置。
C ++实现代码
/*
** Attempt to release up to n bytes of non-essential memory currently
** held by SQLite. An example of non-essential memory is memory used to
** cache database pages that are not currently in use.
*/
SQLITE_API int sqlite3_release_memory(int n){
#ifdef SQLITE_ENABLE_MEMORY_MANAGEMENT
return sqlite3PcacheReleaseMemory(n);
#else
/* IMPLEMENTATION-OF: R-34391-24921 The sqlite3_release_memory() function
** is a no-op returning zero if SQLite is not compiled with
** SQLITE_ENABLE_MEMORY_MANAGEMENT. */
UNUSED_PARAMETER(n);
return 0;
#endif
}