$84 GRAYBYTE WORDPRESS FILE MANAGER $87

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

HOME
Current File : /lib64/python2.7/site-packages/sqlalchemy/sql//roles.py
# sql/roles.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 util


class SQLRole(object):
    """Define a "role" within a SQL statement structure.

    Classes within SQL Core participate within SQLRole hierarchies in order
    to more accurately indicate where they may be used within SQL statements
    of all types.

    .. versionadded:: 1.4

    """

    allows_lambda = False
    uses_inspection = False


class UsesInspection(object):
    _post_inspect = None
    uses_inspection = True


class AllowsLambdaRole(object):
    allows_lambda = True


class HasCacheKeyRole(SQLRole):
    _role_name = "Cacheable Core or ORM object"


class ExecutableOptionRole(SQLRole):
    __slots__ = ()
    _role_name = "ExecutionOption Core or ORM object"


class LiteralValueRole(SQLRole):
    _role_name = "Literal Python value"


class ColumnArgumentRole(SQLRole):
    _role_name = "Column expression"


class ColumnArgumentOrKeyRole(ColumnArgumentRole):
    _role_name = "Column expression or string key"


class StrAsPlainColumnRole(ColumnArgumentRole):
    _role_name = "Column expression or string key"


class ColumnListRole(SQLRole):
    """Elements suitable for forming comma separated lists of expressions."""


class TruncatedLabelRole(SQLRole):
    _role_name = "String SQL identifier"


class ColumnsClauseRole(AllowsLambdaRole, UsesInspection, ColumnListRole):
    _role_name = "Column expression or FROM clause"

    @property
    def _select_iterable(self):
        raise NotImplementedError()


class LimitOffsetRole(SQLRole):
    _role_name = "LIMIT / OFFSET expression"


class ByOfRole(ColumnListRole):
    _role_name = "GROUP BY / OF / etc. expression"


class GroupByRole(AllowsLambdaRole, UsesInspection, ByOfRole):
    # note there's a special case right now where you can pass a whole
    # ORM entity to group_by() and it splits out.   we may not want to keep
    # this around

    _role_name = "GROUP BY expression"


class OrderByRole(AllowsLambdaRole, ByOfRole):
    _role_name = "ORDER BY expression"


class StructuralRole(SQLRole):
    pass


class StatementOptionRole(StructuralRole):
    _role_name = "statement sub-expression element"


class OnClauseRole(AllowsLambdaRole, StructuralRole):
    _role_name = "SQL expression for ON clause"


class WhereHavingRole(OnClauseRole):
    _role_name = "SQL expression for WHERE/HAVING role"


class ExpressionElementRole(SQLRole):
    _role_name = "SQL expression element"


class ConstExprRole(ExpressionElementRole):
    _role_name = "Constant True/False/None expression"


class LabeledColumnExprRole(ExpressionElementRole):
    pass


class BinaryElementRole(ExpressionElementRole):
    _role_name = "SQL expression element or literal value"


class InElementRole(SQLRole):
    _role_name = (
        "IN expression list, SELECT construct, or bound parameter object"
    )


class JoinTargetRole(AllowsLambdaRole, UsesInspection, StructuralRole):
    _role_name = (
        "Join target, typically a FROM expression, or ORM "
        "relationship attribute"
    )


class FromClauseRole(ColumnsClauseRole, JoinTargetRole):
    _role_name = "FROM expression, such as a Table or alias() object"

    _is_subquery = False

    @property
    def _hide_froms(self):
        raise NotImplementedError()


class StrictFromClauseRole(FromClauseRole):
    # does not allow text() or select() objects

    @property
    def description(self):
        raise NotImplementedError()


class AnonymizedFromClauseRole(StrictFromClauseRole):
    # calls .alias() as a post processor

    def _anonymous_fromclause(self, name=None, flat=False):
        raise NotImplementedError()


class ReturnsRowsRole(SQLRole):
    _role_name = (
        "Row returning expression such as a SELECT, a FROM clause, or an "
        "INSERT/UPDATE/DELETE with RETURNING"
    )


class StatementRole(SQLRole):
    _role_name = "Executable SQL or text() construct"

    _propagate_attrs = util.immutabledict()


class SelectStatementRole(StatementRole, ReturnsRowsRole):
    _role_name = "SELECT construct or equivalent text() construct"

    def subquery(self):
        raise NotImplementedError(
            "All SelectStatementRole objects should implement a "
            ".subquery() method."
        )


class HasCTERole(ReturnsRowsRole):
    pass


class IsCTERole(SQLRole):
    _role_name = "CTE object"


class CompoundElementRole(AllowsLambdaRole, SQLRole):
    """SELECT statements inside a CompoundSelect, e.g. UNION, EXTRACT, etc."""

    _role_name = (
        "SELECT construct for inclusion in a UNION or other set construct"
    )


# TODO: are we using this?
class DMLRole(StatementRole):
    pass


class DMLTableRole(FromClauseRole):
    _role_name = "subject table for an INSERT, UPDATE or DELETE"


class DMLColumnRole(SQLRole):
    _role_name = "SET/VALUES column expression or string key"


