Быстрый поиск дал мне этот announcement of Parrot DBDI с января 2004 года и dbdi-dev mailing list, который, кажется, давно мертв. Parrot DBDI все еще разрабатывается? Кто-нибудь работает с другим API или интерфейсом базы данных для Parrot?Есть ли у Parrot интерфейс базы данных или API?
ответ
DBDI было попыткой создать интерфейс драйвера базы данных, например, существующие модули DBI и DBD. Он умер, поэтому разработчики теперь используют существующий интерфейс - Java JDBI. Два таких разработчиков Тим Банс (который работал на DBI 1, но не было много времени, чтобы работать над его продолжением) и Саймон 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();
Этот модуль должен быть доступен для всех 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 не с ключевыми функциональными возможностями в то время. Это было решено, но проект еще не перезапущен.
Это post с Дарреном Дункан в мае 2005 года:
Я считаю, что он начнет снова очень скоро в настоящее время. См., Ряд основных недостающих предварительных условий в настоящее время прибывает онлайн, и поэтому с теми, на месте мы можем начать работу.
Я не могу найти ничего более нового, чем это. Сам попугай является своего рода ледниковым в своем развитии, поэтому, возможно, чтобы он был совместим с платформой Parrot, DBDI тоже. :-)