From: Mike Bayer Date: Sat, 6 Jul 2019 19:47:16 +0000 (-0400) Subject: class level docstring for Subquery X-Git-Tag: rel_1_4_0b1~805 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dd453e19a79785e91463cd2b37d12a1d0f36c03a;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git class level docstring for Subquery Remove inherited member doc from most selectables, it's too verbose Change-Id: I1b6635fe73342705846c0fab635b46557e560734 --- diff --git a/doc/build/core/selectable.rst b/doc/build/core/selectable.rst index 14099b6c76..2ac2437570 100644 --- a/doc/build/core/selectable.rst +++ b/doc/build/core/selectable.rst @@ -39,19 +39,15 @@ elements are themselves :class:`.ColumnElement` subclasses). .. autoclass:: Alias :members: - :inherited-members: .. autoclass:: AliasedReturnsRows :members: - :inherited-members: .. autoclass:: CompoundSelect :members: - :inherited-members: .. autoclass:: CTE :members: - :inherited-members: .. autoclass:: Executable :members: @@ -61,7 +57,6 @@ elements are themselves :class:`.ColumnElement` subclasses). .. autoclass:: GenerativeSelect :members: - :inherited-members: .. autoclass:: HasCTE :members: @@ -74,11 +69,9 @@ elements are themselves :class:`.ColumnElement` subclasses). .. autoclass:: Join :members: - :inherited-members: .. autoclass:: Lateral :members: - :inherited-members: .. autoclass:: ScalarSelect :members: @@ -92,11 +85,9 @@ elements are themselves :class:`.ColumnElement` subclasses). .. autoclass:: SelectBase :members: - :inherited-members: .. autoclass:: Subquery :members: - :inherited-members: .. autoclass:: TableClause :members: @@ -104,8 +95,6 @@ elements are themselves :class:`.ColumnElement` subclasses). .. autoclass:: TableSample :members: - :inherited-members: -.. autoclass:: TextAsFrom +.. autoclass:: TextualSelect :members: - :inherited-members: diff --git a/lib/sqlalchemy/sql/selectable.py b/lib/sqlalchemy/sql/selectable.py index 2263073c49..c93de8d736 100644 --- a/lib/sqlalchemy/sql/selectable.py +++ b/lib/sqlalchemy/sql/selectable.py @@ -1280,6 +1280,10 @@ class Alias(AliasedReturnsRows): level function as well as the :meth:`.FromClause.alias` method available on all :class:`.FromClause` subclasses. + .. seealso:: + + :meth:`.FromClause.alias` + """ __visit_name__ = "alias" @@ -1710,6 +1714,28 @@ class HasCTE(roles.HasCTERole): class Subquery(AliasedReturnsRows): + """Represent a subquery of a SELECT. + + A :class:`.Subquery` is created by invoking the + :meth:`.SelectBase.subquery` method, or for convenience the + :class:`.SelectBase.alias` method, on any :class:`.SelectBase` subclass + which includes :class:`.Select`, :class:`.CompoundSelect`, and + :class:`.TextualSelect`. As rendered in a FROM clause, it represents the + body of the SELECT statement inside of parenthesis, followed by the usual + "AS " that defines all "alias" objects. + + The :class:`.Subquery` object is very similar to the :class:`.Alias` + object and can be used in an equivalent way. The difference between + :class:`.Alias` and :class:`.Subquery` is that :class:`.Alias` always + contains a :class:`.FromClause` object whereas :class:`.Subquery` + always contains a :class:`.SelectBase` object. + + .. versionadded:: 1.4 The :class:`.Subquery` class was added which now + serves the purpose of providing an aliased version of a SELECT + statement. + + """ + __visit_name__ = "subquery" _is_subquery = True