1
0
mirror of https://github.com/MariaDB/server.git synced 2026-01-06 05:22:24 +03:00

Bug#44040 MySQL allows creating a MERGE table upon VIEWs but crashes when

using it.
The crash was due to a null pointer present for select_lex while 
processing the view.
Adding a check while opening the view to see if its a child of a 
merge table fixed this problem.

mysql-test/r/merge.result:
  Updated result for the new test case.
mysql-test/t/merge.test:
  Added test case based on the bug description.
sql/sql_base.cc:
  Added a check to check if the view being opened is a child table of a
  merge table and return error if it is.
This commit is contained in:
Anurag Shekhar
2009-04-17 11:21:51 +05:30
parent c90a869c6b
commit 0501328a7d
3 changed files with 43 additions and 0 deletions

View File

@@ -3843,6 +3843,16 @@ retry:
if (share->is_view)
{
/*
If parent_l of the table_list is non null then a merge table
has this view as child table, which is not supported.
*/
if (table_list->parent_l)
{
my_error(ER_WRONG_MRG_TABLE, MYF(0));
goto err;
}
/*
This table is a view. Validate its metadata version: in particular,
that it was a view when the statement was prepared.