$39 GRAYBYTE WORDPRESS FILE MANAGER $14

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/postgresql/

HOME
Current File : /lib64/python2.7/site-packages/sqlalchemy/dialects/postgresql//ranges.py
# dialects/postgresql/ranges.py
# Copyright (C) 2013-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 types as sqltypes


__all__ = ("INT4RANGE", "INT8RANGE", "NUMRANGE")


class RangeOperators(object):
    """
    This mixin provides functionality for the Range Operators
    listed in the Range Operators table of the `PostgreSQL documentation`__
    for Range Functions and Operators. It is used by all the range types
    provided in the ``postgres`` dialect and can likely be used for
    any range types you create yourself.

    __ https://www.postgresql.org/docs/current/static/functions-range.html

    No extra support is provided for the Range Functions listed in the Range
    Functions table of the PostgreSQL documentation. For these, the normal
    :func:`~sqlalchemy.sql.expression.func` object should be used.

    """

    class comparator_factory(sqltypes.Concatenable.Comparator):
        """Define comparison operations for range types."""

        def __ne__(self, other):
            "Boolean expression. Returns true if two ranges are not equal"
            if other is None:
                return super(RangeOperators.comparator_factory, self).__ne__(
                    other
                )
            else:
                return self.expr.op("<>", is_comparison=True)(other)

        def contains(self, other, **kw):
            """Boolean expression. Returns true if the right hand operand,
            which can be an element or a range, is contained within the
            column.

            kwargs may be ignored by this operator but are required for API
            conformance.
            """
            return self.expr.op("@>", is_comparison=True)(other)

        def contained_by(self, other):
            """Boolean expression. Returns true if the column is contained
            within the right hand operand.
            """
            return self.expr.op("<@", is_comparison=True)(other)

        def overlaps(self, other):
            """Boolean expression. Returns true if the column overlaps
            (has points in common with) the right hand operand.
            """
            return self.expr.op("&&", is_comparison=True)(other)

        def strictly_left_of(self, other):
            """Boolean expression. Returns true if the column is strictly
            left of the right hand operand.
            """
            return self.expr.op("<<", is_comparison=True)(other)

        __lshift__ = strictly_left_of

        def strictly_right_of(self, other):
            """Boolean expression. Returns true if the column is strictly
            right of the right hand operand.
            """
            return self.expr.op(">>", is_comparison=True)(other)

        __rshift__ = strictly_right_of

        def not_extend_right_of(self, other):
            """Boolean expression. Returns true if the range in the column
            does not extend right of the range in the operand.
            """
            return self.expr.op("&<", is_comparison=True)(other)

        def not_extend_left_of(self, other):
            """Boolean expression. Returns true if the range in the column
            does not extend left of the range in the operand.
            """
            return self.expr.op("&>", is_comparison=True)(other)

        def adjacent_to(self, other):
            """Boolean expression. Returns true if the range in the column
            is adjacent to the range in the operand.
            """
            return self.expr.op("-|-", is_comparison=True)(other)

        def __add__(self, other):
            """Range expression. Returns the union of the two ranges.
            Will raise an exception if the resulting range is not
            contiguous.
            """
            return self.expr.op("+")(other)


class INT4RANGE(RangeOperators, sqltypes.TypeEngine):
    """Represent the PostgreSQL INT4RANGE type."""

    __visit_name__ = "INT4RANGE"


class INT8RANGE(RangeOperators, sqltypes.TypeEngine):
    """Represent the PostgreSQL INT8RANGE type."""

    __visit_name__ = "INT8RANGE"


class NUMRANGE(RangeOperators, sqltypes.TypeEngine):
    """Represent the PostgreSQL NUMRANGE type."""

    __visit_name__ = "NUMRANGE"


class DATERANGE(RangeOperators, sqltypes.TypeEngine):
    """Represent the PostgreSQL DATERANGE type."""

    __visit_name__ = "DATERANGE"


class TSRANGE(RangeOperators, sqltypes.TypeEngine):
    """Represent the PostgreSQL TSRANGE type."""

    __visit_name__ = "TSRANGE"


class TSTZRANGE(RangeOperators, sqltypes.TypeEngine):
    """Represent the PostgreSQL TSTZRANGE type."""

    __visit_name__ = "TSTZRANGE"

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.501 KB
5 Sep 2024 10.50 PM
root / root
0644
__init__.pyc
3.057 KB
23 Sep 2024 10.41 AM
root / root
0644
array.py
13.873 KB
5 Sep 2024 10.50 PM
root / root
0644
array.pyc
15.474 KB
23 Sep 2024 10.41 AM
root / root
0644
asyncpg.py
35.495 KB
5 Sep 2024 10.50 PM
root / root
0644
base.py
159.868 KB
5 Sep 2024 10.50 PM
root / root
0644
base.pyc
156.604 KB
23 Sep 2024 10.41 AM
root / root
0644
dml.py
9.345 KB
5 Sep 2024 10.50 PM
root / root
0644
dml.pyc
9.052 KB
23 Sep 2024 10.41 AM
root / root
0644
ext.py
8.458 KB
5 Sep 2024 10.50 PM
root / root
0644
ext.pyc
9.17 KB
23 Sep 2024 10.41 AM
root / root
0644
hstore.py
12.58 KB
5 Sep 2024 10.50 PM
root / root
0644
hstore.pyc
15.711 KB
23 Sep 2024 10.41 AM
root / root
0644
json.py
10.564 KB
5 Sep 2024 10.50 PM
root / root
0644
json.pyc
11.884 KB
23 Sep 2024 10.41 AM
root / root
0644
pg8000.py
16.653 KB
5 Sep 2024 10.50 PM
root / root
0644
pg8000.pyc
26.467 KB
23 Sep 2024 10.41 AM
root / root
0644
provision.py
4.465 KB
5 Sep 2024 10.50 PM
root / root
0644
provision.pyc
4.725 KB
23 Sep 2024 10.41 AM
root / root
0644
psycopg2.py
39.401 KB
5 Sep 2024 10.50 PM
root / root
0644
psycopg2.pyc
38.875 KB
23 Sep 2024 10.41 AM
root / root
0644
psycopg2cffi.py
1.668 KB
5 Sep 2024 10.50 PM
root / root
0644
psycopg2cffi.pyc
2.146 KB
23 Sep 2024 10.41 AM
root / root
0644
pygresql.py
8.393 KB
5 Sep 2024 10.50 PM
root / root
0644
pygresql.pyc
10.762 KB
23 Sep 2024 10.41 AM
root / root
0644
pypostgresql.py
3.615 KB
5 Sep 2024 10.50 PM
root / root
0644
pypostgresql.pyc
4.838 KB
23 Sep 2024 10.41 AM
root / root
0644
ranges.py
4.683 KB
5 Sep 2024 10.50 PM
root / root
0644
ranges.pyc
6.939 KB
23 Sep 2024 10.41 AM
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME
Static GIF