-
-
Notifications
You must be signed in to change notification settings - Fork 4.4k
feat: Add IN operator support for semver release search #96492
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Add support for IN/NOT IN operators in semver release search across all filter converter locations. This allows queries like: - release.version:[1.2.3,1.2.4] - release.version:[1.2.*,2.*] - release.build:[123,456] - release.build:[1*,2*] Implementation details: - Process each item in IN clause individually using existing = operator - Union results to create final version list - Maintain existing query optimization for non-IN operators - Add graceful error handling for invalid semver versions - Include comprehensive TDD test coverage Files modified: - src/sentry/search/events/filter.py: Main filter converter logic - src/sentry/search/eap/spans/filter_aliases.py: EAP spans search support - src/sentry/search/events/datasets/filter_aliases.py: Dataset search support - tests/sentry/search/events/test_filter.py: Unit tests - tests/sentry/issues/endpoints/test_organization_group_index.py: Integration tests All tests pass (123/123).
Add support for IN/NOT IN operators in semver release search across all filter converter locations. This allows queries like: - release.version:[1.2.3,1.2.4] - release.version:[1.2.*,2.*] - release.build:[123,456] - release.build:[1*,2*] Implementation details: - Process each item in IN clause individually using existing = operator - Union results to create final version list - Maintain existing query optimization for non-IN operators - Add graceful error handling for invalid semver versions - Include comprehensive TDD test coverage Files modified: - src/sentry/search/events/filter.py: Main filter converter logic - src/sentry/search/eap/spans/filter_aliases.py: EAP spans search support - src/sentry/search/events/datasets/filter_aliases.py: Dataset search support - tests/sentry/search/events/test_filter.py: Unit tests - tests/sentry/issues/endpoints/test_organization_group_index.py: Integration tests All tests pass (123/123).
- Use separate list variables to avoid type conflicts - Handle raw_value type casting properly for mypy compliance
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #96492 +/- ##
===========================================
+ Coverage 33.26% 87.74% +54.47%
===========================================
Files 9040 10652 +1612
Lines 504726 614798 +110072
Branches 24158 24158
===========================================
+ Hits 167887 539426 +371539
+ Misses 336549 75082 -261467
Partials 290 290 |
This issue has gone three weeks without activity. In another week, I will close it. But! If you comment or otherwise update it, I will reset the clock, and if you remove the label "A weed is but an unloved flower." ― Ella Wheeler Wilcox 🥀 |
Summary
release.version:[1.2.3,1.2.4]
,release.version:[1.2.*,2.*]
,release.build:[123,456]
Test plan
release.version:[1.*,2.*]
)release.version:[pkg1@1.2.3,pkg2@1.2.4]
)