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.