In prepare_view_securety_context() the sql_command came in wrong.

If the first part was SHOW and second part SELECT, it would have
thought that the command was SELECT, although the first part of
it was SHOW. It would then fail later.

Thus we need to set thd->lex to old_lex (first part) here before going
in to prepare_security().
This commit is contained in:
unknown 2006-06-01 16:26:16 +03:00
parent 62ec077c28
commit cdd3536d88

View file

@ -1191,9 +1191,11 @@ ok:
ok2:
if (!old_lex->time_zone_tables_used && thd->lex->time_zone_tables_used)
old_lex->time_zone_tables_used= thd->lex->time_zone_tables_used;
DBUG_ASSERT(lex == thd->lex);
thd->lex= old_lex; // Needed for prepare_security
result= !table->prelocking_placeholder && table->prepare_security(thd);
lex_end(thd->lex);
lex_end(lex);
end:
if (arena)
thd->restore_active_arena(arena, &backup);