class BindParameter(roles.InElementRole, KeyedColumnElement[
Known subclasses: sqlalchemy.sql.selectable._OffsetLimitParam
Represent a "bound expression". :class:`.BindParameter` is invoked explicitly using the :func:`.bindparam` function, as in:: from sqlalchemy import bindparam stmt = select(users_table).\ where(users_table.c.name == bindparam('username')) Detailed discussion of how :class:`.BindParameter` is used is at :func:`.bindparam`. .. seealso:: :func:`.bindparam`
Method | __getstate__ |
execute a deferred value for serialization purposes. |
Method | __init__ |
Undocumented |
Method | __repr__ |
Undocumented |
Method | __setstate__ |
Undocumented |
Method | render |
Produce a copy of this bound parameter that will enable the :paramref:`_sql.BindParameter.literal_execute` flag. |
Class Variable | __visit |
Undocumented |
Class Variable | inherit |
Indicate if this :class:`.HasCacheKey` instance should make use of the cache key generation scheme used by its immediate superclass. |
Instance Variable | callable |
Undocumented |
Instance Variable | expand |
Undocumented |
Instance Variable | expanding |
Undocumented |
Instance Variable | isoutparam |
Undocumented |
Instance Variable | key |
The 'key' that in some circumstances refers to this object in a Python namespace. |
Instance Variable | literal |
Undocumented |
Instance Variable | required |
Undocumented |
Instance Variable | type |
Undocumented |
Instance Variable | unique |
Undocumented |
Instance Variable | value |
Undocumented |
Property | effective |
Return the value of this bound parameter, taking into account if the ``callable`` parameter was set. |
Method | _clone |
Create a shallow copy of this ClauseElement. |
Method | _convert |
Undocumented |
Method | _gen |
return an optional cache key. |
Method | _negate |
a hook to allow the right side of a binary expression to respond to a negation of the binary expression. |
Method | _with |
in the context of binary expression, convert the type of this object to the one given. |
Method | _with |
Return a copy of this :class:`.BindParameter` with the given value set. |
Class Variable | _is |
Undocumented |
Class Variable | _traverse |
Undocumented |
Instance Variable | _identifying |
Undocumented |
Instance Variable | _is |
Undocumented |
Instance Variable | _key |
Undocumented |
Instance Variable | _orig |
Undocumented |
Inherited from InElementRole
:
Class Variable | __slots__ |
Undocumented |
Class Variable | _role |
Undocumented |
Inherited from KeyedColumnElement
(via InElementRole
):
Class Variable | _is |
Undocumented |
Inherited from ColumnElement
(via InElementRole
, 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 |
Reverse operate on an argument. |
Method | self |
Apply a 'grouping' to this :class:`_expression.ClauseElement`. |
Method | shares |
Return True if the given :class:`_expression.ColumnElement` has a common ancestor to this :class:`_expression.ColumnElement`. |
Class Variable | foreign |
Undocumented |
Class Variable | primary |
Undocumented |
Property | anon |
Undocumented |
Property | anon |
Undocumented |
Property | base |
Undocumented |
Property | expression |
Return a column expression. |
Property | proxy |
set of all columns we are proxying |
Method | _anon |
Undocumented |
Method | _bind |
Undocumented |
Method | _compare |
Return True if the given column element compares to this one when targeting within a result row. |
Method | _dedupe |
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 |
Undocumented |
Method | _expression |
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 | _make |
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 | _proxy |
Undocumented |
Method | _tq |
A label-based version of 'key' that in some circumstances refers to this object in a Python namespace. |
Method | _uncached |
An 'uncached' version of proxy set. |
Class Variable | _allow |
A flag that can be flipped to prevent a column from being resolvable by string label name. |
Class Variable | _alt |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _render |
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. |
Property | _anon |
Provides a constant 'anonymous key label' for this ColumnElement. |
Property | _anon |
Provides a constant 'anonymous label' for this ColumnElement. |
Property | _anon |
Undocumented |
Property | _anon |
Undocumented |
Property | _expanded |
Undocumented |
Property | _key |
legacy; renamed to _tq_key_label |
Property | _label |
legacy; renamed to _tq_label |
Property | _non |
the 'name' that naturally applies this element when rendered in SQL. |
Property | _proxies |
Undocumented |
Property | _select |
Undocumented |
Property | _tq |
The named label that can be used to target this column in a result set in a "table qualified" context. |
Inherited from AllowsLambdaRole
(via InElementRole
, KeyedColumnElement
, ColumnElement
, ColumnArgumentOrKeyRole
, ColumnArgumentRole
, StatementOptionRole
, WhereHavingRole
, OnClauseRole
, BinaryElementRole
, OrderByRole
, ColumnsClauseRole
):
Class Variable | allows |
Undocumented |
Inherited from UsesInspection
(via InElementRole
, KeyedColumnElement
, ColumnElement
, ColumnArgumentOrKeyRole
, ColumnArgumentRole
, StatementOptionRole
, WhereHavingRole
, OnClauseRole
, BinaryElementRole
, OrderByRole
, ColumnsClauseRole
, AllowsLambdaRole
, ByOfRole
):
Class Variable | uses |
Undocumented |
Class Variable | _post |
Undocumented |
Inherited from SQLCoreOperations
(via InElementRole
, 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 |
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 |
Implement the ``IS DISTINCT FROM`` operator. |
Method | is |
Implement the ``IS NOT`` operator. |
Method | is |
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 |
implement the ``NOT ILIKE`` operator. |
Method | not |
implement the ``NOT IN`` operator. |
Method | not |
implement the ``NOT LIKE`` operator. |
Method | notilike |
Undocumented |
Method | notin_ |
Undocumented |
Method | notlike |
Undocumented |
Method | nulls |
Produce a :func:`_expression.nulls_first` clause against the parent object. |
Method | nulls |
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 |
Implements a database-specific 'regexp match' operator. |
Method | regexp |
Implements a database-specific 'regexp replace' operator. |
Method | startswith |
Implement the ``startswith`` operator. |
Property | _propagate |
Undocumented |
Inherited from ColumnOperators
(via InElementRole
, 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 |
Produce a bitwise AND operation, typically via the ``&`` operator. |
Method | bitwise |
Produce a bitwise LSHIFT operation, typically via the ``<<`` operator. |
Method | bitwise |
Produce a bitwise NOT operation, typically via the ``~`` operator. |
Method | bitwise |
Produce a bitwise OR operation, typically via the ``|`` operator. |
Method | bitwise |
Produce a bitwise RSHIFT operation, typically via the ``>>`` operator. |
Method | bitwise |
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 |
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 InElementRole
, 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 InElementRole
, 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 | 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 | unique |
Return a copy with :func:`_expression.bindparam` elements replaced. |
Class Variable | is |
Undocumented |
Class Variable | is |
Undocumented |
Class Variable | is |
Undocumented |
Class Variable | negation |
Undocumented |
Property | description |
Undocumented |
Property | entity |
Undocumented |
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 | _replace |
Undocumented |
Method | _set |
Undocumented |
Method | _ungroup |
Return this :class:`_expression.ClauseElement` without any groupings. |
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 SupportsWrappingAnnotations
(via InElementRole
, 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 |
return a copy of this ClauseElement with annotations replaced by the given dictionary. |
Inherited from SupportsAnnotations
(via InElementRole
, 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 |
Undocumented |
Property | _annotations |
Undocumented |
Inherited from MemoizedHasCacheKey
(via InElementRole
, 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 |
return a cache key. |
Inherited from HasCacheKey
(via InElementRole
, 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 Method | _generate |
generate cache key dispatcher for a new class. |
Class Method | _generate |
Undocumented |
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 HasCopyInternals
(via InElementRole
, 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
):
Method | _copy |
Reassign internal elements to be clones of themselves. |
Inherited from CompilerElement
(via InElementRole
, 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 |
Undocumented |
Class Variable | supports |
Undocumented |
Inherited from Visitable
(via InElementRole
, 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 |
Undocumented |
Method | __init |
Undocumented |
Class Method | _generate |
Undocumented |
Method | _compiler |
Undocumented |
Class Variable | _original |
Undocumented |
Optional[ str]
, value: Any
= _NoArg.NO_ARG, type_: Optional[ _TypeEngineArgument[ _T]]
= None, unique: bool
= False, required: Union[ bool, Literal[ _NoArg.NO_ARG]]
= _NoArg.NO_ARG, quote: Optional[ bool]
= None, callable_: Optional[ Callable[ [], Any]]
= None, expanding: bool
= False, isoutparam: bool
= False, literal_execute: bool
= False, _compared_to_operator: Optional[ OperatorType]
= None, _compared_to_type: Optional[ TypeEngine[ Any]]
= None, _is_crud: bool
= False):
(source)
¶
Undocumented
Produce a copy of this bound parameter that will enable the :paramref:`_sql.BindParameter.literal_execute` flag. The :paramref:`_sql.BindParameter.literal_execute` flag will have the effect of the parameter rendered in the compiled SQL string using ``[POSTCOMPILE]`` form, which is a special form that is converted to be a rendering of the literal value of the parameter at SQL execution time. The rationale is to support caching of SQL statement strings that can embed per-statement literal values, such as LIMIT and OFFSET parameters, in the final SQL string that is passed to the DBAPI. Dialects in particular may want to use this method within custom compilation schemes. .. versionadded:: 1.4.5 .. seealso:: :ref:`engine_thirdparty_caching`
sqlalchemy.sql.selectable._OffsetLimitParam
Indicate if this :class:`.HasCacheKey` instance should make use of the cache key generation scheme used by its immediate superclass. The attribute defaults to ``None``, which indicates that a construct has not yet taken into account whether or not its appropriate for it to participate in caching; this is functionally equivalent to setting the value to ``False``, except that a warning is also emitted. This flag can be set to ``True`` on a particular class, if the SQL that corresponds to the object does not change based on attributes which are local to this class, and not its superclass. .. seealso:: :ref:`compilerext_caching` - General guideslines for setting the :attr:`.HasCacheKey.inherit_cache` attribute for third-party or user defined SQL constructs.
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".
Return the value of this bound parameter, taking into account if the ``callable`` parameter was set. The ``callable`` value will be evaluated and returned if present, else ``value``.
Create a shallow copy of this ClauseElement. This method may be used by a generative API. Its also used as part of the "deep" copy afforded by a traversal that combines the _copy_internals() method.
return an optional cache key. The cache key is a tuple which can contain any series of objects that are hashable and also identifies this object uniquely within the presence of a larger SQL expression or statement, for the purposes of caching the resulting query. The cache key should be based on the SQL compiled structure that would ultimately be produced. That is, two structures that are composed in exactly the same way should produce the same cache key; any difference in the structures that would affect the SQL string or the type handlers should result in a different cache key. If a structure cannot produce a useful cache key, the NO_CACHE symbol should be added to the anon_map and the method should return None.
a hook to allow the right side of a binary expression to respond to a negation of the binary expression. Used for the special case of expanding bind parameter with IN.
in the context of binary expression, convert the type of this object to the one given. applies only to :class:`_expression.ColumnElement` classes.