]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
ensure correct cast for floats vs. numeric; other fixes
authorMike Bayer <mike_mp@zzzcomputing.com>
Wed, 26 Apr 2023 14:34:46 +0000 (10:34 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Wed, 26 Apr 2023 19:40:18 +0000 (15:40 -0400)
commit6a0d61f12110624ad8709f67d4523e82bde262e5
treeac1a7f60ab8e277224e0e1eedc01a4d6c3316b44
parent9f675fd042b05977f1b38887c2fbbb54ecd424f7
ensure correct cast for floats vs. numeric; other fixes

Fixed regression caused by the fix for :ticket:`9618` where floating point
values would lose precision being inserted in bulk, using either the
psycopg2 or psycopg drivers.

Implemented the :class:`_sqltypes.Double` type for SQL Server, having it
resolve to ``REAL``, or :class:`_mssql.REAL`, at DDL rendering time.

Fixed issue in Oracle dialects where ``Decimal`` returning types such as
:class:`_sqltypes.Numeric` would return floating point values, rather than
``Decimal`` objects, when these columns were used in the
:meth:`_dml.Insert.returning` clause to return INSERTed values.

Fixes: #9701
Change-Id: I8865496a6ccac6d44c19d0ca2a642b63c6172da9
doc/build/changelog/unreleased_20/9701.rst [new file with mode: 0644]
doc/build/dialects/mssql.rst
lib/sqlalchemy/dialects/mssql/__init__.py
lib/sqlalchemy/dialects/mssql/base.py
lib/sqlalchemy/dialects/oracle/cx_oracle.py
lib/sqlalchemy/dialects/postgresql/_psycopg_common.py
lib/sqlalchemy/testing/requirements.py
lib/sqlalchemy/testing/suite/test_insert.py
test/dialect/mssql/test_types.py
test/requirements.py