]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
fix typos (#13038)
authorFardin Alizadeh <138363668+fardyn@users.noreply.github.com>
Thu, 18 Dec 2025 20:18:42 +0000 (23:48 +0330)
committerGitHub <noreply@github.com>
Thu, 18 Dec 2025 20:18:42 +0000 (21:18 +0100)
* fix typos

* fix typos

---------

Co-authored-by: fardyn <fa.alizadeh@pm.me>
61 files changed:
doc/build/changelog/changelog_09.rst
doc/build/changelog/changelog_14.rst
doc/build/changelog/changelog_20.rst
doc/build/changelog/migration_20.rst
doc/build/changelog/unreleased_21/10821.rst
doc/build/changelog/unreleased_21/11349.rst
doc/build/changelog/unreleased_21/12195.rst
doc/build/changelog/unreleased_21/7066.rst
doc/build/changelog/unreleased_21/8047.rst
doc/build/orm/basic_relationships.rst
doc/build/orm/declarative_tables.rst
doc/build/texinputs/sphinx.sty
lib/sqlalchemy/connectors/asyncio.py
lib/sqlalchemy/dialects/oracle/oracledb.py
lib/sqlalchemy/dialects/oracle/types.py
lib/sqlalchemy/dialects/oracle/vector.py
lib/sqlalchemy/dialects/postgresql/asyncpg.py
lib/sqlalchemy/dialects/postgresql/base.py
lib/sqlalchemy/dialects/sqlite/base.py
lib/sqlalchemy/engine/cursor.py
lib/sqlalchemy/ext/associationproxy.py
lib/sqlalchemy/ext/asyncio/base.py
lib/sqlalchemy/ext/horizontal_shard.py
lib/sqlalchemy/ext/hybrid.py
lib/sqlalchemy/orm/bulk_persistence.py
lib/sqlalchemy/orm/decl_api.py
lib/sqlalchemy/orm/descriptor_props.py
lib/sqlalchemy/orm/events.py
lib/sqlalchemy/orm/interfaces.py
lib/sqlalchemy/orm/mapper.py
lib/sqlalchemy/orm/session.py
lib/sqlalchemy/orm/state_changes.py
lib/sqlalchemy/pool/base.py
lib/sqlalchemy/sql/compiler.py
lib/sqlalchemy/sql/ddl.py
lib/sqlalchemy/sql/dml.py
lib/sqlalchemy/sql/elements.py
lib/sqlalchemy/sql/schema.py
lib/sqlalchemy/sql/sqltypes.py
lib/sqlalchemy/sql/visitors.py
lib/sqlalchemy/testing/plugin/plugin_base.py
test/aaa_profiling/test_threading.py
test/dialect/oracle/test_types.py
test/dialect/postgresql/test_compiler.py
test/dialect/postgresql/test_dialect.py
test/dialect/postgresql/test_query.py
test/ext/test_associationproxy.py
test/orm/declarative/test_abs_import_only.py
test/orm/declarative/test_tm_future_annotations.py
test/orm/inheritance/test_concrete.py
test/orm/test_attributes.py
test/orm/test_default_strategies.py
test/orm/test_mapper.py
test/sql/test_compiler.py
test/sql/test_cte.py
test/sql/test_external_traversal.py
test/sql/test_insert.py
test/sql/test_insert_exec.py
test/sql/test_operators.py
test/typing/plain_files/sql/core_ddl.py
tools/toxnox.py

index d00e043326e8d4899b2891f73f564ab515f5d018..992188a69d740bea4bd54baae3d7407eb3a427e8 100644 (file)
@@ -76,7 +76,7 @@
         Fixed bug where when using extended attribute instrumentation system,
         the correct exception would not be raised when :func:`.class_mapper`
         were called with an invalid input that also happened to not
-        be weak referencable, such as an integer.
+        be weak referenceable, such as an integer.
 
     .. change::
         :tags: bug, tests, pypy
index 7675e734f698008519256deb4ba0dd6953455f63..5cdb6ec7b467121054dc6c6012d00497f8ccd97e 100644 (file)
@@ -6691,7 +6691,7 @@ This document details individual issue-level changes made throughout
         :tickets: 5735
 
         Improved the unit of work topological sorting system such that the
-        toplogical sort is now deterministic based on the sorting of the input set,
+        topological sort is now deterministic based on the sorting of the input set,
         which itself is now sorted at the level of mappers, so that the same inputs
         of affected mappers should produce the same output every time, among
         mappers / tables that don't have any dependency on each other. This further
@@ -7946,7 +7946,7 @@ This document details individual issue-level changes made throughout
         The bulk update and delete methods :meth:`.Query.update` and
         :meth:`.Query.delete`, as well as their 2.0-style counterparts, now make
         use of RETURNING when the "fetch" strategy is used in order to fetch the
-        list of affected primary key identites, rather than emitting a separate
+        list of affected primary key identities, rather than emitting a separate
         SELECT, when the backend in use supports RETURNING.  Additionally, the
         "fetch" strategy will in ordinary cases not expire the attributes that have
         been updated, and will instead apply the updated values directly in the
index 6bc4c1b12130edff8e326feb3274e14b00d98d16..a091b0e7439947a4b44e5f5b9c375d4b1405d84e 100644 (file)
         :tags: bug, postgresql
         :tickets: 12728
 
-        Re-raise catched ``CancelledError`` in the terminate method of the
+        Re-raise caught ``CancelledError`` in the terminate method of the
         asyncpg dialect to avoid possible hangs of the code execution.
 
 
         into a SQL expression in a boolean context, for programs where future
         annotations mode was not enabled.  This case is now handled explicitly and
         a new error message has also been tailored for this case.  In addition, as
-        there are at least half a dozen distinct error scenarios for intepretation
+        there are at least half a dozen distinct error scenarios for interpretation
         of the :class:`.Mapped` construct, these scenarios have all been unified
         under a new subclass of :class:`.ArgumentError` called
         :class:`.MappedAnnotationError`, to provide some continuity between these
         ``connection.transaction()`` call sent to asyncpg sends ``None`` for
         ``isolation_level`` if not otherwise set in the SQLAlchemy dialect/wrapper,
         thereby allowing asyncpg to make use of the server level setting for
-        ``isolation_level`` in the absense of a client-level setting. Previously,
+        ``isolation_level`` in the absence of a client-level setting. Previously,
         this behavior of asyncpg was blocked by a hardcoded ``read_committed``.
 
     .. change::
         versioned table needs to default to the most recent version number in the
         history table on INSERT, to suit the use case of a table where rows are
         deleted, and can then be replaced by new rows that re-use the same primary
-        key identity.  This fix adds an additonal SELECT query per INSERT in the
+        key identity.  This fix adds an additional SELECT query per INSERT in the
         main table, which may be inefficient; for cases where primary keys are not
         re-used, the default function may be omitted.  Patch courtesy  Philipp H.
         v. Loewenfeld.
 
         Fixed internal typing issues to establish compatibility with mypy 1.11.0.
         Note that this does not include issues which have arisen with the
-        deprecated mypy plugin used by SQLAlchemy 1.4-style code; see the addiional
+        deprecated mypy plugin used by SQLAlchemy 1.4-style code; see the additional
         change note for this plugin indicating revised compatibility.
 
 .. changelog::
         :tickets: 11306
 
         Fixed issue in cursor handling which affected handling of duplicate
-        :class:`_sql.Column` or similar objcts in the columns clause of
-        :func:`_sql.select`, both in combination with arbitary :func:`_sql.text()`
+        :class:`_sql.Column` or similar objects in the columns clause of
+        :func:`_sql.select`, both in combination with arbitrary :func:`_sql.text()`
         clauses in the SELECT list, as well as when attempting to retrieve
         :meth:`_engine.Result.mappings` for the object, which would lead to an
         internal error.
 
         Fixed issue in :ref:`engine_insertmanyvalues` feature where using a primary
         key column with an "inline execute" default generator such as an explicit
-        :class:`.Sequence` with an explcit schema name, while at the same time
+        :class:`.Sequence` with an explicit schema name, while at the same time
         using the
         :paramref:`_engine.Connection.execution_options.schema_translate_map`
         feature would fail to render the sequence or the parameters properly,
         "Can't match sentinel values in result set to parameter sets".  Rather than
         attempt to further explain and document this implementation detail of the
         "insertmanyvalues" feature including a public version of the new
-        method, the approach is intead revised to no longer need this extra
+        method, the approach is instead revised to no longer need this extra
         conversion step, and the logic that does the comparison now works on the
         pre-converted bound parameter value compared to the post-result-processed
         value, which should always be of a matching datatype.  In the unusual case
 
         Fixed regression from version 2.0.28 caused by the fix for :ticket:`11085`
         where the newer method of adjusting post-cache bound parameter values would
-        interefere with the implementation for the :func:`_orm.subqueryload` loader
+        interfere with the implementation for the :func:`_orm.subqueryload` loader
         option, which has some more legacy patterns in use internally, when
         the additional loader criteria feature were used with this loader option.
 
         parameter for new style bulk ORM inserts, allowing ``render_nulls=True`` as
         an execution option.   This allows for bulk ORM inserts with a mixture of
         ``None`` values in the parameter dictionaries to use a single batch of rows
-        for a given set of dicationary keys, rather than breaking up into batches
+        for a given set of dictionary keys, rather than breaking up into batches
         that omit the NULL columns from each INSERT.
 
         .. seealso::
         However, mariadb-connector does not support invoking ``cursor.rowcount``
         after the cursor itself is closed, raising an error instead.  Generic test
         support has been added to ensure all backends support the allowing
-        :attr:`.Result.rowcount` to succceed (that is, returning an integer
+        :attr:`.Result.rowcount` to succeed (that is, returning an integer
         value with -1 for "not available") after the result is closed.
 
 
         :class:`.Update` and :class:`.Delete` to not interfere with the target
         "from" object passed to the statement, such as when passing an ORM-mapped
         :class:`_orm.aliased` construct that should be maintained within a phrase
-        like "UPDATE FROM".  Cases like ORM session synchonize using "SELECT"
+        like "UPDATE FROM".  Cases like ORM session synchronize using "SELECT"
         statements such as with MySQL/ MariaDB will still have issues with
         UPDATE/DELETE of this form so it's best to disable synchonize_session when
         using DML statements of this type.
         Fixed regression caused by improvements to PostgreSQL URL parsing in
         :ticket:`10004` where "host" query string arguments that had colons in
         them, to support various third party proxy servers and/or dialects, would
-        not parse correctly as these were evaluted as ``host:port`` combinations.
+        not parse correctly as these were evaluated as ``host:port`` combinations.
         Parsing has been updated to consider a colon as indicating a ``host:port``
         value only if the hostname contains only alphanumeric characters with dots
         or dashes only (e.g. no slashes), followed by exactly one colon followed by
         Fixed issue where the :paramref:`.ColumnOperators.like.escape` and similar
         parameters did not allow an empty string as an argument that would be
         passed through as the "escape" character; this is a supported syntax by
-        PostgreSQL.  Pull requset courtesy Martin Caslavsky.
+        PostgreSQL.  Pull request courtesy Martin Caslavsky.
 
     .. change::
         :tags: bug, orm
         :tickets: 9869
 
-        Improved the argument chacking on the
+        Improved the argument checking on the
         :paramref:`_orm.registry.map_imperatively.local_table` parameter of the
         :meth:`_orm.registry.map_imperatively` method, ensuring only a
         :class:`.Table` or other :class:`.FromClause` is passed, and not an
         :paramref:`_orm.Mapper.primary_key` parameter to be specified within
         ``__mapper_args__`` when using :func:`_orm.mapped_column`. Despite this
         usage being directly in the 2.0 documentation, the :class:`_orm.Mapper` was
-        not accepting the :func:`_orm.mapped_column` construct in this context. Ths
+        not accepting the :func:`_orm.mapped_column` construct in this context. This
         feature was already working for the :paramref:`_orm.Mapper.version_id_col`
         and :paramref:`_orm.Mapper.polymorphic_on` parameters.
 
         Improved the typing for :class:`.sessionmaker` and
         :class:`.async_sessionmaker`, so that the default type of their return value
         will be :class:`.Session` or :class:`.AsyncSession`, without the need to
-        type this explicitly. Previously, Mypy would not automaticaly infer these
+        type this explicitly. Previously, Mypy would not automatically infer these
         return types from its generic base.
 
         As part of this change, arguments for :class:`.Session`,
         :tickets: 8718
 
         Fixed issue in new dataclass mapping feature where a column declared on the
-        decalrative base / abstract base / mixin would leak into the constructor
+        declarative base / abstract base / mixin would leak into the constructor
         for an inheriting subclass under some circumstances.
 
     .. change::
         being mentioned in other parts of the query. If other elements of the
         :class:`_sql.Select` also generate FROM clauses, such as the columns clause
         or WHERE clause, these will render after the clauses delivered by
-        :meth:`_sql.Select.select_from` assuming they were not explictly passed to
+        :meth:`_sql.Select.select_from` assuming they were not explicitly passed to
         :meth:`_sql.Select.select_from` also. This improvement is useful in those
         cases where a particular database generates a desirable query plan based on
         a particular ordering of FROM clauses and allows full control over the
         visible in messaging as well as typing, have been changed to more succinct
         names which also match the name of their constructing function (with
         different casing), in all cases maintaining aliases to the old names for
-        the forseeable future:
+        the foreseeable future:
 
         * :class:`_orm.RelationshipProperty` becomes an alias for the primary name
           :class:`_orm.Relationship`, which is constructed as always from the
index 70dd6c41197b4751c672ad3c88c3365408b3eda1..670daac7ef90934eb7ab4afe148622a0084fb65c 100644 (file)
@@ -2192,7 +2192,7 @@ Therefore the best strategy for migrating from "dynamic" is to **wait until
 the application is fully running on 2.0**, then migrate directly from
 :class:`.AppenderQuery`, which is the collection type used by the "dynamic"
 strategy, to :class:`.WriteOnlyCollection`, which is the collection type
-used by hte "write_only" strategy.
+used by the "write_only" strategy.
 
 Some techniques are available to use ``lazy="dynamic"`` under 1.4 in a more
 "2.0" style however. There are two ways to achieve 2.0 style querying that's in
index 39e732930304e41b3195960245c52da83b5250d0..e7de34e6482428c99c23765b75a8abf94f133d25 100644 (file)
@@ -7,5 +7,5 @@
     type are now deprecated for removal; these two methods along with
     :func:`_postgresql.Any` and :func:`_postgresql.All` have been legacy for
     some time as they are superseded by the :func:`_sql.any_` and
-    :func:`_sql.all_` functions, which feature more intutive use.
+    :func:`_sql.all_` functions, which feature more intuitive use.
 
index 244713e9e3f802d482f0062341206815aa62fc21..cfc252c997668346d265ab9ecd93f1d736b6cb87 100644 (file)
@@ -6,6 +6,6 @@
     interface to correctly raise ``TypeError`` for invalid use of the ``|``,
     ``&``, ``^``, and ``-`` operators, as well as the in-place mutation
     versions of these methods, to match the behavior of standard Python
-    ``set()`` as well as SQLAlchemy ORM's "intstrumented" set implementation.
+    ``set()`` as well as SQLAlchemy ORM's "instrumented" set implementation.
 
 
index f59d331dd6278dac0881121e18f264b2f702241d..5db70a18932ff71a41b578f71b313ac73100d7db 100644 (file)
@@ -12,7 +12,7 @@
     (so-called NewSQL) or other novel styles of database that introduce new
     clauses to these statements.   A new example suite is included which
     illustrates the ``QUALIFY`` SQL construct used by several NewSQL databases
-    which includes a cachable implementation as well as a test suite.
+    which includes a cacheable implementation as well as a test suite.
 
     .. seealso::
 
index 27281b6ba3741c2d1a8f0e54061efa0724eb218b..1e096d0cef5349029ec1a3df4034f5fd1f5518cb 100644 (file)
@@ -6,7 +6,7 @@
     similar statements, via a new statement-only
     :meth:`.ExecutableStatement.params` method which works more efficiently and
     correctly than the previous implementations available from
-    :class:`.ClauseElement`, by assocating the given parameter dictionary with
+    :class:`.ClauseElement`, by associating the given parameter dictionary with
     the statement overall rather than cloning the statement and rewriting its
     bound parameters.  The :meth:`_sql.ClauseElement.params` and
     :meth:`_sql.ClauseElement.unique_params` methods, when called on an object
index 2a7b4e9dc0d19df57d2a607142917c3f27264cfe..f7b6019489588c6ed12f2db64a0006ce4e956f9e 100644 (file)
@@ -7,8 +7,8 @@
     on a common base :class:`.EmulatedDBAPIException`, which is now what's
     available from the :attr:`.StatementException.orig` attribute on a
     SQLAlchemy :class:`.DBAPIError` object.   Within :class:`.EmulatedDBAPIException`
-    and the subclasses in its hiearchy, the original driver-level exception is
-    also now avaliable via the :attr:`.EmulatedDBAPIException.orig` attribute,
+    and the subclasses in its hierarchy, the original driver-level exception is
+    also now available via the :attr:`.EmulatedDBAPIException.orig` attribute,
     and is also available from :class:`.DBAPIError` directly using the
     :attr:`.DBAPIError.driver_exception` attribute.
 
index 97ab85d7cbfd26e27cbca78462d3db34b13b8b87..a0a541fb982583f086baf7f57f08f948872bb888 100644 (file)
@@ -804,10 +804,10 @@ and ``Child.parent_associations -> Association.parent``::
         )
         extra_data: Mapped[Optional[str]]
 
-        # association between Assocation -> Child
+        # association between Association -> Child
         child: Mapped["Child"] = relationship(back_populates="parent_associations")
 
-        # association between Assocation -> Parent
+        # association between Association -> Parent
         parent: Mapped["Parent"] = relationship(back_populates="child_associations")
 
 
index 714fbabfc21674613f6a7dfd4b203de8e4ef409f..3ecb67c4fe2bcd686a6151ceca1ad93aaf14da8e 100644 (file)
@@ -681,7 +681,7 @@ first on the Microsoft SQL Server backend, illustrating the ``NVARCHAR`` datatyp
       PRIMARY KEY (id)
     )
 
