On Fri 09 Jul 2004 14:10, Tim Bunce <[EMAIL PROTECTED]> wrote: > On Fri, Jul 09, 2004 at 01:09:29PM +0200, Jochen Wiedmann wrote: > > Tim Bunce wrote: > > > > >And it wasn't easy. Withdrawing support for 5.6 anytime soon would > > >be _much_ harder. Coupling that with a major change in the DBI that > > >may require some application code changes (however small and rare) > > >just makes the hurdle higher and create more reasons to stay with 5.6 > > >and DBI v1. > > > > > >Having said that, I've no problem declaring that 5.8 is the recommended > > >version and that support for 5.6 will be withdrawn "at some point". > > > > I do not get your point Tim. IMO the whole point for v2 would be that > > > > - A true rewrite should be possible, whereever desired. > > - It is possible for the maintainers to get rid of some stuff. (You > > know better than I, what would be worth getting rid of and I know > > a lot.) > > - Whoever wants to use the new version is welcome and > > - Whoever doesn't want, is fine. > > > > I accept, that the DBI is an important application. But your points are, > > IMO, an indicator, that v1 should receive further maintenance, perhaps by > > someone else. > > As I've said previously, DBI v2.0 is mainly about changes to the DBI<->DBD > interface. > > Here's the list of changes that may break _applications_: > > Redefine tables() to default to tables accessible from current > schema without further qualification.
Why not create a new method call, as you (IMHO) should have done in 1.38 The change of behaviour in the tables () method is a straightforward nightmare for me. Adding those quotations broke about all my applications. I have added my own tables method in the wrapper I always use, where I just remove all the quotes again, so the change is now rather small. You said it should have been done much earlier, but I still disagree in that this approach was very wrong. > Turning AutoCommit on should trigger rollback not commit. > (ODBC does a commit) This will break code that assumes a commit. > > Always taint check the $sql for do() and prepare() > if perl is in taint mode (can't be disabled). These two lines belong together, right? Like in if ($perl_is_in_taint_mode) { check_taint ($sql) if $method in qw( do prepare ); } > Default TaintIn=>1 in perl taint mode? > Default TaintOut=>1 in perl taint mode but exclude placeholders? > > plus these odds-n-ends that are much lower risk: > > Remove support for "old-style" connect syntax > (where the driver name is the 4th parameter). > > Change undocumented DBI->err and DBI->errstr methods to warn. > > Remove old informix fudge in tables() (would only impact people > using very old DBD::Informix versions as it now has it's own). > > That's a very small list and, although it's early days, I hope to > keep it that way. > > From the users point of view upgrading to DBI v2 should be relatively > painless. Driver maintainers will have a little more work to do, > but I'll aim to make that as painless as possible as well. > (Start by using the new dbivport.h and the macros it contains > as that'll be a key mechanism for migration.) > > I'm _suggesting_ that it's also an opportunity for driver maintainers > to "get rid of some stuff" but it's up to them how far they want to > take that. -- H.Merijn Brand Amsterdam Perl Mongers (http://amsterdam.pm.org/) using perl-5.6.1, 5.8.0 & 633 on HP-UX 10.20 & 11.00, AIX 4.2, AIX 4.3, WinNT 4, Win2K pro & WinCE 2.11 often with Tk800.024 &/| DBD-Unify ftp://ftp.funet.fi/pub/languages/perl/CPAN/authors/id/H/HM/HMBRAND/