Re: DBI drivers by duck-typing

Darren Duncan <[email protected]>
Newsgroups gmane.comp.lang.perl.modules.dbi.sybase.devel
Message-ID <[email protected]>
David Nicol wrote:
> Are you asking for something beyond documenting the DBI/DBD interface
> to the point where a DBD can be used more directly than through the
> DBI? Aside from requesting that everyone abandon the framework
> mentality?
> 
> Are you asking for a stronger set of conventions in DBDs that will
> make them more useful away from DBI? Are you proposing to write
> thinner glue?

Okay, actually, for the short term I propose something considerably less 
controversial, which can set the stage and ease transition for my other 
proposal, but without committing us to it.

I propose making a few additions to the DBI as it is now, such as a few routines 
to the various user-facing DBI packages, which are then documented as the new 
way to introspect certain things such as that the object or package someone is 
looking at does indeed implement the DBI protocol, and its version, etc, and 
document that stuff like users testing $dbh for their package name is deprecated 
and is not expected to continue working in the future.

Also make additions to any or all DBD as required so that one can use them 
directly if they want to, but they also continue to work the old way.  Said DBD 
would also document that direct use is the recommended way to use them, and that 
using them by way of "DBI" is deprecated.

And have documentation describing/defining the DBI's API.

Then wait a year or two, and then make further updates that cause uses of the 
deprecated APIs to warn.

Then wait a year or two, and optionally remove those, or wait longer considering 
how mature these things are.

So basically I propose making the small additions so that users can experience 
the inversion of control, but also use the DBI the old way too, and so give a 
solid transition period.

Then, at any time, one can choose to create a new DBD that just works the 
new/inverted way, and users can use that and legacy DBDs at the same time.

-- Darren Duncan
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.