mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 21:12:26 +01:00
ba80708f66
There were two issues: * set_var_default_role::user was overwritten with a new value, allocated in the thd->mem_root, which is reset between executions. That was causing the crash. Solved by introducing set_var_default_role::real_user * when privilege tables were opened on EXECUTE, the reprepare_observer would abort the statement (as privilege tables are opened using the local TABLE_LIST that doesn't preserve metadata from PREPARE, so reprepare_observer thought they're changed). This issue also applied to SET PASSWORD. Solved by disabling reprepare_observer.
8 lines
221 B
Text
8 lines
221 B
Text
create role r1;
|
|
prepare stmt from "set password = '11111111111111111111111111111111111111111'";
|
|
execute stmt;
|
|
prepare stmt from "set default role r1";
|
|
execute stmt;
|
|
set password = '';
|
|
set default role NONE;
|
|
drop role r1;
|