I'll post, if only to prove there are more than three subscribers to the list. :)
On Sat, Feb 07, 2004 at 04:18:54AM -0800, Darren Duncan wrote: > Are you saying that one should be able to write PDBI drivers entirely in > PASM or IMCC and they would actually be able to talk to the various > database products, or do PDBI drivers actually need to be written in C? The NCI should allow most libraries to be loaded and called into without wrapping with C glue; but some, depending on their quirkiness, may require a wrapper in C. > But if they are entirely PASM or IMCC, then what features does Parrot > provide that would magically talk to the native C libraries for each > database product? The underlying platform's dynamic loading mechanism. Check out docs/pdds/pdd16_native_call.pod. > 2. Is PDBI mainly meant to be a clone of the tried-and-true DBI for Perl > 5, with a virtually identical feature set aside from the fact that it is > meant to work with any language running on Parrot? Or do you truly > desire to have some serious innovation in features and design over the > "old world" framework, which would put a lot more power in the hands of > users than they ever had before? > > And don't get me wrong here, I'm not discounting that multi-language use > is a huge step forward by itself, along with the significant savings of > labour that would have been spent making a separate clone for each > language. It's just that, looking on an individual language basis, what > I have seen so far implies that users will get the same features as > before and not more or different. I'll comment that for my money merely having DBI-style functionality available for other languages is enormously worth it, I'd argue the successful design of the DBI argues against changing its core features. OTOH extensibility is a good thing, so perhaps providing easy ways to extend the DBI is the way to go. > Third off, I have been working heavily on my own new database > independence project for awhile now, ... > On the other hand, if it is not among your goals to permit applications > to use identical SQL for all database operations no matter which database > product they talk to, then I would alternately like to keep my extra > goals as a separate layer from the PDBI core, and work with you so that > the two are desiged to interact efficiently. Likewise, if you have no > plans to let applications written in compiled languages use the features > of this database library. It would seem to me that query generation is naturally a separate thing from communication. On the other hand, I think it would be a useful feature for the DBDI to provide hooks at various stages of statement handling, allowing separate small modules to provide things like query rewriting or data-dependent connection dispatch. This might very well be a current feature of the DBI; I haven't checked in in a while. -- Chair of Quantum Non-binary Accumulators Louden Nelson Memorial Tea Club of Santa Cruz