From e6afc0a8cf7a8fb18855cab9da488a0d48c42386 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Fri, 20 Dec 2019 10:17:17 -0500 Subject: Ensure comparison includes "don't compare values" feature upcoming changes for "expanding IN in all cases" and "lambda elements" both rely upon comparisons that work across changing bound values, so commit the testing fixture ahead of time. Additionally, repair the feature itself within traversals. Change-Id: Ie65a512dc64745614180da77435f9f745ce78c71 --- lib/sqlalchemy/sql/traversals.py | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'lib/sqlalchemy/sql') diff --git a/lib/sqlalchemy/sql/traversals.py b/lib/sqlalchemy/sql/traversals.py index b5701dbdf..84a5623d3 100644 --- a/lib/sqlalchemy/sql/traversals.py +++ b/lib/sqlalchemy/sql/traversals.py @@ -743,6 +743,14 @@ class TraversalComparatorStrategy(InternalTraversal, util.MemoizedSlots): else: return COMPARE_FAILED + def compare_bindparam(self, left, right, **kw): + compare_values = kw.pop("compare_values", True) + if compare_values: + return [] + else: + # this means, "skip these, we already compared" + return ["callable", "value"] + class ColIdentityComparatorStrategy(TraversalComparatorStrategy): def compare_column_element( -- cgit v1.2.1