]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
fix most sphinx warnings
authorMike Bayer <mike_mp@zzzcomputing.com>
Mon, 16 May 2022 14:57:51 +0000 (10:57 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Mon, 16 May 2022 14:57:51 +0000 (10:57 -0400)
still can't figure out the warnings with some of the older
changelog files.

Fixes: #7946
Change-Id: Id657ab23008eed0b133fed65b2f9ea75a626215c

25 files changed:
doc/build/changelog/changelog_06.rst
doc/build/changelog/changelog_08.rst
doc/build/changelog/changelog_09.rst
doc/build/changelog/changelog_11.rst
doc/build/changelog/changelog_12.rst
doc/build/changelog/changelog_13.rst
doc/build/changelog/changelog_14.rst
doc/build/conf.py
doc/build/core/metadata.rst
doc/build/core/reflection.rst
doc/build/dialects/mssql.rst
doc/build/dialects/mysql.rst
doc/build/dialects/postgresql.rst
doc/build/glossary.rst
doc/build/orm/collections.rst
doc/build/orm/contextual.rst
doc/build/orm/internals.rst
doc/build/orm/mapping_styles.rst
doc/build/orm/query.rst
doc/build/orm/queryguide.rst
lib/sqlalchemy/dialects/postgresql/base.py
lib/sqlalchemy/ext/asyncio/session.py
lib/sqlalchemy/sql/schema.py
lib/sqlalchemy/sql/selectable.py
lib/sqlalchemy/util/langhelpers.py

index cd3b32d95b76117786c36d429ac2b58a06028d32..739df36b230dfa4e3f8701c05e637e1a7f14ac75 100644 (file)
@@ -2,6 +2,7 @@
 0.6 Changelog
 =============
 
+
 .. changelog::
     :version: 0.6.9
     :released: Sat May 05 2012
index 4b6b42ec731ecba451d85778a341ba2b968bca01..f6be2e3e19c4e29711bd64704f85e88011cc240b 100644 (file)
@@ -7,6 +7,7 @@
     .. include:: changelog_07.rst
         :start-line: 5
 
+
 .. changelog::
     :version: 0.8.7
     :released: July 22, 2014
index 7ee874e0261c328b48e8225d532a4b02cfd43146..acf1ede92322c0726533db0ef64e57b9de5c1f35 100644 (file)
     .. change::
         :tags: feature, sql
 
-        Added :paramref:`.MetaData.reflect.**dialect_kwargs`
+        Added :paramref:`.MetaData.reflect.dialect_kwargs`
         to support dialect-level reflection options for all :class:`_schema.Table`
         objects reflected.
 
index 1988b69b307c85a0234e380ed5bd5a9d2bb1f309..c84effc3905bc7d2de41c71ace1354bbcf579f58 100644 (file)
@@ -20,7 +20,6 @@
         :start-line: 5
 
 
-
 .. changelog::
     :version: 1.1.18
     :released: March 6, 2018
         :tickets: 3842
 
         Fixed bug where newly added warning for primary key on insert w/o
-        autoincrement setting (see :ref:`change_3216`) would fail to emit
+        autoincrement setting (see :ticket:`3216`) would fail to emit
         correctly when invoked upon a lower-case :func:`.table` construct.
 
     .. change::  3852
index 6dc7d7f88791c0a16d3e78cbb1523490ac41e63c..b5d331e717b7907e93cd23f175b41d0f5adc5140 100644 (file)
        :tickets: 4352
 
        The column conflict resolution technique discussed at
-       :ref:`declarative_column_conflicts` is now functional for a :class:`_schema.Column`
+       :ref:`orm_inheritance_column_conflicts` is now functional for a :class:`_schema.Column`
        that is also a primary key column.  Previously, a check for primary key
        columns declared on a single-inheritance subclass would occur before the
        column copy were allowed to pass.
index 96002c19ee533f2737d8505c8329e04a657b780d..00c67ea3bc887c37e8f22aaa7d6ae528370a049d 100644 (file)
         :tags: usecase, postgresql
         :tickets: 5265
 
-        Added support for columns or type :class:`.ARRAY` of :class:`.Enum`,
-        :class:`.JSON` or :class:`_postgresql.JSONB` in PostgreSQL.
+        Added support for columns or type :class:`_sqltypes.ARRAY` of :class:`.Enum`,
+        :class:`_postgresql.JSON` or :class:`_postgresql.JSONB` in PostgreSQL.
         Previously a workaround was required in these use cases.
 
 
         :tickets: 5266
 
         Raise an explicit :class:`.exc.CompileError` when adding a table with a
-        column of type :class:`.ARRAY` of :class:`.Enum` configured with
+        column of type :class:`_sqltypes.ARRAY` of :class:`.Enum` configured with
         :paramref:`.Enum.native_enum` set to ``False`` when
         :paramref:`.Enum.create_constraint` is not set to ``False``
 
 
             :class:`_types.JSON`
 
-            :meth:`.JSON.Comparator.as_string`
+            :meth:`_sqltypes.JSON.Comparator.as_string`
 
-            :meth:`.JSON.Comparator.as_boolean`
+            :meth:`_sqltypes.JSON.Comparator.as_boolean`
 
-            :meth:`.JSON.Comparator.as_float`
+            :meth:`_sqltypes.JSON.Comparator.as_float`
 
-            :meth:`.JSON.Comparator.as_integer`
+            :meth:`_sqltypes.JSON.Comparator.as_integer`
 
     .. change::
         :tags: usecase, oracle
index d8f57915c53bb778e3192ae3b2f2a3295ca9f88c..82022c929d6db781a94ecfc0ae8ef274ccc7019c 100644 (file)
@@ -34,7 +34,7 @@ This document details individual issue-level changes made throughout
         :tickets: 7936
 
         Fixed regression where the change made for :ticket:`7861`, released in
-        version 1.4.33, that brought the :class:`.Insert` construct to be partially
+        version 1.4.33, that brought the :class:`_sql.Insert` construct to be partially
         recognized as an ORM-enabled statement did not properly transfer the
         correct mapper / mapped table state to the :class:`.Session`, causing the
         :meth:`.Session.get_bind` method to fail for a :class:`.Session` that was
@@ -58,7 +58,7 @@ This document details individual issue-level changes made throughout
         :tags: bug, postgresql
         :tickets: 6515
 
-        Fixed bug in :class:`.ARRAY` datatype in combination with :class:`.Enum` on
+        Fixed bug in :class:`_sqltypes.ARRAY` datatype in combination with :class:`.Enum` on
         PostgreSQL where using the ``.any()`` or ``.all()`` methods to render SQL
         ANY() or ALL(), given members of the Python enumeration as arguments, would
         produce a type adaptation failure on all drivers.
@@ -87,7 +87,7 @@ This document details individual issue-level changes made throughout
         :tickets: 7930
 
         Fixed an issue in the psycopg2 dialect when using the
-        :paramref:`.create_engine.pool_pre_ping` parameter which would cause
+        :paramref:`_sa.create_engine.pool_pre_ping` parameter which would cause
         user-configured ``AUTOCOMMIT`` isolation level to be inadvertently reset by
         the "ping" handler.
 
@@ -105,15 +105,15 @@ This document details individual issue-level changes made throughout
         :tags: bug, engine
         :tickets: 7953
 
-        Added a warning regarding a bug which exists in the :meth:`.Result.columns`
-        method when passing 0 for the index in conjunction with a :class:`.Result`
+        Added a warning regarding a bug which exists in the :meth:`_result.Result.columns`
+        method when passing 0 for the index in conjunction with a :class:`_result.Result`
         that will return a single ORM entity, which indicates that the current
-        behavior of :meth:`.Result.columns` is broken in this case as the
-        :class:`.Result` object will yield scalar values and not :class:`.Row`
+        behavior of :meth:`_result.Result.columns` is broken in this case as the
+        :class:`_result.Result` object will yield scalar values and not :class:`.Row`
         objects. The issue will be fixed in 2.0, which would be a
         backwards-incompatible change for code that relies on the current broken
         behavior. Code which wants to receive a collection of scalar values should
-        use the :meth:`.Result.scalars` method, which will return a new
+        use the :meth:`_result.Result.scalars` method, which will return a new
         :class:`.ScalarResult` object that yields non-row scalar objects.
 
 
@@ -199,7 +199,7 @@ This document details individual issue-level changes made throughout
         :tickets: 7878
 
         Fixed regression caused by :ticket:`7861` where invoking an
-        :class:`.Insert` construct which contained ORM entities directly via
+        :class:`_sql.Insert` construct which contained ORM entities directly via
         :meth:`_orm.Session.execute` would fail.
 
     .. change::
@@ -226,8 +226,8 @@ This document details individual issue-level changes made throughout
         and COMMIT log messages do not actually indicate a real transaction when
         the AUTOCOMMIT isolation level is in use; messaging has been extended to
         include the BEGIN message itself, and the messaging has also been fixed to
-        accommodate when the :class:`.Engine` level
-        :paramref:`.create_engine.isolation_level` parameter was used directly.
+        accommodate when the :class:`_engine.Engine` level
+        :paramref:`_sa.create_engine.isolation_level` parameter was used directly.
 
     .. change::
         :tags: bug, mssql, regression
@@ -314,7 +314,7 @@ This document details individual issue-level changes made throughout
         :tags: usecase, engine
         :tickets: 7877, 7815
 
-        Added new parameter :paramref:`.Engine.dispose.close`, defaulting to True.
+        Added new parameter :paramref:`_engine.Engine.dispose.close`, defaulting to True.
         When False, the engine disposal does not touch the connections in the old
         pool at all, simply dropping the pool and replacing it. This use case is so
         that when the original pool is transferred from a parent process, the
@@ -339,7 +339,7 @@ This document details individual issue-level changes made throughout
 
         Added new attributes :attr:`.UpdateBase.returning_column_descriptions` and
         :attr:`.UpdateBase.entity_description` to allow for inspection of ORM
-        attributes and entities that are installed as part of an :class:`.Insert`,
+        attributes and entities that are installed as part of an :class:`_sql.Insert`,
         :class:`.Update`, or :class:`.Delete` construct. The
         :attr:`.Select.column_descriptions` accessor is also now implemented for
         Core-only selectables.
@@ -1638,15 +1638,15 @@ This document details individual issue-level changes made throughout
         :tags: bug, orm
         :tickets: 7128
 
-        Fixed bug where iterating a :class:`.Result` from a :class:`_orm.Session`
+        Fixed bug where iterating a :class:`_result.Result` from a :class:`_orm.Session`
         after that :class:`_orm.Session` were closed would partially attach objects
         to that session in an essentially invalid state. It now raises an exception
         with a link to new documentation if an **un-buffered** result is iterated
         from a :class:`_orm.Session` that was closed or otherwise had the
-        :meth:`_orm.Session.expunge_all` method called after that :class:`.Result`
+        :meth:`_orm.Session.expunge_all` method called after that :class:`_result.Result`
         was generated. The ``prebuffer_rows`` execution option, as is used
         automatically by the asyncio extension for client-side result sets, may be
-        used to produce a :class:`.Result` where the ORM objects are prebuffered,
+        used to produce a :class:`_result.Result` where the ORM objects are prebuffered,
         and in this case iterating the result will produce a series of detached
         objects.
 
@@ -3484,7 +3484,7 @@ This document details individual issue-level changes made throughout
         :tickets: 6361
 
         Fixed issue where usage of an explicit :class:`.Sequence` would produce
-        inconsistent "inline" behavior for an :class:`.Insert` construct that
+        inconsistent "inline" behavior for an :class:`_sql.Insert` construct that
         includes multiple values phrases; the first seq would be inline but
         subsequent ones would be "pre-execute", leading to inconsistent sequence
         ordering. The sequence expressions are now fully inline.
@@ -4931,7 +4931,7 @@ This document details individual issue-level changes made throughout
         :tags: bug, engine, sqlite
         :tickets: 5845
 
-        Fixed bug in the 2.0 "future" version of :class:`.Engine` where emitting
+        Fixed bug in the 2.0 "future" version of :class:`_engine.Engine` where emitting
         SQL during the :meth:`.EngineEvents.begin` event hook would cause a
         re-entrant (recursive) condition due to autobegin, affecting among other
         things the recipe documented for SQLite to allow for savepoints and
index ee5d37066c48267e328822618cdf8c3c27f8fab6..8567fed0602a429073e05323ae6228352a47195e 100644 (file)
@@ -106,7 +106,7 @@ changelog_render_pullreq = {
 
 changelog_render_changeset = "https://www.sqlalchemy.org/trac/changeset/%s"
 
-exclude_patterns = ["build", "**/unreleased*/*", "*_include.rst"]
+exclude_patterns = ["build", "**/unreleased*/*", "**/*_include.rst"]
 
 # zzzeeksphinx makes these conversions when it is rendering the
 # docstrings classes, methods, and functions within the scope of
index 7c5b7dd668d554219da96b3681a13c42ca54c412..366f165651ba6917b1ee3ea111f4c8d162e98c5a 100644 (file)
@@ -384,7 +384,7 @@ at once, such as::
     :ref:`multipart_schema_names` - describes use of dotted schema names
     with the SQL Server dialect.
 
-    :ref:`schema_table_reflection`
+    :ref:`metadata_reflection_schemas`
 
 
 .. _schema_metadata_schema_name:
index fdcbf8c39706aed83a76927ad78b6cba6fb7a001..d9547344e7bd2bb5db95164965268ef412e42fa9 100644 (file)
@@ -139,7 +139,7 @@ a :class:`_schema.MetaData` object configured with a default schema name
 
     >>> metadata_obj = MetaData(schema="project")
 
-The :method:`.MetaData.reflect` will then utilize that configured ``.schema``
+The :meth:`.MetaData.reflect` will then utilize that configured ``.schema``
 for reflection::
 
     >>> # uses `schema` configured in metadata_obj
index f3060e62f6fcfca3b4cd81cc3569e2e70261defb..7484000dbcc5a4c4344a7ae2c130936c71747c51 100644 (file)
@@ -29,6 +29,10 @@ they originate from :mod:`sqlalchemy.types` or from the local dialect::
 Types which are specific to SQL Server, or have SQL Server-specific
 construction arguments, are as follows:
 
+.. note: where :noindex: is used, indicates a type that is not redefined
+   in the dialect module, just imported from sqltypes.  this avoids warnings
+   in the sphinx build
+
 .. currentmodule:: sqlalchemy.dialects.mssql
 
 .. autoclass:: BIT
@@ -37,6 +41,7 @@ construction arguments, are as follows:
 
 .. autoclass:: CHAR
    :members: __init__
+   :noindex:
 
 
 .. autoclass:: DATETIME2
@@ -61,6 +66,7 @@ construction arguments, are as follows:
 
 .. autoclass:: NCHAR
    :members: __init__
+   :noindex:
 
 
 .. autoclass:: NTEXT
@@ -69,7 +75,7 @@ construction arguments, are as follows:
 
 .. autoclass:: NVARCHAR
    :members: __init__
-
+   :noindex:
 
 .. autoclass:: REAL
    :members: __init__
@@ -91,7 +97,7 @@ construction arguments, are as follows:
 
 .. autoclass:: TEXT
    :members: __init__
-
+   :noindex:
 
 .. autoclass:: TIME
    :members: __init__
@@ -110,9 +116,11 @@ construction arguments, are as follows:
 
 .. autoclass:: VARBINARY
    :members: __init__
+   :noindex:
 
 .. autoclass:: VARCHAR
    :members: __init__
+   :noindex:
 
 
 .. autoclass:: XML
index 9eb7f5a7405cce72a15f92b03db339de868924c0..49dbff71babbc594c0dee090ac9003884b8a66c4 100644 (file)
@@ -29,6 +29,10 @@ valid with MySQL are importable from the top level dialect::
 Types which are specific to MySQL, or have MySQL-specific
 construction arguments, are as follows:
 
+.. note: where :noindex: is used, indicates a type that is not redefined
+   in the dialect module, just imported from sqltypes.  this avoids warnings
+   in the sphinx build
+
 .. currentmodule:: sqlalchemy.dialects.mysql
 
 .. autoclass:: BIGINT
@@ -36,6 +40,7 @@ construction arguments, are as follows:
 
 
 .. autoclass:: BINARY
+    :noindex:
     :members: __init__
 
 
@@ -45,10 +50,12 @@ construction arguments, are as follows:
 
 .. autoclass:: BLOB
     :members: __init__
+    :noindex:
 
 
 .. autoclass:: BOOLEAN
     :members: __init__
+    :noindex:
 
 
 .. autoclass:: CHAR
@@ -57,6 +64,7 @@ construction arguments, are as follows:
 
 .. autoclass:: DATE
     :members: __init__
+    :noindex:
 
 
 .. autoclass:: DATETIME
@@ -131,6 +139,7 @@ construction arguments, are as follows:
 
 .. autoclass:: TEXT
     :members: __init__
+    :noindex:
 
 
 .. autoclass:: TIME
@@ -155,6 +164,7 @@ construction arguments, are as follows:
 
 .. autoclass:: VARBINARY
     :members: __init__
+    :noindex:
 
 
 .. autoclass:: VARCHAR
index 34cdabc1039e89a2640a4dc0580f3d28ec9686f7..1c4b982e0a79330d294abfae6e70f5a56f64a4d2 100644 (file)
@@ -22,6 +22,10 @@ they originate from :mod:`sqlalchemy.types` or from the local dialect::
 Types which are specific to PostgreSQL, or have PostgreSQL-specific
 construction arguments, are as follows:
 
+.. note: where :noindex: is used, indicates a type that is not redefined
+   in the dialect module, just imported from sqltypes.  this avoids warnings
+   in the sphinx build
+
 .. currentmodule:: sqlalchemy.dialects.postgresql
 
 .. autoclass:: aggregate_order_by
@@ -80,6 +84,7 @@ construction arguments, are as follows:
 
 .. autoclass:: REAL
     :members: __init__
+    :noindex:
 
 .. autoclass:: REGCLASS
 
index 2eb7912497fd46145bc30e3df03cffc33ec89f5b..1e6635024146d1580f906184c5370ee0be39b3b9 100644 (file)
@@ -74,6 +74,18 @@ Glossary
             # Session returns a Result that has ORM entities
             list_of_users = result.scalars().all()
 
+    imperative
+    declarative
+
+        In the SQLAlchemy ORM, these terms refer to two different styles of
+        mapping Python classes to database tables.
+
+        .. seealso::
+
+            :ref:`orm_declarative_mapping`
+
+            :ref:`orm_imperative_mapping`
+
     facade
 
         An object that serves as a front-facing interface masking more complex
@@ -1508,3 +1520,11 @@ Glossary
 
             :ref:`session_object_states`
 
+    attached
+        Indicates an ORM object that is presently associated with a specific
+        :term:`Session`.
+
+        .. seealso::
+
+            :ref:`session_object_states`
+
index 31db0b261687a017415d14bd8907032358971ef4..b09281501a5f80e1dc44761474abef8cedde3dc4 100644 (file)
@@ -658,8 +658,6 @@ Various internal methods.
 
 .. autofunction:: bulk_replace
 
-.. autoclass:: collection
-
 .. autodata:: collection_adapter
 
 .. autoclass:: CollectionAdapter
index eafdee427661377467f11c37e9a0fea9c4935b0e..102ea50d8852cf0bbc78658ed9f0f06e8ceecdb6 100644 (file)
@@ -22,7 +22,7 @@ Architecture <https://martinfowler.com/eaaCatalog/registry.html>`_.
 .. warning::
 
     The :class:`.scoped_session` registry by default uses a Python
-    `threading.local() <https://docs.python.org/3/library/threading.html#thread-local-data>`_
+    ``threading.local()``
     in order to track :class:`_orm.Session` instances.   **This is not
     necessarily compatible with all application servers**, particularly those
     which make use of greenlets or other alternative forms of concurrency
index 8520fd07c14cdc5354886464e42222fa46023012..54e0dd59cf98af5b9a6104032c1584e205c33de3 100644 (file)
@@ -16,7 +16,6 @@ sections, are listed here.
 
 .. autoclass:: ClassManager
     :members:
-    :inherited-members:
 
 .. autoclass:: ColumnProperty
     :members:
index c5791b11cfa52fc8cb148c51c25cfd5ab0e2ce21..7c7817aec4d5bcf126326bffb4be258554c0e985 100644 (file)
@@ -194,7 +194,7 @@ Imperative Mapping with Dataclasses and Attrs
 ---------------------------------------------
 
 As described in the section :ref:`orm_declarative_dataclasses`, the
-``@dataclass`` decorator and the attrs_ library both work as class
+``@dataclass`` decorator and the ``attrs`` library both work as class
 decorators that are applied to a class first, before it is passed to
 SQLAlchemy for mapping.   Just like we can use the
 :meth:`_orm.registry.mapped` decorator in order to apply declarative-style
index d7711671cf1fcc02a34417f225a8079ad3802ea4..498679ea9eb30185eff2a153271da0d073b51342 100644 (file)
@@ -43,6 +43,7 @@ ORM-Specific Query Constructs
 
 .. autoclass:: sqlalchemy.orm.Load
     :members:
+    :noindex:
 
 .. autofunction:: sqlalchemy.orm.with_loader_criteria
 
index f6d6ce711c0cc7ce9450900e921befa3fa0d3c4a..d176087a8838a39482fc5360616852fab3d71792 100644 (file)
@@ -1088,8 +1088,8 @@ matching objects locally present in the :class:`_orm.Session`. See the section
 Inspecting entities and columns from ORM-enabled SELECT and DML statements
 ==========================================================================
 
-The :func:`.select` construct, as well as the :func:`.insert`, :func:`.update`
-and :func:`.delete` constructs (for the latter DML constructs, as of SQLAlchemy
+The :func:`_sql.select` construct, as well as the :func:`_sql.insert`, :func:`_sql.update`
+and :func:`_sql.delete` constructs (for the latter DML constructs, as of SQLAlchemy
 1.4.33), all support the ability to inspect the entities in which these
 statements are created against, as well as the columns and datatypes that would
 be returned in a result set.
@@ -1145,7 +1145,7 @@ cases::
    this would raise ``NotImplementedError``.
 
 
-For :func:`.insert`, :func:`.update` and :func:`.delete` constructs, there are
+For :func:`_sql.insert`, :func:`.update` and :func:`.delete` constructs, there are
 two separate attributes. One is :attr:`.UpdateBase.entity_description` which
 returns information about the primary ORM entity and database table which the
 DML construct would be affecting::
index ad2bdf187753f65b4399e8b4b76592889cfde787..92d9e263e87e92724b42e799637d9f9c3c787f8d 100644 (file)
@@ -283,7 +283,7 @@ Remote-Schema Table Introspection and PostgreSQL search_path
     attribute set up.
 
 The PostgreSQL dialect can reflect tables from any schema, as outlined in
-:ref:`schema_table_reflection`.
+:ref:`metadata_reflection_schemas`.
 
 With regards to tables which these :class:`_schema.Table`
 objects refer to via foreign key constraint, a decision must be made as to how
index 53ebbc00978dff3a069bac9fbb352181d374555e..ce6a0db090c7f7b9cf5cccec9760798c0a34d885 100644 (file)
@@ -312,7 +312,9 @@ class AsyncSession(ReversibleProxy):
         **kw
     ):
         """Execute a statement and return a streaming
-        :class:`_asyncio.AsyncResult` object."""
+        :class:`_asyncio.AsyncResult` object.
+
+        """
 
         if execution_options:
             execution_options = util.immutabledict(execution_options).union(
@@ -516,8 +518,8 @@ class AsyncSession(ReversibleProxy):
         This method may also be used to establish execution options for the
         database connection used by the current transaction.
 
-        .. versionadded:: 1.4.24  Added **kw arguments which are passed through
-           to the underlying :meth:`_orm.Session.connection` method.
+        .. versionadded:: 1.4.24  Added \**kw arguments which are passed
+           through to the underlying :meth:`_orm.Session.connection` method.
 
         .. seealso::
 
index aa904fcf5a8c9bdb6d00419de1f8d104ba4dc4ef..322f630c7ddd7b26532371b50f670d14d9ec2405 100644 (file)
@@ -1264,7 +1264,7 @@ class Column(DialectKWArgs, SchemaItem, ColumnClause):
             value automatically for this column, which will be accessible
             after the statement is invoked via the
             :attr:`.CursorResult.inserted_primary_key` attribute upon the
-            :class:`.Result` object.   This also applies towards use of the
+            :class:`_result.Result` object.   This also applies towards use of the
             ORM when ORM-mapped objects are persisted to the database,
             indicating that a new integer primary key will be available to
             become part of the :term:`identity key` for that object.  This
@@ -1311,9 +1311,9 @@ class Column(DialectKWArgs, SchemaItem, ColumnClause):
                 Column('id', ForeignKey('other.id'),
                             primary_key=True, autoincrement='ignore_fk')
 
-            It is typically not desirable to have "autoincrement" enabled on a
-            column that refers to another via foreign key, as such a column is
-            required to refer to a value that originates from elsewhere.
+          It is typically not desirable to have "autoincrement" enabled on a
+          column that refers to another via foreign key, as such a column is
+          required to refer to a value that originates from elsewhere.
 
           The setting has these effects on columns that meet the
           above criteria:
@@ -1351,9 +1351,9 @@ class Column(DialectKWArgs, SchemaItem, ColumnClause):
             using a method specific to the database driver in use:
 
             * MySQL, SQLite - calling upon ``cursor.lastrowid()``
-             (see
-             `https://www.python.org/dev/peps/pep-0249/#lastrowid
-             <https://www.python.org/dev/peps/pep-0249/#lastrowid>`_)
+              (see
+              `https://www.python.org/dev/peps/pep-0249/#lastrowid
+              <https://www.python.org/dev/peps/pep-0249/#lastrowid>`_)
             * PostgreSQL, SQL Server, Oracle - use RETURNING or an equivalent
               construct when rendering an INSERT statement, and then retrieving
               the newly generated primary key values after execution
@@ -1378,7 +1378,6 @@ class Column(DialectKWArgs, SchemaItem, ColumnClause):
             "fast insertmany" feature.  Such features are very new and
             may not yet be well covered in documentation.
 
-
         :param default: A scalar, Python callable, or
             :class:`_expression.ColumnElement` expression representing the
             *default value* for this column, which will be invoked upon insert
index 740085043c39af495bcb4959b43c138bf2c6f7b5..353f37b25400bc25020db921fb2967f2e2e08d28 100644 (file)
@@ -901,7 +901,7 @@ LABEL_STYLE_TABLENAME_PLUS_COL = util.symbol(
 
     Below, all column names are given a label so that the two same-named
     columns ``columna`` are disambiguated as ``table1_columna`` and
-    ``table2_columna`::
+    ``table2_columna``::
 
         >>> from sqlalchemy import table, column, select, true, LABEL_STYLE_TABLENAME_PLUS_COL
         >>> table1 = table("table1", column("columna"), column("columnb"))
index 8d5de1831404d6ef05996e1eea689d7d9f593355..c3636f0aba021f3a1d8a844eb969d0e95a89afa9 100644 (file)
@@ -1167,7 +1167,11 @@ class HasMemoized(object):
         self._memoized_keys |= {key}
 
     class memoized_attribute(object):
-        """A read-only @property that is only evaluated once."""
+        """A read-only @property that is only evaluated once.
+
+        :meta private:
+
+        """
 
         def __init__(self, fget, doc=None):
             self.fget = fget