-
Notifications
You must be signed in to change notification settings - Fork 174
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Instruments] Instrument data QueryEngine #8216
Conversation
e7cccae
to
4f8b9b0
Compare
088cf8a
to
cf9f16d
Compare
2caf569
to
3d00a5c
Compare
Blocked by #8260, which adds the getQueryEngine function and removes getDataDictionary from the module descriptor class. |
0766e1d
to
0dd42ec
Compare
This adds a Module->getQueryEngine() function to the Module class to get the QueryEngine to the module. The default is a NullQueryEngine which does nothing and matches nothing. Update the dictionary module to use the new interface instead of Module->getDataDictionary().
This adds a QueryEngine for the instruments module. The Instrument QueryEngine bulk loads the data so that it can work with either JSON or SQL instruments, and then compares the data that was loaded against the criteria given.
…of DataInstance[]
0dd42ec
to
e74e9b5
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
partial review
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I havn't manage to make it populated the dictionary module. Should it?
More on a design perspective, I have doubts regarding the Instantiation of an instrument for each row in the flag table and keeping them in memory then applying the filtering using Criteria*. |
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had a project/modules/instruments ... my bad.
This is working just right.
This adds a QueryEngine for the instruments module. The Instrument
QueryEngine bulk loads the data so that it can work with either JSON
or SQL instruments, and then compares the data that was loaded
against the criteria given.
This is intended to be an example of a QueryEngine for PR#8215.
It could use more automated tests but tests for instruments are difficult
since they're so highly customized per project.