History log of /sqlalchemy/test/requirements.py (Results 1 - 25 of 306)
Revision Date Author Comments
# aa026c30 30-Oct.-2021 Mike Bayer <mike_mp@zzzcomputing.com>

2.0 removals: LegacyRow, connectionless execution, close_with_result

in order to remove LegacyRow / LegacyResult, we have
to also lose close_with_result, which connectionless
executi

2.0 removals: LegacyRow, connectionless execution, close_with_result

in order to remove LegacyRow / LegacyResult, we have
to also lose close_with_result, which connectionless
execution relies upon.

also includes a new profiles.txt file that's all against
py310, as that's what CI is on now. some result counts
changed by one function call which was enough to fail the
low-count result tests.

Replaces Connectable as the common interface between
Connection and Engine with EngineEventsTarget. Engine
is no longer Connectable. Connection and MockConnection
still are.

References: #7257
Change-Id: Iad5eba0313836d347e65490349a22b061356896a

show more ...


# ed78e679 30-Oct.-2021 Federico Caselli <cfederico87@gmail.com>

Remove deprecated dialects and drivers

Fixes: #7258
Change-Id: I3577f665eca04f2632b69bcb090f0a4ec9271db9


# 18b4a343 19-Oct.-2021 Mike Bayer <mike_mp@zzzcomputing.com>

process bulk_update_tuples before cache key or compilation

Fixed regression where the use of a :class:`_orm.hybrid_property` attribute
or a mapped :func:`_orm.composite` attribute as a k

process bulk_update_tuples before cache key or compilation

Fixed regression where the use of a :class:`_orm.hybrid_property` attribute
or a mapped :func:`_orm.composite` attribute as a key passed to the
:meth:`_dml.Update.values` method for an ORM-enabled :class:`_dml.Update`
statement, as well as when using it via the legacy
:meth:`_orm.Query.update` method, would be processed for incoming
ORM/hybrid/composite values within the compilation stage of the UPDATE
statement, which meant that in those cases where caching occurred,
subsequent invocations of the same statement would no longer receive the
correct values. This would include not only hybrids that use the
:meth:`_orm.hybrid_property.update_expression` method, but any use of a
plain hybrid attribute as well. For composites, the issue instead caused a
non-repeatable cache key to be generated, which would break caching and
could fill up the statement cache with repeated statements.

The :class:`_dml.Update` construct now handles the processing of key/value
pairs passed to :meth:`_dml.Update.values` and
:meth:`_dml.Update.ordered_values` up front when the construct is first
generated, before the cache key has been generated so that the key/value
pairs are processed each time, and so that the cache key is generated
against the individual column/value pairs that will ultimately be
used in the statement.

Fixes: #7209
Change-Id: I08f248d1d60ea9690b014c21439b775d951fb9e5

show more ...


# e2c82ab3 15-Oct.-2021 Mike Bayer <mike_mp@zzzcomputing.com>

repair fetch after session close for mssql+pyodbc

this test relies upon a cursor that can do fetchall()
after connection.rollback() was called.

Change-Id: I8c19a67bad97019375671

repair fetch after session close for mssql+pyodbc

this test relies upon a cursor that can do fetchall()
after connection.rollback() was called.

Change-Id: I8c19a67bad97019375671c69d6ed7fa4f4e6872f

show more ...


# fa247a04 09-Oct.-2021 Gord Thompson <gord@gordthompson.com>

Fix reflection of FK against a unique index

Also implement reflection of ON DELETE, ON UPDATE
as the data is right there.

Fixes: #7160
Change-Id: Ifff871a8cb1d1bea235616042e

Fix reflection of FK against a unique index

Also implement reflection of ON DELETE, ON UPDATE
as the data is right there.

Fixes: #7160
Change-Id: Ifff871a8cb1d1bea235616042e16ed3b5c5f19f9

show more ...


