class documentation

Base class for SELECT statements where additional elements can be added. This serves as the base for :class:`_expression.Select` and :class:`_expression.CompoundSelect` where elements such as ORDER BY, GROUP BY can be added and column rendering can be controlled. Compare to :class:`_expression.TextualSelect`, which, while it subclasses :class:`_expression.SelectBase` and is also a SELECT construct, represents a fixed textual string which cannot be altered at this level, only wrapped as a subquery.

Method __init__ Undocumented
Method fetch Return a new selectable with the given FETCH FIRST criterion applied.
Method get_label_style Retrieve the current label style.
Method group_by Return a new selectable with the given list of GROUP BY criterion applied.
Method limit Return a new selectable with the given LIMIT criterion applied.
Method offset Return a new selectable with the given OFFSET criterion applied.
Method order_by Return a new selectable with the given list of ORDER BY criteria applied.
Method set_label_style Return a new selectable with the specified label style.
Method slice Apply LIMIT / OFFSET to this statement based on a slice.
Method with_for_update Specify a ``FOR UPDATE`` clause for this :class:`_expression.GenerativeSelect`.
Method _offset_or_limit_clause Convert the given value to an "offset or limit" clause.
Method _offset_or_limit_clause_asint Convert the "offset or limit" clause of a select construct to an integer.
Method _simple_int_clause True if the clause is a simple integer, False if it is not present or is a SQL expression.
Instance Variable _fetch_clause Undocumented
Instance Variable _fetch_clause_options Undocumented
Instance Variable _for_update_arg Undocumented
Instance Variable _group_by_clauses Undocumented
Instance Variable _label_style Undocumented
Instance Variable _limit_clause Undocumented
Instance Variable _offset_clause Undocumented
Instance Variable _order_by_clauses Undocumented
Property _group_by_clause ClauseList access to group_by_clauses for legacy dialects
Property _has_row_limiting_clause Undocumented
Property _limit Get an integer value for the limit. This should only be used by code that cannot support a limit as a BindParameter or other custom clause as it will throw an exception if the limit isn't currently set to an integer.
Property _offset Get an integer value for the offset. This should only be used by code that cannot support an offset as a BindParameter or other custom clause as it will throw an exception if the offset isn't currently set to an integer.
Property _order_by_clause ClauseList access to order_by_clauses for legacy dialects

Inherited from SelectBase:

Method alias Return a named subquery against this :class:`_expression.SelectBase`.
Method as_scalar Undocumented
Method exists Return an :class:`_sql.Exists` representation of this selectable, which can be used as a column expression.
Method label Return a 'scalar' representation of this selectable, embedded as a subquery with a label.
Method lateral Return a LATERAL alias of this :class:`_expression.Selectable`.
Method scalar_subquery Return a 'scalar' representation of this selectable, which can be used as a column expression.
Method select Undocumented
Method subquery Return a subquery of this :class:`_expression.SelectBase`.
Class Variable is_select Undocumented
Property c Undocumented
Property columns Undocumented
Property exported_columns A :class:`_expression.ColumnCollection` that represents the "exported" columns of this :class:`_expression.Selectable`, not including :class:`_sql.TextClause` constructs.
Property selected_columns A :class:`_expression.ColumnCollection` representing the columns that this SELECT statement or similar construct returns in its result set.
Method _ensure_disambiguated_names Ensure that the names generated by this selectbase will be disambiguated in some way, if possible.
Method _generate_fromclause_column_proxies Populate columns into an :class:`.AliasedReturnsRows` object.
Method _implicit_subquery Undocumented
Method _refresh_for_new_column reset internal collections for an incoming column being added.
Method _scalar_type Undocumented
Class Variable _is_select_base Undocumented
Property _all_selected_columns A sequence of expressions that correspond to what is rendered in the columns clause, including :class:`_sql.TextClause` constructs.

Inherited from SelectStatementRole (via SelectBase):

Class Variable __slots__ Undocumented
Class Variable _role_name Undocumented

Inherited from StatementRole (via SelectBase, SelectStatementRole):

Property _propagate_attrs Undocumented

Inherited from AllowsLambdaRole (via SelectBase, SelectStatementRole, StatementRole, DMLSelectRole, CompoundElementRole):

Class Variable allows_lambda Undocumented

Inherited from HasCTE (via SelectBase, SelectStatementRole, StatementRole, DMLSelectRole, CompoundElementRole, AllowsLambdaRole, InElementRole):

