(
cls,
left: FromClause,
right: FromClause,
*,
consider_as_foreign_keys: Optional[
AbstractSet[ColumnClause[Any]]
] = None,
)
| 1500 | |
| 1501 | @classmethod |
| 1502 | def _can_join( |
| 1503 | cls, |
| 1504 | left: FromClause, |
| 1505 | right: FromClause, |
| 1506 | *, |
| 1507 | consider_as_foreign_keys: Optional[ |
| 1508 | AbstractSet[ColumnClause[Any]] |
| 1509 | ] = None, |
| 1510 | ) -> bool: |
| 1511 | if isinstance(left, Join): |
| 1512 | left_right = left.right |
| 1513 | else: |
| 1514 | left_right = None |
| 1515 | |
| 1516 | constraints = cls._joincond_scan_left_right( |
| 1517 | a=left, |
| 1518 | b=right, |
| 1519 | a_subset=left_right, |
| 1520 | consider_as_foreign_keys=consider_as_foreign_keys, |
| 1521 | ) |
| 1522 | |
| 1523 | return bool(constraints) |
| 1524 | |
| 1525 | @classmethod |
| 1526 | @util.preload_module("sqlalchemy.sql.util") |
no test coverage detected