class documentation

Represents a column label (AS). Represent a label, as typically applied to any column-level element using the ``AS`` sql keyword.

Method __init__ Undocumented
Method __reduce__ Undocumented
Method element Undocumented
Method self_group Apply a 'grouping' to this :class:`_expression.ClauseElement`.
Class Variable __visit_name__ Undocumented
Instance Variable key The 'key' that in some circumstances refers to this object in a Python namespace.
Instance Variable name Undocumented
Instance Variable type Undocumented
Property foreign_keys Undocumented
Property primary_key Undocumented
Method _allow_label_resolve A flag that can be flipped to prevent a column from being resolvable by string label name.
Method _apply_to_inner Undocumented
Method _bind_param Undocumented
Method _copy_internals Reassign internal elements to be clones of themselves.
Method _make_proxy Create a new :class:`_expression.ColumnElement` representing this :class:`_expression.ColumnElement` as it appears in the select list of a descending selectable.
Method _negate Undocumented
Method _render_label_in_columns_clause A flag used by select._columns_plus_names that helps to determine we are actually going to render in terms of "SELECT <col> AS <label>". This flag can be returned as False for some Column objects that want to be rendered as simple "SELECT <col>"; typically columns that don't have any parent table and are named the same as what the label would be in any case.
Class Variable _cache_key_traversal Undocumented
Class Variable _traverse_internals Undocumented
Instance Variable _element Undocumented
Instance Variable _proxies Undocumented
Property _from_objects Undocumented
Property _is_implicitly_boolean Undocumented
Property _order_by_label_element Undocumented

Inherited from LabeledColumnExprRole:

Class Variable __slots__ Undocumented

Inherited from NamedColumn (via LabeledColumnExprRole):

Class Variable is_literal Undocumented
Class Variable table Undocumented
Property description Undocumented
Method _compare_name_for_result Return True if the given column element compares to this one when targeting within a result row.
Method _gen_tq_label Undocumented
Method _non_anon_label the 'name' that naturally applies this element when rendered in SQL.
Method _tq_key_label table qualified label based on column key.
Method _tq_label table qualified label based on column name.

Inherited from KeyedColumnElement (via LabeledColumnExprRole, NamedColumn):

Class Variable _is_keyed_column_element Undocumented

Inherited from ColumnElement (via LabeledColumnExprRole, NamedColumn, KeyedColumnElement):

Method __getattr__ Undocumented
Method cast Produce a type cast, i.e. ``CAST(<expression> AS <type>)``.
Method comparator Undocumented
Method label Produce a column label, i.e. ``<columnname> AS <name>``.
Method operate Operate on an argument.
Method reverse_operate Reverse operate on an argument.
Method shares_lineage Return True if the given :class:`_expression.ColumnElement` has a common ancestor to this :class:`_expression.ColumnElement`.
Property anon_key_label Undocumented
Property anon_label Undocumented
Property base_columns Undocumented
Property expression Return a column expression.
Property proxy_set set of all columns we are proxying
Method _anon_label Undocumented
Method _dedupe_anon_label_idx label to apply to a column that is anon labeled, but repeated in the SELECT, so that we have to make an "extra anon" label that disambiguates it from the previous appearance.
Method _dedupe_anon_tq_label_idx Undocumented
Method _expression_label a suggested label to use in the case that the column has no name, which should be used if possible as the explicit 'AS <label>' where this expression would normally have an anon label.
Method _proxy_key Undocumented
Method _uncached_proxy_list An 'uncached' version of proxy set.
Class Variable _alt_names Undocumented
Class Variable _is_clone_of Undocumented
Class Variable _is_column_element Undocumented
Property _anon_key_label Provides a constant 'anonymous key label' for this ColumnElement.
Property _anon_name_label Provides a constant 'anonymous label' for this ColumnElement.
Property _anon_tq_key_label Undocumented
Property _anon_tq_label Undocumented
Property _expanded_proxy_set Undocumented
Property _key_label legacy; renamed to _tq_key_label
Property _label legacy; renamed to _tq_label
Property _select_iterable Undocumented

Inherited from ColumnArgumentOrKeyRole (via LabeledColumnExprRole, NamedColumn, KeyedColumnElement, ColumnElement):

Class Variable _role_name Undocumented