# 7f25fcad 04-Oct.-2021 Sumit Khanna <ksumeet40@gmail.com>

Reflect table can reflect table with no columns

The :meth:`_engine.Inspector.reflect_table` method now supports reflecting
tables that do not have user defined columns. This allows
:

Reflect table can reflect table with no columns

The :meth:`_engine.Inspector.reflect_table` method now supports reflecting
tables that do not have user defined columns. This allows
:meth:`_schema.MetaData.reflect` to properly complete reflection on
databases that contain such tables. Currently, only PostgreSQL is known
to support such a construct among the common database backends.

Fixes: #3247
Closes: #7118
Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/7118
Pull-request-sha: cb8ce01957e9a1453290a7c2728af8c60ef55fa1

Change-Id: I906cebe17d13554d79086b92f3e1e51ffba3e818

show more ...


# 6d581161 04-Oct.-2021 Federico Caselli <cfederico87@gmail.com>

Enable tests of fetch/offset for mariadb>=10.6

Fixes: #6999
Change-Id: I29cf3908a6c872611409a3e7256296314c81dea1


# 72a27c5d 11-Sep.-2021 Daniel Black <daniel@mariadb.org>

test update_nowait - added support in MariaDB-10.3

<!-- Provide a general summary of your proposed changes in the Title field above -->

MariaDB supported NOWAIT in 10.3.

re

test update_nowait - added support in MariaDB-10.3

<!-- Provide a general summary of your proposed changes in the Title field above -->

MariaDB supported NOWAIT in 10.3.

ref: https://mariadb.com/kb/en/wait-and-nowait/

This pull request is:

- [X] very trivial test change
- [ ] A documentation / typographical error fix
- Good to go, no issue or tests are needed
- [ ] A short code fix
- please include the issue number, and create an issue if none exists, which
must include a complete example of the issue. one line code fixes without an
issue and demonstration will not be accepted.
- Please include: `Fixes: #<issue number>` in the commit message
- please include tests. one line code fixes without tests will not be accepted.
- [ ] A new feature implementation
- please include the issue number, and create an issue if none exists, which must
include a complete example of how the feature would look.
- Please include: `Fixes: #<issue number>` in the commit message
- please include tests.

**Have a nice day!**

Closes: #7009
Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/7009
Pull-request-sha: 4fa750e3d34638be7e9583d849216f6d90ca88fc

Change-Id: I4ee8cf2cf84daf7af3300e6f80671375232fcf02

show more ...


# 9dd3184f 18-Aug.-2021 Mike Bayer <mike_mp@zzzcomputing.com>

CAST Oracle table_name, owner, others to VARCHAR(128)

Added a CAST(VARCHAR2(128)) to the "table name", "owner", and other
DDL-name parameters as used in reflection queries against Oracle

CAST Oracle table_name, owner, others to VARCHAR(128)

Added a CAST(VARCHAR2(128)) to the "table name", "owner", and other
DDL-name parameters as used in reflection queries against Oracle system
views such as ALL_TABLES, ALL_TAB_CONSTRAINTS, etc to better enable
indexing to take place against these columns, as they previously would be
implicitly handled as NVARCHAR2 due to Python's use of Unicode for strings;
these columns are documented in all Oracle versions as being VARCHAR2 with
lengths varying from 30 to 128 characters depending on server version.
Additionally, test support has been enabled for Unicode-named DDL
structures against Oracle databases.

Fixes: #4486
Change-Id: I2787e3f8de1f656318692bd535d6a7f1cef1a841

show more ...


# b920869e 24-Jun.-2021 Gord Thompson <gord@gordthompson.com>

Modernize tests

Eliminate engine.execute() and engine.scalar()

Change-Id: I99f76d0e615ddebab2da4fd07a40a0a2796995c7


# aeee452e 29-May-2021 Mike Bayer <mike_mp@zzzcomputing.com>

skip dupe order by test on mssql

