DimensionRecordQueryResults¶
- class lsst.daf.butler.DimensionRecordQueryResults¶
Bases:
Iterable[DimensionRecord]An interface for objects that represent the results of queries for dimension records.
Attributes Summary
Dimension element for this result (
DimensionElement).Methods Summary
any(*[, execute, exact])Test whether this query returns any results.
count(*[, exact, discard])Count the number of rows this query would return.
explain_no_results([execute])Return human-readable messages that may help explain why the query yields no results.
limit([limit, offset])Make the iterator return limited number of records.
order_by(*args)Make the iterator return ordered result.
run()Execute the query and return an instance with data held in memory.
Attributes Documentation
- element¶
Dimension element for this result (
DimensionElement).
Methods Documentation
- abstract any(*, execute: bool = True, exact: bool = True) bool¶
Test whether this query returns any results.
- Parameters:
- execute
bool, optional If
True, execute at least aLIMIT 1query if it cannot be determined prior to execution that the query would return no rows.- exact
bool, optional If
True, run the full query and perform post-query filtering if needed, until at least one result row is found. IfFalse, the returned result does not account for post-query filtering, and hence may beTrueeven when all result rows would be filtered out.
- execute
- Returns:
- abstract count(*, exact: bool = True, discard: bool = False) int¶
Count the number of rows this query would return.
- Parameters:
- exact
bool, optional If
True, run the full query and perform post-query filtering if needed to account for that filtering in the count. IfFalse, the result may be an upper bound.- discard
bool, 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. IfFalse, 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 passingexact=False). Ignored ifexact=False.
- exact
- Returns:
- count
int 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.
- abstract explain_no_results(execute: bool = True) Iterable[str]¶
Return human-readable messages that may help explain why the query yields no results.
- abstract limit(limit: int | None = None, offset: int = 0) DimensionRecordQueryResults¶
Make the iterator return limited number of records.
- Parameters:
- Returns:
- result
DimensionRecordQueryResults Returns
selfinstance which is updated to return limited set of records.
- result
Notes
This method can modify the iterator in place and return the same instance. Normally this method is used together with
order_bymethod.
- abstract order_by(*args: str) DimensionRecordQueryResults¶
Make the iterator return ordered result.
- Parameters:
- *args
str Names of the columns/dimensions to use for ordering. Column name can be prefixed with minus (
-) to use descending ordering.
- *args
- Returns:
- result
DimensionRecordQueryResults Returns
selfinstance which is updated to return ordered result.
- result
Notes
This method can modify the iterator in place and return the same instance.
- abstract run() DimensionRecordQueryResults¶
Execute the query and return an instance with data held in memory.
- Returns:
- result
DimensionRecordQueryResults Query results, may return
selfif it has all data in memory already.
- result