mirror of
https://github.com/MariaDB/server.git
synced 2025-02-13 17:05:35 +01:00
![Sergei Golubchik](/assets/img/avatar_default.png)
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;
|