$43 GRAYBYTE WORDPRESS FILE MANAGER $34

SERVER : vnpttt-amd7f72-h1.vietnix.vn #1 SMP Fri May 24 12:42:50 UTC 2024
SERVER IP : 103.200.23.149 | ADMIN IP 216.73.216.22
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/

HOME
Current File : /lib64/python2.7/site-packages/sqlalchemy/dialects/mysql//expression.py
# dialects/mysql/expression.py
# Copyright (C) 2005-2024 the SQLAlchemy authors and contributors
# <see AUTHORS file>
#
# This module is part of SQLAlchemy and is released under
# the MIT License: https://www.opensource.org/licenses/mit-license.php
from ... import exc
from ... import util
from ...sql import coercions
from ...sql import elements
from ...sql import operators
from ...sql import roles
from ...sql.base import _generative
from ...sql.base import Generative


class match(Generative, elements.BinaryExpression):
    """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`

    """

    __visit_name__ = "mysql_match"

    inherit_cache = True

    def __init__(self, *cols, **kw):
        if not cols:
            raise exc.ArgumentError("columns are required")

        against = kw.pop("against", None)

        if against is None:
            raise exc.ArgumentError("against is required")
        against = coercions.expect(
            roles.ExpressionElementRole,
            against,
        )

        left = elements.BooleanClauseList._construct_raw(
            operators.comma_op,
            clauses=cols,
        )
        left.group = False

        flags = util.immutabledict(
            {
                "mysql_boolean_mode": kw.pop("in_boolean_mode", False),
                "mysql_natural_language": kw.pop(
                    "in_natural_language_mode", False
                ),
                "mysql_query_expansion": kw.pop("with_query_expansion", False),
            }
        )

        if kw:
            raise exc.ArgumentError("unknown arguments: %s" % (", ".join(kw)))

        super(match, self).__init__(
            left, against, operators.match_op, modifiers=flags
        )

    @_generative
    def in_boolean_mode(self):
        """Apply the "IN BOOLEAN MODE" modifier to the MATCH expression.

        :return: a new :class:`_mysql.match` instance with modifications
         applied.
        """

        self.modifiers = self.modifiers.union({"mysql_boolean_mode": True})

    @_generative
    def in_natural_language_mode(self):
        """Apply the "IN NATURAL LANGUAGE MODE" modifier to the MATCH
        expression.

        :return: a new :class:`_mysql.match` instance with modifications
         applied.
        """

        self.modifiers = self.modifiers.union({"mysql_natural_language": True})

    @_generative
    def with_query_expansion(self):
        """Apply the "WITH QUERY EXPANSION" modifier to the MATCH expression.

        :return: a new :class:`_mysql.match` instance with modifications
         applied.
        """

        self.modifiers = self.modifiers.union({"mysql_query_expansion": True})

Current_dir [ NOT WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
23 Sep 2024 10.41 AM
root / root
0755
__init__.py
2.147 KB
5 Sep 2024 10.50 PM
root / root
0644
__init__.pyc
2.592 KB
23 Sep 2024 10.41 AM
root / root
0644
aiomysql.py
9.313 KB
5 Sep 2024 10.50 PM
root / root
0644
asyncmy.py
9.443 KB
5 Sep 2024 10.50 PM
root / root
0644
base.py
112.675 KB
5 Sep 2024 10.50 PM
root / root
0644
base.pyc
108.136 KB
23 Sep 2024 10.41 AM
root / root
0644
cymysql.py
2.227 KB
5 Sep 2024 10.50 PM
root / root
0644
cymysql.pyc
3.12 KB
23 Sep 2024 10.41 AM
root / root
0644
dml.py
6.316 KB
5 Sep 2024 10.50 PM
root / root
0644
dml.pyc
6.414 KB
23 Sep 2024 10.41 AM
root / root
0644
enumerated.py
9.153 KB
5 Sep 2024 10.50 PM
root / root
0644
enumerated.pyc
9.959 KB
23 Sep 2024 10.41 AM
root / root
0644
expression.py
3.896 KB
5 Sep 2024 10.50 PM
root / root
0644
expression.pyc
4.366 KB
23 Sep 2024 10.41 AM
root / root
0644
json.py
2.268 KB
5 Sep 2024 10.50 PM
root / root
0644
json.pyc
3.476 KB
23 Sep 2024 10.41 AM
root / root
0644
mariadb.py
0.812 KB
5 Sep 2024 10.50 PM
root / root
0644
mariadb.pyc
1.024 KB
23 Sep 2024 10.41 AM
root / root
0644
mariadbconnector.py
7.395 KB
5 Sep 2024 10.50 PM
root / root
0644
mariadbconnector.pyc
8.521 KB
23 Sep 2024 10.41 AM
root / root
0644
mysqlconnector.py
7.519 KB
5 Sep 2024 10.50 PM
root / root
0644
mysqlconnector.pyc
9.853 KB
23 Sep 2024 10.41 AM
root / root
0644
mysqldb.py
9.797 KB
5 Sep 2024 10.50 PM
root / root
0644
mysqldb.pyc
10.525 KB
23 Sep 2024 10.41 AM
root / root
0644
oursql.py
8.332 KB
5 Sep 2024 10.50 PM
root / root
0644
oursql.pyc
10.027 KB
23 Sep 2024 10.41 AM
root / root
0644
provision.py
2.829 KB
5 Sep 2024 10.50 PM
root / root
0644
provision.pyc
2.584 KB
23 Sep 2024 10.41 AM
root / root
0644
pymysql.py
4.32 KB
5 Sep 2024 10.50 PM
root / root
0644
pymysql.pyc
4.745 KB
23 Sep 2024 10.41 AM
root / root
0644
pyodbc.py
4.198 KB
5 Sep 2024 10.50 PM
root / root
0644
pyodbc.pyc
4.935 KB
23 Sep 2024 10.41 AM
root / root
0644
reflection.py
18.431 KB
5 Sep 2024 10.50 PM
root / root
0644
reflection.pyc
15.017 KB
23 Sep 2024 10.41 AM
root / root
0644
reserved_words.py
8.899 KB
5 Sep 2024 10.50 PM
root / root
0644
reserved_words.pyc
6.491 KB
23 Sep 2024 10.41 AM
root / root
0644
types.py
24.096 KB
5 Sep 2024 10.50 PM
root / root
0644
types.pyc
31.641 KB
23 Sep 2024 10.41 AM
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME
Static GIF