summaryrefslogtreecommitdiff
path: root/sql/sql_derived.cc
diff options
context:
space:
mode:
authorOleksandr Byelkin <sanja@mariadb.com>2017-08-16 19:18:39 +0200
committerSergei Golubchik <serg@mariadb.org>2017-08-17 11:41:46 +0200
commitc548fb0667ffe71d9387eaec342b1716fc4c9526 (patch)
treeeef086b1f25e0065b43b5b578581b2fa1e27ee8b /sql/sql_derived.cc
parentcb1e76e4de120d20064a96be4fcc245c3d22bd78 (diff)
downloadmariadb-git-c548fb0667ffe71d9387eaec342b1716fc4c9526.tar.gz
MDEV-11240: Server crashes in check_view_single_update or Assertion `derived->table' failed in mysql_derived_merge_for_insertmariadb-10.2.8
Before "merge" view shoud be inited to maintaing transitive attributes like "multitable".
Diffstat (limited to 'sql/sql_derived.cc')
-rw-r--r--sql/sql_derived.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/sql/sql_derived.cc b/sql/sql_derived.cc
index 6285a1810dd..bc5007e0880 100644
--- a/sql/sql_derived.cc
+++ b/sql/sql_derived.cc
@@ -520,6 +520,8 @@ bool mysql_derived_merge_for_insert(THD *thd, LEX *lex, TABLE_LIST *derived)
derived->merge_underlying_list != 0));
if (derived->merged_for_insert)
DBUG_RETURN(FALSE);
+ if (derived->init_derived(thd, FALSE))
+ DBUG_RETURN(TRUE);
if (derived->is_materialized_derived())
DBUG_RETURN(mysql_derived_prepare(thd, lex, derived));
if ((thd->lex->sql_command == SQLCOM_UPDATE_MULTI ||
@@ -537,8 +539,6 @@ bool mysql_derived_merge_for_insert(THD *thd, LEX *lex, TABLE_LIST *derived)
DBUG_ASSERT(derived->table);
}
}
- else
- derived->table= derived->merge_underlying_list->table;
DBUG_RETURN(FALSE);
}