diff options
author | mike bayer <mike_mp@zzzcomputing.com> | 2023-02-16 19:57:50 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@bbpush.zzzcomputing.com> | 2023-02-16 19:57:50 +0000 |
commit | d832676e90643ac2a8a30570e393f1de7a43900a (patch) | |
tree | fe34011a31e0bd03c358ac306b59d4b3d75782da /lib/sqlalchemy/sql/elements.py | |
parent | 88c9463dc1114d493ed886a11705af714f27a221 (diff) | |
parent | 693f7f7a84ac77eaacc9ff9c8035a249d7f1ce7e (diff) | |
download | sqlalchemy-d832676e90643ac2a8a30570e393f1de7a43900a.tar.gz |
Merge "Fix coercion issue for tuple bindparams" into main
Diffstat (limited to 'lib/sqlalchemy/sql/elements.py')
-rw-r--r-- | lib/sqlalchemy/sql/elements.py | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/sqlalchemy/sql/elements.py b/lib/sqlalchemy/sql/elements.py index 4c2c7de3c..e51b755dd 100644 --- a/lib/sqlalchemy/sql/elements.py +++ b/lib/sqlalchemy/sql/elements.py @@ -1976,8 +1976,11 @@ class BindParameter(roles.InElementRole, KeyedColumnElement[_T]): self._is_crud = True if type_ is None: - if expanding and value: - check_value = value[0] + if expanding: + if value: + check_value = value[0] + else: + check_value = type_api._NO_VALUE_IN_LIST else: check_value = value if _compared_to_type is not None: @@ -3166,7 +3169,8 @@ class Tuple(ClauseList, ColumnElement[typing_Tuple[Any, ...]]): _compared_to_operator=operator, unique=True, expanding=True, - type_=self.type, + type_=type_, + _compared_to_type=self.type, ) else: return Tuple( |