code: def executemany(self, operation, seq_of_parameters):
          
          values_list = []
          RE_INSERT_VALUES = re.compile(
              r"\s*((?:INSERT|REPLACE)\s.+\sVALUES?\s*)" +
              r"(\(\s*(?:%s|%\(.+\)s)\s*(?:,\s*(?:%s|%\(.+\)s)\s*)*\))" +
              r"(\s*(?:ON DUPLICATE.*)?);?\s*\Z",
              re.IGNORECASE | re.DOTALL)
  
          m = RE_INSERT_VALUES.match(operation)
          if m:
              q_prefix = m.group(1) % ()
              q_values = m.group(2).rstrip()
  
              for parameters in seq_of_parameters[:-1]:
                  values_list.append(q_values % _escaper.escape_args(parameters))
              query = '{} {};'.format(q_prefix, ','.join(values_list))
              return self._db.raw(query)
          for parameters in seq_of_parameters[:-1]:
              self.execute(operation, parameters, is_response=False)
docs: Prepare a database operation (query or command) and then execute it against all parameter
          sequences or mappings found in the sequence ``seq_of_parameters``.
  
          Only the final result set is retained.
  
          Return values are not defined.