commit:     a3d89b6a4809cb863f571fcedd36e219c41e257c
Author:     Tomas Mozes <hydrapolic <AT> gmail <DOT> com>
AuthorDate: Mon Jan 20 09:44:57 2020 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Thu Jan 23 01:20:19 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a3d89b6a

dev-db/percona-toolkit: fix pt-osc with MariaDB

Fixes pt-online-schema-change with --alter-foreign-keys-method=drop_swap

Bug: https://jira.percona.com/browse/PT-1795
Package-Manager: Portage-2.3.84, Repoman-2.3.20
Signed-off-by: Tomáš Mózes <hydrapolic <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/14395
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 ...oolkit-3.1.0-drop-swap-gentoo-mariadb-fix.patch | 33 ++++++++++++++++++++++
 ....1.0.ebuild => percona-toolkit-3.1.0-r1.ebuild} |  3 +-
 2 files changed, 35 insertions(+), 1 deletion(-)

diff --git 
a/dev-db/percona-toolkit/files/percona-toolkit-3.1.0-drop-swap-gentoo-mariadb-fix.patch
 
b/dev-db/percona-toolkit/files/percona-toolkit-3.1.0-drop-swap-gentoo-mariadb-fix.patch
new file mode 100644
index 00000000000..0596365423f
--- /dev/null
+++ 
b/dev-db/percona-toolkit/files/percona-toolkit-3.1.0-drop-swap-gentoo-mariadb-fix.patch
@@ -0,0 +1,33 @@
+diff --git a/bin/pt-online-schema-change b/bin/pt-online-schema-change
+index 7ecec11..afdd7dd 100755
+--- a/bin/pt-online-schema-change
++++ b/bin/pt-online-schema-change
+@@ -8948,15 +8948,6 @@ sub main {
+          Quoter => $q,
+       );
+ 
+-   my $vp = VersionParser->new($cxn->dbh());
+-   if ($vp->cmp('8.0.14') > -1 && $vp->flavor() !~ m/maria/i) {
+-       my $msg = "There is an error in MySQL that makes the server to die 
when trying to ".
+-                 "rename a table with FKs. See 
https://bugs.mysql.com/bug.php?id=96145\n";.
+-                 "Since pt-online-schema change needs to rename the old <-> 
new tables as the final " .
+-                 "step, and the requested table has FKs, it cannot be 
executed under the current MySQL version";
+-       _die($msg, NO_MINIMUM_REQUIREMENTS);
+-   }
+-
+    if ( ($alter_fk_method || '') eq 'none' ) {
+       print "Not updating foreign keys because "
+          . "--alter-foreign-keys-method=none.  Foreign keys "
+@@ -9872,12 +9863,6 @@ sub main {
+       }
+    }
+ 
+-   if ($vp->cmp('8.0') > -1 && $vp->flavor() !~ m/maria/i && $alter_fk_method 
eq 'drop_swap') {
+-       my $msg = "--alter-foreign-keys-method=drop_swap doesn't work with 
MySQL 8.0+\n".
+-                 "See https://bugs.mysql.com/bug.php?id=89441";;
+-       _die($msg, INVALID_PARAMETERS);
+-   }
+-
+    # --plugin hook
+    if ( $plugin && $plugin->can('after_copy_rows') ) {
+       $plugin->after_copy_rows();

diff --git a/dev-db/percona-toolkit/percona-toolkit-3.1.0.ebuild 
b/dev-db/percona-toolkit/percona-toolkit-3.1.0-r1.ebuild
similarity index 92%
rename from dev-db/percona-toolkit/percona-toolkit-3.1.0.ebuild
rename to dev-db/percona-toolkit/percona-toolkit-3.1.0-r1.ebuild
index 700a8fd2957..bc039dc3046 100644
--- a/dev-db/percona-toolkit/percona-toolkit-3.1.0.ebuild
+++ b/dev-db/percona-toolkit/percona-toolkit-3.1.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI="7"
@@ -40,6 +40,7 @@ DEPEND="${COMMON_DEPEND}
 PATCHES=(
        "${FILESDIR}"/${PN}-3.0.7-no-versioncheck.patch
        "${FILESDIR}"/${PN}-3.0.10-slave-delay-fix.patch
+       "${FILESDIR}"/${PN}-3.1.0-drop-swap-gentoo-mariadb-fix.patch
 )
 
 src_prepare() {

Reply via email to