У Parrot есть интерфейс базы данных или API? - PullRequest
0 голосов
/ 22 ноября 2008

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

Ответы [ 2 ]

1 голос
/ 10 марта 2009

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 <>

1 голос
/ 22 ноября 2008

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

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

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

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

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

...