From 1da21cd4a58ba61274475b5a54592ea1b82a2f13 Mon Sep 17 00:00:00 2001 From: Oleksandr Byelkin Date: Thu, 2 Jun 2016 12:12:26 +0200 Subject: MDEV-10035: DBUG_ASSERT on CREATE VIEW v1 AS SELECT * FROM t1 FOR UPDATE Ability to print lock type added. Restoring correct lock type for CREATE VIEW added. --- sql/sql_view.cc | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'sql/sql_view.cc') diff --git a/sql/sql_view.cc b/sql/sql_view.cc index 4744b442842..c0d9ba48121 100644 --- a/sql/sql_view.cc +++ b/sql/sql_view.cc @@ -435,7 +435,16 @@ bool mysql_create_view(THD *thd, TABLE_LIST *views, res= TRUE; goto err; } - + + /* + ignore lock specs for CREATE statement + */ + if (lex->current_select->lock_type != TL_READ_DEFAULT) + { + lex->current_select->set_lock_for_tables(TL_READ_DEFAULT); + view->mdl_request.set_type(MDL_EXCLUSIVE); + } + if (thd->open_temporary_tables(lex->query_tables) || open_and_lock_tables(thd, lex->query_tables, TRUE, 0)) { -- cgit v1.2.1