On Fri, May 26, 2006 at 01:33:31PM +0100, Martin J. Evans wrote:
> I think a "ParamArrays" comparison is missing from around line 1962 of DBI.xs.
That would only be needed if the ParamArrays value didn't live in the
attibute cache - but it does, so the value is fetched by the 'finally
check the actual hash' block near the end.
But ParamArrays should be listed alongside ParamValues as a known
attribute that might be missing:
--- DBI.xs (revision 6349)
+++ DBI.xs (working copy)
@@ -1981,6 +1981,7 @@
if ( !( (*key=='H' && strEQ(key, "HandleError"))
|| (*key=='H' && strEQ(key, "HandleSetErr"))
|| (*key=='S' && strEQ(key, "Statement"))
+ || (*key=='P' && strEQ(key, "ParamArrays"))
|| (*key=='P' && strEQ(key, "ParamValues"))
|| (*key=='P' && strEQ(key, "Profile"))
|| (*key=='C' && strEQ(key, "CursorName"))
Perhaps that's what was causing problems for you.
> and the pod change for ParamArrays attached (but was a patch against
> subversion a few weeks ago).
Ah, thanks. Applied. I must have misplaced he one you sent me before.
> It tests fine for me on Linux and perl 5.8.8 with one compilation warning:
>
> Perl.xs: In function `dbd_st_rows':
> Perl.xs:40: warning: unused parameter `h'
Fixed. Thanks.
> but does not work fully for my use of DBI because of the missing
> ParamArrays.
Try the above patch.
Tim.
> Martin
> --
> Martin J. Evans
> Easysoft Ltd, UK
> http://www.easysoft.com
>
>
> On 26-May-2006 Tim Bunce wrote:
> > http://www.data-plan.com/public/DBI-1.51-RC1.tar.gz
> >
> > =head2 Changes in DBI 1.51 (svn rev 6349), 26 May 2006
> >
> > Fixed $dbh->clone method 'signature' thanks to Jeffrey Klein.
> > Fixed default ping() method to return false if !$dbh->{Active}.
> > Fixed t/40profile.t to be insensitive to long double precision.
> > Fixed for perl 5.8.0's more limited weaken() function.
> > Fixed DBD::Proxy to not alter $@ in disconnect or AUTOLOADd methods.
> > Fixed bind_columns() to use return set_err(...) instead of die()
> > to report incorrect number of parameters, thanks to Ben Thul.
> > Fixed bind_col() to ignore undef as bind location, thanks to David
> > Wheeler.
> > Fixed for perl 5.9.x for non-threaded builds thanks to Nicholas Clark.
> > Users of Perl >= 5.9.x will require DBI >= 1.51.
> > Fixed fetching of rows as hash refs to preserve utf8 on field names
> > from $sth->{NAME} thanks to Alexey Gaidukov.
> > Fixed build on Win32 (dbd_postamble) thanks to David Golden.
> >
> > Improved performance for thread-enabled perls thanks to Gisle Aas.
> > Drivers can now use PERL_NO_GET_CONTEXT thanks to Gisle Aas.
> > Driver authors please read the notes in the DBI::DBD docs.
> > Changed DBI::Profile format to always include a percentage,
> > if not exiting then uses time between the first and last DBI call.
> > Changed DBI::ProfileData to be more forgiving of systems with
> > unstable clocks (where time may go backwards occasionally).
> > Clarified the 'Subclassing the DBI' docs.
> > Assorted minor changes to docs from comments on annocpan.org.
> > Changed Makefile.PL to avoid incompatible options for old gcc.
> >
> > Added 'fetch array of hash refs' example to selectall_arrayref
> > docs thanks to Tom Schindl.
> > Added reference to $DBI::neat_maxlen in TRACING section of docs.
> > Added ability for DBI::Profile Path to include attributes
> > and a summary of where the code was called from.
> >
> > =cut
> >
> > Enjoy!
> >
> > Tim.