-On MySQL, we get a VARCHAR column with an explcit length (required by
+On MySQL, we get a VARCHAR column with an explicit length (required by
 MySQL):
 
 .. sourcecode:: pycon+sql
index 3782b69fabf006d496eeb9660dd2764c9cb5a4a1..5d1b8f4a0b4c77551c28a0368c67556b98461e45 100644 (file)
@@ -42,7 +42,7 @@
 % size more like a typical published manual.
 %\renewcommand{\paperheight}{9in}
 %\renewcommand{\paperwidth}{8.5in}   % typical squarish manual
-%\renewcommand{\paperwidth}{7in}     % O'Reilly ``Programmming Python''
+%\renewcommand{\paperwidth}{7in}     % O'Reilly ``Programming Python''
 
 % For graphicx, check if we are compiling under latex or pdflatex.
 \ifx\pdftexversion\undefined
index 0d565e300a4be09d8f28c0a341886731ab36e6e0..490f44a1bf2c2a82671e34b2eaed7c2ab1310601 100644 (file)
@@ -296,7 +296,7 @@ class AsyncAdapt_dbapi_cursor:
             self._rows = collections.deque(await_(self._cursor.fetchall()))
 
     def setinputsizes(self, *inputsizes: Any) -> None:
-        # NOTE: this is overrridden in aioodbc due to
+        # NOTE: this is overridden in aioodbc due to
         # see https://github.com/aio-libs/aioodbc/issues/451
         # right now
 
index 9804cde2956f39da2093f8ff79774f14552f70d9..25e033bbccaf6591dc8d11175297bdbb736947dd 100644 (file)
@@ -112,7 +112,7 @@ python-oracledb documentation `Oracle Net Services Connection Strings
 For example to use an `Easy Connect string
 <https://download.oracle.com/ocomdocs/global/Oracle-Net-Easy-Connect-Plus.pdf>`_
 with a timeout to prevent connection establishment from hanging if the network
-transport to the database cannot be establishd in 30 seconds, and also setting
+transport to the database cannot be established in 30 seconds, and also setting
 a keep-alive time of 60 seconds to stop idle network connections from being
 terminated by a firewall::
 
index a1cd6f756ec4f39a6c425f5a1701a7f19d4dfe09..d1a2a39afb7b1356d50b90e2397d710a8ca5cb27 100644 (file)
@@ -319,7 +319,7 @@ class ROWID(sqltypes.TypeEngine):
 class _OracleBoolean(sqltypes.Boolean):
 
     def get_dbapi_type(self, dbapi):
-        # this can probably be dbapi.BOOLEAN (including for older verisons),
+        # this can probably be dbapi.BOOLEAN (including for older versions),
         # however sticking with NUMBER to avoid any surprises with older
         # versions or non-bool values
         return dbapi.NUMBER
index 3df2f11e7f85b01b9d6f3aae9160bb58f95c70ab..7ca195e0132601573eb221e1347dc53342b01160 100644 (file)
@@ -133,13 +133,13 @@ class VectorIndexConfig:
     :param distance: Enum value from :class:`.VectorDistanceType`
      specifies the metric for calculating distance between VECTORS.
 
-    :param accuracy: interger. Should be in the range 0 to 100
+    :param accuracy: integer. Should be in the range 0 to 100
      Specifies the accuracy of the nearest neighbor search during
      query execution.
 
     :param parallel: integer. Specifies degree of parallelism.
 
-    :param hnsw_neighbors: interger. Should be in the range 0 to
+    :param hnsw_neighbors: integer. Should be in the range 0 to
      2048. Specifies the number of nearest neighbors considered
      during the search. The attribute :attr:`.VectorIndexConfig.hnsw_neighbors`
      is HNSW index specific.
@@ -272,7 +272,7 @@ class VECTOR(types.TypeEngine):
         """
 
         if dim is not None and not isinstance(dim, int):
-            raise TypeError("dim must be an interger")
+            raise TypeError("dim must be an integer")
         if storage_format is not None and not isinstance(
             storage_format, VectorStorageFormat
         ):
index 65d6076ca4975d916da5ac5f68607b4e7d64cf1a..ae3c9bbdf0156f791db9b0cdf1347a9e548b4cef 100644 (file)
@@ -875,7 +875,7 @@ class AsyncAdapt_asyncpg_connection(
 
     async def _async_ping(self):
         if self._transaction is None and self.isolation_level != "autocommit":
-            # create a tranasction explicitly to support pgbouncer
+            # create a transaction explicitly to support pgbouncer
             # transaction mode.   See #10226
             tr = self._connection.transaction()
             await tr.start()
index fca3defe16759d319dd632f33d42191dd11baa97..80bc93a3d2ac2846a15406b02af0c4afbb387f9b 100644 (file)
@@ -3227,8 +3227,8 @@ class PGInspector(reflection.Inspector):
             * nullable - Indicates if this domain can be ``NULL``.
             * default - The default value of the domain or ``None`` if the
               domain has no default.
-            * constraints - A list of dict wit the constraint defined by this
-              domain. Each element constaints two keys: ``name`` of the
+            * constraints - A list of dict with the constraint defined by this
+              domain. Each element contains two keys: ``name`` of the
               constraint and ``check`` with the constraint text.
 
         :param schema: schema name.  If None, the default schema
@@ -4607,7 +4607,7 @@ class PGDialect(default.DefaultDialect):
                 # a sequential scan of pg_attribute.
                 # The condition in the con_sq subquery is not actually needed
                 # in pg15, but it may be needed in older versions. Keeping it
-                # does not seems to have any inpact in any case.
+                # does not seems to have any impact in any case.
                 con_sq.c.conrelid.in_(bindparam("oids"))
             )
             .subquery("attr")
@@ -5285,7 +5285,7 @@ class PGDialect(default.DefaultDialect):
         default = ReflectionDefaults.unique_constraints
         for table_name, cols, con_name, comment, options in result:
             # ensure a list is created for each table. leave it empty if
-            # the table has no unique cosntraint
+            # the table has no unique constraint
             if con_name is None:
                 uniques[(schema, table_name)] = default()
                 continue
index 77d07882875c06853b44435522558aa5b2ec98bc..fa90d4da8b8698321f8a3faef66aef8af5696b59 100644 (file)
@@ -194,7 +194,7 @@ The implications of legacy transaction mode include:
   of the transaction will not rollback elements that were part of a released
   savepoint.
 
-Legacy transaction mode first existed in order to faciliate working around
+Legacy transaction mode first existed in order to facilitate working around
 SQLite's file locks.  Because SQLite relies upon whole-file locks, it is easy to
 get "database is locked" errors, particularly when newer features like "write
 ahead logging" are disabled.   This is a key reason why ``sqlite3``'s legacy
index 1f1166399674d8cd6d8caffdb33118636d1afbbb..8c770f91635b2d89732afb54acd5c23e83489ce9 100644 (file)
@@ -340,7 +340,7 @@ class CursorResultMetaData(ResultMetaData):
         keymap_by_position = self._keymap_by_result_column_idx
 
         if keymap_by_position is None:
-            # first retrival from cache, this map will not be set up yet,
+            # first retrieval from cache, this map will not be set up yet,
             # initialize lazily
             keymap_by_position = self._keymap_by_result_column_idx = {
                 metadata_entry[MD_RESULT_MAP_INDEX]: metadata_entry
index 721a16791f81276c313df036ade2f58e6f0e97fb..9b3c262adbe171c2cc70c7f271a3ff367aee2730 100644 (file)
@@ -162,7 +162,7 @@ def association_proxy(
       the proxied value to ``None`` should **create** the source object
       if it does not exist, using the creator.  Only applies to scalar
       attributes.  This is mutually exclusive
-      vs. the :paramref:`.assocation_proxy.cascade_scalar_deletes`.
+      vs. the :paramref:`.association_proxy.cascade_scalar_deletes`.
 
       .. versionadded:: 2.0.18
 
@@ -664,7 +664,7 @@ class AssociationProxyInstance(SQLORMOperations[_T]):
         except Exception as err:
             raise exc.InvalidRequestError(
                 f"Association proxy received an unexpected error when "
-                f"trying to retreive attribute "
+                f"trying to retrieve attribute "
                 f'"{target_class.__name__}.{parent.value_attr}" from '
                 f'class "{target_class.__name__}": {err}'
             ) from err
index cc22950a5764e9a569b1b6005dd867e4b16bf89b..ed215ff49c6b8e960c7c272ec1aeb7f828372228 100644 (file)
@@ -193,7 +193,7 @@ class GeneratorStartableContext(StartableContext[_T_co]):
                 # (see PEP 479 for sync generators; async generators also
                 # have this behavior). But do this only if the exception
                 # wrapped
-                # by the RuntimeError is actully Stop(Async)Iteration (see
+                # by the RuntimeError is actually Stop(Async)Iteration (see
                 # issue29692).
                 if (
                     isinstance(value, (StopIteration, StopAsyncIteration))
index 7ada621226cd96448b9f0c70ffc8da4ff2a99179..bad0a5e4cd2d7d02282daa30d3c9c5a0b5ffdcd3 100644 (file)
@@ -16,7 +16,7 @@ the source distribution.
 .. deepalchemy:: The horizontal sharding extension is an advanced feature,
    involving a complex statement -> database interaction as well as
    use of semi-public APIs for non-trivial cases.   Simpler approaches to
-   refering to multiple database "shards", most commonly using a distinct
+   referring to multiple database "shards", most commonly using a distinct
    :class:`_orm.Session` per "shard", should always be considered first
    before using this more complex and less-production-tested system.
 
index e0248917b4cf444a90967d2ed9f66f2a0e587033..84fe41114d902e30da2464cca4c1a0be8f680791 100644 (file)
@@ -546,7 +546,7 @@ in-Python getter/setter methods can treat ``accounts`` as a Python
 list available on ``self``.
 
 .. tip:: The ``User.balance`` getter in the above example accesses the
-   ``self.acccounts`` collection, which will normally be loaded via the
+   ``self.accounts`` collection, which will normally be loaded via the
    :func:`.selectinload` loader strategy configured on the ``User.balance``
    :func:`_orm.relationship`. The default loader strategy when not otherwise
    stated on :func:`_orm.relationship` is :func:`.lazyload`, which emits SQL on
index d661a99f7845420459e71ac9b42345f7eea6e3b1..a608f9a8eaf5a32791e4fa573632a7de709671c0 100644 (file)
@@ -1125,7 +1125,7 @@ class _BulkUDCompileState(_ORMDMLState):
         # call can_use_returning() before invoking the statement and get
         # answer?, why does this go through the whole execute phase using an
         # event?  Answer: because we are integrating with extensions such
-        # as the horizontal sharding extention that "multiplexes" an individual
+        # as the horizontal sharding extension that "multiplexes" an individual
         # statement run through multiple engines, and it uses
         # do_orm_execute() to do that.
 
index 42754bfa6f930435b472e128e450c8c9f87ffc36..4e1c9201a756f2b274ff635583fc686a9a2325f3 100644 (file)
@@ -246,7 +246,7 @@ class _declared_attr_common:
         cascading: bool = False,
         quiet: bool = False,
     ):
-        # suppport
+        # support
         # @declared_attr
         # @classmethod
         # def foo(cls) -> Mapped[thing]:
@@ -707,7 +707,7 @@ class DeclarativeBase(
     :param metadata: optional :class:`_schema.MetaData` collection.
      If a :class:`_orm.registry` is constructed automatically, this
      :class:`_schema.MetaData` collection will be used to construct it.
-     Otherwise, the local :class:`_schema.MetaData` collection will supercede
+     Otherwise, the local :class:`_schema.MetaData` collection will supersede
      that used by an existing :class:`_orm.registry` passed using the
      :paramref:`_orm.DeclarativeBase.registry` parameter.
     :param type_annotation_map: optional type annotation map that will be
index 060d1166c9fe57eaeeed2ff72bb9ad986ea08ac5..27850851f869232ebb44f737503c8acec80df6d3 100644 (file)
@@ -1057,7 +1057,7 @@ class SynonymProperty(DescriptorProperty[_T]):
             if isinstance(attr, attributes.QueryableAttribute):
                 return attr.comparator
             elif isinstance(attr, SQLORMOperations):
-                # assocaition proxy comes here
+                # association proxy comes here
                 return attr
 
             raise sa_exc.InvalidRequestError(
index 1ed32c85a2b7f9fc11290b789e289dcfa5130947..2b1d8c5b2020887cdfff83f70c28d572efd4da44 100644 (file)
@@ -3235,7 +3235,7 @@ class RegistryEvents(event.Events["registry"]):
     :meth:`_orm.RegistryEvents.after_configured`.`.   These events may be
     applied to a :class:`_orm.registry` object as shown in the preceding
     example, as well as to a declarative base class directly, which will
-    automtically locate the registry for the event to be applied::
+    automatically locate the registry for the event to be applied::
 
         from typing import Any
 
index 4edba9db8a8bcb7aadedd8c6ab66a5777c432234..b422055891662d79b0ff05894a8c3433628e30b7 100644 (file)
@@ -180,7 +180,7 @@ class _IntrospectsAnnotations:
         extracted_mapped_annotation: Optional[_AnnotationScanType],
         is_dataclass_field: bool,
     ) -> None:
-        """Perform class-specific initializaton at early declarative scanning
+        """Perform class-specific initialization at early declarative scanning
         time.
 
         .. versionadded:: 2.0
index 370f1a7cc6b5367a57204f999fb7a689ed9cac9c..88542491709e633517479f73302aea25259b265e 100644 (file)
@@ -4340,7 +4340,7 @@ def validates(
      :func:`.validates` usage where only one validator should emit per
      attribute operation.
 
-     .. versionchanged:: 2.0.16 This paramter inadvertently defaulted to
+     .. versionchanged:: 2.0.16 This parameter inadvertently defaulted to
         ``False`` for releases 2.0.0 through 2.0.15.  Its correct default
         of ``True`` is restored in 2.0.16.
 
index 658adbe9230cac730419c213b5575d89ca4e891c..1f1333c3d78fdbcbf789b2345e91473771264b52 100644 (file)
@@ -835,7 +835,7 @@ class SessionTransactionOrigin(Enum):
     """transaction were started by calling :meth:`_orm.Session.begin`"""
 
     BEGIN_NESTED = 2
-    """tranaction were started by :meth:`_orm.Session.begin_nested`"""
+    """transaction were started by :meth:`_orm.Session.begin_nested`"""
 
     SUBTRANSACTION = 3
     """transaction is an internal "subtransaction" """
index c39fbaf90a28d30f8acb3a4f3458d5a09bc4e78e..4581a6a006eb84bfc4b5193a1fa068aab2b4c213 100644 (file)
@@ -80,7 +80,7 @@ class _StateChange:
          indicate state should not change at the end of the method.
 
         """
-        assert prerequisite_states, "no prequisite states sent"
+        assert prerequisite_states, "no prerequisite states sent"
         has_prerequisite_states = (
             prerequisite_states is not _StateChangeStates.ANY
         )
index 5e73ccd9c9e72544d6c5dbb9e6f1eff1201cb44f..724187892981a41aa519478b95ccad82c7b0fd25 100644 (file)
@@ -597,7 +597,7 @@ class ConnectionPoolEntry(ManagesConnection):
     connection on behalf of a :class:`_pool.Pool` instance.
 
     The :class:`.ConnectionPoolEntry` object represents the long term
-    maintainance of a particular connection for a pool, including expiring or
+    maintenance of a particular connection for a pool, including expiring or
     invalidating that connection to have it replaced with a new one, which will
     continue to be maintained by that same :class:`.ConnectionPoolEntry`
     instance. Compared to :class:`.PoolProxiedConnection`, which is the
index ab507997bb72fc56d6cfb6717e318d47d5d09190..67a28b6601f6b7feacd62186398bce58d1636aaa 100644 (file)
@@ -4811,7 +4811,7 @@ class SQLCompiler(Compiled):
                 )
             elif (
                 # general class of expressions that don't have a SQL-column
-                # addressible name.  includes scalar selects, bind parameters,
+                # addressable name.  includes scalar selects, bind parameters,
                 # SQL functions, others
                 not isinstance(column, elements.NamedColumn)
                 # deeper check that indicates there's no natural "name" to
@@ -6131,7 +6131,7 @@ class SQLCompiler(Compiled):
                 self.implicit_returning or insert_stmt._returning
             ) and insert_stmt._sort_by_parameter_order:
                 raise exc.CompileError(
-                    "RETURNING cannot be determinstically sorted when "
+                    "RETURNING cannot be deterministically sorted when "
                     "using an INSERT which includes multi-row values()."
                 )
             crud_params_single = crud_params_struct.single_params
