diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2016-06-23 19:26:28 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2016-06-23 19:58:43 -0400 |
commit | 7c74d702a9632a8c7264d6972e46985de3fb2487 (patch) | |
tree | 9db49b27827f580b856671186aae2d40952d74f2 /lib/sqlalchemy/processors.py | |
parent | bf03d4332ae35e2087b175f8a2e0291d2f4c9aa0 (diff) | |
download | sqlalchemy-7c74d702a9632a8c7264d6972e46985de3fb2487.tar.gz |
Make boolean processors consistent between Py/C; coerce to 1/0
The processing performed by the :class:`.Boolean` datatype for backends
that only feature integer types has been made consistent between the
pure Python and C-extension versions, in that the C-extension version
will accept any integer value from the database as a boolean, not just
zero and one; additionally, non-boolean integer values being sent to
the database are coerced to exactly zero or one, instead of being
passed as the original integer value.
Change-Id: I01e647547fd7047bd549dd70e1fa202c51e8328b
Fixes: #3730
Diffstat (limited to 'lib/sqlalchemy/processors.py')
-rw-r--r-- | lib/sqlalchemy/processors.py | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/sqlalchemy/processors.py b/lib/sqlalchemy/processors.py index b57e6740b..98f8a2759 100644 --- a/lib/sqlalchemy/processors.py +++ b/lib/sqlalchemy/processors.py @@ -53,7 +53,7 @@ def boolean_to_int(value): if value is None: return None else: - return int(value) + return int(bool(value)) def py_fallback(): @@ -111,7 +111,7 @@ def py_fallback(): if value is None: return None else: - return value and True or False + return bool(value) DATETIME_RE = re.compile( "(\d+)-(\d+)-(\d+) (\d+):(\d+):(\d+)(?:\.(\d+))?") |