class DMLSelectRole(SQLRole):
    """A SELECT statement embedded in DML, typically INSERT from SELECT"""

    _role_name = "SELECT statement or equivalent textual object"


class DDLRole(StatementRole):
    pass


class DDLExpressionRole(StructuralRole):
    _role_name = "SQL expression element for DDL constraint"


class DDLConstraintColumnRole(SQLRole):
    _role_name = "String column name or column expression for DDL constraint"


class DDLReferredColumnRole(DDLConstraintColumnRole):
    _role_name = (
        "String column name or Column object for DDL foreign key constraint"
    )

Current_dir [ NOT WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
1 Jan 1970 8.00 AM
root / root
0
__init__.py
4.552 KB
5 Sep 2024 10.50 PM
root / root
0644
__init__.pyc
5.308 KB
23 Sep 2024 10.41 AM
root / root
0644
annotation.py
11.729 KB
5 Sep 2024 10.50 PM
root / root
0644
annotation.pyc
12.388 KB
23 Sep 2024 10.41 AM
root / root
0644
base.py
54.589 KB
5 Sep 2024 10.50 PM
root / root
0644
base.pyc
63.745 KB
23 Sep 2024 10.41 AM
root / root
0644
coercions.py
33.9 KB
5 Sep 2024 10.50 PM
root / root
0644
coercions.pyc
35.118 KB
23 Sep 2024 10.41 AM
root / root
0644
compiler.py
188.964 KB
5 Sep 2024 10.50 PM
root / root
0644
compiler.pyc
150.43 KB
23 Sep 2024 10.41 AM
root / root
0644
crud.py
35.318 KB
5 Sep 2024 10.50 PM
root / root
0644
crud.pyc
21.066 KB
23 Sep 2024 10.41 AM
root / root
0644
ddl.py
43.24 KB
5 Sep 2024 10.50 PM
root / root
0644
ddl.pyc
44.392 KB
23 Sep 2024 10.41 AM
root / root
0644
default_comparator.py
10.88 KB
5 Sep 2024 10.50 PM
root / root
0644
default_comparator.pyc
9.13 KB
23 Sep 2024 10.41 AM
root / root
0644
dml.py
53.389 KB
5 Sep 2024 10.50 PM
root / root
0644
dml.pyc
52.326 KB
23 Sep 2024 10.41 AM
root / root
0644
elements.py
178.422 KB
5 Sep 2024 10.50 PM
root / root
0644
elements.pyc
179.849 KB
23 Sep 2024 10.41 AM
root / root
0644
events.py
12.925 KB
5 Sep 2024 10.50 PM
root / root
0644
events.pyc
14.036 KB
23 Sep 2024 10.41 AM
root / root
0644
expression.py
8.621 KB
5 Sep 2024 10.50 PM
root / root
0644
expression.pyc
8.381 KB
23 Sep 2024 10.41 AM
root / root
0644
functions.py
47.915 KB
5 Sep 2024 10.50 PM
root / root
0644
functions.pyc
55.208 KB
23 Sep 2024 10.41 AM
root / root
0644
lambdas.py
43.99 KB
5 Sep 2024 10.50 PM
root / root
0644
lambdas.pyc
39.031 KB
23 Sep 2024 10.41 AM
root / root
0644
naming.py
6.62 KB
5 Sep 2024 10.50 PM
root / root
0644
naming.pyc
6.467 KB
23 Sep 2024 10.41 AM
root / root
0644
operators.py
48.723 KB
5 Sep 2024 10.50 PM
root / root
0644
operators.pyc
59.95 KB
23 Sep 2024 10.41 AM
root / root
0644
roles.py
5.506 KB
5 Sep 2024 10.50 PM
root / root
0644
roles.pyc
11.887 KB
23 Sep 2024 10.41 AM
root / root
0644
schema.py
191.165 KB
5 Sep 2024 10.50 PM
root / root
0644
schema.pyc
180.536 KB
23 Sep 2024 10.41 AM
root / root
0644
selectable.py
232.104 KB
5 Sep 2024 10.50 PM
root / root
0644
selectable.pyc
235.65 KB
23 Sep 2024 10.41 AM
root / root
0644
sqltypes.py
112.271 KB
5 Sep 2024 10.50 PM
root / root
0644
sqltypes.pyc
120.372 KB
23 Sep 2024 10.41 AM
root / root
0644
traversals.py
52.091 KB
5 Sep 2024 10.50 PM
root / root
0644
traversals.pyc
52.636 KB
23 Sep 2024 10.41 AM
root / root
0644
type_api.py
70.063 KB
5 Sep 2024 10.50 PM
root / root
0644
type_api.pyc
66.684 KB
23 Sep 2024 10.41 AM
root / root
0644
util.py
35.118 KB
5 Sep 2024 10.50 PM
root / root
0644
util.pyc
31.615 KB
23 Sep 2024 10.41 AM
root / root
0644
visitors.py
26.688 KB
5 Sep 2024 10.50 PM
root / root
0644
visitors.pyc
24.45 KB
23 Sep 2024 10.41 AM
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME
Static GIF