Bug #37331 DBD::mysqlPP hangs on execution
Submitted: 11 Jun 2008 8:29 Modified: 20 Feb 2013 22:10
Reporter: Radoslaw Hofman Email Updates:
Status: Unsupported Impact on me:
None 
Category:Connectors: DBD::mysql ( Perl ) Severity:S2 (Serious)
Version: OS:Any
Assigned to: CPU Architecture:Any

[11 Jun 2008 8:29] Radoslaw Hofman
Description:
I was trying to use variuos versions of DBD::mysqlPP on x86 and x64 architectures for perl 5.8 and 5.10 on MS XP x86 and MS Vista x64. Connection goes correct (reports insuffuicient privileges if they are revoked and passes if privileges are granted; it reports SQL errors, missing tables/fields etc.). Then on "execution" it hangs.

MySQL server is 5.1 configured as non-transactional (MyISAM).

How to repeat:
Install Perl 5.8 + DBD::mysqlPP from ActiveState, configure MySQL 5.1 instance as MyISAM.

create table:

use test;
create table testing (field smallint not null);
insert into testing values (1);

ther run script:

testdb.pl

use strict;
use DBI;

my $dsn = "dbi:mysqlPP:database=test;host=localhost;port=3306";

my $dbh = DBI->connect($dsn, 'hd', 'hd');

my $drh = DBI->install_driver("mysqlPP");

my $sth = $dbh->prepare("SELECT count(*) FROM testing");
print "Just before hang\n";
$sth->execute;
print "Just after hang\n";

my $numRows = $sth->rows;
my $numFields = $sth->{'NUM_OF_FIELDS'};
$sth->finish;

print "$numRows $numFields\n";

Suggested fix:
No idea...
[11 Jun 2008 8:32] Radoslaw Hofman
Test user in the script is hd with password hd.
[31 Jul 2008 5:36] Eric Martin
I just ran into this issue tonight as well. If my table engine is set to myisam, the connection hangs as mentioned below. However, if I set the engine to innodb, it connects fine, without any problems.

I'm using the following mysqlPP driver:
http://search.cpan.org/~oyama/DBD-mysqlPP-0.04/mysqlPP.pm

OS: Vista
Perl: activestate v5.8.8
MySql: Ver 14.12 Distrib 5.0.45, for Win32 (ia32)

I'll contact the perl module owner as well...see if they know about this.
[23 Sep 2008 14:48] Charlie Bird
Ran into this too - Any news??
execute() just hangs with no errors.
I can see the connection in Administrator and it is sleeping - no query executing at all.

ActivePerl 5.10.0
mySqlPP downloaded from ActiveState
Windows Server 2005 64-bit
MySQL 5.0.45

Not executing queries seams a pretty serious bug to me.
[30 Sep 2008 15:57] Jim Winstead
MySQL/Sun doesn't maintain DBD::mysqlPP. It would be best to report the bug in the CPAN bug tracker: http://rt.cpan.org/Public/Dist/Display.html?Name=DBD-mysqlPP
[28 Mar 2010 18:48] Albert Rosenfield
You can use DBD::Wire10 instead of DBD::mysqlPP.

DBD::Wire10 is another PurePerl driver for MySQL, which does not have this bug.

(DBD::mysqlPP is unmaintained and has a number of outstanding fatal bugs, see the CPAN RT tracker for Net::MySQL and DBD::mysqlPP for details.)
[20 Feb 2013 22:10] Sveta Smirnova
We don't support this product.

Please report bug at CPAN.