Inherited from AllowsLambdaRole (via LabeledColumnExprRole, NamedColumn, KeyedColumnElement, ColumnElement, ColumnArgumentOrKeyRole, ColumnArgumentRole, StatementOptionRole, WhereHavingRole, OnClauseRole, BinaryElementRole, OrderByRole, ColumnsClauseRole):

Class Variable allows_lambda Undocumented

Inherited from UsesInspection (via LabeledColumnExprRole, NamedColumn, KeyedColumnElement, ColumnElement, ColumnArgumentOrKeyRole, ColumnArgumentRole, StatementOptionRole, WhereHavingRole, OnClauseRole, BinaryElementRole, OrderByRole, ColumnsClauseRole, AllowsLambdaRole, ByOfRole):

Class Variable uses_inspection Undocumented
Class Variable _post_inspect Undocumented

Inherited from SQLCoreOperations (via LabeledColumnExprRole, NamedColumn, KeyedColumnElement, ColumnElement, ColumnArgumentOrKeyRole, ColumnArgumentRole, StatementOptionRole, WhereHavingRole, OnClauseRole, BinaryElementRole, OrderByRole, ColumnsClauseRole, AllowsLambdaRole, ByOfRole, UsesInspection, ColumnListRole, LimitOffsetRole, DMLColumnRole, DDLConstraintColumnRole, DDLExpressionRole, StructuralRole, SQLColumnExpression):

Method __add__ Implement the ``+`` operator.
Method __and__ Implement the ``&`` operator.
Method __contains__ Undocumented
Method __eq__ Implement the ``==`` operator.
Method __floordiv__ Implement the ``//`` operator.
Method __ge__ Implement the ``>=`` operator.
Method __getitem__ Implement the [] operator.
Method __gt__ Implement the ``>`` operator.
Method __invert__ Implement the ``~`` operator.
Method __le__ Implement the ``<=`` operator.
Method __lt__ Implement the ``<`` operator.
Method __mod__ Implement the ``%`` operator.
Method __mul__ Implement the ``*`` operator.
Method __ne__ Implement the ``!=`` operator.
Method __neg__ Implement the ``-`` operator.
Method __or__ Implement the ``|`` operator.
Method __radd__ Implement the ``+`` operator in reverse.
Method __rfloordiv__ Implement the ``//`` operator in reverse.
Method __rmod__ Implement the ``%`` operator in reverse.
Method __rmul__ Implement the ``*`` operator in reverse.
Method __rsub__ Implement the ``-`` operator in reverse.
Method __rtruediv__ Implement the ``/`` operator in reverse.
Method __sub__ Implement the ``-`` operator.
Method __truediv__ Implement the ``/`` operator.
Method all_ Produce an :func:`_expression.all_` clause against the parent object.
Method any_ Produce an :func:`_expression.any_` clause against the parent object.
Method asc Produce a :func:`_expression.asc` clause against the parent object.
Method between Produce a :func:`_expression.between` clause against the parent object, given the lower and upper range.
Method bool_op Return a custom boolean operator.
Method collate Produce a :func:`_expression.collate` clause against the parent object, given the collation string.
Method concat Implement the 'concat' operator.
Method contains Implement the 'contains' operator.
Method desc Produce a :func:`_expression.desc` clause against the parent object.
Method distinct Produce a :func:`_expression.distinct` clause against the parent object.
Method endswith Implement the 'endswith' operator.
Method ilike Implement the ``ilike`` operator, e.g. case insensitive LIKE.
Method in_ Implement the ``in`` operator.
Method is_ Implement the ``IS`` operator.
Method is_distinct_from Implement the ``IS DISTINCT FROM`` operator.
Method is_not Implement the ``IS NOT`` operator.
Method is_not_distinct_from Implement the ``IS NOT DISTINCT FROM`` operator.
Method isnot Undocumented
Method like Implement the ``like`` operator.
Method match Implements a database-specific 'match' operator.
Method not_ilike implement the ``NOT ILIKE`` operator.
Method not_in implement the ``NOT IN`` operator.
Method not_like implement the ``NOT LIKE`` operator.
Method notilike Undocumented
Method notin_ Undocumented
Method notlike Undocumented
Method nulls_first Produce a :func:`_expression.nulls_first` clause against the parent object.
Method nulls_last Produce a :func:`_expression.nulls_last` clause against the parent object.
Method nullsfirst Undocumented
Method nullslast Undocumented
Method op Produce a generic operator function.
Method regexp_match Implements a database-specific 'regexp match' operator.
Method regexp_replace Implements a database-specific 'regexp replace' operator.
Method startswith Implement the ``startswith`` operator.
Property _propagate_attrs Undocumented

