docs: def get_mysqldump_args_and_env_from_url(url):
      """
      Constructs list of command line arguments and dictionary of environment
      variables that can be given to `mysqldump` executable to obtain database
      dump of the database described in given URL.
  
      :param url: Parsed database URL.
      :type url: urllib.urlparse.ParseResult
  
      :return: List of command line arguments as well as dictionary of
               environment variables that can be used to launch the MySQL dump
               process to obtain dump of the database.
      :rtype: tuple[list[str],dict[str,str]]
      """
      args = [
          # Without this, `INSERT INTO` statements will exclude column names from
          # the output, which are required for sanitation.
          "--complete-insert",
  
          # This enables use for "exteded inserts" where multiple rows of a table
          # are included in a single `INSERT INTO` statement (contents of the
          # entire table even, if it's within limits). We use it to increase the
          # performance of the sanitation and to decrease the dump size.
          "--extended-insert",
  
          # This makes the `mysqldump` to attempt to limit size of a single line
          # into 10 megabytes. We use it to reduce memory consumption.
          "--net_buffer_length=10240",
  
          # Hostname of the database to connect into, should be always present in
          # the parsed database URL.
          "-h",
          url.hostname,
      ]
      env = {}
  
      if url.port is not None:
          args.extend(("-P", six.text_type(url.port)))
  
      if url.username:
          args.extend(("-u", url.username))
  
      if url.password:
          env["MYSQL_PWD"] = url.password
  
      if len(url.path) < 2 or not url.path.startswith("/"):
          raise ValueError("Name of the database is missing from the URL")
  
      args.append(url.path[1:])
  
      return args, env