int sqlite3_enable_shared_cache(int);
此例程用於啟用或停用同一資料庫的多個連線之間的資料庫快取和結構描述資料結構的共用。如果引數為 true 則啟用共用,如果引數為 false 則停用共用。
如果使用 -DSQLITE_OMIT_SHARED_CACHE 編譯 SQLite,則會省略此介面。建議使用 -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 共用快取模式