Hello community,

here is the log from the commit of package perl-DBD-mysql for openSUSE:Factory 
checked in at 2019-01-15 09:12:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-DBD-mysql (Old)
 and      /work/SRC/openSUSE:Factory/.perl-DBD-mysql.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-DBD-mysql"

Tue Jan 15 09:12:47 2019 rev:55 rq:664310 version:4.050

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-DBD-mysql/perl-DBD-mysql.changes    
2018-12-08 11:20:51.322811531 +0100
+++ /work/SRC/openSUSE:Factory/.perl-DBD-mysql.new.28833/perl-DBD-mysql.changes 
2019-01-15 09:13:06.930417038 +0100
@@ -1,0 +2,18 @@
+Thu Jan 10 06:04:35 UTC 2019 - Stephan Kulow <[email protected]>
+
+- updated to 4.050
+   see /usr/share/doc/packages/perl-DBD-mysql/Changes
+
+  DBI/DBD community (4.050)
+  * Fix SQL syntax for statements that have "...limit = ?" #288
+  * Make tests pass on MySQL 4.1 #286
+  * Travis-CI: Install Test::Deep #281
+  * Fix undefined ssl_verify_set on MySQL 5.0 and before #283
+  * Fix compilation on MySQL 4.1 #283
+  * Move Travis to dbdeployer (#284) #284
+  * Fix compiling on 8.0.0 and 8.0.1 #285
+  * Fix compatibility with MariaDB 10.3 #291
+  
+  2018-10-25 Daniël van Eeden, Patrick Galbraith,
+
+-------------------------------------------------------------------

Old:
----
  DBD-mysql-4.049.tar.gz

New:
----
  DBD-mysql-4.050.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-DBD-mysql.spec ++++++
--- /var/tmp/diff_new_pack.5WUsw7/_old  2019-01-15 09:13:07.286416709 +0100
+++ /var/tmp/diff_new_pack.5WUsw7/_new  2019-01-15 09:13:07.286416709 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package perl-DBD-mysql
 #
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 Name:           perl-DBD-mysql
-Version:        4.049
+Version:        4.050
 Release:        0
 %define cpan_name DBD-mysql
 Summary:        MySQL driver for the Perl5 Database Interface (DBI)

++++++ DBD-mysql-4.049.tar.gz -> DBD-mysql-4.050.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DBD-mysql-4.049/Changes new/DBD-mysql-4.050/Changes
--- old/DBD-mysql-4.049/Changes 2018-11-17 19:49:27.000000000 +0100
+++ new/DBD-mysql-4.050/Changes 2019-01-09 07:46:33.000000000 +0100
@@ -1,4 +1,15 @@
 2018-10-25 Daniël van Eeden, Patrick Galbraith,
+DBI/DBD community (4.050)
+* Fix SQL syntax for statements that have "...limit = ?" #288
+* Make tests pass on MySQL 4.1 #286
+* Travis-CI: Install Test::Deep #281
+* Fix undefined ssl_verify_set on MySQL 5.0 and before #283
+* Fix compilation on MySQL 4.1 #283
+* Move Travis to dbdeployer (#284) #284
+* Fix compiling on 8.0.0 and 8.0.1 #285
+* Fix compatibility with MariaDB 10.3 #291
+
+2018-10-25 Daniël van Eeden, Patrick Galbraith,
 DBI/DBD community (4.049)
 * Fix MariaDB issue #262 
 * Various fixes for travis builds
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DBD-mysql-4.049/META.json 
new/DBD-mysql-4.050/META.json
--- old/DBD-mysql-4.049/META.json       2018-11-17 19:56:13.000000000 +0100
+++ new/DBD-mysql-4.050/META.json       2019-01-09 10:00:28.000000000 +0100
@@ -72,7 +72,7 @@
       "x_IRC" : "irc://irc.perl.org/#dbi",
       "x_MailingList" : "mailto:[email protected]";
    },
-   "version" : "4.049",
+   "version" : "4.050",
    "x_contributors" : [
       "Alceu Rodrigues de Freitas Junior <[email protected]>",
       "Alexandr Ciornii <[email protected]>",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DBD-mysql-4.049/META.yml new/DBD-mysql-4.050/META.yml
--- old/DBD-mysql-4.049/META.yml        2018-11-17 19:56:13.000000000 +0100
+++ new/DBD-mysql-4.050/META.yml        2019-01-09 10:00:27.000000000 +0100
@@ -34,7 +34,7 @@
   homepage: http://dbi.perl.org/
   license: http://dev.perl.org/licenses/
   repository: https://github.com/perl5-dbi/DBD-mysql.git
-version: '4.049'
+version: '4.050'
 x_contributors:
   - 'Alceu Rodrigues de Freitas Junior <[email protected]>'
   - 'Alexandr Ciornii <[email protected]>'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DBD-mysql-4.049/Makefile.PL 
new/DBD-mysql-4.050/Makefile.PL
--- old/DBD-mysql-4.049/Makefile.PL     2018-11-02 13:31:28.000000000 +0100
+++ new/DBD-mysql-4.050/Makefile.PL     2019-01-09 07:45:48.000000000 +0100
@@ -617,10 +617,11 @@
                 $str =~ s/\-L\"(.*?)\"/-L$1/sg;
 
                 # Separate libs from ldflags
+                # Ignore static libs like libgnutls.a as reported by MariaDB's 
mysql_config
                 if ($param eq 'libs') {
                     my (@libs, @ldflags);
                     for (split ' ', $str) {
-                        if (/^-[Ll]/ || /^[^\-]/) { push @libs, $_ }
+                        if (/^-[Ll]/ || /^[^\-]/) { push @libs, $_ unless 
/\.a$/ }
                         else          { push @ldflags, $_ }
                     }
                     $str = "@libs";
@@ -628,6 +629,13 @@
                     $source->{ldflags} = "mysql_config";
                 }
 
+                if ($command =~ /10.3/) {
+                    # MariaDB's mysql_config/mariadb_config reports the 
compile time
+                    # locations, not the install location. This results in 
issues for
+                    # dbdeployer etc. where these are not the same.
+                    my $installdir = substr(dirname($opt->{'mysql_config'}), 
1, -4);
+                    $str =~ s#usr/local/mysql#$installdir#g;
+                }
                 $opt->{$param} = $str;
                 $source->{$param} = "mysql_config";
                 return;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DBD-mysql-4.049/dbdimp.c new/DBD-mysql-4.050/dbdimp.c
--- old/DBD-mysql-4.049/dbdimp.c        2018-11-17 19:49:08.000000000 +0100
+++ new/DBD-mysql-4.050/dbdimp.c        2019-01-09 07:45:48.000000000 +0100
@@ -604,9 +604,9 @@
       /*
         it would be good to be able to handle any number of cases and orders
       */
-      if ((*statement_ptr == 'l' || *statement_ptr == 'L') &&
-          (!strncmp(statement_ptr+1, "imit ", 5) ||
-           !strncmp(statement_ptr+1, "IMIT ", 5)))
+      if (((*statement_ptr == ' ') || (*statement_ptr == '\n') || 
(*statement_ptr == '\t')) &&
+          (!strncmp(statement_ptr+1, "limit ", 5) ||
+           !strncmp(statement_ptr+1, "LIMIT ", 5)))
       {
         limit_flag = 1;
       }
@@ -780,6 +780,7 @@
 
        /* in case this is a nested LIMIT */
       case ')':
+      case '=':
         limit_flag = 0;
        *ptr++ = *statement_ptr++;
         break;
@@ -1908,7 +1909,7 @@
         }
 
 #ifndef MARIADB_BASE_VERSION
-#if (MYSQL_VERSION_ID >= 50723)
+#ifdef MYSQL_OPT_GET_SERVER_PUBLIC_KEY
         if ((svp = hv_fetch(hv, "mysql_get_server_pubkey", 23, FALSE)) && *svp 
&& SvTRUE(*svp)) {
           my_bool server_get_pubkey = 1;
           mysql_options(sock, MYSQL_OPT_GET_SERVER_PUBLIC_KEY, 
&server_get_pubkey);
@@ -2036,7 +2037,11 @@
     #endif
 
            if (ssl_verify) {
+    #ifdef HAVE_SSL_VERIFY
              if (!ssl_verify_usable() && ssl_enforce && ssl_verify_set) {
+    #else
+             if (!ssl_verify_usable() && ssl_enforce) {
+    #endif
                set_ssl_error(sock, "mysql_ssl_verify_server_cert=1 is broken 
by current version of MySQL client");
                return NULL;
              }
@@ -4050,7 +4055,12 @@
         break;
 
       default:
+#if MYSQL_VERSION_ID > 100300
+        // https://jira.mariadb.org/browse/MDEV-18143
+        buffer->buffer_length= fields[i].max_length ? fields[i].max_length : 2;
+#else
         buffer->buffer_length= fields[i].max_length ? fields[i].max_length : 1;
+#endif
         Newz(908, fbh->data, buffer->buffer_length, char);
         buffer->buffer= (char *) fbh->data;
       }
@@ -4436,7 +4446,7 @@
         case MYSQL_TYPE_DOUBLE:
           if (!(fields[i].flags & ZEROFILL_FLAG))
           {
-            /* Coerce to dobule and set scalar as NV */
+            /* Coerce to double and set scalar as NV */
             (void) SvNV(sv);
             SvNOK_only(sv);
           }
@@ -5308,6 +5318,16 @@
   else
     imp_dbh= (imp_dbh_t*) imp_xxh;
 
+  /* reconnect a closed connection, used in do() for implicit reconnect */
+  if (!DBIc_has(imp_dbh, DBIcf_ACTIVE) && DBIc_has(imp_dbh, DBIcf_AutoCommit)) 
{
+    if (my_login(aTHX_ h, imp_dbh)) {
+      DBIc_ACTIVE_on(imp_dbh);
+      DBIc_set(imp_dbh, DBIcf_AutoCommit, TRUE);
+      return TRUE;
+    }
+    return FALSE;
+  }
+
   if (mysql_errno(imp_dbh->pmysql) != CR_SERVER_GONE_ERROR &&
           mysql_errno(imp_dbh->pmysql) != CR_SERVER_LOST)
     /* Other error */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DBD-mysql-4.049/dbdimp.h new/DBD-mysql-4.050/dbdimp.h
--- old/DBD-mysql-4.049/dbdimp.h        2018-11-17 19:49:08.000000000 +0100
+++ new/DBD-mysql-4.050/dbdimp.h        2019-01-08 20:26:37.000000000 +0100
@@ -67,6 +67,11 @@
 #define my_bool bool
 #endif
 
+/* MYSQL_TYPE_BIT is not available on MySQL 4.1 */
+#ifndef MYSQL_TYPE_BIT
+#define MYSQL_TYPE_BIT 16
+#endif
+
 #define true 1
 #define false 0
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DBD-mysql-4.049/lib/Bundle/DBD/mysql.pm 
new/DBD-mysql-4.050/lib/Bundle/DBD/mysql.pm
--- old/DBD-mysql-4.049/lib/Bundle/DBD/mysql.pm 2018-11-17 19:49:27.000000000 
+0100
+++ new/DBD-mysql-4.050/lib/Bundle/DBD/mysql.pm 2019-01-09 07:45:48.000000000 
+0100
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '4.049';
+our $VERSION = '4.050';
 
 1;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DBD-mysql-4.049/lib/DBD/mysql.pm 
new/DBD-mysql-4.050/lib/DBD/mysql.pm
--- old/DBD-mysql-4.049/lib/DBD/mysql.pm        2018-11-17 19:49:27.000000000 
+0100
+++ new/DBD-mysql-4.050/lib/DBD/mysql.pm        2019-01-09 07:45:48.000000000 
+0100
@@ -15,7 +15,7 @@
 # SQL_DRIVER_VER is formatted as dd.dd.dddd
 # for version 5.x please switch to 5.00(_00) version numbering
 # keep $VERSION in Bundle/DBD/mysql.pm in sync
-our $VERSION = '4.049';
+our $VERSION = '4.050';
 
 bootstrap DBD::mysql $VERSION;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DBD-mysql-4.049/mysql.xs new/DBD-mysql-4.050/mysql.xs
--- old/DBD-mysql-4.049/mysql.xs        2018-10-07 13:28:35.000000000 +0200
+++ new/DBD-mysql-4.050/mysql.xs        2019-01-09 07:45:48.000000000 +0100
@@ -272,6 +272,9 @@
   MYSQL_BIND      *bind= NULL;
 #endif
     ASYNC_CHECK_XS(dbh);
+    if ((!DBIc_has(imp_dbh, DBIcf_ACTIVE)) &&
+        (!mysql_db_reconnect(dbh)))
+      XSRETURN_UNDEF;
 #if MYSQL_VERSION_ID >= MULTIPLE_RESULT_SET_VERSION
     while (mysql_next_result(imp_dbh->pmysql)==0)
     {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DBD-mysql-4.049/t/15reconnect.t 
new/DBD-mysql-4.050/t/15reconnect.t
--- old/DBD-mysql-4.049/t/15reconnect.t 2018-10-07 13:28:35.000000000 +0200
+++ new/DBD-mysql-4.050/t/15reconnect.t 2019-01-09 07:45:48.000000000 +0100
@@ -16,7 +16,7 @@
 if ($@) {
   plan skip_all => "no database connection";
 }
-plan tests => 8 * 2;
+plan tests => 13 * 2;
 
 for my $mysql_server_prepare (0, 1) {
 $dbh= 
DBI->connect("$test_dsn;mysql_server_prepare=$mysql_server_prepare;mysql_server_prepare_disable_fallback=1",
 $test_user, $test_password,
@@ -38,5 +38,13 @@
 
 ok($dbh->{Active}, "checking for reactivated handle");
 
-$dbh->disconnect();
+ok(!($dbh->{AutoCommit} = 0), "disabling autocommit");
+
+ok($dbh->disconnect(), "disconnecting active handle");
+
+ok(!$dbh->{Active}, "checking for inactive handle");
+
+ok(!$dbh->do("SELECT 1"), "implicitly reconnecting handle with 'do'");
+
+ok(!$dbh->{Active}, "checking for reactivated handle");
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DBD-mysql-4.049/t/35limit.t 
new/DBD-mysql-4.050/t/35limit.t
--- old/DBD-mysql-4.049/t/35limit.t     2018-10-07 13:28:35.000000000 +0200
+++ new/DBD-mysql-4.050/t/35limit.t     2019-01-02 21:43:51.000000000 +0100
@@ -19,15 +19,15 @@
 if ($@) {
     plan skip_all => "no database connection";
 }
-plan tests => 111;
+plan tests => 115;
 
 ok(defined $dbh, "Connected to database");
 
 ok($dbh->do("DROP TABLE IF EXISTS dbd_mysql_t35"), "making slate clean");
 
-ok($dbh->do("CREATE TABLE dbd_mysql_t35 (id INT(4), name VARCHAR(64))"), 
"creating table");
+ok($dbh->do("CREATE TABLE dbd_mysql_t35 (id INT(4), name VARCHAR(64), 
name_limit VARCHAR(64))"), "creating table");
 
-ok(($sth = $dbh->prepare("INSERT INTO dbd_mysql_t35 VALUES (?,?)")));
+ok(($sth = $dbh->prepare("INSERT INTO dbd_mysql_t35 VALUES (?,?,?)")));
 
 for my $i (0..99) {
   my @chars = grep !/[0O1Iil]/, 0..9, 'A'..'Z', 'a'..'z';
@@ -35,7 +35,7 @@
 
   # save these values for later testing
   $testInsertVals->{$i} = $random_chars;
-  ok(($rows = $sth->execute($i, $random_chars)));
+  ok(($rows = $sth->execute($i, $random_chars, $random_chars)));
 }
 
 ok($sth = $dbh->prepare("SELECT * FROM dbd_mysql_t35 LIMIT ?, ?"),
@@ -51,6 +51,24 @@
 
 ok($sth->finish);
 
+ok($dbh->do("UPDATE dbd_mysql_t35 SET name_limit = ? WHERE id = ?", undef, 
"updated_string", 1));
+
+ok($dbh->do("UPDATE dbd_mysql_t35 SET name = ? WHERE name_limit > ?", undef, 
"updated_string", 999999));
+
+# newline before LIMIT
+ok($dbh->do(<<'SQL'
+UPDATE dbd_mysql_t35 SET name = ?
+LIMIT ?
+SQL
+, undef, "updated_string", 0));
+
+# tab before LIMIT
+ok($dbh->do(<<'SQL'
+       UPDATE dbd_mysql_t35 SET name = ?
+       LIMIT ?
+SQL
+, undef, "updated_string", 0));
+
 ok($dbh->do("DROP TABLE dbd_mysql_t35"));
 
 ok($dbh->disconnect);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DBD-mysql-4.049/t/50chopblanks.t 
new/DBD-mysql-4.050/t/50chopblanks.t
--- old/DBD-mysql-4.049/t/50chopblanks.t        2018-11-17 19:49:08.000000000 
+0100
+++ new/DBD-mysql-4.050/t/50chopblanks.t        2018-12-26 13:43:28.000000000 
+0100
@@ -14,8 +14,8 @@
 if ($@) {
     plan skip_all => "no database connection";
 }
-if ($dbh->{mysql_serverversion} < 40103) {
-    plan skip_all => "You must have MySQL version 4.1.3 and greater for this 
test to run";
+if ($dbh->{mysql_serverversion} < 50000) {
+    plan skip_all => "You must have MySQL version 5.0.0 and greater for this 
test to run";
 }
 
 for my $mysql_server_prepare (0, 1) {


Reply via email to