Diagnostics¶
- 
class lsst.daf.relation.Diagnostics(is_doomed: bool, messages: list)¶
- Bases: - object- A relation-processing algorithm that attempts to explain why a relation has no rows. - The - Diagnosticsclass itself is just the type returned by its- runclass method, which performs a depth-first tree traversal looking for relations that are either known in advance to have no rows (- Relation.max_rowszero) or shown to have no rows via an- executorcallable; when present, these are then propagated downstream to the root. Only operations that can remove all rows (- UnaryOperation.is_empty_invariantis- False) are executed when no empty leaf relations are found.x- Methods Summary - run(relation, executor, bool], None] = None)- Report on whether the given relation has no rows, and if so, why. - Methods Documentation - 
classmethod run(relation: lsst.daf.relation._relation.Relation, executor: Optional[collections.abc.Callable[lsst.daf.relation._relation.Relation, bool], None] = None) → lsst.daf.relation._diagnostics.Diagnostics¶
- Report on whether the given relation has no rows, and if so, why. - Parameters: - relation : Relation
- Relation to analyze. 
- executor : Callable, optional
- If provided, a callable that takes a - Relationand does some engine-specific processing to determine whether it has any rows, such as a- LIMIT 1query in SQL. If not provided, diagnostics will be based only on relations with- Relation.max_rowsset to zero.
 - Returns: - diagnostics : Diagnostics
- Struct containing the diagnostics report. 
 
- relation : 
 
- 
classmethod