]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
ensure links render properly in the docs
authorFederico Caselli <cfederico87@gmail.com>
Thu, 22 Jan 2026 20:56:59 +0000 (21:56 +0100)
committerFederico Caselli <cfederico87@gmail.com>
Thu, 22 Jan 2026 20:56:59 +0000 (21:56 +0100)
Change-Id: Ie4d028d45f3c44e07b36a3d4fe16c9663ebe02ba

doc/build/changelog/changelog_21.rst
doc/build/core/dml.rst
lib/sqlalchemy/sql/dml.py
lib/sqlalchemy/sql/selectable.py

index 59b4e67adc3e60800f9589cfa6d44b6a14f94791..f64174e8d39965dd7adefabf3e14375a60076c0e 100644 (file)
         :tags: typing
         :tickets: 10646
 
-        The default implementation of :attr:`_sql.TypeEngine.python_type` now
+        The default implementation of :attr:`_types.TypeEngine.python_type` now
         returns ``object`` instead of ``NotImplementedError``, since that's the
         base for all types in Python3.
-        The ``python_type`` of :class:`_sql.JSON` no longer returns ``dict``,
+        The ``python_type`` of :class:`_types.JSON` no longer returns ``dict``,
         but instead fallbacks to the generic implementation.
 
     .. change::
         Added support for per-session execution options that are merged into all
         queries executed within that session. The :class:`_orm.Session`,
         :class:`_orm.sessionmaker`, :class:`_orm.scoped_session`,
-        :class:`_ext.asyncio.AsyncSession`, and
-        :class:`_ext.asyncio.async_sessionmaker` constructors now accept an
+        :class:`_asyncio.AsyncSession`, and
+        :class:`_asyncio.async_sessionmaker` constructors now accept an
         :paramref:`_orm.Session.execution_options` parameter that will be applied
         to all explicit query executions (e.g. using :meth:`_orm.Session.execute`,
         :meth:`_orm.Session.get`, :meth:`_orm.Session.scalars`) for that session
         :tags: usecase, sql, orm
         :tickets: 8601
 
-        The :meth:`_sql.Select.filter_by`, :meth:`_sql.Update.filter_by` and
-        :meth:`_sql.Delete.filter_by` methods now search across all entities
+        The :meth:`_sql.Select.filter_by`, :meth:`.Update.filter_by` and
+        :meth:`.Delete.filter_by` methods now search across all entities
         present in the statement, rather than limiting their search to only the
         last joined entity or the first FROM entity. This allows these methods
         to locate attributes unambiguously across multiple joined tables,
index 1724dd6985c613d87daf4a8d87c1fea9a283b0d8..7c7349a92b9f836e9b2d8fb8db1b66b2a44673d1 100644 (file)
@@ -32,6 +32,10 @@ Class documentation for the constructors listed at
 
    .. automethod:: Delete.where
 
+   .. automethod:: Delete.filter
+
+   .. automethod:: Delete.filter_by
+
    .. automethod:: Delete.with_dialect_options
 
    .. automethod:: Delete.returning
@@ -52,6 +56,10 @@ Class documentation for the constructors listed at
 
    .. automethod:: Update.where
 
+   .. automethod:: Update.filter
+
+   .. automethod:: Update.filter_by
+
    .. automethod:: Update.with_dialect_options
 
    .. automethod:: Update.values
index cfca218ebe47a955cab600a36e1d959e029ff0d4..adad1ebda9fbbbe5893b2a3d6c572a93fcbb0b9c 100644 (file)
@@ -1537,7 +1537,7 @@ class DMLWhereBase:
         return self
 
     def filter(self, *criteria: roles.ExpressionElementRole[Any]) -> Self:
-        """A synonym for the :meth:`_dml.DMLWhereBase.where` method.
+        """A synonym for the :meth:`.where` method.
 
         .. versionadded:: 1.4
 
@@ -1569,7 +1569,7 @@ class DMLWhereBase:
 
         .. seealso::
 
-            :meth:`.DMLWhereBase.where` - filter on SQL expressions.
+            :meth:`.where` - filter on SQL expressions.
 
             :meth:`_sql.Select.filter_by`
 
index ba2489f3cef7c037276e9aa51b7ac0e2dab254e1..55101b8e1160e26807f8eec71691aa606503d7e1 100644 (file)
@@ -3216,11 +3216,18 @@ class TableClause(roles.DMLTableRole, Immutable, NamedFromClause):
         self._columns.add(c, index=index)
         c.table = self
 
-    def append_column(self, c: ColumnClause[Any]) -> None:
-        self._insert_col_impl(c)
+    def append_column(self, column: ColumnClause[Any]) -> None:
+        """Append a :class:`.ColumnClause` to this :class:`.TableClause`."""
+        self._insert_col_impl(column)
 
-    def insert_column(self, c: ColumnClause[Any], index: int) -> None:
-        self._insert_col_impl(c, index=index)
+    def insert_column(self, column: ColumnClause[Any], index: int) -> None:
+        """Insert a :class:`.ColumnClause` to this :class:`.TableClause` at
+        a specific position.
+
+        .. versionadded:: 2.1
+
+        """
+        self._insert_col_impl(column, index=index)
 
     @util.preload_module("sqlalchemy.sql.dml")
     def insert(self) -> util.preloaded.sql_dml.Insert: