On Mon, Feb 16, 2004 at 02:25:18PM -0800, Dean Arnold wrote:
> I've managed to answer at least 1 of my own questions:
> 
> > Questions:
> > 1. I have retained the internal err(), errstr(), and state()
> > methods in the DBD::XXX::db and DBD::XXX::st packages;
> > should these be removed ? Are they being called by the DBI
> > layer and possibly causing the issue ?
> 
> Answer is yes, remove them, (or at least alter them
> to invoke the SUPER:: ?)

Remove them (unless you think there's a very good reason not to,
in which case we can talk about it).

> > 2. Does the DBD still need to provide the Err, Errstr, and State
> > attributes to the driver attribute hash ?

No, they should also be removed.

> > 3. In reviewing the docs, in DBI.pm, set_err() is described
> > as a handle method ie, $h->set_err(). But in the DBD.pm,
> > the examples use $h->DBI::set_err(). Which is correct ?
> 
> Both seemed to work, at least as far as setting the values...

Both work. Using $h->DBI::set_err() bypasses DBI method dispatch
(and would bypass any driver subclass - but we don't do driver
subclassing yet anyway).  $h->set_err() is recommended.

You've reminded me to fix all those in the DBI distribution,
which I've just done. Thanks.

> After resolving item (1) above, things now behave as expected,

It's nice when problems are resolved by removing code :)

Tim.

Reply via email to