Parrot ha un'interfaccia di database o API?
Domanda
Una rapida ricerca mi ha dato questo annuncio di Parrot DBDI da gennaio 2004 e una dbdi-dev mailing list che sembra essere morto da tempo. Parrot DBDI è ancora in fase di sviluppo? Qualcuno sta lavorando su un'API o un'interfaccia di database diversa per Parrot?
Soluzione
DBDI è stato uno sforzo per creare un'interfaccia del driver di database come gli attuali moduli DBI e DBD. È morto, quindi gli sviluppatori ora utilizzano un'interfaccia esistente: Java JDBI. Due di questi sviluppatori sono Tim Bunce (che ha lavorato su DBI 1, ma non ha avuto molto tempo per lavorare sul suo sequel) e 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();
Questo modulo dovrebbe essere disponibile per tutte le lingue Parrot, non solo Perl 6.
In realtà per Perl 6 probabilmente vedremo un operatore di quotazioni SQL in modo da poter fare cose del genere:
$conn.prepareStatement( Q:sql<INSERT INTO foo (bar, baz) VALUES($bar, $baz)> );
E ovviamente in Perl 6 modificatori di quote come Q: sql possono essere abbreviati, ad es. a qs < > oppure sql < >
Altri suggerimenti
Dal DBI :: Roadmap 1.607 , datato Nov 2004:
La maggior parte del lavoro sarà traduzione della base DBI C e Perl codice di classe in Parrot PIR o a linguaggio adatto che genera PIR. Il progetto si è bloccato, a causa di Parrot no con funzionalità chiave al momento. Ciò è stato risolto ma il progetto non è ancora stato riavviato.
Questo post di Darren Duncan nel maggio 2005:
Credo che ricomincerà molto presto adesso. Vedi, un numero dei principali i prerequisiti mancanti stanno arrivando online, e quindi con quelli in atto noi può iniziare a lavorare.
Non riesco a trovare nulla di più recente di quello. Parrot stesso è una specie di glaciale nei suoi progressi, quindi forse per rimanere compatibile con la piattaforma Parrot, lo è anche DBDI. : -)