@testing.requires.savepoints_w_release
def test_savepoint_rollback_fails_flat(self, local_connection):
    connection = local_connection
    t1 = connection.begin()
    s1 = connection.begin_nested()
    connection.dialect.do_release_savepoint(connection, s1._savepoint)
    assert_raises_message(exc.DBAPIError, '.*SQL\\:.*ROLLBACK TO SAVEPOINT', s1.rollback)
    assert (not s1.is_active)
    with testing.expect_warnings('nested transaction already'):
        s1.rollback()
    t1.commit()
@testing.requires.savepoints_w_release
def test_savepoint_rollback_fails_flat(self, local_connection):
    connection = local_connection
    t1 = connection.begin()
    s1 = connection.begin_nested()
    connection.dialect.do_release_savepoint(connection, s1._savepoint)
    assert_raises_message(exc.DBAPIError, '.*SQL\\:.*ROLLBACK TO SAVEPOINT', s1.rollback)
    assert (not s1.is_active)
    with testing.expect_warnings('nested transaction already'):
        s1.rollback()
    t1.commit()