summaryrefslogtreecommitdiff
path: root/sql/sql_view.cc
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2020-06-12 13:18:41 +0200
committerSergei Golubchik <serg@mariadb.org>2020-06-12 14:23:05 +0200
commitfb70eb773c40f9af4f9afb58f9c33a1c3eca6417 (patch)
treec3063405413f2e828b183f24f732bf072aa1bac3 /sql/sql_view.cc
parentefa67ee0ead018ee6dc7b26529253ffe82e5d5dc (diff)
downloadmariadb-git-fb70eb773c40f9af4f9afb58f9c33a1c3eca6417.tar.gz
MDEV-22878 galera.wsrep_strict_ddl hangs in 10.5 after merge
if mysql_create_view is aborted when `view` isn't unlinked, it should not be linked back on cleanup
Diffstat (limited to 'sql/sql_view.cc')
-rw-r--r--sql/sql_view.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/sql/sql_view.cc b/sql/sql_view.cc
index 30fadcc63d2..557bdb71f93 100644
--- a/sql/sql_view.cc
+++ b/sql/sql_view.cc
@@ -458,7 +458,7 @@ bool mysql_create_view(THD *thd, TABLE_LIST *views,
if(!wsrep_should_replicate_ddl_iterate(thd, static_cast<const TABLE_LIST *>(tables)))
{
res= TRUE;
- goto err;
+ goto err_no_relink;
}
#endif
@@ -727,6 +727,7 @@ wsrep_error_label:
err:
lex->link_first_table_back(view, link_to_local);
+err_no_relink:
unit->cleanup();
DBUG_RETURN(res || thd->is_error());
}