ParentDatasetQueryResults¶
-
class
lsst.daf.butler.registry.queries.
ParentDatasetQueryResults
(db:lsst.daf.butler.registry.interfaces.Database
, query:lsst.daf.butler.registry.queries.Query
, *, components: Sequence[Optional[str]], records: Optional[Mapping[str, Mapping[tuple,lsst.daf.butler.DimensionRecord
]]] = None)¶ Bases:
Iterable
[lsst.daf.butler.DatasetRef
]An object that represents results from a query for datasets with a single parent
DatasetType
.- Parameters
- db
Database
Database engine to execute queries against.
- query
Query
Low-level query object that backs these results.
query.datasetType
will be the parent dataset type for this object, and may not beNone
.- components
Sequence
[str
orNone
] Names of components to include in iteration.
None
may be included (at most once) to include the parent dataset type.- records
Mapping
, optional Mapping containing
DimensionRecord
objects for all dimensions and all data IDs this query will yield. IfNone
(default),DataCoordinate.hasRecords
will returnFalse
for all nested data IDs. This is a nested mapping withstr
names of dimension elements as outer keys,DimensionRecord
instances as inner values, andtuple(record.dataId.values())
for the inner keys / outer values (whererecord
is the innermostDimensionRecord
instance).
- db
Attributes Summary
A lazy-evaluation object representing a query for the just the data IDs of the datasets that would be returned by this query (
DataCoordinateQueryResults
).The parent dataset type for all datasets in this iterable (
DatasetType
).Methods Summary
Group results by parent dataset type.
expanded
()Return a
DatasetQueryResults
for whichDataCoordinate.hasResults
returnsTrue
for all data IDs in returnedDatasetRef
objects.Insert this query’s results into a temporary table.
withComponents
(components)Return a new query results object for the same parent datasets but different components.
Attributes Documentation
-
dataIds
¶ A lazy-evaluation object representing a query for the just the data IDs of the datasets that would be returned by this query (
DataCoordinateQueryResults
).The returned object is not in general
zip
-iterable withself
; it may be in a different order or have (or not have) duplicates.
-
parentDatasetType
¶ The parent dataset type for all datasets in this iterable (
DatasetType
).
Methods Documentation
-
byParentDatasetType
() → Iterator[lsst.daf.butler.registry.queries.ParentDatasetQueryResults
]¶ Group results by parent dataset type.
- Returns
- iter
Iterator
[ParentDatasetQueryResults
] An iterator over
DatasetQueryResults
instances that are each responsible for a single parent dataset type (either just that dataset type, one or more of its component dataset types, or both).
- iter
-
expanded
() →lsst.daf.butler.registry.queries.ParentDatasetQueryResults
¶ Return a
DatasetQueryResults
for whichDataCoordinate.hasResults
returnsTrue
for all data IDs in returnedDatasetRef
objects.- Returns
- expanded
DatasetQueryResults
Either a new
DatasetQueryResults
instance orself
, if it is already expanded.
- expanded
Notes
As with
DataCoordinateQueryResults.expanded
, it may be more efficient to callmaterialize
before expanding data IDs for very large result sets.
-
materialize
() → Iterator[lsst.daf.butler.registry.queries.ParentDatasetQueryResults
]¶ Insert this query’s results into a temporary table.
- Returns
- context
typing.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__
. Ifself
is already materialized, the context manager may do nothing (reflecting the fact that an outer context manager should already take care of everything else).
- context
-
withComponents
(components: Sequence[Optional[str]]) →lsst.daf.butler.registry.queries.ParentDatasetQueryResults
¶ Return a new query results object for the same parent datasets but different components.