On Wed, Nov 22, 2006 at 10:50:54AM +0100, Cosimo Streppone wrote:
> Steffen Goeldner wrote:
> 
> >Cosimo Streppone wrote:
> >>Hi all,
> >>
> >>I found a strange problem in DBI::type_info().
> >>I don't know much of DBI internals. Only found that "sometimes",
> >>the 'type_info_all' structure returned by the driver is
> >>mangled by some shift() that happens in DBI::type_info().
> >>
> >FTR: This was the reason for this patch:
> >
> >  <http://www.xray.mpe.mpg.de/mailing-lists/dbi/2005-02/msg00085.html>
> 
> Has this patch been already applied?

Yes, http://www.xray.mpe.mpg.de/mailing-lists/dbi/2005-02/msg00125.html

> I found this "problem" with DBI 1.48. I didn't test it with 1.53.
> Should I ?

The patch only addressed lib/DBI/DBD/Metadata.pm - driver authors would
need to rerun metadata generation, as per the release notes:

 =head2 Changes in DBI 1.48 (svn rev 928),    14th March 2005

  Fixed DBI::DBD::Metadata generation of type_info_all thanks to Steffen 
Goeldner
    (driver authors who have used it should rerun it).


> > > [...] No, bad. Probably it's better to change in DBI.pm.
> >
> >Well, safety vs. efficiency - Tim should decide.
> 
> I think changing DBI.pm is both safer and more efficient,
> because as far as I can understand, type_info_all() should be called
> only once in the DBI lifetime.
> 
> The fact that I'm seeing this problem is probably due to
> multiple opening/closing of different DBI handles (for DBD::Pg &&
> DBD::Informix together).

Yeap. I've made the change. Thanks Cosimo!

Tim.

Reply via email to