Skip to content

Commit

Permalink
Add changelog entry.
Browse files Browse the repository at this point in the history
  • Loading branch information
TallJimbo committed Dec 6, 2022
1 parent f26d627 commit 3cc7e71
Showing 1 changed file with 9 additions and 0 deletions.
9 changes: 9 additions & 0 deletions doc/changes/DM-31725.misc.md
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.

0 comments on commit 3cc7e71

Please sign in to comment.