-
Couldn't load subscription status.
- Fork 981
Implement notnull mode for skipscan #8479
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
Implement notnull mode for skipscan #8479
Conversation
|
@fabriziomello, @dbeck: please review this pull request.
|
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #8479 +/- ##
==========================================
+ Coverage 82.28% 82.37% +0.09%
==========================================
Files 248 248
Lines 47487 47509 +22
Branches 12059 12075 +16
==========================================
+ Hits 39073 39137 +64
- Misses 3503 3519 +16
+ Partials 4911 4853 -58 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
65f8255 to
a15b1fb
Compare
|
I think, if you wanted to increase the test coverage for null accepting filters, maybe you could use: 1, coalesce(intcol, 0) < 10 The second one passes through, both null and false. |
Will add the tests. Both filters are recognized as non-strict by PG, i.e. I'm getting expected behavior with both. vs. |
00d1357 to
d3cf225
Compare
d3cf225 to
2be6363
Compare
Implement not-NULL mode for SkipScan when we can deduce at planning time that a scan key is guaranteed to be not NULL.
It allows to simplify execution by skipping null-check stages. Multikey SkipScan is much easier implemented in not-NULL mode.
We can say that a skip key is not NULL when it's declared not-NULL in the table or when it is a part of a strict filter on that table, or when there is IS NOT NULL index qual on the key.
Disable-check: force-changelog-file