Temporary solution for bug #13969 "Routines which are replicated from master
can't be executed on slave". It will be possible to solve this problem in more correct way when we will implement WL#2897 "Complete definer support in the stored routines". mysql-test/r/rpl_sp.result: Added test for bug #13969 "Routines which are replicated from master can't be executed on slave". mysql-test/t/rpl_sp.test: Added test for bug #13969 "Routines which are replicated from master can't be executed on slave". sql/sp_head.cc: sp_change_security_context(): Currently the slave replication thread creates all stored routines with definer ''@'', ignoring the actual definer. When the slave replication thread executes these routines, it ignores the definer, and so the routines work. However, in case of a failover, the replica operates in a normal mysqld mode and changes security context to the definer when executing a routine. A proper fix for this issue is described in WL#2897 "Complete definer support in the stored routines". Until this WL is implemented, we need this temporary fix, which ignores errors when changing security context.
Showing
Please register or sign in to comment