mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Fix for a bug with column privileges ...
This commit is contained in:
@ -1616,7 +1616,7 @@ Field *find_field_in_table(THD *thd,TABLE *table,const char *name,uint length,
|
|||||||
else
|
else
|
||||||
thd->dupp_field=field;
|
thd->dupp_field=field;
|
||||||
}
|
}
|
||||||
if (check_grants && !thd->master_access && check_grant_column(thd,table,name,length))
|
if (check_grants && check_grant_column(thd,table,name,length))
|
||||||
return WRONG_GRANT;
|
return WRONG_GRANT;
|
||||||
return field;
|
return field;
|
||||||
}
|
}
|
||||||
@ -1643,7 +1643,8 @@ find_field_in_tables(THD *thd,Item_field *item,TABLE_LIST *tables)
|
|||||||
{
|
{
|
||||||
found_table=1;
|
found_table=1;
|
||||||
Field *find=find_field_in_table(thd,tables->table,name,length,
|
Field *find=find_field_in_table(thd,tables->table,name,length,
|
||||||
grant_option && !thd->master_access,1);
|
grant_option &&
|
||||||
|
tables->grant.want_privilege ,1);
|
||||||
if (find)
|
if (find)
|
||||||
{
|
{
|
||||||
if (find == WRONG_GRANT)
|
if (find == WRONG_GRANT)
|
||||||
@ -1682,7 +1683,7 @@ find_field_in_tables(THD *thd,Item_field *item,TABLE_LIST *tables)
|
|||||||
for (; tables ; tables=tables->next)
|
for (; tables ; tables=tables->next)
|
||||||
{
|
{
|
||||||
Field *field=find_field_in_table(thd,tables->table,name,length,
|
Field *field=find_field_in_table(thd,tables->table,name,length,
|
||||||
grant_option && !thd->master_access, allow_rowid);
|
grant_option && tables->grant.want_privilege ,allow_rowid);
|
||||||
if (field)
|
if (field)
|
||||||
{
|
{
|
||||||
if (field == WRONG_GRANT)
|
if (field == WRONG_GRANT)
|
||||||
|
Reference in New Issue
Block a user