Repository navigation
service: emit ge/le for the __range filter lookup - #325
Merged
Merged
Conversation
The __range lookup emitted the operators gte / lte, which are not OData operators, so services rejected the $filter. It now emits ge / le, like the __gte / __lte lookups already do. The OData operator names __le / __ge are also accepted as lookups, next to the Django-style __lte / __gte (SAP#113). Signed-off-by: VitorCoelho <vitorc195@gmail.com>
Signed-off-by: VitorCoelho <vitorc195@gmail.com>
Signed-off-by: VitorCoelho <vitorc195@gmail.com>
phanak-sap
approved these changes
Oct 26, 2026
phanak-sap
left a comment
Contributor
There was a problem hiding this comment.
I have checked this is the same code as in original #321 and fixes the problem and comments there.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Replaces #322, which GitHub closed when my fork was deleted by mistake. Same change, including the
__le/__gelookups discussed there.What
GetEntitySetFilterChainabletranslated the__rangelookup into the operatorsgte/lte:The OData operator names
__le/__geare also accepted as lookups, next to the Django-style__lte/__gte(#113), with a comment on why both names exist.Why
OData has no
gte/lteoperators. The comparison operators areeq,ne,gt,ge,lt,le(OData v2 URI conventions, 4.5 Filter System Query Option), so a service rejects the generated$filterwith a syntax error. The__gte/__ltelookups already emitge/le;__rangenow does the same.How it was tested
__rangeasserted the invalid URL. I updated them to the correct one: they fail onmasterand pass with the fix.__le/__ge: they fail without the change.pytest: 300 passed on Python 3.10 and 3.13.