diff options
Diffstat (limited to 'lib/sqlalchemy/sql/util.py')
| -rw-r--r-- | lib/sqlalchemy/sql/util.py | 7 |
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. |
