Fix of privilege problem in views and PS

sql/sql_base.cc:
  Column for views should be looked in views (not in underlying table)
sql/sql_parse.cc:
  if we reread grants for single table we should read both database and tables grants for views (not only database grants).
This commit is contained in:
Oleksandr Byelkin 2011-06-02 10:30:05 +03:00
parent e89da2e0f1
commit dd3b27834c
2 changed files with 1 additions and 3 deletions

View File

@ -6407,7 +6407,7 @@ find_field_in_tables(THD *thd, Item_ident *item,
find_field_in_table even in the case of information schema tables
when table_ref->field_translation != NULL.
*/
if (table_ref->table &&
if (table_ref->table && !table_ref->view &&
(!table_ref->is_merged_derived() ||
(!table_ref->is_multitable() && table_ref->merged_for_insert)))
{

View File

@ -5210,8 +5210,6 @@ bool check_single_table_access(THD *thd, ulong privilege,
/* Show only 1 table for check_grant */
if (!(all_tables->belong_to_view &&
(thd->lex->sql_command == SQLCOM_SHOW_FIELDS)) &&
!(all_tables->is_view() &&
all_tables->is_merged_derived()) &&
check_grant(thd, privilege, all_tables, 0, 1, no_errors))
goto deny;