2008-11-21 15 views

Répondre

1

DBDI était un effort pour créer une interface de pilote de base de données comme les modules DBI et DBD actuels. Il est mort, donc les développeurs utilisent maintenant une interface existante à la place - le Java JDBI. Deux de ces développeurs sont Tim Bunce (qui a travaillé sur DBI 1, mais n'a pas eu beaucoup de temps pour travailler sur sa 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 accessible à tous Parrot langues, non seulement Perl 6.


en fait, pour Perl 6, nous allons probablement voir un opérateur de devis SQL afin que vous puissiez faire des choses comme ceci:

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

Et bien sûr, dans Perl 6, des modificateurs de devis comme Q: sql peuvent être abrégés, par ex. à qs <> ou sql <>

1

A partir du manuel DBI::Roadmap 1.607, daté du novembre 2004:

La majeure partie des travaux sera traduire le DBI C et Perl de base code de classe dans Parrot PIR ou une langue appropriée qui génère PIR. Le projet a calé, en raison de Parrot pas ayant des fonctionnalités clés à la fois. Cela a été résolu mais le projet n'a pas encore été redémarré.

Ce post de Darren Duncan mai 2005:

je crois qu'il redémarrera très bientôt maintenant. Voir, un certain nombre de prérequis manquants sont maintenant à venir en ligne, et donc avec ceux en place, nous peut commencer à travailler.

Je ne trouve rien de plus récent que cela. Le perroquet en lui-même est plutôt glacial dans sa progression, donc peut-être pour rester compatible avec la plate-forme Parrot, DBDI l'est aussi. :-)