Inherited from ColumnOperators (via LabeledColumnExprRole, NamedColumn, KeyedColumnElement, ColumnElement, ColumnArgumentOrKeyRole, ColumnArgumentRole, StatementOptionRole, WhereHavingRole, OnClauseRole, BinaryElementRole, OrderByRole, ColumnsClauseRole, AllowsLambdaRole, ByOfRole, UsesInspection, ColumnListRole, LimitOffsetRole, DMLColumnRole, DDLConstraintColumnRole, DDLExpressionRole, StructuralRole, SQLColumnExpression, SQLCoreOperations, ExpressionElementRole, TypedColumnsClauseRole):

Method __lshift__ implement the << operator.
Method __rshift__ implement the >> operator.
Method bitwise_and Produce a bitwise AND operation, typically via the ``&`` operator.
Method bitwise_lshift Produce a bitwise LSHIFT operation, typically via the ``<<`` operator.
Method bitwise_not Produce a bitwise NOT operation, typically via the ``~`` operator.
Method bitwise_or Produce a bitwise OR operation, typically via the ``|`` operator.
Method bitwise_rshift Produce a bitwise RSHIFT operation, typically via the ``>>`` operator.
Method bitwise_xor Produce a bitwise XOR operation, typically via the ``^`` operator, or ``#`` for PostgreSQL.
Method icontains Implement the ``icontains`` operator, e.g. case insensitive version of :meth:`.ColumnOperators.contains`.
Method iendswith Implement the ``iendswith`` operator, e.g. case insensitive version of :meth:`.ColumnOperators.endswith`.
Method isnot_distinct_from Undocumented
Method istartswith Implement the ``istartswith`` operator, e.g. case insensitive version of :meth:`.ColumnOperators.startswith`.
Class Variable timetuple Hack, allows datetime objects to be compared on the LHS.
Method _rconcat Implement an 'rconcat' operator.

Inherited from DQLDMLClauseElement (via LabeledColumnExprRole, NamedColumn, KeyedColumnElement, ColumnElement, ColumnArgumentOrKeyRole, ColumnArgumentRole, StatementOptionRole, WhereHavingRole, OnClauseRole, BinaryElementRole, OrderByRole, ColumnsClauseRole, AllowsLambdaRole, ByOfRole, UsesInspection, ColumnListRole, LimitOffsetRole, DMLColumnRole, DDLConstraintColumnRole, DDLExpressionRole, StructuralRole, SQLColumnExpression, SQLCoreOperations, ExpressionElementRole, TypedColumnsClauseRole, ColumnOperators, Operators, SQLRole):

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

Inherited from ClauseElement (via LabeledColumnExprRole, NamedColumn, KeyedColumnElement, ColumnElement, ColumnArgumentOrKeyRole, ColumnArgumentRole, StatementOptionRole, WhereHavingRole, OnClauseRole, BinaryElementRole, OrderByRole, ColumnsClauseRole, AllowsLambdaRole, ByOfRole, UsesInspection, ColumnListRole, LimitOffsetRole, DMLColumnRole, DDLConstraintColumnRole, DDLExpressionRole, StructuralRole, SQLColumnExpression, SQLCoreOperations, ExpressionElementRole, TypedColumnsClauseRole, ColumnOperators, Operators, SQLRole, DQLDMLClauseElement):

Method __bool__ Undocumented
Method __getstate__ 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 unique_params Return a copy with :func:`_expression.bindparam` elements replaced.
Class Variable is_clause_element Undocumented
Class Variable is_dml Undocumented
Class Variable is_selectable Undocumented
Class Variable negation_clause 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_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 _gen_static_annotations_cache_key Undocumented
Class Variable _is_bind_parameter Undocumented
Class Variable _is_clause_list Undocumented
Class Variable _is_from_clause Undocumented
Class Variable _is_from_container Undocumented
Class Variable _is_immutable Undocumented
Class Variable _is_lambda_element Undocumented
Class Variable _is_returns_rows Undocumented
Class Variable _is_select_base Undocumented
Class Variable _is_select_container Undocumented
Class Variable _is_select_statement 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.

