mirror of
https://github.com/MariaDB/server.git
synced 2025-12-24 11:21:21 +03:00
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:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user