У Parrot есть интерфейс базы данных или API?

Быстрый поиск дал мне это объявление о Parrot DBDI с января 2004 года и список рассылки dbdi-dev, который, похоже, давно умер. Parrot DBDI все еще разрабатывается? Кто-нибудь работает над другим API базы данных или интерфейсом для Parrot?

2 ответа

Решение

DBDI был попыткой создать интерфейс драйвера базы данных, подобный текущим модулям DBI и DBD. Он умер, поэтому разработчики теперь используют вместо него существующий интерфейс - Java JDBI. Два таких разработчика - Тим Банс (который работал над DBI 1, но у него не было много времени для его продолжения) и Саймон Козенс:

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();

Этот модуль должен быть доступен для всех языков Parrot, а не только для Perl 6.


На самом деле для Perl 6 мы, вероятно, увидим оператор SQL-кавычек, так что вы можете делать такие вещи:

$conn.prepareStatement( Q:sql<INSERT INTO foo (bar, baz) VALUES($bar, $baz)> );

И, конечно же, в Perl 6 модификаторы кавычек, такие как Q:sql, могут быть сокращены, например, до qs<> или sql<>

Из руководства DBI::Roadmap 1.607 от ноября 2004 года:

Основная часть работы будет заключаться в переводе кода базового класса DBI C и Perl в Parrot PIR или на подходящий язык, генерирующий PIR. Проект остановился из-за того, что у Parrot не было ключевых функций в то время. Это было решено, но проект еще не возобновлен.

Этот пост от Даррена Дункана в мае 2005 года:

Я верю, что это начнется снова очень скоро сейчас. Видите ли, ряд основных отсутствующих предпосылок теперь поступает в сеть, и поэтому, когда они есть, мы можем начать работу.

Я не могу найти ничего более нового, чем это. Сам Parrot своего рода ледниковый в своем прогрессе, поэтому, возможно, чтобы остаться совместимым с платформой Parrot, DBDI тоже.:-)

Другие вопросы по тегам