diff options
author | unknown <sanja@hasky.mysql.fi> | 2005-08-13 17:06:30 +0300 |
---|---|---|
committer | unknown <sanja@hasky.mysql.fi> | 2005-08-13 17:06:30 +0300 |
commit | 7b91cd9a5866106d8f8c39c03302a59ea18b30ee (patch) | |
tree | a85b9e322721bbc943fedaab2ede3c38a4bdff88 | |
parent | 6ff38ce778a52d4117a12acb2eed5cc0b5213e8a (diff) | |
download | mariadb-git-7b91cd9a5866106d8f8c39c03302a59ea18b30ee.tar.gz |
table.cc:
remove unneeded multitable_view assignment
sql_view.cc:
fix potential memorry overrun in ref_array
asssign multitable_view in time of view creation (BUG#12569)
sql/sql_view.cc:
fix potential memorry overrun in ref_array
asssign multitable_view in time of view creation
sql/table.cc:
remove unneeded multitable_view assignment
-rw-r--r-- | sql/sql_view.cc | 7 | ||||
-rw-r--r-- | sql/table.cc | 2 |
2 files changed, 7 insertions, 2 deletions
diff --git a/sql/sql_view.cc b/sql/sql_view.cc index a910cdb2fbc..c958185b622 100644 --- a/sql/sql_view.cc +++ b/sql/sql_view.cc @@ -844,6 +844,9 @@ mysql_make_view(File_parser *parser, TABLE_LIST *table) view_tables); lex->select_lex.context.outer_context= 0; lex->select_lex.context.select_lex= table->select_lex; + lex->select_lex.select_n_having_items+= + table->select_lex->select_n_having_items; + /* do not check privileges & hide errors for view underlyings */ for (SELECT_LEX *sl= lex->all_selects_list; sl; @@ -864,7 +867,11 @@ mysql_make_view(File_parser *parser, TABLE_LIST *table) { if (view_tables->next_local) + { table->multitable_view= TRUE; + if (table->belong_to_view) + table->belong_to_view->multitable_view= TRUE; + } /* make nested join structure for view tables */ NESTED_JOIN *nested_join; if (!(nested_join= table->nested_join= diff --git a/sql/table.cc b/sql/table.cc index 83ec2d64935..0b557b097cf 100644 --- a/sql/table.cc +++ b/sql/table.cc @@ -1720,8 +1720,6 @@ void st_table_list::set_ancestor() */ tbl->ancestor->set_ancestor(); } - if (tbl->multitable_view) - multitable_view= TRUE; } while ((tbl= tbl->next_local)); if (!multitable_view) |