Method add_cte Add one or more :class:`_sql.CTE` constructs to this statement.
Method cte Return a new :class:`_expression.CTE`, or Common Table Expression instance.
Class Variable _has_ctes_traverse_internals Undocumented
Class Variable _independent_ctes Undocumented
Class Variable _independent_ctes_opts Undocumented

Inherited from SelectsRows (via SelectBase, SelectStatementRole, StatementRole, DMLSelectRole, CompoundElementRole, AllowsLambdaRole, InElementRole, HasCTE, HasCTERole):

Method _generate_columns_plus_names Generate column names as rendered in a SELECT statement by the compiler.

Inherited from SupportsCloneAnnotations (via SelectBase, SelectStatementRole, StatementRole, DMLSelectRole, CompoundElementRole, AllowsLambdaRole, InElementRole, HasCTE, HasCTERole, SelectsRows):

Method _annotate return a copy of this ClauseElement with annotations updated by the given dictionary.
Method _deannotate return a copy of this :class:`_expression.ClauseElement` with annotations removed.
Method _with_annotations return a copy of this ClauseElement with annotations replaced by the given dictionary.
Class Variable _clone_annotations_traverse_internals Undocumented

Inherited from Selectable (via SelectBase, SelectStatementRole, StatementRole, DMLSelectRole, CompoundElementRole, AllowsLambdaRole, InElementRole, HasCTE, HasCTERole, SelectsRows, SupportsCloneAnnotations):

