Commit cdd3536d authored by unknown's avatar unknown
Browse files

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().

parent 62ec077c
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -1191,9 +1191,11 @@ bool mysql_make_view(THD *thd, File_parser *parser, TABLE_LIST *table)
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);