Skip to content

Conversation

@cybergrind
Copy link

Fixes #53
Also fixes extra savepoints from #45

_connection_for_bind caches not bind directly but conn and conn.engine
https://github.com/sqlalchemy/sqlalchemy/blob/rel_1_3_24/lib/sqlalchemy/orm/session.py#L453

because we're mocking session.bind with MagicMock it never gets into the _connections (conn.engine is an actual Engine instance in the end) and we're open nested transactions for every call of _connection_for_bind (#45) but also SA overwrite _connections on every call, thus we lose actual savepoint and always reset it to the most recent one. And because we always open transactions usually we rollback nothing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Nested transactions with db_session

1 participant