added IN operator, tests, lib upgrade
Description:
- Added
IN
filter to OSM - Implement it for Datastore and Postgres
- Added Int tests for the new filter
- Untie the Context class from the redundant inheritance of the QueryRunner interface
Changes include:
-
Refactor (a non-breaking change that improves code maintainability). -
Bugfix (a non-breaking change that solves an issue). -
New feature (a non-breaking change that adds functionality). -
Breaking change (a change that is not backward-compatible and/or changes current functionality).
Changes in:
-
Datastore -
Postgres -
Common code
Dev Checklist:
-
Added Unit Tests, wherever applicable. -
Updated the Readme, if applicable. -
Existing Tests pass -
Verified functionality locally -
Self Reviewed my code for formatting and complex business logic.
Other comments:
- Datastore
IN
filter is limited with 30 parameters inside 1 filter, we had to split such queries. - For the intersection of
IN
filters in Datastore even more excessive workarounds are required, 2 filters with (30+N) values produce 2x(30+N) separate queries to define intersection later in memory. Because of that such cases were moved under the feature flag and disabled by default. If the necessity appears we may rework it(currently there is no such in related services).
Edited by Rustam Lotsmanenko (EPAM)