Skip to content

Nested transactions with db_session #53

Open
@cybergrind

Description

@cybergrind

Can anyone clarify if it is expected behavior? It seems like nested transactions don't work and I'm not sure if it should be fixed or not.

def test_rollback_nested(person, db_session):
    assert db_session.query(person).count() == 0
    n1 = db_session.begin_nested()
    db_session.add(person())
    assert db_session.query(person).count() == 1
    n2 = db_session.begin_nested()
    db_session.add(person())
    assert db_session.query(person).count() == 2
    n2.rollback()
    assert db_session.query(person).count() == 1  # Fails, we have 2 records in db
    n1.rollback()
    assert db_session.query(person).count() == 0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions