¿Parrot tiene una interfaz de base de datos o API?
Pregunta
Una búsqueda rápida me dio este anuncio de Parrot DBDI de enero de 2004 y una lista de correo dbdi-dev que parece estar muerto hace mucho tiempo. ¿Se sigue desarrollando Parrot DBDI? ¿Alguien está trabajando en una API o interfaz de base de datos diferente para Parrot?
Solución
DBDI fue un esfuerzo para crear una interfaz de controlador de base de datos como los módulos DBI y DBD actuales. Murió, por lo que los desarrolladores ahora están utilizando una interfaz existente en su lugar, el Java JDBI. Dos de estos desarrolladores son Tim Bunce (que trabajó en DBI 1, pero no ha tenido mucho tiempo para trabajar en su secuela) y 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();
Este módulo debe estar disponible para todos los idiomas de Parrot, no solo para Perl 6.
En realidad, para Perl 6 probablemente veremos un operador de cotización SQL para que pueda hacer cosas como esta:
$conn.prepareStatement( Q:sql<INSERT INTO foo (bar, baz) VALUES($bar, $baz)> );
Y, por supuesto, en Perl 6 los modificadores de comillas como Q: sql se pueden abreviar, p. a qs < > o sql < >
Otros consejos
Del DBI :: Roadmap 1.607 , fechado Noviembre de 2004:
La mayor parte del trabajo será traducción de la base DBI C y Perl código de clase en Parrot PIR, o un lenguaje adecuado que genera PIR. El proyecto se estancó debido a que Parrot no teniendo funcionalidad clave en el momento. Eso ha sido resuelto pero el proyecto aún no se ha reiniciado.
Esta publicación de Darren Duncan en mayo de 2005:
Creo que comenzará de nuevo muy pronto ahora Mira, algunos de los principales los requisitos previos que faltan ahora están llegando en línea, y así con los que estamos en su lugar, puede comenzar a trabajar.
No puedo encontrar nada más reciente que eso. Parrot en sí es un poco glacial en su progreso, por lo que quizás para seguir siendo compatible con la plataforma Parrot, DBDI también lo es. :-)