• Vicențiu Ciorbaru's avatar
    refactor: split mysql_grant into separate components · 767a915d
    Vicențiu Ciorbaru authored
    This change splits mysql_grant based on the type of grants issued.
    
    * mysql_grant_global -> GRANT <priv> ON *.*
    * mysql_grant_db     -> GRANT <priv> ON <database>.*
    * mysql_grant_proxy  -> GRANT PROXY ...
    
    This does introduce a bit of code duplication, however it allows further
    refactoring and also isolates the grant modifying logic away from other
    details such as table opening, locking, binlogging.
    
    Another side effect is that the mysql.db table is only locked for a
    database level grant. Before it was locked even if there were only
    global level grants issued.
    767a915d
grant5.result 18.5 KB