SQL Server wants to complain if ORDER BY specifies the same
expression more than once, so just skip this test added in
aaba0650d7410f579b2c14f8f1b068

skip dupe order by test on mssql

SQL Server wants to complain if ORDER BY specifies the same
expression more than once, so just skip this test added in
aaba0650d7410f579b2c14f8f1b0680a1d1852c4 as this only needs
to test ORM functionality.

Change-Id: I857746771ed9c661043d7a8661efe9f47449c466

show more ...


# d3c73ad8 21-Apr.-2021 Federico Caselli <cfederico87@gmail.com>

Propertly ignore ``Identity`` in MySQL and MariaDb.

Ensure that the MySQL and MariaDB dialect ignore the
:class:`_sql.Identity` construct while rendering the
``AUTO_INCREMENT`` keywo

Propertly ignore ``Identity`` in MySQL and MariaDb.

Ensure that the MySQL and MariaDB dialect ignore the
:class:`_sql.Identity` construct while rendering the
``AUTO_INCREMENT`` keyword in a create table.

The Oracle and PostgreSQL compiler was updated to not render
:class:`_sql.Identity` if the database version does not support it
(Oracle < 12 and PostgreSQL < 10). Previously it was rendered regardless
of the database version.

Fixes: #6338
Change-Id: I2ca0902fdd7b4be4fc1a563cf5585504cbea9360

show more ...


# 37414a75 21-Apr.-2021 Mike Bayer <mike_mp@zzzcomputing.com>

Add new "sync once" mode for pool.connect

Fixed critical regression caused by the change in :ticket`5497` where the
connection pool "init" phase no longer occurred within mutexed isolati

Add new "sync once" mode for pool.connect

Fixed critical regression caused by the change in :ticket`5497` where the
connection pool "init" phase no longer occurred within mutexed isolation,
allowing other threads to proceed with the dialect uninitialized, which
could then impact the compilation of SQL statements.

This issue is essentially the same regression which was fixed many years
ago in :ticket:`2964` in dd32540dabbee0678530fb1b0868d1eb41572dca,
which was missed this time as the test suite fo
that issue only tested the pool in isolation, and assumed the
"first_connect" event would be used by the Engine. However
:ticket:`5497` stopped using "first_connect" and no test detected
the lack of mutexing, that has been resolved here through
the addition of more tests.

This fix also identifies what is probably a bug in earlier versions
of SQLAlchemy where the "first_connect" handler would be cancelled
if the initializer failed; this is evidenced by
test_explode_in_initializer which was doing a reconnect due to
c.rollback() yet wasn't hanging. We now solve this issue by
preventing the manufactured Connection from ever reconnecting
inside the first_connect handler.

Also remove the "_sqla_unwrap" test attribute; this is almost
not used anymore however we can use a more targeted
wrapper supplied by the testing.engines.proxying_engine
function.

See if we can also open up Oracle for "ad hoc engines" tests
now that we have better connection management logic.

Fixes: #6337
Change-Id: I4a3476625c4606f1a304dbc940d500325e8adc1a

show more ...


# 94a1c523 13-Apr.-2021 Mike Bayer <mike_mp@zzzcomputing.com>

Support DEFAULT VALUES and VALUES(DEFAULT) individually

Fixed regression where the introduction of the INSERT syntax "INSERT...
VALUES (DEFAULT)" was not supported on some backends that

Support DEFAULT VALUES and VALUES(DEFAULT) individually

Fixed regression where the introduction of the INSERT syntax "INSERT...
VALUES (DEFAULT)" was not supported on some backends that do however
support "INSERT..DEFAULT VALUES", including SQLite. The two syntaxes are
now each individually supported or non-supported for each dialect, for
example MySQL supports "VALUES (DEFAULT)" but not "DEFAULT VALUES".
Support for Oracle is still not enabled as there are unresolved issues
in using RETURNING at the same time.

