summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy
diff options
context:
space:
mode:
authormike bayer <mike_mp@zzzcomputing.com>2022-03-29 14:05:12 +0000
committerGerrit Code Review <gerrit@ci3.zzzcomputing.com>2022-03-29 14:05:12 +0000
commitdba480ebaf89c0b5ea787661583de9da3928920f (patch)
tree6eb8d545e4d7bf5ea0e2c25cdaf64ef11c051efd /lib/sqlalchemy
parent4fd4e4b0d6d20586614a18c3365476184d1a6a70 (diff)
parent9c52d9a507a738ae68f0a6eae09d87959995b981 (diff)
downloadsqlalchemy-dba480ebaf89c0b5ea787661583de9da3928920f.tar.gz
Merge "apply loader criteria more specifically when refresh is true" into main
Diffstat (limited to 'lib/sqlalchemy')
-rw-r--r--lib/sqlalchemy/orm/context.py5
-rw-r--r--lib/sqlalchemy/orm/util.py3
2 files changed, 5 insertions, 3 deletions
diff --git a/lib/sqlalchemy/orm/context.py b/lib/sqlalchemy/orm/context.py
index 63ed10d50..bcd3e7d23 100644
--- a/lib/sqlalchemy/orm/context.py
+++ b/lib/sqlalchemy/orm/context.py
@@ -1957,7 +1957,10 @@ class ORMSelectCompileState(ORMCompileState, SelectState):
single_crit = ext_info.mapper._single_table_criterion
- additional_entity_criteria = self._get_extra_criteria(ext_info)
+ if self.compile_options._for_refresh_state:
+ additional_entity_criteria = []
+ else:
+ additional_entity_criteria = self._get_extra_criteria(ext_info)
if single_crit is not None:
additional_entity_criteria += (single_crit,)
diff --git a/lib/sqlalchemy/orm/util.py b/lib/sqlalchemy/orm/util.py
index 980002776..2b49d4400 100644
--- a/lib/sqlalchemy/orm/util.py
+++ b/lib/sqlalchemy/orm/util.py
@@ -1184,8 +1184,7 @@ class LoaderCriteriaOption(CriteriaOption):
# if options to limit the criteria to immediate query only,
# use compile_state.attributes instead
- if not compile_state.compile_options._for_refresh_state:
- self.get_global_criteria(compile_state.global_attributes)
+ self.get_global_criteria(compile_state.global_attributes)
def get_global_criteria(self, attributes):
for mp in self._all_mappers():