The code involved with the queries build up is too attached to the client and hard-coded, adding a new database comes down to adding a new case to a switch, which is not optimal. The idea is refactor the client and abstract away the way queries are performed. This way, adding a new database will be basically a new struct implementing the databaseQuerier interface.
Type of change
Please delete options that are not relevant.
[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update
How Has This Been Tested?
Ran the test suite and QA'd every database supported.
Checklist:
[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] I have checked my code and corrected any misspellings
Client refactor
Description
The code involved with the queries build up is too attached to the client and hard-coded, adding a new database comes down to adding a new case to a switch, which is not optimal. The idea is refactor the client and abstract away the way queries are performed. This way, adding a new database will be basically a new struct implementing the
databaseQuerier
interface.Type of change
Please delete options that are not relevant.
How Has This Been Tested?
Ran the test suite and QA'd every database supported.
Checklist: