簡単に検索すると、2004 年 1 月の Parrot DBDI の発表と、長い間死んでいるように見えるdbdi-dev メーリング リストが見つかりました。Parrot DBDI はまだ開発中ですか? Parrot 用の別のデータベース API またはインターフェースに取り組んでいる人はいますか?
2 に答える
DBDI は、現在の DBI および DBD モジュールのようなデータベース ドライバー インターフェイスを作成するための取り組みでした。それがなくなったので、開発者は代わりに既存のインターフェース、Java JDBI を使用しています。そのような開発者の 2 人は、Tim Bunce (彼は DBI 1 に取り組みましたが、その続編に取り組む時間があまりありませんでした) と Simon Cozens です:
http://perlbuzz.com/2008/12/database-access-in-perl-6-is-coming-along-nicely.html
use DBDI;
my $conn = DBDI::DriverManager.getConnection(
"dbdi:SQLite3:test.db", "", "");
my $stm = $conn.createStatement();
my $rs = $stm.executeUpdate("CREATE TABLE foo (bar, baz)");
my $stm = $conn.prepareStatement(
" INSERT INTO foo (bar, baz) VALUES (?, ?)");
$stm.setColumn(1, 123);
$stm.setColumn(2, "Thingy");
$stm.executeUpdate();
このモジュールは、Perl 6 だけでなく、すべての Parrot 言語で利用できるはずです。
実際、Perl 6 では、おそらく SQL クォート演算子が表示されるので、次のようなことができます。
$conn.prepareStatement( Q:sql<INSERT INTO foo (bar, baz) VALUES($bar, $baz)> );
そしてもちろん、Perl 6 では Q:sql のような引用修飾子は、例えば qs<> や sql<> のように省略できます。
2004 年 11 月付けのDBI::Roadmap 1.607マニュアルから:
作業の大部分は、DBI C および Perl ベース クラス コードを Parrot PIR、または PIR を生成する適切な言語に変換することです。当時、Parrot には重要な機能がなかったため、プロジェクトは行き詰まりました。それは解決されましたが、プロジェクトはまだ再開されていません。
2005 年 5 月の Darren Duncan の投稿:
すぐに再開できると信じています。欠落している主要な前提条件の多くが現在オンラインになっているので、それらが整った状態で作業を開始できます。
それより最近のものは見つかりません。Parrot 自体の進歩は氷河期にあるため、おそらく Parrot プラットフォームとの互換性を維持するために、DBDI も同様です。:-)