Inherited from SupportsWrappingAnnotations (via LabeledColumnExprRole, NamedColumn, KeyedColumnElement, ColumnElement, ColumnArgumentOrKeyRole, ColumnArgumentRole, StatementOptionRole, WhereHavingRole, OnClauseRole, BinaryElementRole, OrderByRole, ColumnsClauseRole, AllowsLambdaRole, ByOfRole, UsesInspection, ColumnListRole, LimitOffsetRole, DMLColumnRole, DDLConstraintColumnRole, DDLExpressionRole, StructuralRole, SQLColumnExpression, SQLCoreOperations, ExpressionElementRole, TypedColumnsClauseRole, ColumnOperators, Operators, SQLRole, DQLDMLClauseElement, ClauseElement):

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.

Inherited from SupportsAnnotations (via LabeledColumnExprRole, NamedColumn, KeyedColumnElement, ColumnElement, ColumnArgumentOrKeyRole, ColumnArgumentRole, StatementOptionRole, WhereHavingRole, OnClauseRole, BinaryElementRole, OrderByRole, ColumnsClauseRole, AllowsLambdaRole, ByOfRole, UsesInspection, ColumnListRole, LimitOffsetRole, DMLColumnRole, DDLConstraintColumnRole, DDLExpressionRole, StructuralRole, SQLColumnExpression, SQLCoreOperations, ExpressionElementRole, TypedColumnsClauseRole, ColumnOperators, Operators, SQLRole, DQLDMLClauseElement, ClauseElement, SupportsWrappingAnnotations):

Method _gen_annotations_cache_key Undocumented
Property _annotations_cache_key Undocumented

Inherited from MemoizedHasCacheKey (via LabeledColumnExprRole, NamedColumn, KeyedColumnElement, ColumnElement, ColumnArgumentOrKeyRole, ColumnArgumentRole, StatementOptionRole, WhereHavingRole, OnClauseRole, BinaryElementRole, OrderByRole, ColumnsClauseRole, AllowsLambdaRole, ByOfRole, UsesInspection, ColumnListRole, LimitOffsetRole, DMLColumnRole, DDLConstraintColumnRole, DDLExpressionRole, StructuralRole, SQLColumnExpression, SQLCoreOperations, ExpressionElementRole, TypedColumnsClauseRole, ColumnOperators, Operators, SQLRole, DQLDMLClauseElement, ClauseElement, SupportsWrappingAnnotations, SupportsAnnotations):

Method _generate_cache_key return a cache key.

