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:
jani@ua141d10.elisa.omakaista.fi 2006-06-01 16:26:16 +03:00
parent 04441d04b1
commit b5158f252d

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);