Fixes: #6254
Change-Id: I47959bc826e3d9d2396ccfa290eb084841b02e77

show more ...


# a1430363 08-Apr.-2021 Gord Thompson <gord@gordthompson.com>

Make schema support explicit

Add ``supports_schema = True`` to DefaultDialect and modify
requirements.py to use that attribute so third-party dialects
can explicitly indicate that th

Make schema support explicit

Add ``supports_schema = True`` to DefaultDialect and modify
requirements.py to use that attribute so third-party dialects
can explicitly indicate that they do *not* support schemas by
specifying ``supports_schema = False`` in their Dialect class.

Change-Id: Idffee82f6668a15ac7148f2a407a17de785d1fb7

show more ...


# 20c0f774 01-Apr.-2021 Mike Bayer <mike_mp@zzzcomputing.com>

Default caching to opt-out for 3rd party dialects

Added a new flag to the :class:`_engine.Dialect` class called
:attr:`_engine.Dialect.supports_statement_cache`. This flag now needs to b

Default caching to opt-out for 3rd party dialects

Added a new flag to the :class:`_engine.Dialect` class called
:attr:`_engine.Dialect.supports_statement_cache`. This flag now needs to be present
directly on a dialect class in order for SQLAlchemy's
:ref:`query cache <sql_caching>` to take effect for that dialect. The
rationale is based on discovered issues such as :ticket:`6173` revealing
that dialects which hardcode literal values from the compiled statement,
often the numerical parameters used for LIMIT / OFFSET, will not be
compatible with caching until these dialects are revised to use the
parameters present in the statement only. For third party dialects where
this flag is not applied, the SQL logging will show the message "dialect
does not support caching", indicating the dialect should seek to apply this
flag once they have verified that no per-statement literal values are being
rendered within the compilation phase.

Fixes: #6184
Change-Id: I6fd5b5d94200458d4cb0e14f2f556dbc25e27e22

show more ...


# 3df6a3f1 29-Mar.-2021 Federico Caselli <cfederico87@gmail.com>

Repair exception handling in CursorResult

Fixes: #6138
Change-Id: I794a3da688fd8577fb06770ef02bf827a5c55397


# 346e2bc0 24-Mar.-2021 Mike Bayer <mike_mp@zzzcomputing.com>

Use class-local metadata for declarative base

Fixed regression where the ``.metadata`` attribute on a per class level
would not be honored, breaking the use case of per-class-hierarchy

Use class-local metadata for declarative base

Fixed regression where the ``.metadata`` attribute on a per class level
would not be honored, breaking the use case of per-class-hierarchy
:class:`.schema.MetaData` for abstract declarative classes and mixins.

Fixes: #6128
Change-Id: I5c15436b5c5171105dc1a0192fa744daf79a344d

show more ...


# 3fc9f11c 24-Mar.-2021 Mike Bayer <mike_mp@zzzcomputing.com>

open up window functions (ha ha) for mysql / mariadb

MySQL 8 and MariaDB 10.2 support window functions so this
should be turned on.

Change-Id: Ic1fdd328f1f0def7dfc8451385c16ea81

open up window functions (ha ha) for mysql / mariadb

MySQL 8 and MariaDB 10.2 support window functions so this
should be turned on.

Change-Id: Ic1fdd328f1f0def7dfc8451385c16ea81902074c

show more ...


# 502be87a 06-Feb.-2021 Federico Caselli <cfederico87@gmail.com>

Add support for aiosqlite

Added support for the aiosqlite database driver for use with the
SQLAlchemy asyncio extension.

Fixes: #5920
Change-Id: Id11a320516a44e886a6f518d286

Add support for aiosqlite

Added support for the aiosqlite database driver for use with the
SQLAlchemy asyncio extension.

Fixes: #5920
Change-Id: Id11a320516a44e886a6f518d2866a0f992413e55

show more ...


