author | Christian Hesse
<eworm@archlinux.org> 2019-04-02 08:11:07 UTC |
committer | Christian Hesse
<eworm@archlinux.org> 2019-04-02 08:11:07 UTC |
parent | 82b0943779d1ddca62aa81a6f0601d365b6d4f85 |
0007-MDEV-18605-Loss-of-column-aliases-by-using-view-and-.patch | +0 | -21 |
0008-MDEV-18577-Indexes-problem-on-import-dump-SQL.patch | +0 | -121 |
PKGBUILD | +5 | -17 |
diff --git a/0007-MDEV-18605-Loss-of-column-aliases-by-using-view-and-.patch b/0007-MDEV-18605-Loss-of-column-aliases-by-using-view-and-.patch deleted file mode 100644 index 85fff6f..0000000 --- a/0007-MDEV-18605-Loss-of-column-aliases-by-using-view-and-.patch +++ /dev/null @@ -1,21 +0,0 @@ -From 82da98556cf58f0fbb43c82e9c6ae1a887b6cf3d Mon Sep 17 00:00:00 2001 -From: Oleksandr Byelkin <sanja@mariadb.com> -Date: Mon, 25 Feb 2019 15:57:08 +0100 -Subject: [PATCH 2/2] MDEV-18605: Loss of column aliases by using view and - group - -Preserv column name with copy fields even if it is function and Co. -diff --git a/sql/sql_select.cc b/sql/sql_select.cc -index 439853c2f66..0bc27f18d47 100644 ---- a/sql/sql_select.cc -+++ b/sql/sql_select.cc -@@ -23914,7 +23914,9 @@ setup_copy_fields(THD *thd, TMP_TABLE_PARAM *param, - real_pos->type() == Item::COND_ITEM) && - !real_pos->with_sum_func) - { // Save for send fields -+ LEX_CSTRING real_name= pos->name; - pos= real_pos; -+ pos->name= real_name; - /* TODO: - In most cases this result will be sent to the user. - This should be changed to use copy_int or copy_real depending diff --git a/0008-MDEV-18577-Indexes-problem-on-import-dump-SQL.patch b/0008-MDEV-18577-Indexes-problem-on-import-dump-SQL.patch deleted file mode 100644 index b276c55..0000000 --- a/0008-MDEV-18577-Indexes-problem-on-import-dump-SQL.patch +++ /dev/null @@ -1,121 +0,0 @@ -commit e73060b6c9b3655cadcd34c66fc7811d214c1673 -Author: Jan Lindström <jan.lindstrom@mariadb.com> -Date: Tue Mar 12 15:44:10 2019 +0200 - - MDEV-18577: Indexes problem on import dump SQL - - Problem was that we skipped background persistent statistics calculation - on applier nodes if thread is marked as high priority (a.k.a BF). - However, on applier nodes all DDL which is replicate will be executed - as high priority i.e BF. - - Fixed by allowing background persistent statistics calculation on - applier nodes even when thread is marked as BF. This could lead - BF lock waits but for queries on that node needs that statistics. - -diff --git a/include/mysql/service_wsrep.h b/include/mysql/service_wsrep.h -index 267c8cb4e90..ee28856ac73 100644 ---- a/include/mysql/service_wsrep.h -+++ b/include/mysql/service_wsrep.h -@@ -112,6 +112,7 @@ extern struct wsrep_service_st { - int (*wsrep_trx_order_before_func)(MYSQL_THD, MYSQL_THD); - void (*wsrep_unlock_rollback_func)(); - void (*wsrep_set_data_home_dir_func)(const char *data_dir); -+ my_bool (*wsrep_thd_is_applier_func)(MYSQL_THD); - } *wsrep_service; - - #ifdef MYSQL_DYNAMIC_PLUGIN -@@ -155,6 +156,7 @@ extern struct wsrep_service_st { - #define wsrep_trx_order_before(T1,T2) wsrep_service->wsrep_trx_order_before_func(T1,T2) - #define wsrep_unlock_rollback() wsrep_service->wsrep_unlock_rollback_func() - #define wsrep_set_data_home_dir(A) wsrep_service->wsrep_set_data_home_dir_func(A) -+#define wsrep_thd_is_applier(T) wsrep_service->wsrep_thd_is_applier(T) - - #define wsrep_debug get_wsrep_debug() - #define wsrep_log_conflicts get_wsrep_log_conflicts() -@@ -214,7 +216,7 @@ void wsrep_thd_set_conflict_state(THD *thd, enum wsrep_conflict_state state); - bool wsrep_thd_ignore_table(THD *thd); - void wsrep_unlock_rollback(); - void wsrep_set_data_home_dir(const char *data_dir); -- -+my_bool wsrep_thd_is_applier(MYSQL_THD thd); - #endif - - #ifdef __cplusplus -diff --git a/sql/sql_plugin_services.ic b/sql/sql_plugin_services.ic -index 7fb5524016a..3d6cf0a0723 100644 ---- a/sql/sql_plugin_services.ic -+++ b/sql/sql_plugin_services.ic -@@ -181,7 +181,8 @@ static struct wsrep_service_st wsrep_handler = { - wsrep_trx_is_aborting, - wsrep_trx_order_before, - wsrep_unlock_rollback, -- wsrep_set_data_home_dir -+ wsrep_set_data_home_dir, -+ wsrep_thd_is_applier - }; - - static struct thd_specifics_service_st thd_specifics_handler= -diff --git a/sql/wsrep_dummy.cc b/sql/wsrep_dummy.cc -index 795e2d19252..7297dbfe0fd 100644 ---- a/sql/wsrep_dummy.cc -+++ b/sql/wsrep_dummy.cc -@@ -141,3 +141,6 @@ void wsrep_unlock_rollback() - - void wsrep_set_data_home_dir(const char *) - { } -+ -+my_bool wsrep_thd_is_applier(MYSQL_THD thd) -+{ return false; } -diff --git a/sql/wsrep_thd.cc b/sql/wsrep_thd.cc -index a3d1961ade2..dab9f91b381 100644 ---- a/sql/wsrep_thd.cc -+++ b/sql/wsrep_thd.cc -@@ -698,3 +698,13 @@ void wsrep_thd_auto_increment_variables(THD* thd, - *increment= thd->variables.auto_increment_increment; - } - } -+ -+my_bool wsrep_thd_is_applier(MYSQL_THD thd) -+{ -+ my_bool is_applier= false; -+ -+ if (thd && thd->wsrep_applier) -+ is_applier= true; -+ -+ return (is_applier); -+} -diff --git a/storage/innobase/dict/dict0stats_bg.cc b/storage/innobase/dict/dict0stats_bg.cc -index 55bcafddc70..7d30555748c 100644 ---- a/storage/innobase/dict/dict0stats_bg.cc -+++ b/storage/innobase/dict/dict0stats_bg.cc -@@ -164,10 +164,26 @@ void dict_stats_update_if_needed_func(dict_table_t* table) - && dict_stats_auto_recalc_is_enabled(table)) { - - #ifdef WITH_WSREP -- if (thd && wsrep_on(thd) && wsrep_thd_is_BF(thd, 0)) { -+ /* Do not add table to background -+ statistic calculation if this thread is not a -+ applier (as all DDL, which is replicated (i.e -+ is binlogged in master node), will be executed -+ with high priority (a.k.a BF) in slave nodes) -+ and is BF. This could again lead BF lock -+ waits in applier node but it is better than -+ no persistent index/table statistics at -+ applier nodes. TODO: allow BF threads -+ wait for these InnoDB internal SQL-parser -+ generated row locks and allow BF thread -+ lock waits to be enqueued at head of waiting -+ queue. */ -+ if (thd -+ && !wsrep_thd_is_applier(thd) -+ && wsrep_on(thd) -+ && wsrep_thd_is_BF(thd, 0)) { - WSREP_DEBUG("Avoiding background statistics" -- " calculation for table %s", -- table->name.m_name); -+ " calculation for table %s.", -+ table->name.m_name); - return; - } - #endif /* WITH_WSREP */ diff --git a/PKGBUILD b/PKGBUILD index dc67c74..f41d463 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -4,8 +4,8 @@ pkgbase=mariadb pkgname=('mariadb-libs' 'mariadb-clients' 'mariadb' 'mytop') pkgdesc='Fast SQL database server, derived from MySQL' -pkgver=10.3.13 -pkgrel=4 +pkgver=10.3.14 +pkgrel=1 arch=('x86_64') license=('GPL') url='https://mariadb.org/' @@ -16,17 +16,13 @@ source=("https://mirrors.n-ix.net/mariadb/mariadb-$pkgver/source/mariadb-$pkgver '0001-arch-specific.patch' '0002-systemd-sysusers-tmpfiles.patch' '0004-do-not-break-main-configuration-with-instantiated-one.patch' - '0005-fix-galera_recovery-with-fs.protected_regular-enabled.patch' - '0007-MDEV-18605-Loss-of-column-aliases-by-using-view-and-.patch' - '0008-MDEV-18577-Indexes-problem-on-import-dump-SQL.patch') -sha256sums=('b2aa857ef5b84f85a7ea60a1eac7b34c0ca5151c71a0d44ce2d7fb028d71459a' + '0005-fix-galera_recovery-with-fs.protected_regular-enabled.patch') +sha256sums=('ba1c94d92fc8ebdf9b8a1d1b93ed6aeeead33da507efbbd4afcf49f32023e054' 'SKIP' '5b74e328e75369dfb68491a06dd53bd736e34f87281103ae0dd2f50401dc70d3' '1cd009b473d5965c7cbe6d48fff272030a2ccdd9c7e67b4f837d03252786a09a' 'd12806e4f90cc0fc081205dd4c0a5e0e7c455844f04276811b61b57fd24f5545' - '66e0acac7436fd8925710ef5cc66ba1a8f63a385ce374f01ae83096cc33d97a0' - '98f0bd85e1729133d236831e934a3dd0c9bc6deebbff6aebe8a4bda17e457ac4' - '9862b64ea29d3d94434e6b8f422df97e7528b331b793d7a50f22f176d4886325') + '66e0acac7436fd8925710ef5cc66ba1a8f63a385ce374f01ae83096cc33d97a0') prepare() { cd $pkgbase-$pkgver/ @@ -50,14 +46,6 @@ prepare() { # fix galera_recovery with fs.protected_regular enabled # https://github.com/MariaDB/server/pull/1137 patch -Np1 < ../0005-fix-galera_recovery-with-fs.protected_regular-enabled.patch - - # MDEV-18605: Loss of column aliases by using view and group - # https://jira.mariadb.org/browse/MDEV-18605 - patch -Np1 < ../0007-MDEV-18605-Loss-of-column-aliases-by-using-view-and-.patch - - # MDEV-18577: Indexes problem on import dump SQL - # https://jira.mariadb.org/browse/MDEV-18577 - patch -Np1 < ../0008-MDEV-18577-Indexes-problem-on-import-dump-SQL.patch } build() {