Commit d32e0486 authored by unknown's avatar unknown

postreview fixes


sql/item_func.cc:
  some optimisation
sql/sql_acl.cc:
  some optimisation
sql/sql_base.cc:
  some optimisation
sql/sql_parse.cc:
  some optimisation
sql/table.cc:
  some optimisation
parent 11632315
......@@ -4756,13 +4756,12 @@ Item_func_sp::execute(Item **itp)
THD *thd= current_thd;
int res= -1;
Sub_statement_state statement_state;
Security_context *save_security_ctx= 0, *save_ctx_func;
Security_context *save_security_ctx= thd->security_ctx, *save_ctx_func;
#ifndef NO_EMBEDDED_ACCESS_CHECKS
if (context->security_ctx)
{
/* Set view definer security context */
save_security_ctx= thd->security_ctx;
thd->security_ctx= context->security_ctx;
}
#endif
......@@ -4787,8 +4786,7 @@ Item_func_sp::execute(Item **itp)
#ifndef NO_EMBEDDED_ACCESS_CHECKS
sp_restore_security_context(thd, save_ctx_func);
error:
if (save_security_ctx)
thd->security_ctx= save_security_ctx;
thd->security_ctx= save_security_ctx;
#else
error:
#endif
......
......@@ -3532,7 +3532,7 @@ bool check_grant(THD *thd, ulong want_access, TABLE_LIST *tables,
of other queries). For simple queries first_not_own_table is 0.
*/
for (i= 0, table= tables;
table && table != first_not_own_table && i < number;
table != first_not_own_table && i < number;
table= table->next_global, i++)
{
/* Remove SHOW_VIEW_ACL, because it will be checked during making view */
......
......@@ -2705,16 +2705,14 @@ static bool check_grant_column_in_sctx(THD *thd, GRANT_INFO *grant,
{
if (!check_grants)
return FALSE;
Security_context *save_security_ctx= 0;
Security_context *save_security_ctx= thd->security_ctx;
bool res;
if (sctx)
{
save_security_ctx= thd->security_ctx;
thd->security_ctx= sctx;
}
res= check_grant_column(thd, grant, db, table, name, length);
if (save_security_ctx)
thd->security_ctx= save_security_ctx;
thd->security_ctx= save_security_ctx;
return res;
}
#endif
......
......@@ -5033,7 +5033,7 @@ check_table_access(THD *thd, ulong want_access,TABLE_LIST *tables,
the given table list refers to the list for prelocking (contains tables
of other queries). For simple queries first_not_own_table is 0.
*/
for (; tables && tables != first_not_own_table; tables= tables->next_global)
for (; tables != first_not_own_table; tables= tables->next_global)
{
if (tables->schema_table &&
(want_access & ~(SELECT_ACL | EXTRA_ACL | FILE_ACL)))
......
......@@ -2654,7 +2654,7 @@ Natural_join_column::check_grants(THD *thd, const char *name, uint length)
GRANT_INFO *grant;
const char *db_name;
const char *table_name;
Security_context *save_security_ctx= 0;
Security_context *save_security_ctx= thd->security_ctx;
Security_context *new_sctx= table_ref->security_ctx;
bool res;
......@@ -2675,12 +2675,10 @@ Natural_join_column::check_grants(THD *thd, const char *name, uint length)
if (new_sctx)
{
save_security_ctx= thd->security_ctx;
thd->security_ctx= new_sctx;
}
res= check_grant_column(thd, grant, db_name, table_name, name, length);
if (save_security_ctx)
thd->security_ctx= save_security_ctx;
thd->security_ctx= save_security_ctx;
return res;
}
#endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment