ParentDatasetQueryResults¶
- class lsst.daf.butler.registry.queries.ParentDatasetQueryResults(query: Query, dataset_type: DatasetType, components: Sequence[str | None] = (None,))¶
- Bases: - DatasetQueryResults- An object that represents results from a query for datasets with a single parent - DatasetType.- Parameters:
- queryQuery
- Low-level query object that backs these results. 
- dataset_typeDatasetType
- Parent dataset type for all datasets returned by this query. 
- componentsSequence[strorNone], optional
- Names of components to include in iteration. - Nonemay be included (at most once) to include the parent dataset type.
 
- query
 - Notes - The - Queryclass now implements essentially all of this class’s functionality; “QueryResult” classes like this one now exist only to provide interface backwards compatibility and more specific iterator types.- Attributes Summary - A lazy-evaluation object representing a query for 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 - any(*[, execute, exact])- Test whether this query returns any results. - Group results by parent dataset type. - count(*[, exact, discard])- Count the number of rows this query would return. - expanded()- Return a - DatasetQueryResultsfor which- DataCoordinate.hasRecordsreturns- Truefor all data IDs in returned- DatasetRefobjects.- explain_no_results([execute])- Return human-readable messages that may help explain why the query yields no results. - 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 just the data IDs of the datasets that would be returned by this query ( - DataCoordinateQueryResults).- The returned object is not in general - zip-iterable with- self; 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 - any(*, execute: bool = True, exact: bool = True) bool¶
- Test whether this query returns any results. - Parameters:
- executebool, optional
- If - True, execute at least a- LIMIT 1query if it cannot be determined prior to execution that the query would return no rows.
- exactbool, optional
- If - True, run the full query and perform post-query filtering if needed, until at least one result row is found. If- False, the returned result does not account for post-query filtering, and hence may be- Trueeven when all result rows would be filtered out.
 
- execute
- Returns:
 
 - byParentDatasetType() Iterator[ParentDatasetQueryResults]¶
- Group results by parent dataset type. - Returns:
- iterIterator[ParentDatasetQueryResults]
- An iterator over - DatasetQueryResultsinstances 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
 
 - count(*, exact: bool = True, discard: bool = False) int¶
- Count the number of rows this query would return. - Parameters:
- exactbool, optional
- If - True, run the full query and perform post-query filtering if needed to account for that filtering in the count. If- False, the result may be an upper bound.
- discardbool, optional
- If - True, compute the exact count even if it would require running the full query and then throwing away the result rows after counting them. If- False, this is an error, as the user would usually be better off executing the query first to fetch its rows into a new query (or passing- exact=False). Ignored if- exact=False.
 
- exact
- Returns:
- countint
- The number of rows the query would return, or an upper bound if - exact=False.
 
- count
 - Notes - This counts the number of rows returned, not the number of unique rows returned, so even with - exact=Trueit may provide only an upper bound on the number of deduplicated result rows.
 - expanded() ParentDatasetQueryResults¶
- Return a - DatasetQueryResultsfor which- DataCoordinate.hasRecordsreturns- Truefor all data IDs in returned- DatasetRefobjects.- Returns:
- expandedDatasetQueryResults
- Either a new - DatasetQueryResultsinstance or- self, if it is already expanded.
 
- expanded
 - Notes - As with - DataCoordinateQueryResults.expanded, it may be more efficient to call- materializebefore expanding data IDs for very large result sets.
 - explain_no_results(execute: bool = True) Iterable[str]¶
- Return human-readable messages that may help explain why the query yields no results. 
 - materialize() Iterator[ParentDatasetQueryResults]¶
- 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- selfis 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[str | None]) ParentDatasetQueryResults¶
- Return a new query results object for the same parent datasets but different components.