import mariadb-10.3.11-2.module+el8+2885+7b8bb354
This commit is contained in:
parent
75e7a48a20
commit
511ebe238d
114
SOURCES/rhbz_1686818.patch
Normal file
114
SOURCES/rhbz_1686818.patch
Normal file
@ -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
|
@ -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
|
||||
@ -185,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
|
||||
@ -694,6 +696,7 @@ sources.
|
||||
find . -name "*.jar" -type f -exec rm --verbose -f {} \;
|
||||
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch4 -p1
|
||||
%patch7 -p1
|
||||
%patch9 -p1
|
||||
@ -1586,6 +1589,10 @@ fi
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Wed Mar 13 2019 Michal Schorm <mschorm@redhat.com> - 3:10.3.11-2
|
||||
- Added patch for rhbz#1686818
|
||||
Resolves: #1686818
|
||||
|
||||
* Mon Dec 10 2018 Michal Schorm <mschorm@redhat.com> - 3:10.3.11-1
|
||||
- Rebase to 10.3.11
|
||||
- Remove README.mysql-cnf as we don't ship example configuration files anymore
|
||||
|
Loading…
Reference in New Issue
Block a user