-
Notifications
You must be signed in to change notification settings - Fork 14
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add union-dataset support direct_query_driver system.
This is a major refactor of the many classes involved in translating butler queries to SQL, including some renaming to reflect new roles. - The low-level SqlBuilder and SqlJoiner classes have been renamed to SqlSelectBuilder and SqlJoinsBuilder, and some of SqlJoinsBuilder has been factored out into a base class, SqlColumns. - The QueryPlan objects have been split up into "analysis" objects that are still mostly plan-like, and QueryBuilder objects that have both that planning information and one or more SqlSelectBuilder objects and a Postprocessing inside them. - The new QueryBuilder objects are a hierarchy: there's a QueryBuilder abstrat base class and two derived classes: SingleSelectQueryBuilder is a refactoring of the code path we had before, while UnionQueryBuilder is a UNION ALL over dataset types. - DirectQueryDriver.build_query is still the main entry point, and it's now where the overview docs for the system live. It delegates to methods on the QueryBuilder objects to handle the differences in the single-select vs. union cases, and those delegate back to other DirectQueryDriver methods for logic that's the same between the two cases.
- Loading branch information
Showing
10 changed files
with
2,040 additions
and
1,006 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
942 changes: 585 additions & 357 deletions
942
python/lsst/daf/butler/direct_query_driver/_driver.py
Large diffs are not rendered by default.
Oops, something went wrong.
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
Oops, something went wrong.