Chain

final class lsst.daf.relation.Chain

Bases: BinaryOperation

A relation operation that concatenates the rows of a pair of relations with the same columns.

Methods Summary

applied_columns(lhs, rhs)

Return the columns of the relation that results from applying this operation to the given targets.

applied_max_rows(lhs, rhs)

Return the maximum number of rows of the relation that results from applying this operation to the given target.

applied_min_rows(lhs, rhs)

Return the minimum number of rows of the relation that results from applying this operation to the given targets.

apply(lhs, rhs)

Create a new relation that represents the action of this operation on a pair of existing relations.

Methods Documentation

applied_columns(lhs: Relation, rhs: Relation) Set[ColumnTag]

Return the columns of the relation that results from applying this operation to the given targets.

Parameters:
lhsRelation

On relation the operation will act on.

rhsRelation

The other relation the operation will act on.

Returns:
columnsSet [ ColumnTag ]

Columns the new relation would have.

applied_max_rows(lhs: Relation, rhs: Relation) int | None

Return the maximum number of rows of the relation that results from applying this operation to the given target.

Parameters:
lhsRelation

On relation the operation will act on.

rhsRelation

The other relation the operation will act on.

Returns:
max_rowsint or None

Maximum number of rows the new relation would have.

applied_min_rows(lhs: Relation, rhs: Relation) int

Return the minimum number of rows of the relation that results from applying this operation to the given targets.

Parameters:
lhsRelation

On relation the operation will act on.

rhsRelation

The other relation the operation will act on.

Returns:
min_rowsint

Minimum number of rows the new relation would have.

apply(lhs: Relation, rhs: Relation) Relation

Create a new relation that represents the action of this operation on a pair of existing relations.

Parameters:
lhsRelation

One relation the operation will act on.

rhsRelation

The other relation the operation will act on.

Returns:
new_relationRelation

Relation that includes this operation. This may be self if the operation is a no-op, and it may not be a BinaryOperationRelation holding this operation (or even a similar one) if the operation was inserted earlier in the tree via commutation relations.

Raises:
ColumnError

Raised if the operation could not be applied due to problems with the target relations’ columns.

EngineError

Raised if the operation could not be applied due to problems with the target relations’ engine(s).