diff --git a/SOURCES/rh-skipped-tests-arm32.list b/SOURCES/rh-skipped-tests-arm32.list deleted file mode 100644 index b05d1a8..0000000 --- a/SOURCES/rh-skipped-tests-arm32.list +++ /dev/null @@ -1,37 +0,0 @@ -# Fails since 10.3.8, only on armv7hl -versioning.auto_increment : -versioning.commit_id : -versioning.delete : -versioning.foreign : -versioning.insert : -versioning.insert2 : -versioning.select2 : -versioning.update : - -# Fails since 10.3.8, on both armv7hl and aarch64 -mariabackup.system_versioning : - -# Fails since 10.3.9, on both armv7hl and aarch64 -disks.disks : -encryption.create_or_replace : -federated.federatedx_versioning : - -# Fails since 10.3.9, only on armv7hl -versioning.alter : -versioning.replace : -versioning.select : -versioning.truncate : -versioning.trx_id : - -# Fails since 10.3.9, only on aarch64 -innodb_gis.kill_server : -innodb_gis.rtree_search : -innodb.innodb_defrag_concurrent : -parts.partition_alter1_1_2_innodb : -parts.partition_alter1_2_innodb : -parts.partition_alter2_1_1_innodb : -parts.partition_alter2_1_2_innodb : -parts.partition_alter2_2_1_innodb : -parts.partition_alter2_2_2_innodb : -parts.partition_basic_innodb : -parts.part_supported_sql_func_innodb : diff --git a/SOURCES/rhbz_1686818.patch b/SOURCES/rhbz_1686818.patch new file mode 100644 index 0000000..8b55754 --- /dev/null +++ b/SOURCES/rhbz_1686818.patch @@ -0,0 +1,114 @@ +Patch for https://bugzilla.redhat.com/show_bug.cgi?id=1686818 +Picked from https://github.com/MariaDB/server/commit/802ce9672f + +Fixed by rebase to 10.3.12 + +--- mariadb-10.3.11/storage/innobase/handler/handler0alter.cc 2018-11-16 19:04:53.000000000 +0100 ++++ mariadb-10.3.11/storage/innobase/handler/handler0alter.cc_patched 2019-03-13 11:52:15.752268825 +0100 +@@ -7712,36 +7712,40 @@ err_exit: + index != NULL; + index = dict_table_get_next_index(index)) { + ++ bool has_prefixes = false; ++ for (size_t i = 0; i < dict_index_get_n_fields(index); i++) { ++ if (dict_index_get_nth_field(index, i)->prefix_len) { ++ has_prefixes = true; ++ break; ++ } ++ } ++ + for (ulint i = 0; i < dict_index_get_n_fields(index); i++) { +- if (my_strcasecmp( +- system_charset_info, +- dict_index_get_nth_field(index, i)->name, +- from)) { ++ const dict_field_t* field ++ = dict_index_get_nth_field(index, i); ++ if (my_strcasecmp(system_charset_info, field->name, ++ from)) { + continue; + } + + info = pars_info_create(); + ++ int pos = i; ++ if (has_prefixes) { ++ pos = (pos << 16) + field->prefix_len; ++ } ++ + pars_info_add_ull_literal(info, "indexid", index->id); +- pars_info_add_int4_literal(info, "nth", i); ++ pars_info_add_int4_literal(info, "nth", pos); + pars_info_add_str_literal(info, "new", to); + + error = que_eval_sql( + info, + "PROCEDURE RENAME_SYS_FIELDS_PROC () IS\n" + "BEGIN\n" +- + "UPDATE SYS_FIELDS SET COL_NAME=:new\n" + "WHERE INDEX_ID=:indexid\n" + "AND POS=:nth;\n" +- +- /* Try again, in case there is a prefix_len +- encoded in SYS_FIELDS.POS */ +- +- "UPDATE SYS_FIELDS SET COL_NAME=:new\n" +- "WHERE INDEX_ID=:indexid\n" +- "AND POS>=65536*:nth AND POS<65536*(:nth+1);\n" +- + "END;\n", + FALSE, trx); + +--- mariadb-10.3.11/mysql-test/suite/innodb/r/innodb-alter.result 2018-11-16 19:04:50.000000000 +0100 ++++ mariadb-10.3.11/mysql-test/suite/innodb/r/innodb-alter.result_patched 2019-03-13 12:06:48.788107502 +0100 +@@ -879,6 +879,27 @@ NAME + a + b + DROP TABLE t1; ++# and an MDEV-18041 regression related to indexes prefixes ++create table `test` ( ++`test_old` varchar(255) NOT NULL, ++`other` varchar(255) NOT NULL, ++PRIMARY KEY (`test_old`,`other`), ++UNIQUE KEY uk (`test_old`(100), `other`) ++) ENGINE=InnoDB; ++select name, pos from information_schema.innodb_SYS_FIELDS where name in ('test_old', 'other', 'test_new'); ++name pos ++test_old 0 ++other 1 ++test_old 0 ++other 1 ++alter table `test` CHANGE COLUMN `test_old` `test_new` varchar(255) NOT NULL; ++select name, pos from information_schema.innodb_SYS_FIELDS where name in ('test_old', 'other', 'test_new'); ++name pos ++test_new 0 ++other 1 ++test_new 0 ++other 1 ++drop table `test`; + # + # BUG 20029625 - HANDLE_FATAL_SIGNAL (SIG=11) IN + # DICT_MEM_TABLE_COL_RENAME_LOW +--- mariadb-10.3.11/mysql-test/suite/innodb/t/innodb-alter.test 2018-11-16 19:04:50.000000000 +0100 ++++ mariadb-10.3.11/mysql-test/suite/innodb/t/innodb-alter.test_patched 2019-03-13 12:08:36.398847184 +0100 +@@ -545,6 +545,19 @@ SELECT C.NAME FROM INFORMATION_SCHEMA.IN + WHERE T.NAME='test/t1'; + DROP TABLE t1; + ++--echo # and an MDEV-18041 regression related to indexes prefixes ++create table `test` ( ++ `test_old` varchar(255) NOT NULL, ++ `other` varchar(255) NOT NULL, ++ PRIMARY KEY (`test_old`,`other`), ++ UNIQUE KEY uk (`test_old`(100), `other`) ++) ENGINE=InnoDB; ++ ++select name, pos from information_schema.innodb_SYS_FIELDS where name in ('test_old', 'other', 'test_new'); ++alter table `test` CHANGE COLUMN `test_old` `test_new` varchar(255) NOT NULL; ++select name, pos from information_schema.innodb_SYS_FIELDS where name in ('test_old', 'other', 'test_new'); ++drop table `test`; ++ + + --echo # + --echo # BUG 20029625 - HANDLE_FATAL_SIGNAL (SIG=11) IN diff --git a/SPECS/mariadb.spec b/SPECS/mariadb.spec index 28b6acc..a544207 100644 --- a/SPECS/mariadb.spec +++ b/SPECS/mariadb.spec @@ -149,7 +149,7 @@ Name: mariadb Version: 10.3.11 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Epoch: 3 Summary: A very fast and robust SQL database server @@ -174,7 +174,6 @@ Source50: rh-skipped-tests-base.list Source51: rh-skipped-tests-arm.list Source52: rh-skipped-tests-s390.list Source53: rh-skipped-tests-ppc.list -Source9999: rh-skipped-tests-arm32.list # Proposed upstream: https://jira.mariadb.org/browse/MDEV-12442 # General upstream response was slightly positive Source70: clustercheck.sh @@ -186,8 +185,10 @@ Source72: mariadb-server-galera.te # https://github.com/dciabrin/wsrep_sst_rsync_tunnel/blob/master/wsrep_sst_rsync_tunnel Source73: wsrep_sst_rsync_tunnel -# Patch1: Fix python shebang to specificaly say the python version +# Patch1: Fix python shebang to specificaly say the python version Patch1: %{pkgnamepatch}-shebang.patch +# Patch2: rhbz#1686818 +Patch2: rhbz_1686818.patch # Patch4: Red Hat distributions specific logrotate fix # it would be big unexpected change, if we start shipping it now. Better wait for MariaDB 10.2 Patch4: %{pkgnamepatch}-logrotate.patch @@ -695,6 +696,7 @@ sources. find . -name "*.jar" -type f -exec rm --verbose -f {} \; %patch1 -p1 +%patch2 -p1 %patch4 -p1 %patch7 -p1 %patch9 -p1 @@ -708,14 +710,10 @@ find . -name "*.jar" -type f -exec rm --verbose -f {} \; cat %{SOURCE50} | tee -a mysql-test/unstable-tests # disable some tests failing on different architectures -%ifarch aarch64 +%ifarch %{arm} aarch64 cat %{SOURCE51} | tee -a mysql-test/unstable-tests %endif -%ifarch %{arm} -cat %{SOURCE9999} | tee -a mysql-test/unstable-tests -%endif - %ifarch s390 s390x cat %{SOURCE52} | tee -a mysql-test/unstable-tests %endif @@ -1591,6 +1589,10 @@ fi %endif %changelog +* Wed Mar 13 2019 Michal Schorm - 3:10.3.11-2 +- Added patch for rhbz#1686818 + Resolves: #1686818 + * Mon Dec 10 2018 Michal Schorm - 3:10.3.11-1 - Rebase to 10.3.11 - Remove README.mysql-cnf as we don't ship example configuration files anymore