index 3f6cc74a34f8aa9799a8c98cb3eabae8183e4db1..2ede92aa746f68f8da4bb869374e35b3025ad225 100644 (file)
@@ -758,7 +758,7 @@ class CreateView(DialectKWArgs, _TableViaSelect):
     of the view is based on the columns of the SELECT statement, and the data
     present in the view is derived from the rows represented by the
     SELECT.  A non-materialized view will evaluate the SELECT statement
-    dynamicaly as it is queried, whereas a materialized view represents a
+    dynamically as it is queried, whereas a materialized view represents a
     snapshot of the SELECT statement at a particular point in time and
     typically needs to be refreshed manually using database-specific commands.
 
index 590d54db2e625634cda3bbcf6d4cd34800de86b1..b843f56bb0c5496ff6643dbe14850fbf129e9f88 100644 (file)
@@ -497,7 +497,7 @@ class UpdateBase(
 
             The :meth:`.UpdateBase.return_defaults` method is used by the ORM
             for its internal work in fetching newly generated primary key
-            and server default values, in particular to provide the underyling
+            and server default values, in particular to provide the underlying
             implementation of the :paramref:`_orm.Mapper.eager_defaults`
             ORM feature as well as to allow RETURNING support with bulk
             ORM inserts.  Its behavior is fairly idiosyncratic
index 0b97df18c7221b3652dec58cb4f19c36580d7b86..a43981152fb6e5df9383e3efaf1375d168f1f478 100644 (file)
@@ -1127,7 +1127,7 @@ class SQLCoreOperations(Generic[_T_co], ColumnOperators, TypingOnly):
         def all_(self) -> CollectionAggregate[Any]: ...
 
         # numeric overloads.  These need more tweaking
-        # in particular they all need to have a variant for Optiona[_T]
+        # in particular they all need to have a variant for Optional[_T]
         # because Optional only applies to the data side, not the expression
         # side
 
index 7a9a5f8555c4d6d1c037d9f3f8564f5544109dc1..8d5a53a7d7b2bee3376acb2cab89d460f30d4233 100644 (file)
@@ -1755,7 +1755,7 @@ class Column(DialectKWArgs, SchemaItem, ColumnClause[_T]):
             ``SERIAL``, MySQL ``AUTO_INCREMENT``, or ``IDENTITY`` on SQL Server
             should also be rendered.  Not every database backend has an
             "implied" default generator available; for example the Oracle Database
-            backends alway needs an explicit construct such as
+            backends always needs an explicit construct such as
             :class:`.Identity` to be included with a :class:`.Column` in order
             for the DDL rendered to include auto-generating constructs to also
             be produced in the database.
@@ -3875,7 +3875,7 @@ class IdentityOptions(DialectKWArgs):
             if "oracle_order" in dialect_kw:
                 raise exc.ArgumentError(
                     "Cannot specify both 'order' and 'oracle_order'. "
-                    "Plese use only 'oracle_order'."
+                    "Please use only 'oracle_order'."
                 )
             dialect_kw["oracle_order"] = order
         self._validate_dialect_kwargs(dialect_kw)
@@ -6485,7 +6485,7 @@ class Identity(IdentityOptions, FetchedValue, SchemaItem):
             if "oracle_on_null" in dialect_kw:
                 raise exc.ArgumentError(
                     "Cannot specify both 'on_null' and 'oracle_on_null'. "
-                    "Plese use only 'oracle_on_null'."
+                    "Please use only 'oracle_on_null'."
                 )
             dialect_kw["oracle_on_null"] = on_null
 
index e42eacfdeddaf4b47d24be762825cd6114f173a7..c21eb68ff946d998e87481b09882d9cb74dbbb7a 100644 (file)
@@ -1828,7 +1828,7 @@ class Enum(String, SchemaType, Emulated, TypeEngine[Union[str, enum.Enum]]):
 
     def _object_value_for_elem(self, elem: str) -> Union[str, enum.Enum]:
         try:
-            # Value will not be None beacuse key is not None
+            # Value will not be None because key is not None
             return self._object_lookup[elem]  # type: ignore[return-value]
         except KeyError as err:
             raise LookupError(
index 396b06b21d9a0c27e2798e81e3d7e7f8b85ed34e..f99a0b8cfe93f8ba874b44437383526ad18ae177 100644 (file)
@@ -433,7 +433,7 @@ class HasTraverseInternals:
     which defines all kinds of ways of traversing the elements of an object.
 
     Compared to :class:`.Visitable`, which relies upon an external visitor to
-    define how the object is travered (i.e. the :class:`.SQLCompiler`), the
+    define how the object is traversed (i.e. the :class:`.SQLCompiler`), the
     :class:`.HasTraverseInternals` interface allows classes to define their own
     traversal, that is, what attributes are accessed and in what order.
 
index fb534d5e1a19921666fb92bfd79fc86617b3dcdf..d815f8936e83a493afff82bbf639135347c1c33f 100644 (file)
@@ -110,7 +110,7 @@ def setup_options(make_option):
     make_option(
         "--disable-asyncio",
         action="store_true",
-        help="disable test / fixtures / provisoning running in asyncio",
+        help="disable test / fixtures / provisioning running in asyncio",
     )
     make_option(
         "--backend-only",
index 9aecdfdd4657c412cade23ae1d4498829c6eb53b..b5240b9bb954dec1789f805f5b3703ca68862c52 100644 (file)
@@ -144,7 +144,7 @@ class EngineThreadSafetyTest(_ThreadTest, fixtures.TablesTest):
             table_key = thread_name
             assert table_key in metadata.tables, f"{table_key} does not exist"
             with num_threads_engine.connect() as conn:
-                # Will raise if it cannot connect so erros will be populated
+                # Will raise if it cannot connect so errors will be populated
                 conn.execute(sa.select(metadata.tables[table_key]))
 
         _, errors = self.run_threaded(worker)
index 4b28422a0b483d9cba76d9e8e2fcfc5aa9dcbfad..33db8cee75472b4cc428f08dc1111ecaa4ba6ca4 100644 (file)
@@ -1115,7 +1115,7 @@ class TypesTest(fixtures.TestBase):
             Column(
                 "embedding",
                 # can't specify dementions in the free version of oracle
-                # since otherwise it complains that has no spece for the index
+                # since otherwise it complains that has no space for the index
                 VECTOR(),
                 # VECTOR(dim=3, storage_format=VectorStorageFormat.FLOAT32),
             ),
index 8de98e78e32399592660b82453ef93bcfc279bbe..cb240a74a57a18cfdb702ad24c87c2da5dadc105 100644 (file)
@@ -4310,7 +4310,7 @@ class DistinctOnTest(
             "Can't resolve label reference for.* expression 'not a"
             " label' should be explicitly",
         ):
-            self.assert_compile(stmt, "ingored")
+            self.assert_compile(stmt, "ignored")
 
     def test_distinct_on_ext_with_legacy_distinct(self):
         with (
index 109101011fc865f1885583ca04e7713242a11df5..16f29d92f5b0efe7b4368111282188879c480b08 100644 (file)
@@ -156,7 +156,7 @@ class DialectTest(fixtures.TestBase):
         eq_(groups, expected)
 
     def test_range_constructor(self):
-        """test kwonly argments in the range constructor, as we had
+        """test kwonly arguments in the range constructor, as we had
         to do dataclasses backwards compat operations"""
 
         r1 = Range(None, 5)
index f2d38e3a89eb02d956f4bf1718c42512330991d9..49e9aa9d2092620ca7377bd8161e9af54fed2a7f 100644 (file)
@@ -187,7 +187,7 @@ class InsertTest(fixtures.TestBase, AssertsExecutionResults):
         PostgreSQL dialect right now.   MSSQL would also use it for a server
         side function that produces monotonic values, but we have no support
         for that outside of sequence next right now, where SQL Server doesn't
-        support invokving the sequence outside of the VALUES tuples.
+        support invoking the sequence outside of the VALUES tuples.
 
         """
 
index 778b78f14063a0698ded3a37a7c4106bbd57208f..3b23aebdf7f1d6979e8778aa5cd1e18c3f338df3 100644 (file)
@@ -3618,7 +3618,7 @@ class ProxyHybridTest(fixtures.DeclarativeMappedTest, AssertsCompiledSQL):
         with expect_raises_message(
             exc.InvalidRequestError,
             "Association proxy received an unexpected error when trying to "
-            'retreive attribute "B.fails_on_class_access" from '
+            'retrieve attribute "B.fails_on_class_access" from '
             r'class "B": .* no len\(\)',
         ):
             a1.fails_on_class_access
index 287240575c8e274145aab9a3eafde579b37bd89e..616f924ad53f086d0d905b344259879a78c6feee 100644 (file)
@@ -52,7 +52,7 @@ class MappedColumnTest(
         "construct", ["Mapped", "WriteOnlyMapped", "DynamicMapped"]
     )
     def test_fully_qualified_writeonly_mapped_name(self, decl_base, construct):
-        """futher variation in issue #10412"""
+        """further variation in issue #10412"""
 
         class Foo(decl_base):
             __tablename__ = "foo"
index 9b0d4f334bc986a63c854cfe0e901487c875a712..462aec89764e52f535e9c23e75fbd068780d657c 100644 (file)
@@ -526,7 +526,7 @@ class RelationshipLHSTest(_RelationshipLHSTest):
     def test_indirect_name_relationship_arg_override(self, decl_base):
         """test #8759
 
-        in this test we assume a case where the type for the Mapped annnotation
+        in this test we assume a case where the type for the Mapped annotation
         a. has to be a different name than the actual class name and
         b. cannot be imported outside of TYPE CHECKING.  user will then put
         the real name inside of relationship().  we have to succeed even though
index 208f8d78873e76bdcba55088e69811e717153920..943aebae923866ae70505d59965e3d21a12e1130 100644 (file)
@@ -1680,7 +1680,7 @@ class AdaptOnNamesTest(
                 # tip: whether or not there is "id_2" and "id_3" here,
                 # or just "id_2", is based on whether or not the two
                 # queries had polymorphic adaption proceed, so that the
-                # two filter criterias are different vs. the same object.  see
+                # two filter criteria are different vs. the same object.  see
                 # mapper._should_select_with_poly_adapter added in #8456.
                 [{"param_1": "a", "id_2": 3, "param_2": "b", "id_3": 3}],
             )
index c70df6a583262c265a63d3fb7475937f9f54c1e1..bce3667e4bb2cb93f500c398b773f23009e5dbde 100644 (file)
@@ -312,7 +312,7 @@ class AttributesTest(fixtures.ORMTest):
         o4 = pickle.loads(pk_o3)
 
         # and lastly make sure we still have our data after all that.
-        # identical serialzation is great, *if* it's complete :)
+        # identical serialization is great, *if* it's complete :)
         self.assert_(o4.user_id == 7)
         self.assert_(o4.user_name is None)
         self.assert_(o4.email_address is None)
index c1989d1f69c65bda87ce828a344d99e453d86e0f..baa23d33869204a755e0d93d816beec6489f45ef 100644 (file)
@@ -644,7 +644,7 @@ class Issue11292Test(fixtures.DeclarativeMappedTest):
         session = fixture_session()
 
         # here, we want the defaultload() to go away on subsequent loads,
-        # becuase Parent.extension is propagate_to_loaders=False
+        # because Parent.extension is propagate_to_loaders=False
         query = (
             select(Parent)
             .join(Extension)
@@ -684,7 +684,7 @@ class Issue11292Test(fixtures.DeclarativeMappedTest):
         session = fixture_session()
 
         # here, we want the defaultload() to go away on subsequent loads,
-        # becuase Parent.extension is propagate_to_loaders=False
+        # because Parent.extension is propagate_to_loaders=False
         query = select(Parent).options(
             (
                 defaultload(Parent.extension).options(
index c97bc4e79a6debd0da152da0cff0dbd5a6e65ec8..6343aad7b66a4c3ae08c2a79e9cc53a2e60d45c5 100644 (file)
@@ -1248,7 +1248,7 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
         """test ultimately from #2316 revised for #8064.
 
         previously column_property() would deannotate the given expression,
-        however this interfered with some compilation sceanrios.
+        however this interfered with some compilation scenarios.
 
 
         """
@@ -2118,7 +2118,7 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
 
     def test_synonym_nonexistent_attr(self):
         # test [ticket:4767].
-        # synonym points to non-existent attrbute that hasn't been mapped yet.
+        # synonym points to non-existent attribute that hasn't been mapped yet.
         users = self.tables.users
 
         class User:
index 3004e4801dde331156489a9699d2fed3fc5aaa04..6d4596e46cea818a551a824a86f085e91a1e4688 100644 (file)
@@ -1727,7 +1727,7 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
     )
     def test_order_by_labels_enabled(self, operator, expected):
         """test positive cases with order_by_labels enabled.  this is
-        multipled out to all the ORDER BY modifier operators
+        multiplied out to all the ORDER BY modifier operators
         (see #11592)
 
 
@@ -3132,13 +3132,13 @@ class SelectTest(fixtures.TestBase, AssertsCompiledSQL):
         )
 
         # this tests that _from_objects
-        # concantenates OK
+        # concatenates OK
         self.assert_compile(
             select(column("x") + over(func.foo())),
             "SELECT x + foo() OVER () AS anon_1",
         )
 
-        # test a reference to a label that in the referecned selectable;
+        # test a reference to a label that in the referenced selectable;
         # this resolves
         expr = (table1.c.myid + 5).label("sum")
         stmt = select(expr).alias()
index f3f13e91346852f51efd4ac68c2c104d08bcb91c..62e5b0030b2e2b012ebd108ed0d2105087737c4e 100644 (file)
@@ -505,7 +505,7 @@ class CTETest(fixtures.TestBase, AssertsCompiledSQL):
                 c2 = c2.union(select(2))
         elif clone_type.annotated:
             # this does not seem to trigger the issue that was fixed in
-            # #12364 howver is still a worthy test
+            # #12364 however is still a worthy test
             c2 = c1._annotate({"foo": "bar"})
             if not identical:
                 c2 = c2.union(select(2))
index c866df3c05bd7b02603bf3afa839fa72c515d3e2..a2700e7734111400a7a54c0aa9ebf0a5f88ea740 100644 (file)
@@ -2827,7 +2827,7 @@ class ValuesBaseTest(fixtures.TestBase, AssertsCompiledSQL):
 
     __dialect__ = "default"
 
-    # fixme: consolidate converage from elsewhere here and expand
+    # fixme: consolidate converge from elsewhere here and expand
 
     @classmethod
     def setup_test_class(cls):
index 6724d57a10f12b256e72a458b9fbc246684fe4c5..eccb9d8ea217c35a96995f147b3850c042bf9aec 100644 (file)
@@ -135,7 +135,7 @@ class InsertTest(_InsertTestBase, fixtures.TablesTest, AssertsCompiledSQL):
             if sort_by_parameter_order:
                 with expect_raises_message(
                     exc.CompileError,
-                    "RETURNING cannot be determinstically sorted "
+                    "RETURNING cannot be deterministically sorted "
                     "when using an INSERT",
                 ):
                     stmt.compile()
index 6252ad55067ef7cf9735c6743af1e5062d2fdb2d..d9476aec40e0fa4de66c85d9a7645f21b9c711d5 100644 (file)
@@ -926,7 +926,7 @@ class InsertManyValuesTest(fixtures.RemovesEvents, fixtures.TablesTest):
 
     @testing.requires.provisioned_upsert
     def test_upsert_w_returning(self, connection):
-        """test cases that will execise SQL similar to that of
+        """test cases that will exercise SQL similar to that of
         test/orm/dml/test_bulk_statements.py
 
         """
index 168e5fce6ae04e6ad1d536ad0c4f8731f1761af5..91d3a3de4e45bcef711275d89b5ad33dd0525f55 100644 (file)
@@ -1058,7 +1058,7 @@ class ExtensionOperatorTest(fixtures.TestBase, testing.AssertsCompiledSQL):
         (operators.getitem, OperatorClass.INDEXABLE),
     )
     def test_not_implemented_operators(self, op, operator_class):
-        """test operators that are availble but not implemented by default.
+        """test operators that are available but not implemented by default.
 
         this might be semantically different from the operator not being
         present in the operator class though the effect is the same (that is,
index 549375d0af264708aed672c9a1b2c1dd72bebc0f..03d827ea7efd163f18495cf9f44ae92f95a23ffd 100644 (file)
@@ -58,7 +58,7 @@ t4 = Table(
 
 # cols w/ no name or type, used by declarative
 c1: Column[int] = Column(ForeignKey(t3.c.x))
-# more colum args
+# more column args
 Column("name", Integer, index=True)
 Column(None, name="name")
 Column(Integer, name="name", index=True)
index 295627a49c638dbc753c4c155f2a6a3f5b1b155d..2bdcebd301a144ffcc1691edb09c5525f36c23c0 100644 (file)
@@ -2,7 +2,7 @@
 sections for nox tests, which include tags that indicate various combinations
 of those parameters in such a way that it's somewhat similar to how
 we were using the tox project; where individual dash-separated tags could
-be added to add more specificity to the suite configuation, or omitting them
+be added to add more specificity to the suite configuration, or omitting them
 would fall back to defaults.