class documentation

class match(Generative, elements.BinaryExpression): (source)

View In Hierarchy

Produce a ``MATCH (X, Y) AGAINST ('TEXT')`` clause. E.g.:: from sqlalchemy import desc from sqlalchemy.dialects.mysql import match match_expr = match( users_table.c.firstname, users_table.c.lastname, against="Firstname Lastname", ) stmt = ( select(users_table) .where(match_expr.in_boolean_mode()) .order_by(desc(match_expr)) ) Would produce SQL resembling:: SELECT id, firstname, lastname FROM user WHERE MATCH(firstname, lastname) AGAINST (:param_1 IN BOOLEAN MODE) ORDER BY MATCH(firstname, lastname) AGAINST (:param_2) DESC The :func:`_mysql.match` function is a standalone version of the :meth:`_sql.ColumnElement.match` method available on all SQL expressions, as when :meth:`_expression.ColumnElement.match` is used, but allows to pass multiple columns :param cols: column expressions to match against :param against: expression to be compared towards :param in_boolean_mode: boolean, set "boolean mode" to true :param in_natural_language_mode: boolean , set "natural language" to true :param with_query_expansion: boolean, set "query expansion" to true .. versionadded:: 1.4.19 .. seealso:: :meth:`_expression.ColumnElement.match`

Method __init__ Undocumented
Method in_boolean_mode Apply the "IN BOOLEAN MODE" modifier to the MATCH expression.
Method in_natural_language_mode Apply the "IN NATURAL LANGUAGE MODE" modifier to the MATCH expression.
Method with_query_expansion Apply the "WITH QUERY EXPANSION" modifier to the MATCH expression.
Class Variable __visit_name__ Undocumented
Class Variable inherit_cache Indicate if this :class:`.HasCacheKey` instance should make use of the cache key generation scheme used by its immediate superclass.
Instance Variable modifiers Undocumented

Inherited from Generative:

Method _generate Undocumented

Inherited from BinaryExpression (via Generative):

Method __bool__ Implement Python-side "bool" for BinaryExpression as a simple "identity" check for the left and right attributes, if the operator is "eq" or "ne". Otherwise the expression continues to not support "bool" like all other column expressions.
Method __invert__ Implement the ``~`` operator.
Instance Variable left Undocumented
Instance Variable negate Undocumented
Instance Variable operator Undocumented
Instance Variable right Undocumented
Instance Variable type Undocumented
Method _negate Undocumented
Class Variable _cache_key_traversal Undocumented
Class Variable _traverse_internals Undocumented
Instance Variable _is_implicitly_boolean Indicates that any database will know this is a boolean expression even if the database does not have an explicit boolean datatype.
Instance Variable _orig Undocumented
Instance Variable _propagate_attrs like annotations, however these propagate outwards liberally as SQL constructs are built, and are set up at construction time.
Property _flattened_operator_clauses Undocumented
Property _from_objects Undocumented

Inherited from OperatorExpression (via Generative, BinaryExpression):

Method self_group Apply a 'grouping' to this :class:`_expression.ClauseElement`.
Class Variable group Undocumented
Property is_comparison Undocumented
Class Method _construct_for_op Undocumented

Inherited from ColumnElement (via Generative, BinaryExpression, OperatorExpression):

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`.
Class Variable foreign_keys Undocumented
Class Variable key The 'key' that in some circumstances refers to this object in a Python namespace.
Class Variable primary_key Undocumented
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 _bind_param Undocumented
Method _compare_name_for_result Return True if the given column element compares to this one when targeting within a result row.
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 _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 _proxy_key Undocumented
Method _tq_key_label A label-based version of 'key' that in some circumstances refers to this object in a Python namespace.
Method _uncached_proxy_list An 'uncached' version of proxy set.
Class Variable _allow_label_resolve A flag that can be flipped to prevent a column from being resolvable by string label name.
Class Variable _alt_names Undocumented
Class Variable _is_clone_of Undocumented
Class Variable _is_column_element Undocumented
Class Variable _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.
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 _non_anon_label the 'name' that naturally applies this element when rendered in SQL.
Property _proxies Undocumented
Property _select_iterable Undocumented
Property _tq_label The named label that can be used to target this column in a result set in a "table qualified" context.

Inherited from ColumnArgumentOrKeyRole (via Generative, BinaryExpression, OperatorExpression, ColumnElement):

Class Variable __slots__ Undocumented
Class Variable _role_name Undocumented

Inherited from AllowsLambdaRole (via Generative, BinaryExpression, OperatorExpression, ColumnElement, ColumnArgumentOrKeyRole, ColumnArgumentRole, StatementOptionRole, WhereHavingRole, OnClauseRole, BinaryElementRole, OrderByRole, ColumnsClauseRole):

Class Variable allows_lambda Undocumented

Inherited from UsesInspection (via Generative, BinaryExpression, OperatorExpression, 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 Generative, BinaryExpression, OperatorExpression, 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 __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.

Inherited from ColumnOperators (via Generative, BinaryExpression, OperatorExpression, 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 Generative, BinaryExpression, OperatorExpression, 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 Generative, BinaryExpression, OperatorExpression, 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 __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 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_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_keyed_column_element 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.
Property _order_by_label_element Undocumented

Inherited from SupportsWrappingAnnotations (via Generative, BinaryExpression, OperatorExpression, 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 Generative, BinaryExpression, OperatorExpression, 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 Generative, BinaryExpression, OperatorExpression, 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 Generative, BinaryExpression, OperatorExpression, 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_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 HasCopyInternals (via Generative, BinaryExpression, OperatorExpression, 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_internals Reassign internal elements to be clones of themselves.

Inherited from CompilerElement (via Generative, BinaryExpression, OperatorExpression, 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 Generative, BinaryExpression, OperatorExpression, 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, *cols, **kw): (source)
@_generative
def in_boolean_mode(self) -> Self: (source)

Apply the "IN BOOLEAN MODE" modifier to the MATCH expression. :return: a new :class:`_mysql.match` instance with modifications applied.

@_generative
def in_natural_language_mode(self) -> Self: (source)

Apply the "IN NATURAL LANGUAGE MODE" modifier to the MATCH expression. :return: a new :class:`_mysql.match` instance with modifications applied.

@_generative
def with_query_expansion(self) -> Self: (source)

Apply the "WITH QUERY EXPANSION" modifier to the MATCH expression. :return: a new :class:`_mysql.match` instance with modifications applied.

inherit_cache: bool = (source)

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.