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 1
query 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 beTrue
even 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=True
it 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, offset: int | None = 0) DimensionRecordQueryResults ¶
Make the iterator return limited number of records.
- Parameters:
- Returns:
- result
DimensionRecordQueryResults
Returns
self
instance 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_by
method.
- 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
self
instance 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
self
if it has all data in memory already.
- result