Skip to content

added IN operator, tests, lib upgrade

Rustam Lotsmanenko (EPAM) requested to merge feature/in-operator into main

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)

Merge request reports