-
Notifications
You must be signed in to change notification settings - Fork 410
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 filter pushdown for SQLite #3337
Conversation
Codecov Report
@@ Coverage Diff @@
## main #3337 +/- ##
==========================================
- Coverage 74.44% 69.26% -5.18%
==========================================
Files 422 417 -5
Lines 26375 26163 -212
==========================================
- Hits 19635 18122 -1513
- Misses 5617 6925 +1308
+ Partials 1123 1116 -7
... and 103 files with indirect coverage changes
Flags with carried forward coverage won't be shown. Click here to find out more. |
de5f004
to
a590e63
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Almost there
integration/pushdown.go
Outdated
noPushdown resultPushdown = 1 << iota // 0000 0000 | ||
pgPushdown // 0000 0001 | ||
sqlitePushdown // 0000 0010 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Those comments are not actually correct. It is better to check them in the init function
integration/pushdown.go
Outdated
case setup.IsSQLite(t): | ||
return res&sqlitePushdown == sqlitePushdown | ||
case setup.IsPostgres(t): | ||
return res&pgPushdown == pgPushdown | ||
case setup.IsMongoDB(t): | ||
return false |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's use consistent order: PostgreSQL, SQLite, other backends, MongoDB
integration/setup/test_helpers.go
Outdated
// IsPostgres returns true if the current test is running for pg handler. | ||
// | ||
// This function should not be used lightly. | ||
func IsPostgres(tb testtb.TB) bool { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Move it up to preserve the order
@noisersup this pull request has merge conflicts. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As discussed on DS, let's split that PR into two: one for tests changes (that will be need for the new PG backend), one for SQLite pushdown
@noisersup this pull request has merge conflicts. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this one in pause right?
@noisersup this pull request has merge conflicts. |
Description
Closes #3235.
Readiness checklist
task all
, and it passed.@FerretDB/core
), Milestone (Next
), Labels, Project and project's Sprint fields.