summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/orm/persistence.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sqlalchemy/orm/persistence.py')
-rw-r--r--lib/sqlalchemy/orm/persistence.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/sqlalchemy/orm/persistence.py b/lib/sqlalchemy/orm/persistence.py
index d14f6c27b..163ebf22a 100644
--- a/lib/sqlalchemy/orm/persistence.py
+++ b/lib/sqlalchemy/orm/persistence.py
@@ -25,6 +25,7 @@ from . import loading
from . import sync
from .base import state_str
from .. import exc as sa_exc
+from .. import future
from .. import sql
from .. import util
from ..sql import coercions
@@ -1424,8 +1425,10 @@ def _finalize_insert_update_commands(base_mapper, uowtransaction, states):
if toload_now:
state.key = base_mapper._identity_key_from_state(state)
+ stmt = future.select(mapper).apply_labels()
loading.load_on_ident(
- uowtransaction.session.query(mapper),
+ uowtransaction.session,
+ stmt,
state.key,
refresh_state=state,
only_load_props=toload_now,
@@ -1723,7 +1726,7 @@ class BulkUD(object):
self.context
) = compile_state = query._compile_state()
- self.mapper = compile_state._bind_mapper()
+ self.mapper = compile_state._entity_zero()
if isinstance(
compile_state._entities[0], query_context._RawColumnEntity,