--- a/components/perl_modules/dbd-mysql/DBD-mysql-PERLVER.p5m Tue Oct 18 13:46:28 2016 -0500
+++ b/components/perl_modules/dbd-mysql/DBD-mysql-PERLVER.p5m Tue Oct 04 14:04:16 2016 +0200
@@ -40,11 +40,9 @@
#file path=usr/perl5/$(PERLVER)/lib/$(PERL_ARCH)/perllocal.pod
file path=usr/perl5/$(PERLVER)/man/man3/Bundle::DBD::mysql.3
-file path=usr/perl5/$(PERLVER)/man/man3/DBD::README.3
file path=usr/perl5/$(PERLVER)/man/man3/DBD::mysql.3
file path=usr/perl5/$(PERLVER)/man/man3/DBD::mysql::INSTALL.3
file path=usr/perl5/vendor_perl/$(PERLVER)/$(PERL_ARCH)/Bundle/DBD/mysql.pm
-file path=usr/perl5/vendor_perl/$(PERLVER)/$(PERL_ARCH)/DBD/README.pod
file path=usr/perl5/vendor_perl/$(PERLVER)/$(PERL_ARCH)/DBD/mysql.pm
file path=usr/perl5/vendor_perl/$(PERLVER)/$(PERL_ARCH)/DBD/mysql/GetInfo.pm
file path=usr/perl5/vendor_perl/$(PERLVER)/$(PERL_ARCH)/DBD/mysql/INSTALL.pod
--- a/components/perl_modules/dbd-mysql/Makefile Tue Oct 18 13:46:28 2016 -0500
+++ b/components/perl_modules/dbd-mysql/Makefile Tue Oct 04 14:04:16 2016 +0200
@@ -32,16 +32,16 @@
include ../../../make-rules/shared-macros.mk
COMPONENT_NAME= DBD-mysql
-COMPONENT_VERSION= 4.035
-IPS_COMPONENT_VERSION= 4035
+COMPONENT_VERSION= 4.037
+IPS_COMPONENT_VERSION= 4037
HUMAN_VERSION= $(COMPONENT_VERSION)
COMPONENT_ARCHIVE_HASH= \
- sha256:b7eca365ea16bcf4c96c2fc0221304ff9c4995e7a551886837804a8f66b61937
+ sha256:df578acef28ed3f6aaae52dc98e6821a1407d3bfa88585255729bb0ebfed3cfc
COMPONENT_ARCHIVE_URL= http://search.cpan.org/CPAN/authors/id/M/MI/MICHIELB/$(COMPONENT_ARCHIVE)
COMPONENT_PROJECT_URL= https://github.com/perl5-dbi/DBD-mysql
COMPONENT_BUGDB= perl-mod/dbd-mysql
-TPNO= 30300
+TPNO= 32078
# MySQL 5.7 is not available in S11.
--- a/components/perl_modules/dbd-mysql/patches/01_test05.patch Tue Oct 18 13:46:28 2016 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-https://rt.cpan.org/Public/Bug/Display.html?id=112072
-
---- DBD-mysql-4.033/t/05dbcreate.t 2016-02-13 13:29:56.467130717 -0800
-+++ DBD-mysql-4.033/t/05dbcreate.t 2016-02-13 13:23:45.371688976 -0800
[email protected]@ -10,7 +10,7 @@ use lib 't', '.';
- require 'lib.pl';
-
- my $dbh;
--eval {$dbh= DBI->connect('DBI:mysql:', $test_user, $test_password,
-+eval {$dbh= DBI->connect($test_dsn, $test_user, $test_password,
- { RaiseError => 1, PrintError => 1, AutoCommit => 0 });};
- if ([email protected]) {
- diag [email protected];
--- a/components/perl_modules/dbd-mysql/patches/02_int_min_max_test.patch Tue Oct 18 13:46:28 2016 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,153 +0,0 @@
-https://rt.cpan.org/Public/Bug/Display.html?id=57266
-
---- DBD-mysql-4.033/t/41int_min_max.t 2016-03-02 17:52:49.620948225 +0100
-+++ DBD-mysql-4.033/t/41int_min_max.t 2016-03-02 17:52:20.582073477 +0100
[email protected]@ -0,0 +1,148 @@
-+use strict;
-+use warnings;
-+use bigint;
-+
-+use DBI;
-+use Test::More;
-+use lib 't', '.';
-+use Data::Dumper;
-+require 'lib.pl';
-+use vars qw($test_dsn $test_user $test_password);
-+
-+my $dbh;
-+eval {$dbh= DBI->connect($test_dsn, $test_user, $test_password,
-+ { RaiseError => 1, PrintError => 1, AutoCommit => 1 });};
-+if ([email protected]) {
-+ plan skip_all => "no database connection";
-+}
-+
-+if (!MinimumVersion($dbh, '4.1')) {
-+ plan skip_all => "ERROR: $DBI::errstr. Can't continue test";
-+ plan skip_all =>
-+ "SKIP TEST: You must have MySQL version 4.1 and greater for this test to run";
-+}
-+# nostrict tests + strict tests + init/tear down commands
-+plan tests => 19*8 + 17*8 + 4;
-+
-+my $table = 'dbd_mysql_t41minmax'; # name of the table we will be using
-+my $mode; # 'strict' or 'nostrict' corresponds to strict SQL mode
-+
-+sub test_int_type ($$$$) {
-+ my ($perl_type, $mysql_type, $min, $max) = @_;
-+
-+ # Disable the warning text clobbering our output
-+ local $SIG{__WARN__} = sub { 1; };
-+
-+ # Create the table
-+ ok($dbh->do(qq{DROP TABLE IF EXISTS $table}), "removing $table");
-+ ok($dbh->do(qq{
-+ CREATE TABLE `$table` (
-+ `id` int not null auto_increment,
-+ `val` $mysql_type,
-+ primary key (id)
-+ )
-+ }), "creating minmax table for type $mysql_type");
-+
-+ my ($store, $retrieve); # statements
-+ my $read_value; # retrieved value
-+ ok($store = $dbh->prepare("INSERT INTO $table (val) VALUES (?)"));
-+ ok($retrieve = $dbh->prepare("SELECT val from $table where id=(SELECT MAX(id) FROM $table)"));
-+
-+ ########################################
-+ # Insert allowed min value
-+ ########################################
-+ ok($store->bind_param( 1, $min->bstr(), $perl_type ), "binding minimal $mysql_type, mode=$mode");
-+ ok($store->execute(), "inserting min data for type $mysql_type, mode=$mode");
-+
-+ ########################################
-+ # Read it back and compare
-+ ########################################
-+ ok{$retrieve->execute()};
-+ ($read_value) = $retrieve->fetchrow_array();
-+ cmp_ok($read_value, 'eq', $min, "retrieved minimal value for $mysql_type, mode=$mode");
-+
-+ ########################################
-+ # Insert allowed max value
-+ ########################################
-+ ok($store->bind_param( 1, $max->bstr(), $perl_type ), "binding maximal $mysql_type, mode=$mode");
-+ ok($store->execute(), "inserting max data for type $mysql_type, mode=$mode");
-+
-+ ########################################
-+ # Read it back and compare
-+ ########################################
-+ ok{$retrieve->execute()};
-+ ($read_value) = $retrieve->fetchrow_array();
-+ cmp_ok($read_value, 'eq', $max, "retrieved maximal value for $mysql_type, mode=$mode");
-+
-+ ########################################
-+ # Try to insert under the limit value
-+ ########################################
-+ ok($store->bind_param( 1, ($min-1)->bstr(), $perl_type ), "binding less than minimal $mysql_type, mode=$mode");
-+ if ($mode eq 'strict') {
-+ [email protected] = '';
-+ eval{$store->execute()};
-+ like([email protected], qr/Out of range value for column 'val'/, "Error, you stored ".($min-1)." into $mysql_type, mode=$mode\n".
-+ Data::Dumper->Dump([$dbh->selectall_arrayref("SELECT * FROM $table")]).
-+ Data::Dumper->Dump([$dbh->selectall_arrayref("describe $table")])
-+ );
-+ } else {
-+ ok{$store->execute()};
-+ ########################################
-+ # Check that it was rounded correctly
-+ ########################################
-+ ok{$retrieve->execute()};
-+ ($read_value) = $retrieve->fetchrow_array();
-+ cmp_ok($read_value, 'eq', $min, "retrieved minimal value for type $mysql_type, mode=$mode");
-+ };
-+
-+ ########################################
-+ # Try to insert over the limit value
-+ ########################################
-+ ok($store->bind_param( 1, ($max+1)->bstr(), $perl_type ), "binding more than maximal $mysql_type, mode=$mode");
-+ if ($mode eq 'strict') {
-+ [email protected] = '';
-+ eval{$store->execute()};
-+ like([email protected], qr/Out of range value for column 'val'/, "Error, you stored ".($max+1)." into $mysql_type, mode=$mode\n".
-+ Data::Dumper->Dump([$dbh->selectall_arrayref("SELECT * FROM $table")]).
-+ Data::Dumper->Dump([$dbh->selectall_arrayref("describe $table")])
-+ );
-+ } else {
-+ ok{$store->execute()};
-+ ########################################
-+ # Check that it was rounded correctly
-+ ########################################
-+ ok{$retrieve->execute()};
-+ ($read_value) = $retrieve->fetchrow_array();
-+ cmp_ok($read_value, 'eq', $max, "retrieved maximal value for type $mysql_type, mode=$mode");
-+ };
-+}
-+
-+# Set strict SQL mode
-+ok($dbh->do("SET SQL_MODE='STRICT_ALL_TABLES'"),"Enter strict SQL mode.");
-+$mode = 'strict';
-+
-+test_int_type(DBI::SQL_TINYINT, 'tinyint signed', -2**7, 2**7-1);
-+test_int_type(DBI::SQL_TINYINT, 'tinyint unsigned', 0, 2**8-1);
-+test_int_type(DBI::SQL_SMALLINT, 'smallint signed', -2**15, 2**15-1);
-+test_int_type(DBI::SQL_SMALLINT, 'smallint unsigned', 0, 2**16-1);
-+test_int_type(DBI::SQL_INTEGER, 'int signed', -2**31, 2**31-1);
-+test_int_type(DBI::SQL_INTEGER, 'int unsigned', 0, 2**32-1);
-+test_int_type(DBI::SQL_BIGINT, 'bigint signed', -2**63, 2**63-1);
-+test_int_type(DBI::SQL_BIGINT, 'bigint unsigned', 0, 2**64-1);
-+
-+# Do not use strict SQL mode
-+ok($dbh->do("SET SQL_MODE=''"),"Leave strict SQL mode.");
-+$mode = 'nostrict';
-+
-+test_int_type(DBI::SQL_TINYINT, 'tinyint signed', -2**7, 2**7-1);
-+test_int_type(DBI::SQL_TINYINT, 'tinyint unsigned', 0, 2**8-1);
-+test_int_type(DBI::SQL_SMALLINT, 'smallint signed', -2**15, 2**15-1);
-+test_int_type(DBI::SQL_SMALLINT, 'smallint unsigned', 0, 2**16-1);
-+test_int_type(DBI::SQL_INTEGER, 'int signed', -2**31, 2**31-1);
-+test_int_type(DBI::SQL_INTEGER, 'int unsigned', 0, 2**32-1);
-+test_int_type(DBI::SQL_BIGINT, 'bigint signed', -2**63, 2**63-1);
-+test_int_type(DBI::SQL_BIGINT, 'bigint unsigned', 0, 2**64-1);
-+
-+ok ($dbh->do("DROP TABLE $table"));
-+
-+ok $dbh->disconnect;
--- a/components/perl_modules/dbd-mysql/patches/05_31insertid.t.patch Tue Oct 18 13:46:28 2016 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +0,0 @@
-https://rt.cpan.org/Public/Bug/Display.html?id=108000
-https://bugs.mysql.com/bug.php?id=78778
-
-The fix will be available in next DBD::mysql stable release
-
-commit 85459c2f43243e41841180e554e4ef142d95d56b
-Author: Michiel Beijen <[email protected]>
-Date: Mon Aug 1 08:10:33 2016 +0200
-
- $dbh->{mysql_insertid} is cleared after SELECT
-
- Apparently, on t/31insertid.t, there is one test that fails when
- compiled against libmysqlclient 5.7 or up; issuing a SELECT statement
- on the same database handle that previously executed an INSERT clears
- $dbh->{mysql_insertid}, while previously this was retained.
- (https://rt.cpan.org/Ticket/Display.html?id=108000)
-
---- a/Changes
-+++ b/Changes
[email protected]@ -1,3 +1,10 @@
-+2016-08-01 Patrick Galbraith, Michiel Beijen, DBI/DBD community (4.035_01)
-+* Apparently, on t/31insertid.t, there is one test that fails when compiled
-+ against libmysqlclient 5.7 or up; issuing a SELECT statement on the same
-+ database handle that previously executed an INSERT clears
-+ $dbh->{mysql_insertid}, while previously this was retained.
-+ (https://rt.cpan.org/Ticket/Display.html?id=108000)
-+
- 2016-07-09 Patrick Galbraith, Michiel Beijen, DBI/DBD community (4.035)
- * Add DBI back to configure_requires, fix by miyagawa.
-
-diff --git a/lib/DBD/mysql.pm b/lib/DBD/mysql.pm
-index 069e882..4830b9d 100644
---- a/lib/DBD/mysql.pm
-+++ b/lib/DBD/mysql.pm
[email protected]@ -1733,10 +1733,14 @@ have impact on the I<max_length> attribute.
-
- =item mysql_insertid
-
--MySQL has the ability to choose unique key values automatically. If this
--happened, the new ID will be stored in this attribute. An alternative
--way for accessing this attribute is via $dbh->{'mysql_insertid'}.
--(Note we are using the $dbh in this case!)
-+If the statement you executed performs an INSERT, and there is an AUTO_INCREMENT
-+column in the table you inserted in, this attribute holds the value stored into
-+the AUTO_INCREMENT column, if that value is automatically generated, by
-+storing NULL or 0 or was specified as an explicit value.
-+
-+Typically, you'd access the value via $sth->{mysql_insertid}. The value can
-+also be accessed via $dbh->{mysql_insertid} but this can easily
-+produce incorrect results in case one database handle is shared.
-
- =item mysql_is_blob
-
-diff --git a/t/31insertid.t b/t/31insertid.t
-index 18a6d3b..f00c5a4 100644
---- a/t/31insertid.t
-+++ b/t/31insertid.t
[email protected]@ -16,7 +16,7 @@ if ([email protected]) {
- plan skip_all =>
- "no database connection";
- }
--plan tests => 18;
-+plan tests => 19;
-
- ok $dbh->do('SET @@auto_increment_offset = 1');
- ok $dbh->do('SET @@auto_increment_increment = 1');
[email protected]@ -38,7 +38,8 @@ ok defined $sth;
-
- ok $sth->execute("Jochen");
-
--is $dbh->{'mysql_insertid'}, 1, "insert id == $dbh->{mysql_insertid}";
-+is $sth->{mysql_insertid}, 1, "insert id == $sth->{mysql_insertid}";
-+is $dbh->{mysql_insertid}, 1, "insert id == $dbh->{mysql_insertid}";
-
- ok $sth->execute("Patrick");
-
[email protected]@ -53,12 +54,15 @@ ok ($max_id= $sth2->fetch());
-
- ok defined $max_id;
-
--cmp_ok $sth->{'mysql_insertid'}, '==', $max_id->[0], "sth insert id $sth->{'mysql_insertid'} == max(id) $max_id->[0] in dbd_mysql_t31";
--
--cmp_ok $dbh->{'mysql_insertid'}, '==', $max_id->[0], "dbh insert id $dbh->{'mysql_insertid'} == max(id) $max_id->[0] in dbd_mysql_t31";
-+SKIP: {
-+ skip 'using libmysqlclient 5.7 or up we now have an empty dbh insertid',
-+ 1, if $dbh->{mysql_clientversion} >= 50700;
-+ cmp_ok $dbh->{mysql_insertid}, '==', $max_id->[0],
-+ "dbh insert id $dbh->{'mysql_insertid'} == max(id) $max_id->[0] in dbd_mysql_t31";
-+}
-+cmp_ok $sth->{mysql_insertid}, '==', $max_id->[0],
-+ "sth insert id $sth->{'mysql_insertid'} == max(id) $max_id->[0] in dbd_mysql_t31";
-
- ok $sth->finish();
--
- ok $sth2->finish();
--
- ok $dbh->disconnect();
-
--- a/components/perl_modules/dbd-mysql/test/results-all.master Tue Oct 18 13:46:28 2016 -0500
+++ b/components/perl_modules/dbd-mysql/test/results-all.master Tue Oct 04 14:04:16 2016 +0200
@@ -79,6 +79,6 @@
t/rt91715.t .......................... ok
t/version.t .......................... ok
All tests successful.
-Files=67, Tests=1642, <TIMINGS REMOVED>
+Files=67, Tests=1640, <TIMINGS REMOVED>
Result: PASS
make[1]: Leaving directory '$(@D)'