Method corresponding_column Given a :class:`_expression.ColumnElement`, return the exported :class:`_expression.ColumnElement` object from the :attr:`_expression.Selectable.exported_columns` collection of this :class:`_expression...
Method replace_selectable Replace all occurrences of :class:`_expression.FromClause` 'old' with the given :class:`_expression.Alias` object, returning a copy of this :class:`_expression.FromClause`.
Class Variable __visit_name__ Undocumented
Class Variable is_selectable Undocumented

Inherited from ReturnsRows (via SelectBase, SelectStatementRole, StatementRole, DMLSelectRole, CompoundElementRole, AllowsLambdaRole, InElementRole, HasCTE, HasCTERole, SelectsRows, SupportsCloneAnnotations, Selectable):

Method is_derived_from Return ``True`` if this :class:`.ReturnsRows` is 'derived' from the given :class:`.FromClause`.
Property selectable Undocumented
Class Variable _is_from_clause Undocumented
Class Variable _is_lateral Undocumented
Class Variable _is_returns_rows Undocumented
Class Variable _is_select_statement Undocumented

Inherited from SQLRole (via SelectBase, SelectStatementRole, StatementRole, DMLSelectRole, CompoundElementRole, AllowsLambdaRole, InElementRole, HasCTE, HasCTERole, SelectsRows, SupportsCloneAnnotations, Selectable, ReturnsRows, ReturnsRowsRole):

Class Variable uses_inspection Undocumented

Inherited from DQLDMLClauseElement (via SelectBase, SelectStatementRole, StatementRole, DMLSelectRole, CompoundElementRole, AllowsLambdaRole, InElementRole, HasCTE, HasCTERole, SelectsRows, SupportsCloneAnnotations, Selectable, ReturnsRows, ReturnsRowsRole, SQLRole):

Method compile Compile this SQL expression.
Method _compiler Return a compiler appropriate for this ClauseElement, given a Dialect.

Inherited from ClauseElement (via SelectBase, SelectStatementRole, StatementRole, DMLSelectRole, CompoundElementRole, AllowsLambdaRole, InElementRole, HasCTE, HasCTERole, SelectsRows, SupportsCloneAnnotations, Selectable, ReturnsRows, ReturnsRowsRole, SQLRole, DQLDMLClauseElement):

Method __bool__ Undocumented
Method __getstate__ Undocumented
Method __invert__ Undocumented
Method __repr__ Undocumented
Method compare Compare this :class:`_expression.ClauseElement` to the given :class:`_expression.ClauseElement`.
Method get_children Return immediate child :class:`.visitors.HasTraverseInternals` elements of this :class:`.visitors.HasTraverseInternals`.
Method params Return a copy with :func:`_expression.bindparam` elements replaced.
Method self_group Apply a 'grouping' to this :class:`_expression.ClauseElement`.
Method unique_params Return a copy with :func:`_expression.bindparam` elements replaced.
Class Variable is_clause_element Undocumented
Class Variable is_dml Undocumented
Class Variable negation_clause Undocumented
Property description Undocumented
Property entity_namespace Undocumented
Method _clone Create a shallow copy of this ClauseElement.
Method _cloned_set Return the set consisting all cloned ancestors of this ClauseElement.
Method _compile_w_cache Undocumented
Method _execute_on_connection Undocumented
Method _execute_on_scalar an additional hook for subclasses to provide a different implementation for connection.scalar() vs. connection.execute().
Method _negate Undocumented
Method _negate_in_binary a hook to allow the right side of a binary expression to respond to a negation of the binary expression.
Method _replace_params Undocumented
Method _set_propagate_attrs Undocumented
Method _ungroup Return this :class:`_expression.ClauseElement` without any groupings.
Method _with_binary_element_type in the context of binary expression, convert the type of this object to the one given.
Class Variable _cache_key_traversal Undocumented
Class Variable _gen_static_annotations_cache_key Undocumented
Class Variable _is_bind_parameter Undocumented
Class Variable _is_clause_list Undocumented
Class Variable _is_clone_of Undocumented
Class Variable _is_column_element Undocumented
Class Variable _is_from_container Undocumented
Class Variable _is_immutable Undocumented
Class Variable _is_keyed_column_element Undocumented
Class Variable _is_lambda_element Undocumented
Class Variable _is_select_container Undocumented
Class Variable _is_singleton_constant Undocumented
Class Variable _is_star Undocumented
Class Variable _is_table Undocumented
Class Variable _is_text_clause Undocumented
Class Variable _is_textual Undocumented
Property _constructor return the 'constructor' for this ClauseElement.
Property _from_objects Undocumented
Property _order_by_label_element Undocumented

Inherited from SupportsAnnotations (via SelectBase, SelectStatementRole, StatementRole, DMLSelectRole, CompoundElementRole, AllowsLambdaRole, InElementRole, HasCTE, HasCTERole, SelectsRows, SupportsCloneAnnotations, Selectable, ReturnsRows, ReturnsRowsRole, SQLRole, DQLDMLClauseElement, ClauseElement, SupportsWrappingAnnotations):

Class Variable proxy_set Undocumented
Method _gen_annotations_cache_key Undocumented
Property _annotations_cache_key Undocumented

Inherited from MemoizedHasCacheKey (via SelectBase, SelectStatementRole, StatementRole, DMLSelectRole, CompoundElementRole, AllowsLambdaRole, InElementRole, HasCTE, HasCTERole, SelectsRows, SupportsCloneAnnotations, Selectable, ReturnsRows, ReturnsRowsRole, SQLRole, DQLDMLClauseElement, ClauseElement, SupportsWrappingAnnotations, SupportsAnnotations):

Method _generate_cache_key return a cache key.

Inherited from HasCacheKey (via SelectBase, SelectStatementRole, StatementRole, DMLSelectRole, CompoundElementRole, AllowsLambdaRole, InElementRole, HasCTE, HasCTERole, SelectsRows, SupportsCloneAnnotations, Selectable, ReturnsRows, ReturnsRowsRole, SQLRole, DQLDMLClauseElement, ClauseElement, SupportsWrappingAnnotations, SupportsAnnotations, MemoizedHasCacheKey):

Class Variable inherit_cache Indicate if this :class:`.HasCacheKey` instance should make use of the cache key generation scheme used by its immediate superclass.
Class Method _generate_cache_attrs generate cache key dispatcher for a new class.
Class Method _generate_cache_key_for_object Undocumented
Method _gen_cache_key return an optional cache key.
Class Variable _generated_cache_key_traversal Undocumented
Class Variable _hierarchy_supports_caching private attribute which may be set to False to prevent the inherit_cache warning from being emitted for a hierarchy of subclasses.
Class Variable _is_has_cache_key Undocumented

Inherited from Generative (via SelectBase, SelectStatementRole, StatementRole, DMLSelectRole, CompoundElementRole, AllowsLambdaRole, InElementRole, HasCTE, HasCTERole, SelectsRows, SupportsCloneAnnotations, Selectable, ReturnsRows, ReturnsRowsRole, SQLRole, DQLDMLClauseElement, ClauseElement, SupportsWrappingAnnotations, SupportsAnnotations, MemoizedHasCacheKey, HasCacheKey):

Method _generate Undocumented

Inherited from HasCopyInternals (via SelectBase, SelectStatementRole, StatementRole, DMLSelectRole, CompoundElementRole, AllowsLambdaRole, InElementRole, HasCTE, HasCTERole, SelectsRows, SupportsCloneAnnotations, Selectable, ReturnsRows, ReturnsRowsRole, SQLRole, DQLDMLClauseElement, ClauseElement, SupportsWrappingAnnotations, SupportsAnnotations, MemoizedHasCacheKey, HasCacheKey, Generative):

Method _copy_internals Reassign internal elements to be clones of themselves.

Inherited from HasTraverseInternals (via SelectBase, SelectStatementRole, StatementRole, DMLSelectRole, CompoundElementRole, AllowsLambdaRole, InElementRole, HasCTE, HasCTERole, SelectsRows, SupportsCloneAnnotations, Selectable, ReturnsRows, ReturnsRowsRole, SQLRole, DQLDMLClauseElement, ClauseElement, SupportsWrappingAnnotations, SupportsAnnotations, MemoizedHasCacheKey, HasCacheKey, Generative, HasCopyInternals, ExternallyTraversible):

Class Variable _traverse_internals Undocumented

Inherited from CompilerElement (via SelectBase, SelectStatementRole, StatementRole, DMLSelectRole, CompoundElementRole, AllowsLambdaRole, InElementRole, HasCTE, HasCTERole, SelectsRows, SupportsCloneAnnotations, Selectable, ReturnsRows, ReturnsRowsRole, SQLRole, DQLDMLClauseElement, ClauseElement, SupportsWrappingAnnotations, SupportsAnnotations, MemoizedHasCacheKey, HasCacheKey, Generative, HasCopyInternals, ExternallyTraversible, HasTraverseInternals):

Method __str__ Undocumented
Class Variable stringify_dialect Undocumented
Class Variable supports_execution Undocumented

Inherited from Visitable (via SelectBase, SelectStatementRole, StatementRole, DMLSelectRole, CompoundElementRole, AllowsLambdaRole, InElementRole, HasCTE, HasCTERole, SelectsRows, SupportsCloneAnnotations, Selectable, ReturnsRows, ReturnsRowsRole, SQLRole, DQLDMLClauseElement, ClauseElement, SupportsWrappingAnnotations, SupportsAnnotations, MemoizedHasCacheKey, HasCacheKey, Generative, HasCopyInternals, ExternallyTraversible, HasTraverseInternals, CompilerElement):

Method __class_getitem__ Undocumented
Method __init_subclass__ Undocumented
Class Method _generate_compiler_dispatch Undocumented
Method _compiler_dispatch Undocumented
Class Variable _original_compiler_dispatch Undocumented
@_generative
def fetch(self, count: _LimitOffsetType, with_ties: bool = False, percent: bool = False) -> Self: (source)

Return a new selectable with the given FETCH FIRST criterion applied. This is a numeric value which usually renders as ``FETCH {FIRST | NEXT} [ count ] {ROW | ROWS} {ONLY | WITH TIES}`` expression in the resulting select. This functionality is is currently implemented for Oracle, PostgreSQL, MSSQL. Use :meth:`_sql.GenerativeSelect.offset` to specify the offset. .. note:: The :meth:`_sql.GenerativeSelect.fetch` method will replace any clause applied with :meth:`_sql.GenerativeSelect.limit`. .. versionadded:: 1.4 :param count: an integer COUNT parameter, or a SQL expression that provides an integer result. When ``percent=True`` this will represent the percentage of rows to return, not the absolute value. Pass ``None`` to reset it. :param with_ties: When ``True``, the WITH TIES option is used to return any additional rows that tie for the last place in the result set according to the ``ORDER BY`` clause. The ``ORDER BY`` may be mandatory in this case. Defaults to ``False`` :param percent: When ``True``, ``count`` represents the percentage of the total number of selected rows to return. Defaults to ``False`` .. seealso:: :meth:`_sql.GenerativeSelect.limit` :meth:`_sql.GenerativeSelect.offset`

def get_label_style(self) -> SelectLabelStyle: (source)

Retrieve the current label style. .. versionadded:: 1.4

Return a new selectable with the given list of GROUP BY criterion applied. All existing GROUP BY settings can be suppressed by passing ``None``. e.g.:: stmt = select(table.c.name, func.max(table.c.stat)).\ group_by(table.c.name) :param \*clauses: a series of :class:`_expression.ColumnElement` constructs which will be used to generate an GROUP BY clause. .. seealso:: :ref:`tutorial_group_by_w_aggregates` - in the :ref:`unified_tutorial` :ref:`tutorial_order_by_label` - in the :ref:`unified_tutorial`

@_generative
def limit(self, limit: _LimitOffsetType) -> Self: (source)

Return a new selectable with the given LIMIT criterion applied. This is a numerical value which usually renders as a ``LIMIT`` expression in the resulting select. Backends that don't support ``LIMIT`` will attempt to provide similar functionality. .. note:: The :meth:`_sql.GenerativeSelect.limit` method will replace any clause applied with :meth:`_sql.GenerativeSelect.fetch`. .. versionchanged:: 1.0.0 - :meth:`_expression.Select.limit` can now accept arbitrary SQL expressions as well as integer values. :param limit: an integer LIMIT parameter, or a SQL expression that provides an integer result. Pass ``None`` to reset it. .. seealso:: :meth:`_sql.GenerativeSelect.fetch` :meth:`_sql.GenerativeSelect.offset`

@_generative
def offset(self, offset: _LimitOffsetType) -> Self: (source)

Return a new selectable with the given OFFSET criterion applied. This is a numeric value which usually renders as an ``OFFSET`` expression in the resulting select. Backends that don't support ``OFFSET`` will attempt to provide similar functionality. .. versionchanged:: 1.0.0 - :meth:`_expression.Select.offset` can now accept arbitrary SQL expressions as well as integer values. :param offset: an integer OFFSET parameter, or a SQL expression that provides an integer result. Pass ``None`` to reset it. .. seealso:: :meth:`_sql.GenerativeSelect.limit` :meth:`_sql.GenerativeSelect.fetch`

Return a new selectable with the given list of ORDER BY criteria applied. e.g.:: stmt = select(table).order_by(table.c.id, table.c.name) Calling this method multiple times is equivalent to calling it once with all the clauses concatenated. All existing ORDER BY criteria may be cancelled by passing ``None`` by itself. New ORDER BY criteria may then be added by invoking :meth:`_orm.Query.order_by` again, e.g.:: # will erase all ORDER BY and ORDER BY new_col alone stmt = stmt.order_by(None).order_by(new_col) :param \*clauses: a series of :class:`_expression.ColumnElement` constructs which will be used to generate an ORDER BY clause. .. seealso:: :ref:`tutorial_order_by` - in the :ref:`unified_tutorial` :ref:`tutorial_order_by_label` - in the :ref:`unified_tutorial`

def set_label_style(self, style: SelectLabelStyle) -> Self: (source)

Return a new selectable with the specified label style. There are three "label styles" available, :attr:`_sql.SelectLabelStyle.LABEL_STYLE_DISAMBIGUATE_ONLY`, :attr:`_sql.SelectLabelStyle.LABEL_STYLE_TABLENAME_PLUS_COL`, and :attr:`_sql.SelectLabelStyle.LABEL_STYLE_NONE`. The default style is :attr:`_sql.SelectLabelStyle.LABEL_STYLE_TABLENAME_PLUS_COL`. In modern SQLAlchemy, there is not generally a need to change the labeling style, as per-expression labels are more effectively used by making use of the :meth:`_sql.ColumnElement.label` method. In past versions, :data:`_sql.LABEL_STYLE_TABLENAME_PLUS_COL` was used to disambiguate same-named columns from different tables, aliases, or subqueries; the newer :data:`_sql.LABEL_STYLE_DISAMBIGUATE_ONLY` now applies labels only to names that conflict with an existing name so that the impact of this labeling is minimal. The rationale for disambiguation is mostly so that all column expressions are available from a given :attr:`_sql.FromClause.c` collection when a subquery is created. .. versionadded:: 1.4 - the :meth:`_sql.GenerativeSelect.set_label_style` method replaces the previous combination of ``.apply_labels()``, ``.with_labels()`` and ``use_labels=True`` methods and/or parameters. .. seealso:: :data:`_sql.LABEL_STYLE_DISAMBIGUATE_ONLY` :data:`_sql.LABEL_STYLE_TABLENAME_PLUS_COL` :data:`_sql.LABEL_STYLE_NONE` :data:`_sql.LABEL_STYLE_DEFAULT`

@_generative
@util.preload_module('sqlalchemy.sql.util')
def slice(self, start: int, stop: int) -> Self: (source)

Apply LIMIT / OFFSET to this statement based on a slice. The start and stop indices behave like the argument to Python's built-in :func:`range` function. This method provides an alternative to using ``LIMIT``/``OFFSET`` to get a slice of the query. For example, :: stmt = select(User).order_by(User).id.slice(1, 3) renders as .. sourcecode:: sql SELECT users.id AS users_id, users.name AS users_name FROM users ORDER BY users.id LIMIT ? OFFSET ? (2, 1) .. note:: The :meth:`_sql.GenerativeSelect.slice` method will replace any clause applied with :meth:`_sql.GenerativeSelect.fetch`. .. versionadded:: 1.4 Added the :meth:`_sql.GenerativeSelect.slice` method generalized from the ORM. .. seealso:: :meth:`_sql.GenerativeSelect.limit` :meth:`_sql.GenerativeSelect.offset` :meth:`_sql.GenerativeSelect.fetch`

@_generative
def with_for_update(self, *, nowait: bool = False, read: bool = False, of: Optional[_ForUpdateOfArgument] = None, skip_locked: bool = False, key_share: bool = False) -> Self: (source)

Specify a ``FOR UPDATE`` clause for this :class:`_expression.GenerativeSelect`. E.g.:: stmt = select(table).with_for_update(nowait=True) On a database like PostgreSQL or Oracle, the above would render a statement like:: SELECT table.a, table.b FROM table FOR UPDATE NOWAIT on other backends, the ``nowait`` option is ignored and instead would produce:: SELECT table.a, table.b FROM table FOR UPDATE When called with no arguments, the statement will render with the suffix ``FOR UPDATE``. Additional arguments can then be provided which allow for common database-specific variants. :param nowait: boolean; will render ``FOR UPDATE NOWAIT`` on Oracle and PostgreSQL dialects. :param read: boolean; will render ``LOCK IN SHARE MODE`` on MySQL, ``FOR SHARE`` on PostgreSQL. On PostgreSQL, when combined with ``nowait``, will render ``FOR SHARE NOWAIT``. :param of: SQL expression or list of SQL expression elements, (typically :class:`_schema.Column` objects or a compatible expression, for some backends may also be a table expression) which will render into a ``FOR UPDATE OF`` clause; supported by PostgreSQL, Oracle, some MySQL versions and possibly others. May render as a table or as a column depending on backend. :param skip_locked: boolean, will render ``FOR UPDATE SKIP LOCKED`` on Oracle and PostgreSQL dialects or ``FOR SHARE SKIP LOCKED`` if ``read=True`` is also specified. :param key_share: boolean, will render ``FOR NO KEY UPDATE``, or if combined with ``read=True`` will render ``FOR KEY SHARE``, on the PostgreSQL dialect.

def _offset_or_limit_clause(self, element: _LimitOffsetType, name: Optional[str] = None, type_: Optional[_TypeEngineArgument[int]] = None) -> ColumnElement[Any]: (source)

Convert the given value to an "offset or limit" clause. This handles incoming integers and converts to an expression; if an expression is already given, it is passed through.

@overload
def _offset_or_limit_clause_asint(self, clause: ColumnElement[Any], attrname: str) -> NoReturn:
@overload
def _offset_or_limit_clause_asint(self, clause: Optional[_OffsetLimitParam], attrname: str) -> Optional[int]:
(source)

Convert the "offset or limit" clause of a select construct to an integer. This is only possible if the value is stored as a simple bound parameter. Otherwise, a compilation error is raised.

def _simple_int_clause(self, clause: ClauseElement) -> bool: (source)

True if the clause is a simple integer, False if it is not present or is a SQL expression.

_fetch_clause = (source)

Undocumented

_fetch_clause_options = (source)

Undocumented

_for_update_arg = (source)

Undocumented

_group_by_clauses: tuple = (source)

Undocumented

_label_style = (source)

Undocumented

_limit_clause = (source)

Undocumented

_offset_clause = (source)

Undocumented

_order_by_clauses: tuple = (source)

Undocumented

@property
_group_by_clause: ClauseList = (source)

ClauseList access to group_by_clauses for legacy dialects

@property
_has_row_limiting_clause: bool = (source)

Undocumented

Get an integer value for the limit. This should only be used by code that cannot support a limit as a BindParameter or other custom clause as it will throw an exception if the limit isn't currently set to an integer.

Get an integer value for the offset. This should only be used by code that cannot support an offset as a BindParameter or other custom clause as it will throw an exception if the offset isn't currently set to an integer.

@property
_order_by_clause: ClauseList = (source)

ClauseList access to order_by_clauses for legacy dialects