Bug in DBD::DBM
am 08.11.2005 15:58:14 von slemmenTim,
I originally wrote this mail to Jeff Zucker but didn't receive a reply
so I thought I might as well send it to you as well - it isn't entirely
clear to me exactly who is the maintainer of this package. Thanks for
reading.
-----------------
Sorry if this is the wrong approach to this (possible) bug but I wasn't
sure how to go about this.
I just started to play with the DBI package under Windows XP using
ActiveState's Perl build (details below) and tried to run the sample
script under the "QUICK START" heading in the docs but ran into the
following error:
D:\Dev\Perl\bin>perl test_dbm.pl
DBD::DBM::st execute failed: Can't coerce array into hash at
C:/Perl/site/lib/SQL/Statement.pm line 1544.
[for Statement "DELETE FROM user WHERE user_name = 'Junk'"] at
test_dbm.pl line 10.
DBD::DBM::st execute failed: Can't coerce array into hash at
C:/Perl/site/lib/SQL/Statement.pm line 1544.
[for Statement "DELETE FROM user WHERE user_name = 'Junk'"] at
test_dbm.pl line 10.
I traced the issue back to the following line from the DBD::DBM package:
Line 467: $self->verify_columns($eval, $all_cols);
It appears that the "$data" argument has been left out of this line.
When I change it to:
$self->verify_columns($data, $eval, $all_cols);
the test script works just fine with the output:
D:\Dev\Perl\bin>perl test_dbm.pl
'Fred Bloggs', '233-7777'
'Sanjay Patel', '999-4444'
2 rows
Here's my OS etc. info:
Windows XP ver. 5.1 Build 2600.xpsp_sp2_gdr.050301-1519 : Service Pack 2
ActiveState Perl ver. v5.8.6 built for MSWin32-x86-multi-thread (build 811)
DBD::DBM ver. '0.02';
-Stuart Lemmen