guile-dbi は、Postgres、MySQL、SQLite3 などの SQL データベースに、シンプルで汎用的な使いやすいguile スキームインターフェイスを提供します。
このシステムは、同じプログラミング インターフェイス (フロント エンド) を異なるデータベースで使用できるという意味で「汎用」です。 DBI (データベース非依存) 部分は、スキーム インターフェイスを提供します。 DBD (データベース依存) プラグインは、実際の SQL サーバーに接続します。現在、Postgres、MySQL、SQLite3 用の DBD バックエンドがあります。追加の DBD バックエンドを作成するには、少量の C コーディングが必要ですが、簡単な作業です。
Guile-dbi はシンプルですが、それは祝福でもあり呪いでもあります。ほとんどの場合、SQL ステートメントをエンコードするガイル文字列を受け入れ、それらをデータベースに転送し、行をスキーム関連リストとして返すだけです。最小限の変換が実行されます。たとえば、SQL 浮動小数点列がスキーム浮動小数点数に変換されます。ただし、これより複雑なものはありません。日付や通貨などに対する特別な処理はありません。現時点では、準備されたステートメントのサポート。有能なプログラマは、この機能やその他の不足している機能のサポートを追加するよう求められます。
賢い人は、C コードを汎用の FFI インターフェイスに置き換えて、C コードがまったく必要なくなる方法を考え出すかもしれません。ただし、それにはさらに多くの作業が必要であり、ここでのコードは問題なく動作するため、今のところは問題ないようです。
guile-dbi のユーザーマニュアルとリファレンスはここにあります。
廃止された古い Web サイトのコピーはここにあります。
guile-dbi に関するすべての議論は、[email protected] に宛ててください。
バグは guile-dbi github サイトに報告してください。
現在、ソース コードは 4 つの異なるプロジェクトに編成されています。DBI のデータベースに依存しないメイン コードと、3 つの異なる DBD ドライバーです。それぞれを独立して構築する必要があります。次のようなことを行う必要があります。
apt-get install autoconf automake texinfo
あるいは多分
yum install autoconf automake texinfo
それから:
cd guile-dbi
./autogen.sh --no-configure
オプションで:
ACLOCAL_PATH=/usr/local/share/aclocal/ ./autogen.sh --no-configure
それから
mkdir build
cd build
../configure
make
sudo make install
それから
cd guile-dbd-[mysql, postgresql, sqlite3]
./autogen.sh --no-configure
mkdir build
cd build
../configure
make
sudo make install
これを実行すると、ユーザーマニュアルのチュートリアルが正常に動作するはずです。
Guile-dbi は Gnu GPLv2 ライセンスに基づいて配布されます。コードと Web サイトは Maurizio Boriani (2005 ~ 2006 年) によって開発され、現在は Linas Vepstas (2008 ~ 2019 年) によって保守されています。