Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

QueryEngine interface #8215

Merged
merged 6 commits into from
Dec 6, 2022
Merged

QueryEngine interface #8215

merged 6 commits into from
Dec 6, 2022

Conversation

driusan
Copy link
Collaborator

@driusan driusan commented Nov 4, 2022

This defines the QueryEngine interface that I've been using to build a new, CouchDB-free DQT as well as used to create a new candidates module. It's stable enough that I'm confident it will require little modification now.


/**
 * A QueryEngine is an entity which represents a set of data and
 * the ability to query against them.
 *
 * Queries are divided into 2 phases, filtering the data down to
 * a set of CandIDs, and retrieving the data for a known set of
 * CandID/SessionIDs.
 *
 * There is usually one query engine per module that deals with
 * candidate data.
 */

After this is merged, the QueryEngine()->getDataDictionary() for a module will replace the getDataDictionary() method that currently exists and I'll begin sending individual engines as they're completed and well tested. (I currently have instruments, candidate parameters, imaging, and bvl feedback that I've been using for the DQT but the latter two still need significant testing and refactoring.)

Other than the QueryEngine interface, the rest of the classes in this PR are classes that the interface depends on (ie are used by the interface.)

Copy link
Member

@maltheism maltheism left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@driusan the interface looks great. Should the CHANGELOG.md reference it?

@driusan
Copy link
Collaborator Author

driusan commented Nov 21, 2022

I don't have any strong opinions on if the new interface should be mentioned in the CHANGELOG before the rest of the new DQT architecture is done. @ridz1208 do you have an opinion?

@ridz1208
Copy link
Collaborator

@driusan mention it in improvements, nothing to lose

@driusan
Copy link
Collaborator Author

driusan commented Nov 30, 2022

@maltheism @ridz1208 rebased and added to the changelog

@driusan driusan merged commit 7998382 into aces:main Dec 6, 2022
@ridz1208 ridz1208 added this to the 25.0.0 milestone Mar 6, 2023
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants