是否可以使用C API附加一個指定的SQLite3 :memory:
數據庫?當然有sqlite3_open
,但是如何設置要在查詢中使用的名稱?另外,我可以通過執行ATTACH DATABASE
語句來附加它,但是如何獲取它的數據庫指針呢?從C API添加一個指定的內存數據庫
背景:
我使用虛擬表驅動的SQLite接口,一組外部文件。我使用SQLite主要是爲了獲得體面的SQL查詢和現有的驅動程序,例如蟒蛇。我已經定義了一個函數open_myfiles
,它目前基於給定目錄中的文件創建所有虛擬表。應用程序只需執行SELECT open_myfiles('/path/to/tables')
,並在數據庫中填入正確的虛擬表。
但是,我正在嘗試改進。目前,虛擬表被持久化到當前數據庫,並且很難加載多個目錄。我認爲更好的方法是將每個目錄作爲單獨的名爲:memory:
的數據庫。