From 6fe0a1db08c12945ccc16e3804bb9aaf93a0cc77 Mon Sep 17 00:00:00 2001 From: Michiel Beijen Date: Thu, 12 Mar 2015 21:02:03 +0100 Subject: [PATCH] reworked bit-prepare test to not insert in reverse this is the 'sane' fix as recommended in https://rt.cpan.org/Ticket/Display.html?id=102657 also added diagnostic output in t/10connect.t to show the default storage engine for easier debugging. --- ChangeLog | 4 ++++ t/10connect.t | 4 ++++ t/rt88006-bit-prepare.t | 6 +++--- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 555ce365..c68e3ae1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2015-??-?? Patrick Galbraith, Michiel Beijen, DBI/DBD community (4.032_01) +* Fixed test rt88006-bit-prepare on MyISAM storage + (Reported both in RT102657 and by Scimon on github) + 2015-03-05 Patrick Galbraith, Michiel Beijen, DBI/DBD community (4.031) * Added LICENSE * Reworked installation documentation in POD. diff --git a/t/10connect.t b/t/10connect.t index dc8d1bd0..26e5140c 100644 --- a/t/10connect.t +++ b/t/10connect.t @@ -47,6 +47,10 @@ like( like($driver_ver, qr/^04\./, 'SQL_DRIVER_VER starts with "04." (update for 5.x)'); +my $result = $dbh->selectall_arrayref('select @@storage_engine'); +my $storage_engine = $result->[0]->[0] || 'unknown'; +diag "Default storage engine is: $storage_engine"; + my $info_hashref = $dbh->{mysql_dbd_stats}; ok($dbh->disconnect(), 'Disconnected'); diff --git a/t/rt88006-bit-prepare.t b/t/rt88006-bit-prepare.t index 54b1e30b..8d4098d2 100644 --- a/t/rt88006-bit-prepare.t +++ b/t/rt88006-bit-prepare.t @@ -31,9 +31,9 @@ EOT ok $dbh->do($create),"create table for $scenario"; -ok $dbh->do("INSERT INTO `dbd_mysql_rt88006_bit_prep` (`id_binary_test`, `flags`) VALUES (2, b'10'), (1, b'1')"); +ok $dbh->do("INSERT INTO `dbd_mysql_rt88006_bit_prep` (`flags`) VALUES (b'10'), (b'1')"); -my $sth = $dbh->prepare("SELECT id_binary_test,flags FROM dbd_mysql_rt88006_bit_prep ORDER BY id_binary_test ASC"); +my $sth = $dbh->prepare("SELECT id_binary_test,flags FROM dbd_mysql_rt88006_bit_prep"); ok $sth->execute() or die("Execute failed: ".$DBI::errstr); ok (my $r = $sth->fetchrow_hashref(), "fetchrow_hashref for $scenario"); is ($r->{id_binary_test}, 1, 'id_binary test contents'); @@ -43,7 +43,7 @@ TODO: { } ok $sth->finish; -ok $sth = $dbh->prepare("SELECT id_binary_test,BIN(flags) FROM dbd_mysql_rt88006_bit_prep ORDER BY id_binary_test ASC"); +ok $sth = $dbh->prepare("SELECT id_binary_test,BIN(flags) FROM dbd_mysql_rt88006_bit_prep"); ok $sth->execute() or die("Execute failed: ".$DBI::errstr); ok ($r = $sth->fetchrow_hashref(), "fetchrow_hashref for $scenario with BIN()"); is ($r->{id_binary_test}, 1, 'id_binary test contents');