From b80aa8b0c1385cb353883e7dc13040faff7bbe78 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Wed, 13 Jun 2012 10:13:17 -0400 Subject: [PATCH] dont call connection()/get_bind() all that here if we don't have to --- lib/sqlalchemy/orm/persistence.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/sqlalchemy/orm/persistence.py b/lib/sqlalchemy/orm/persistence.py index 55b9bf84a1..e73e97d3c6 100644 --- a/lib/sqlalchemy/orm/persistence.py +++ b/lib/sqlalchemy/orm/persistence.py @@ -748,13 +748,15 @@ def _connections_for_states(base_mapper, uowtransaction, states): connection_callable = \ uowtransaction.session.connection_callable else: - connection = uowtransaction.transaction.connection( - base_mapper) + connection = None connection_callable = None for state in _sort_states(states): if connection_callable: connection = connection_callable(base_mapper, state.obj()) + elif not connection: + connection = uowtransaction.transaction.connection( + base_mapper) mapper = _state_mapper(state) -- 2.47.2