DatasetQueryResults

class lsst.daf.butler.registry.queries.DatasetQueryResults

Bases: LimitedQueryResultsBase, Iterable[DatasetRef]

An interface for objects that represent the results of queries for datasets.

Methods Summary

byParentDatasetType()

Group results by parent dataset type.

expanded()

Return a DatasetQueryResults for which DataCoordinate.hasRecords returns True for all data IDs in returned DatasetRef objects.

materialize()

Insert this query's results into a temporary table.

Methods Documentation

abstract byParentDatasetType() Iterator[ParentDatasetQueryResults]

Group results by parent dataset type.

Returns:
iterIterator [ ParentDatasetQueryResults ]

An iterator over DatasetQueryResults instances that are each responsible for a single parent dataset type.

abstract expanded() Self

Return a DatasetQueryResults for which DataCoordinate.hasRecords returns True for all data IDs in returned DatasetRef objects.

Returns:
expandedDatasetQueryResults

Either a new DatasetQueryResults instance or self, if it is already expanded.

Notes

As with DataCoordinateQueryResults.expanded, it may be more efficient to call materialize before expanding data IDs for very large result sets.

abstract materialize() AbstractContextManager[Self]

Insert this query’s results into a temporary table.

Returns:
contexttyping.ContextManager [ DatasetQueryResults ]

A context manager that ensures the temporary table is created and populated in __enter__ (returning a results object backed by that table), and dropped in __exit__. If self is already materialized, the context manager may do nothing (reflecting the fact that an outer context manager should already take care of everything else).