C API を使用して名前付き SQLite3:memory:
データベースを接続することは可能ですか? もちろんありますがsqlite3_open
、クエリで使用する名前を設定するにはどうすればよいですか? また、ステートメントを実行してアタッチすることもできATTACH DATABASE
ますが、DB ポインターを取得するにはどうすればよいでしょうか。
バックグラウンド:
仮想テーブルを使用して、一連の外部ファイルへの SQLite インターフェイスを駆動しています。私は主にSQLiteを使用して、適切なSQLクエリとPythonなどの既存のドライバーにアクセスしています。open_myfiles
特定のディレクトリ内のファイルに基づいて、現在すべての仮想テーブルを作成する関数を定義しました。アプリケーションが実行するだけSELECT open_myfiles('/path/to/tables')
で、データベースには正しい仮想テーブルが取り込まれます。
しかし、私は改善を試みています。現在、仮想テーブルは現在のデータベースに永続化されており、複数のディレクトリをロードすることは困難です。:memory:
より良いアプローチは、各ディレクトリを個別の名前付きデータベースとしてアタッチすることだと思い ます。