-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Support NOT in StarTree Index #12988
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #12988 +/- ##
============================================
+ Coverage 61.75% 62.17% +0.42%
+ Complexity 207 198 -9
============================================
Files 2436 2502 +66
Lines 133233 136600 +3367
Branches 20636 21151 +515
============================================
+ Hits 82274 84937 +2663
- Misses 44911 45379 +468
- Partials 6048 6284 +236
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
d5bff4e
to
0eef4f4
Compare
0eef4f4
to
5a96ce6
Compare
Do we need docs updated for this? |
Yes. Let me do that! |
Support NOT in StarTree Index when it is followed by predicate or NOT (not with nested AND/OR)
E.g.
WHERE NOT d1 > 10
WHERE d1 > 10 AND NOT d2 < 10
WHERE d1__COLUMN_NAME > 50 OR NOT d1__COLUMN_NAME > 10
WHERE NOT NOT d1 > 10
WHERE d2 < 95 AND (NOT d1 > 10 OR d1 > 50)
WHERE d2 < 95 AND NOT d2 < 25 AND (d1 > 10 OR d1 < 50)
WHERE NOT d1 = 95 AND (d1 > 90 OR d1 < 100)
In order to support NOT, dictionary based
BasePredicateEvaluator
are modified to supportgetNonMatchingDictIds()
. Some refactor is done to avoid duplicate code.Bugfix: