• unknown's avatar
    Bug #48321 CURRENT_USER() incorrectly replicated for DROP/RENAME USER; · d9e9a73e
    unknown authored
                REVOKE/GRANT; ALTER EVENT.
    
    The following statements support the CURRENT_USER() where a user is needed.
      DROP USER 
      RENAME USER CURRENT_USER() ...
      GRANT ... TO CURRENT_USER()
      REVOKE ... FROM CURRENT_USER()
      ALTER DEFINER = CURRENT_USER() EVENT
    but, When these statements are binlogged, CURRENT_USER() just is binlogged
    as 'CURRENT_USER()', it is not expanded to the real user name. When slave 
    executes the log event, 'CURRENT_USER()' is expand to the user of slave 
    SQL thread, but SQL thread's user name always NULL. This breaks the replication.
    
    After this patch, All above statements are rewritten when they are binlogged.
    The CURRENT_USER() is expanded to the real user's name and host.
    d9e9a73e
sql_acl.cc 200 KB