code: def execute(self, sql, parameters=None):
          
          self.rowcount = -1
          self._assert_valid()
          self.impl.prepare(sql)
          if parameters:
              buffer = make_parameter_set(self.impl)
              buffer.add_set(parameters)
              buffer.flush()
          return self._execute()
docs: Execute an SQL command or query
  
          :param sql: A (unicode) string that contains the SQL command or query. If you would like to
                 use parameters, please use a question mark ``?`` at the location where the
                 parameter shall be inserted.
          :param parameters: An iterable of parameter values. The number of values must match
                 the number of parameters in the SQL string.
          :return: The ``Cursor`` object to allow chaining of operations.