class GenerativeSelect(SelectBase, Generative): (source)
Known subclasses: sqlalchemy.sql.selectable.CompoundSelect
, sqlalchemy.sql.selectable.Select
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 |
Retrieve the current label style. |
Method | group |
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 |
Return a new selectable with the given list of ORDER BY criteria applied. |
Method | set |
Return a new selectable with the specified label style. |
Method | slice |
Apply LIMIT / OFFSET to this statement based on a slice. |
Method | with |
Specify a ``FOR UPDATE`` clause for this :class:`_expression.GenerativeSelect`. |
Method | _offset |
Convert the given value to an "offset or limit" clause. |
Method | _offset |
Convert the "offset or limit" clause of a select construct to an integer. |
Method | _simple |
True if the clause is a simple integer, False if it is not present or is a SQL expression. |
Instance Variable | _fetch |
Undocumented |
Instance Variable | _fetch |
Undocumented |
Instance Variable | _for |
Undocumented |
Instance Variable | _group |
Undocumented |
Instance Variable | _label |
Undocumented |
Instance Variable | _limit |
Undocumented |
Instance Variable | _offset |
Undocumented |
Instance Variable | _order |
Undocumented |
Property | _group |
ClauseList access to group_by_clauses for legacy dialects |
Property | _has |
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 |
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 |
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 |
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 |
Undocumented |
Property | c |
Undocumented |
Property | columns |
Undocumented |
Property | exported |
A :class:`_expression.ColumnCollection` that represents the "exported" columns of this :class:`_expression.Selectable`, not including :class:`_sql.TextClause` constructs. |
Property | selected |
A :class:`_expression.ColumnCollection` representing the columns that this SELECT statement or similar construct returns in its result set. |
Method | _ensure |
Ensure that the names generated by this selectbase will be disambiguated in some way, if possible. |
Method | _generate |
Populate columns into an :class:`.AliasedReturnsRows` object. |
Method | _implicit |
Undocumented |
Method | _refresh |
reset internal collections for an incoming column being added. |
Method | _scalar |
Undocumented |
Class Variable | _is |
Undocumented |
Property | _all |
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 |
Undocumented |
Inherited from StatementRole
(via SelectBase
, SelectStatementRole
):
Property | _propagate |
Undocumented |
Inherited from AllowsLambdaRole
(via SelectBase
, SelectStatementRole
, StatementRole
, DMLSelectRole
, CompoundElementRole
):
Class Variable | allows |
Undocumented |
Inherited from HasCTE
(via SelectBase
, SelectStatementRole
, StatementRole
, DMLSelectRole
, CompoundElementRole
, AllowsLambdaRole
, InElementRole
):
Method | add |
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 |
Undocumented |
Class Variable | _independent |
Undocumented |
Class Variable | _independent |
Undocumented |
Inherited from SelectsRows
(via SelectBase
, SelectStatementRole
, StatementRole
, DMLSelectRole
, CompoundElementRole
, AllowsLambdaRole
, InElementRole
, HasCTE
, HasCTERole
):
Method | _generate |
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 |
return a copy of this ClauseElement with annotations replaced by the given dictionary. |
Class Variable | _clone |
Undocumented |
Inherited from Selectable
(via SelectBase
, SelectStatementRole
, StatementRole
, DMLSelectRole
, CompoundElementRole
, AllowsLambdaRole
, InElementRole
, HasCTE
, HasCTERole
, SelectsRows
, SupportsCloneAnnotations
):
Method | corresponding |
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 |
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 |
Undocumented |
Class Variable | is |
Undocumented |
Inherited from ReturnsRows
(via SelectBase
, SelectStatementRole
, StatementRole
, DMLSelectRole
, CompoundElementRole
, AllowsLambdaRole
, InElementRole
, HasCTE
, HasCTERole
, SelectsRows
, SupportsCloneAnnotations
, Selectable
):
Method | is |
Return ``True`` if this :class:`.ReturnsRows` is 'derived' from the given :class:`.FromClause`. |
Property | selectable |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Inherited from SQLRole
(via SelectBase
, SelectStatementRole
, StatementRole
, DMLSelectRole
, CompoundElementRole
, AllowsLambdaRole
, InElementRole
, HasCTE
, HasCTERole
, SelectsRows
, SupportsCloneAnnotations
, Selectable
, ReturnsRows
, ReturnsRowsRole
):
Class Variable | uses |
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 |
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 |
Apply a 'grouping' to this :class:`_expression.ClauseElement`. |
Method | unique |
Return a copy with :func:`_expression.bindparam` elements replaced. |
Class Variable | is |
Undocumented |
Class Variable | is |
Undocumented |
Class Variable | negation |
Undocumented |
Property | description |
Undocumented |
Property | entity |
Undocumented |
Method | _clone |
Create a shallow copy of this ClauseElement. |
Method | _cloned |
Return the set consisting all cloned ancestors of this ClauseElement. |
Method | _compile |
Undocumented |
Method | _execute |
Undocumented |
Method | _execute |
an additional hook for subclasses to provide a different implementation for connection.scalar() vs. connection.execute(). |
Method | _negate |
Undocumented |
Method | _negate |
a hook to allow the right side of a binary expression to respond to a negation of the binary expression. |
Method | _replace |
Undocumented |
Method | _set |
Undocumented |
Method | _ungroup |
Return this :class:`_expression.ClauseElement` without any groupings. |
Method | _with |
in the context of binary expression, convert the type of this object to the one given. |
Class Variable | _cache |
Undocumented |
Class Variable | _gen |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Property | _constructor |
return the 'constructor' for this ClauseElement. |
Property | _from |
Undocumented |
Property | _order |
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 |
Undocumented |
Method | _gen |
Undocumented |
Property | _annotations |
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 |
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 |
Indicate if this :class:`.HasCacheKey` instance should make use of the cache key generation scheme used by its immediate superclass. |
Class Method | _generate |
generate cache key dispatcher for a new class. |
Class Method | _generate |
Undocumented |
Method | _gen |
return an optional cache key. |
Class Variable | _generated |
Undocumented |
Class Variable | _hierarchy |
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 |
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 |
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 |
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 |
Undocumented |
Class Variable | supports |
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 |
Undocumented |
Method | __init |
Undocumented |
Class Method | _generate |
Undocumented |
Method | _compiler |
Undocumented |
Class Variable | _original |
Undocumented |
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 group_by(self, __first:
Union[ Literal[ None, _NoArg.NO_ARG], _ColumnExpressionOrStrLabelArgument[ Any]]
= _NoArg.NO_ARG, *clauses: _ColumnExpressionOrStrLabelArgument[ Any]
) -> Self
:
(source)
¶
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`
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`
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`
def order_by(self, __first:
Union[ Literal[ None, _NoArg.NO_ARG], _ColumnExpressionOrStrLabelArgument[ Any]]
= _NoArg.NO_ARG, *clauses: _ColumnExpressionOrStrLabelArgument[ Any]
) -> Self
:
(source)
¶
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`
sqlalchemy.sql.selectable.CompoundSelect
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`
@util.preload_module(
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`
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.
_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
Optional[ _OffsetLimitParam]
, attrname: str
) -> Optional[ int]
: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.
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.