# 1984b6d3 18-Mar.-2021 Federico Caselli <cfederico87@gmail.com>

Allow dropping a schema with a sequence shared by more than one table.

Fixes: #6071
Change-Id: I5c4483abf075622cccb73cb4c4f8c873174b4e32


# 8bf5ca1e 27-Jan.-2021 Mike Bayer <mike_mp@zzzcomputing.com>

un-deprecate Oracle 2pc

Oracle two-phase transactions at a rudimentary level are now no longer
deprecated. After receiving support from cx_Oracle devs we can provide for
basic xid +

un-deprecate Oracle 2pc

Oracle two-phase transactions at a rudimentary level are now no longer
deprecated. After receiving support from cx_Oracle devs we can provide for
basic xid + begin/prepare support with some limitations, which will work
more fully in an upcoming release of cx_Oracle. Two phase "recovery" is not
currently supported.

Fixes: #5884
Change-Id: I961c0ad14a530acc6b069bd9bfce99fc34124abc

show more ...


# afcab5ed 17-Jan.-2021 Mike Bayer <mike_mp@zzzcomputing.com>

Implement support for functions as FROM with columns clause support

Implemented support for "table valued functions" along with additional
syntaxes supported by PostgreSQL, one of the mo

Implement support for functions as FROM with columns clause support

Implemented support for "table valued functions" along with additional
syntaxes supported by PostgreSQL, one of the most commonly requested
features. Table valued functions are SQL functions that return lists of
values or rows, and are prevalent in PostgreSQL in the area of JSON
functions, where the "table value" is commonly referred towards as the
"record" datatype. Table valued functions are also supported by Oracle and
SQL Server.

Moved from I5b093b72533ef695293e737eb75850b9713e5e03 due
to accidental push

Fixes: #3566
Change-Id: Iea36d04c80a5ed3509dcdd9ebf0701687143fef5

show more ...


# 2db1eccb 30-Jan.-2021 Mike Bayer <mike_mp@zzzcomputing.com>

set identifier length for MySQL constraints to 64

The rule to limit index names to 64 also applies to all
DDL names, such as those coming from naming conventions.
Add another limitin

set identifier length for MySQL constraints to 64

The rule to limit index names to 64 also applies to all
DDL names, such as those coming from naming conventions.
Add another limiting variable for constraint names and
create test cases against all constraint types.

Additionally, codified in the test suite MySQL's lack of
support for naming of a FOREIGN KEY constraint after
the name was given, which apparently assigns the name to an
associated KEY but not the constraint itself, until MySQL 8
and MariaDB 10.5 which appear to have resolved the
behavior. However it's not clear how Alembic hasn't had
issues reported with this so far.

Fixed long-lived bug in MySQL dialect where the maximum identifier length
of 255 was too long for names of all types of constraints, not just
indexes, all of which have a size limit of 64. As metadata naming
conventions can create too-long names in this area, apply the limit to the
identifier generator within the DDL compiler.

Fixes: #5898
Change-Id: I79549474845dc29922275cf13321c07598dcea08

show more ...


# d446d8df 23-Jan.-2021 Mike Bayer <mike_mp@zzzcomputing.com>

Remove errant assertion from unit of work

Fixed ORM unit of work regression where an errant "assert primary_key"
statement interferes with primary key generation sequences that don't

Remove errant assertion from unit of work

Fixed ORM unit of work regression where an errant "assert primary_key"
statement interferes with primary key generation sequences that don't
actually consider the columns in the table to use a real primary key
constraint, instead using :paramref:`_orm.mapper.primary_key` to establish
certain columns as "primary".

Also remove errant "identity" requirement which does not seem to
represent any current backend and is applied to
test/sql/test_defaults.py->AutoIncrementTest, but these tests work
on all backends.

Fixes: #5867
Change-Id: I4502ca5079d824d7b4d055194947aa1a00effde7

show more ...


12345678910>>...13