|
577 | 577 | :tags: bug, postgresql |
578 | 578 | :tickets: 12728 |
579 | 579 |
|
580 | | - Re-raise catched ``CancelledError`` in the terminate method of the |
| 580 | + Re-raise caught ``CancelledError`` in the terminate method of the |
581 | 581 | asyncpg dialect to avoid possible hangs of the code execution. |
582 | 582 |
|
583 | 583 |
|
|
738 | 738 | into a SQL expression in a boolean context, for programs where future |
739 | 739 | annotations mode was not enabled. This case is now handled explicitly and |
740 | 740 | a new error message has also been tailored for this case. In addition, as |
741 | | - there are at least half a dozen distinct error scenarios for intepretation |
| 741 | + there are at least half a dozen distinct error scenarios for interpretation |
742 | 742 | of the :class:`.Mapped` construct, these scenarios have all been unified |
743 | 743 | under a new subclass of :class:`.ArgumentError` called |
744 | 744 | :class:`.MappedAnnotationError`, to provide some continuity between these |
|
978 | 978 | ``connection.transaction()`` call sent to asyncpg sends ``None`` for |
979 | 979 | ``isolation_level`` if not otherwise set in the SQLAlchemy dialect/wrapper, |
980 | 980 | thereby allowing asyncpg to make use of the server level setting for |
981 | | - ``isolation_level`` in the absense of a client-level setting. Previously, |
| 981 | + ``isolation_level`` in the absence of a client-level setting. Previously, |
982 | 982 | this behavior of asyncpg was blocked by a hardcoded ``read_committed``. |
983 | 983 |
|
984 | 984 | .. change:: |
|
1581 | 1581 | versioned table needs to default to the most recent version number in the |
1582 | 1582 | history table on INSERT, to suit the use case of a table where rows are |
1583 | 1583 | deleted, and can then be replaced by new rows that re-use the same primary |
1584 | | - key identity. This fix adds an additonal SELECT query per INSERT in the |
| 1584 | + key identity. This fix adds an additional SELECT query per INSERT in the |
1585 | 1585 | main table, which may be inefficient; for cases where primary keys are not |
1586 | 1586 | re-used, the default function may be omitted. Patch courtesy Philipp H. |
1587 | 1587 | v. Loewenfeld. |
|
1761 | 1761 |
|
1762 | 1762 | Fixed internal typing issues to establish compatibility with mypy 1.11.0. |
1763 | 1763 | Note that this does not include issues which have arisen with the |
1764 | | - deprecated mypy plugin used by SQLAlchemy 1.4-style code; see the addiional |
| 1764 | + deprecated mypy plugin used by SQLAlchemy 1.4-style code; see the additional |
1765 | 1765 | change note for this plugin indicating revised compatibility. |
1766 | 1766 |
|
1767 | 1767 | .. changelog:: |
|
1943 | 1943 | :tickets: 11306 |
1944 | 1944 |
|
1945 | 1945 | Fixed issue in cursor handling which affected handling of duplicate |
1946 | | - :class:`_sql.Column` or similar objcts in the columns clause of |
1947 | | - :func:`_sql.select`, both in combination with arbitary :func:`_sql.text()` |
| 1946 | + :class:`_sql.Column` or similar objects in the columns clause of |
| 1947 | + :func:`_sql.select`, both in combination with arbitrary :func:`_sql.text()` |
1948 | 1948 | clauses in the SELECT list, as well as when attempting to retrieve |
1949 | 1949 | :meth:`_engine.Result.mappings` for the object, which would lead to an |
1950 | 1950 | internal error. |
|
2055 | 2055 |
|
2056 | 2056 | Fixed issue in :ref:`engine_insertmanyvalues` feature where using a primary |
2057 | 2057 | key column with an "inline execute" default generator such as an explicit |
2058 | | - :class:`.Sequence` with an explcit schema name, while at the same time |
| 2058 | + :class:`.Sequence` with an explicit schema name, while at the same time |
2059 | 2059 | using the |
2060 | 2060 | :paramref:`_engine.Connection.execution_options.schema_translate_map` |
2061 | 2061 | feature would fail to render the sequence or the parameters properly, |
|
2078 | 2078 | "Can't match sentinel values in result set to parameter sets". Rather than |
2079 | 2079 | attempt to further explain and document this implementation detail of the |
2080 | 2080 | "insertmanyvalues" feature including a public version of the new |
2081 | | - method, the approach is intead revised to no longer need this extra |
| 2081 | + method, the approach is instead revised to no longer need this extra |
2082 | 2082 | conversion step, and the logic that does the comparison now works on the |
2083 | 2083 | pre-converted bound parameter value compared to the post-result-processed |
2084 | 2084 | value, which should always be of a matching datatype. In the unusual case |
|
2094 | 2094 |
|
2095 | 2095 | Fixed regression from version 2.0.28 caused by the fix for :ticket:`11085` |
2096 | 2096 | where the newer method of adjusting post-cache bound parameter values would |
2097 | | - interefere with the implementation for the :func:`_orm.subqueryload` loader |
| 2097 | + interfere with the implementation for the :func:`_orm.subqueryload` loader |
2098 | 2098 | option, which has some more legacy patterns in use internally, when |
2099 | 2099 | the additional loader criteria feature were used with this loader option. |
2100 | 2100 |
|
|
2674 | 2674 | parameter for new style bulk ORM inserts, allowing ``render_nulls=True`` as |
2675 | 2675 | an execution option. This allows for bulk ORM inserts with a mixture of |
2676 | 2676 | ``None`` values in the parameter dictionaries to use a single batch of rows |
2677 | | - for a given set of dicationary keys, rather than breaking up into batches |
| 2677 | + for a given set of dictionary keys, rather than breaking up into batches |
2678 | 2678 | that omit the NULL columns from each INSERT. |
2679 | 2679 |
|
2680 | 2680 | .. seealso:: |
|
2857 | 2857 | However, mariadb-connector does not support invoking ``cursor.rowcount`` |
2858 | 2858 | after the cursor itself is closed, raising an error instead. Generic test |
2859 | 2859 | support has been added to ensure all backends support the allowing |
2860 | | - :attr:`.Result.rowcount` to succceed (that is, returning an integer |
| 2860 | + :attr:`.Result.rowcount` to succeed (that is, returning an integer |
2861 | 2861 | value with -1 for "not available") after the result is closed. |
2862 | 2862 |
|
2863 | 2863 |
|
|
3006 | 3006 | :class:`.Update` and :class:`.Delete` to not interfere with the target |
3007 | 3007 | "from" object passed to the statement, such as when passing an ORM-mapped |
3008 | 3008 | :class:`_orm.aliased` construct that should be maintained within a phrase |
3009 | | - like "UPDATE FROM". Cases like ORM session synchonize using "SELECT" |
| 3009 | + like "UPDATE FROM". Cases like ORM session synchronize using "SELECT" |
3010 | 3010 | statements such as with MySQL/ MariaDB will still have issues with |
3011 | 3011 | UPDATE/DELETE of this form so it's best to disable synchonize_session when |
3012 | 3012 | using DML statements of this type. |
|
3360 | 3360 | Fixed regression caused by improvements to PostgreSQL URL parsing in |
3361 | 3361 | :ticket:`10004` where "host" query string arguments that had colons in |
3362 | 3362 | them, to support various third party proxy servers and/or dialects, would |
3363 | | - not parse correctly as these were evaluted as ``host:port`` combinations. |
| 3363 | + not parse correctly as these were evaluated as ``host:port`` combinations. |
3364 | 3364 | Parsing has been updated to consider a colon as indicating a ``host:port`` |
3365 | 3365 | value only if the hostname contains only alphanumeric characters with dots |
3366 | 3366 | or dashes only (e.g. no slashes), followed by exactly one colon followed by |
|
3735 | 3735 | Fixed issue where the :paramref:`.ColumnOperators.like.escape` and similar |
3736 | 3736 | parameters did not allow an empty string as an argument that would be |
3737 | 3737 | passed through as the "escape" character; this is a supported syntax by |
3738 | | - PostgreSQL. Pull requset courtesy Martin Caslavsky. |
| 3738 | + PostgreSQL. Pull request courtesy Martin Caslavsky. |
3739 | 3739 |
|
3740 | 3740 | .. change:: |
3741 | 3741 | :tags: bug, orm |
3742 | 3742 | :tickets: 9869 |
3743 | 3743 |
|
3744 | | - Improved the argument chacking on the |
| 3744 | + Improved the argument checking on the |
3745 | 3745 | :paramref:`_orm.registry.map_imperatively.local_table` parameter of the |
3746 | 3746 | :meth:`_orm.registry.map_imperatively` method, ensuring only a |
3747 | 3747 | :class:`.Table` or other :class:`.FromClause` is passed, and not an |
|
5209 | 5209 | :paramref:`_orm.Mapper.primary_key` parameter to be specified within |
5210 | 5210 | ``__mapper_args__`` when using :func:`_orm.mapped_column`. Despite this |
5211 | 5211 | usage being directly in the 2.0 documentation, the :class:`_orm.Mapper` was |
5212 | | - not accepting the :func:`_orm.mapped_column` construct in this context. Ths |
| 5212 | + not accepting the :func:`_orm.mapped_column` construct in this context. This |
5213 | 5213 | feature was already working for the :paramref:`_orm.Mapper.version_id_col` |
5214 | 5214 | and :paramref:`_orm.Mapper.polymorphic_on` parameters. |
5215 | 5215 |
|
|
6439 | 6439 | Improved the typing for :class:`.sessionmaker` and |
6440 | 6440 | :class:`.async_sessionmaker`, so that the default type of their return value |
6441 | 6441 | will be :class:`.Session` or :class:`.AsyncSession`, without the need to |
6442 | | - type this explicitly. Previously, Mypy would not automaticaly infer these |
| 6442 | + type this explicitly. Previously, Mypy would not automatically infer these |
6443 | 6443 | return types from its generic base. |
6444 | 6444 |
|
6445 | 6445 | As part of this change, arguments for :class:`.Session`, |
|
6590 | 6590 | :tickets: 8718 |
6591 | 6591 |
|
6592 | 6592 | Fixed issue in new dataclass mapping feature where a column declared on the |
6593 | | - decalrative base / abstract base / mixin would leak into the constructor |
| 6593 | + declarative base / abstract base / mixin would leak into the constructor |
6594 | 6594 | for an inheriting subclass under some circumstances. |
6595 | 6595 |
|
6596 | 6596 | .. change:: |
|
6746 | 6746 | being mentioned in other parts of the query. If other elements of the |
6747 | 6747 | :class:`_sql.Select` also generate FROM clauses, such as the columns clause |
6748 | 6748 | or WHERE clause, these will render after the clauses delivered by |
6749 | | - :meth:`_sql.Select.select_from` assuming they were not explictly passed to |
| 6749 | + :meth:`_sql.Select.select_from` assuming they were not explicitly passed to |
6750 | 6750 | :meth:`_sql.Select.select_from` also. This improvement is useful in those |
6751 | 6751 | cases where a particular database generates a desirable query plan based on |
6752 | 6752 | a particular ordering of FROM clauses and allows full control over the |
|
7233 | 7233 | visible in messaging as well as typing, have been changed to more succinct |
7234 | 7234 | names which also match the name of their constructing function (with |
7235 | 7235 | different casing), in all cases maintaining aliases to the old names for |
7236 | | - the forseeable future: |
| 7236 | + the foreseeable future: |
7237 | 7237 |
|
7238 | 7238 | * :class:`_orm.RelationshipProperty` becomes an alias for the primary name |
7239 | 7239 | :class:`_orm.Relationship`, which is constructed as always from the |
|
0 commit comments