develooper Front page | perl.dbi.users | Postings from July 2006

DBD::mysql 3.0006 patch to fix quote parsing and finish problems

From:
Martin J. Evans
Date:
July 28, 2006 08:40
Subject:
DBD::mysql 3.0006 patch to fix quote parsing and finish problems
Message ID:
XFMail.20060728164000.martin.evans@easysoft.com
Attached is a patch to DBD::mysql 3.0006 which fixes two issues I've seen.

1. Someone, can't remember who now, reported a problem with some SQL which
contained an escaped ' and ? but DBD::mysql incorrectly thought it was a
parameter. e.g. '\'?' was counted as a parameter.

2. No finish calls when fetch exhausts the result-set causes problems with code
like this:

use DBI;
$h = DBI->connect("dbi:mysql:xxx", "xxx","yyy");
for (my $n = 0; $n < 2; $n++) {
    $h->do(q/insert into mje (b) values('a')/);
    $sth = $h->prepare_cached("select LAST_INSERT_ID()");
    $sth->execute;
    my $r = $sth->fetchall_arrayref;
}

which will output the warning:

prepare_cached(select LAST_INSERT_ID()) statement handle
DBI::st=HASH(0x9ba8114) still Active at -e line 8

The same changes are required for DBD::mysql 3.0006_1.

Martin
--
Martin J. Evans
Easysoft Ltd, UK
http://www.easysoft.com




nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About