-
Notifications
You must be signed in to change notification settings - Fork 12
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
9 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
Rewrite registry query system, using the new ``daf_relation`` package. | ||
|
||
This change should be mostly invisible to users, but there are some subtle behavior changes: | ||
|
||
- `Registry.findDatasets` now respects the given storage class when passed a full `DatasetType` instance, instead of replacing it with storage class registered with that dataset type. This causes storage class overrides in `PipelineTask` input connections to be respected in more contexts as well; in at least some cases these were previously being incorrectly ignored. | ||
- `Registry.findDatasets` now utilizes cached summaries of which dataset types and governor dimension values are present in each collection. This should result in fewer and simpler database calls, but it does make the result vulnerable to stale caches (which, like `Registry` methods more generally, must be addressed manually via calls to `Registry.refresh`. | ||
- The diagnostics provided by the `explain_no_results` methods on query result object (used prominently in the reporting on empty quantum graph builds) have been significantly improved, though they now use ``daf_relation`` terminology that may be unfamiliar to users. | ||
- `Registry` is now more consistent about raising `DataIdValueError` when given invalid governor dimension values, while not raising (but providing `explain_no_results` diagnostics) for all other invalid dimension values, as per RFC-878. | ||
- `Registry` methods that take a `where` argument are now typed to expect a `str` that is not `None`, with the default no-op value now an empty string (before either an empty `str` or `None` could be passed, and meant the same thing). This should only affect downstream type checking, as the runtime code still just checks for whether the argument evaluates as `False` in a boolean context. |