docs: def quote_identifier(identifier, for_grants=False):
      r'''
      Return an identifier name (column, table, database, etc) escaped for MySQL
  
      This means surrounded by "`" character and escaping this character inside.
      It also means doubling the '%' character for MySQLdb internal usage.
  
      :param identifier: the table, column or database identifier
  
      :param for_grants: is False by default, when using database names on grant
       queries you should set it to True to also escape "_" and "%" characters as
       requested by MySQL. Note that theses characters should only be escaped when
       requesting grants on the database level (`my\_\%db`.*) but not for table
       level grants (`my_%db`.`foo`)
  
      CLI Example:
  
      .. code-block:: bash
  
          salt '*' mysql.quote_identifier 'foo`bar'
      '''
      if for_grants:
          return '`' + identifier.replace('`', '``').replace('_', r'\_') \
              .replace('%', r'%%') + '`'
      else:
          return '`' + identifier.replace('`', '``').replace('%', '%%') + '`'