On Fri, 1 Jul 2005, Tim Bunce wrote:
> Once upon a time I said:
>
>
> http://groups-beta.google.com/group/perl.dbi.users/msg/caf189d7b404a003?dmode=source&hl=en
>
Minor note: these URLs are too long to easily copy and paste. Maybe
use a URL shortening sevrice like tinyurl.com.
> I've not drawn any money from it yet and doubt that I will myself.
> (I'm considering suggesting that the Perl Foundation make payments
> from the fund to people making specific contributions to the DBI.
> I'm thinking especially of work on a comprehensive test harness.
> But I'll see how the developments below pan out before making
> specific arrangements.)
How much development will $500 buy? It seems like the funding drive
was a failure. Maybe skip talking about it or move it to a separate
email? (Yes, I'm treating this like marketting.)
> Which sums up fairly well where I'm at: DBI v1 will rumble on for Perl 5
> and DBI v2 will be implemented for Perl 6.
My first reaction to this was not good, mostly because I expect Perl 6
to take a long time to reach a state when I can use it for real work.
However, on further consideration I think this is a reasonable
approach. Perl 5 doesn't need a DBI 2 - DBI 1 is working great!
Since Perl 6 will need a new DBI then it might as well be a better
one.
> So, if you have an interest in the DBI and Perl 6, put your thinking
> cap on, kick back and dream a little dream of how the DBI could be.
> How to make best use of the new features in Perl 6 to make life easier.
>
> Then jot down the details and email them to me.
Well, since you asked, my list:
- Asynchronous queries (coroutines? threads?)
- High-level support for cursors
- Ditch magic tied attributes and route all access through method
calls. This would make sub-classing (and programming) DBI easier,
in my opinion.
- Default RaiseError to 1 (pretty minor but I see a lot of pain
related to missed errors)
- Integrated transactions and Perl 6 try/catch semantics? It seems
like they're often used to address the same problem but I'm not
sure what the right integration is.
-sam