Est-ce que Parrot a une interface de base de données ou une API?
Question
Une recherche rapide m'a révélé cette annonce de Parrot DBDI depuis janvier 2004 et une liste de diffusion dbdi-dev qui semble être mort depuis longtemps. Est-ce que Parrot DBDI est encore en développement? Quelqu'un travaille-t-il sur une API ou une interface de base de données différente pour Parrot?
La solution
DBDI visait à créer une interface de pilote de base de données similaire aux modules DBI et DBD actuels. Il est mort et les développeurs utilisent désormais une interface existante: le JDBI Java. Deux de ces développeurs sont Tim Bunce (qui a travaillé sur DBI 1, mais n’a pas eu beaucoup de temps pour la suite) et 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();
Ce module devrait être disponible pour toutes les langues de Parrot, pas seulement pour Perl 6.
En fait, pour Perl 6, nous verrons probablement un opérateur de devis SQL afin que vous puissiez faire des choses comme celle-ci:
$conn.prepareStatement( Q:sql<INSERT INTO foo (bar, baz) VALUES($bar, $baz)> );
Et bien sûr, dans Perl 6, les modificateurs de citation tels que Q: sql peuvent être abrégés, par exemple. à qs < > ou sql < >
Autres conseils
Extrait du manuel DBI :: Roadmap 1.607 , daté du Novembre 2004:
Le gros du travail sera traduire les bases DBI C et Perl code de classe dans Parrot PIR, ou un langage approprié qui génère PIR. Le projet est bloqué, car Parrot n’a pas avoir des fonctionnalités clés à l'époque. Cela a été résolu, mais le projet n'a pas encore redémarré.
Cette post à partir de Darren Duncan en mai 2005:
Je crois que ça va redémarrer très bientôt maintenant. Voir, un nombre de la principale les prérequis manquants arrivent maintenant en ligne, et donc avec ceux en place, nous peut commencer à travailler.
Je ne trouve rien de plus récent que cela. Parrot lui-même est un peu glacial dans ses progrès, donc peut-être que pour rester compatible avec la plate-forme Parrot, DBDI l’est aussi. : -)