summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/sql/util.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sqlalchemy/sql/util.py')
-rw-r--r--lib/sqlalchemy/sql/util.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/sqlalchemy/sql/util.py b/lib/sqlalchemy/sql/util.py
index cbd74faac..c73f710af 100644
--- a/lib/sqlalchemy/sql/util.py
+++ b/lib/sqlalchemy/sql/util.py
@@ -29,6 +29,7 @@ join_condition = util.langhelpers.public_factory(
from .annotation import _shallow_annotate, _deep_annotate, _deep_deannotate
from .elements import _find_columns
from .ddl import sort_tables
+from sqlalchemy.sql import schema
def find_join_source(clauses, join_to):
@@ -436,6 +437,12 @@ def criterion_as_pairs(expression, consider_as_foreign_keys=None,
return pairs
+def is_value_pair_dict(params):
+ """Check if params is a value list/tuple representing a dictionary."""
+ return (isinstance(params, (list, tuple)) and
+ all(isinstance(p, (list, tuple)) and len(p) == 2 and
+ isinstance(p[0], schema.Column) for p in params))
+
class ClauseAdapter(visitors.ReplacingCloningVisitor):
"""Clones and modifies clauses based on column correspondence.