Inherited from HasCacheKey (via LabeledColumnExprRole, NamedColumn, KeyedColumnElement, ColumnElement, ColumnArgumentOrKeyRole, ColumnArgumentRole, StatementOptionRole, WhereHavingRole, OnClauseRole, BinaryElementRole, OrderByRole, ColumnsClauseRole, AllowsLambdaRole, ByOfRole, UsesInspection, ColumnListRole, LimitOffsetRole, DMLColumnRole, DDLConstraintColumnRole, DDLExpressionRole, StructuralRole, SQLColumnExpression, SQLCoreOperations, ExpressionElementRole, TypedColumnsClauseRole, ColumnOperators, Operators, 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 CompilerElement (via LabeledColumnExprRole, NamedColumn, KeyedColumnElement, ColumnElement, ColumnArgumentOrKeyRole, ColumnArgumentRole, StatementOptionRole, WhereHavingRole, OnClauseRole, BinaryElementRole, OrderByRole, ColumnsClauseRole, AllowsLambdaRole, ByOfRole, UsesInspection, ColumnListRole, LimitOffsetRole, DMLColumnRole, DDLConstraintColumnRole, DDLExpressionRole, StructuralRole, SQLColumnExpression, SQLCoreOperations, ExpressionElementRole, TypedColumnsClauseRole, ColumnOperators, Operators, SQLRole, DQLDMLClauseElement, ClauseElement, SupportsWrappingAnnotations, SupportsAnnotations, MemoizedHasCacheKey, HasCacheKey, HasCopyInternals, ExternallyTraversible, HasTraverseInternals):

Method __str__ Undocumented
Class Variable stringify_dialect Undocumented
Class Variable supports_execution Undocumented

Inherited from Visitable (via LabeledColumnExprRole, NamedColumn, KeyedColumnElement, ColumnElement, ColumnArgumentOrKeyRole, ColumnArgumentRole, StatementOptionRole, WhereHavingRole, OnClauseRole, BinaryElementRole, OrderByRole, ColumnsClauseRole, AllowsLambdaRole, ByOfRole, UsesInspection, ColumnListRole, LimitOffsetRole, DMLColumnRole, DDLConstraintColumnRole, DDLExpressionRole, StructuralRole, SQLColumnExpression, SQLCoreOperations, ExpressionElementRole, TypedColumnsClauseRole, ColumnOperators, Operators, SQLRole, DQLDMLClauseElement, ClauseElement, SupportsWrappingAnnotations, SupportsAnnotations, MemoizedHasCacheKey, HasCacheKey, 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
def __init__(self, name: Optional[str], element: _ColumnExpressionArgument[_T], type_: Optional[_TypeEngineArgument[_T]] = None): (source)

Undocumented

def __reduce__(self): (source)

Undocumented

@HasMemoized.memoized_attribute
def element(self) -> ColumnElement[_T]: (source)

Undocumented

def self_group(self, against=None): (source)

Apply a 'grouping' to this :class:`_expression.ClauseElement`. This method is overridden by subclasses to return a "grouping" construct, i.e. parenthesis. In particular it's used by "binary" expressions to provide a grouping around themselves when placed into a larger expression, as well as by :func:`_expression.select` constructs when placed into the FROM clause of another :func:`_expression.select`. (Note that subqueries should be normally created using the :meth:`_expression.Select.alias` method, as many platforms require nested SELECT statements to be named). As expressions are composed together, the application of :meth:`self_group` is automatic - end-user code should never need to use this method directly. Note that SQLAlchemy's clause constructs take operator precedence into account - so parenthesis might not be needed, for example, in an expression like ``x OR (y AND z)`` - AND takes precedence over OR. The base :meth:`self_group` method of :class:`_expression.ClauseElement` just returns self.

The 'key' that in some circumstances refers to this object in a Python namespace. This typically refers to the "key" of the column as present in the ``.c`` collection of a selectable, e.g. ``sometable.c["somekey"]`` would return a :class:`_schema.Column` with a ``.key`` of "somekey".

@HasMemoized.memoized_attribute
def _allow_label_resolve(self): (source)

A flag that can be flipped to prevent a column from being resolvable by string label name. The joined eager loader strategy in the ORM uses this, for example.

def _apply_to_inner(self, fn, *arg, **kw): (source)

Undocumented

def _bind_param(self, operator, obj, type_=None, expanding=False): (source)
def _copy_internals(self, *, clone: _CloneCallableType = _clone, anonymize_labels: bool = False, **kw: Any): (source)

Reassign internal elements to be clones of themselves. Called during a copy-and-traverse operation on newly shallow-copied elements to create a deep copy. The given clone function should be used, which may be applying additional transformations to the element (i.e. replacement traversal, cloned traversal, annotations).

def _make_proxy(self, selectable: FromClause, *, name: Optional[str] = None, compound_select_cols: Optional[Sequence[ColumnElement[Any]]] = None, **kw: Any) -> typing_Tuple[str, ColumnClause[_T]]: (source)

Create a new :class:`_expression.ColumnElement` representing this :class:`_expression.ColumnElement` as it appears in the select list of a descending selectable.

@HasMemoized.memoized_attribute
def _render_label_in_columns_clause(self): (source)

A flag used by select._columns_plus_names that helps to determine we are actually going to render in terms of "SELECT <col> AS <label>". This flag can be returned as False for some Column objects that want to be rendered as simple "SELECT <col>"; typically columns that don't have any parent table and are named the same as what the label would be in any case.

_element = (source)

Undocumented

@util.ro_non_memoized_property
_from_objects: List[FromClause] = (source)
@util.memoized_property
_is_implicitly_boolean = (source)