'Do all the related feature configurations for changing isolation
levels. This doesn\'t touch the uses_autocommit feature, since that
controls the movement *between* isolation levels.'

def _set_isolation_level(self, level):

    assert (level in range(5))
    try:
        if (self.connection is not None):
            self.connection.set_isolation_level(level)
    finally:
        self.isolation_level = level
        self.features.uses_savepoints = bool(level)
