This repository has been archived by the owner on Jun 30, 2021. It is now read-only.
Fix duplicate records after match_all / match_any filter #508
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #507
Overview
Fixes the issue where
match_all
/match_any
filters return duplicate records.Changes
match_all
andmatch_any
queriesMatchAllParser
code with the newerMatchAnyParser
Implementation Details
MatchAnyParser
came afterMatchAllParser
and had proper support for multiple associations filtering. This PR, in addition to adding the distinct query, also alignsMatchAllParser
with the newerMatchAnyParser
so it gets a more proper advanced filtering code.Usage
For
match_all
, Querying multiple associations that are associated with a single record should return only one distinct record. For example, the request params may look like this.where
token_1.symbol
andkey_1.access_key
leads to the same record. It should return distinct records.For
match_any
, Querying multiple associations that are associated with a single record should return only one distinct record. For example, the request params may look like this.where
token_1.symbol
andtoken_2.symbol
leads to the same record. It should return distinct records.Impact
No changes to API or DB schema.