MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / __init__

Method __init__

lib/sqlalchemy/sql/elements.py:3518–3546  ·  view source on GitHub ↗
(
        self,
        *clauses: _ColumnExpressionArgument[Any],
        types: Optional[Sequence[_TypeEngineArgument[Any]]] = None,
    )

Source from the content-addressed store, hash-verified

3516
3517 @util.preload_module("sqlalchemy.sql.sqltypes")
3518 def __init__(
3519 self,
3520 *clauses: _ColumnExpressionArgument[Any],
3521 types: Optional[Sequence[_TypeEngineArgument[Any]]] = None,
3522 ):
3523 sqltypes = util.preloaded.sql_sqltypes
3524
3525 if types is None:
3526 init_clauses: List[ColumnElement[Any]] = [
3527 coercions.expect(roles.ExpressionElementRole, c)
3528 for c in clauses
3529 ]
3530 else:
3531 if len(types) != len(clauses):
3532 raise exc.ArgumentError(
3533 "Wrong number of elements for %d-tuple: %r "
3534 % (len(types), clauses)
3535 )
3536 init_clauses = [
3537 coercions.expect(
3538 roles.ExpressionElementRole,
3539 c,
3540 type_=typ if not typ._isnull else None,
3541 )
3542 for typ, c in zip(types, clauses)
3543 ]
3544
3545 self.type = sqltypes.TupleType(*[arg.type for arg in init_clauses])
3546 super().__init__(*init_clauses)
3547
3548 @property
3549 def _select_iterable(self) -> _SelectIterable:

Callers

nothing calls this directly

Calls 1

__init__Method · 0.45

Tested by

no test coverage detected