-
Notifications
You must be signed in to change notification settings - Fork 28.6k
[SPARK-12639] [SQL] Mark Filters Fully Handled By Sources with * #11317
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
Conversation
cc @yhuai |
ok to test |
@RussellSpitzer If you get a chance, can you add an example in the description showing the plan before and after this change? |
*/ | ||
protected[sql] def selectFilters( | ||
relation: BaseRelation, | ||
predicates: Seq[Expression]): (Seq[Expression], Seq[Filter]) = { | ||
predicates: Seq[Expression]): (Seq[Expression], Seq[Filter], Seq[Filter]) = { |
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.
Maybe (Seq[Expression], Seq[Filter], Set[Filter])?
Thank you @RussellSpitzer! It looks good. Only one comment. |
Test build #51781 has finished for PR 11317 at commit
|
ok to test |
Test build #53374 has finished for PR 11317 at commit
|
@RussellSpitzer I saw you answered my ping before. Excuse my ping here again. |
@HyukjinKwon + @yhuai Sorry it took so long! Things have been busy :) |
@RussellSpitzer Thanks for bearing with my pings here and there! |
Test build #58192 has finished for PR 11317 at commit
|
I don't think this is because of me
|
test this please |
jenkins, test this please |
Test build #58268 has finished for PR 11317 at commit
|
@RussellSpitzer Sorry. I missed the last update on update. Would you please update the PR? I will review it and get it merged when it pass all tests. |
Updated |
Test build #3176 has finished for PR 11317 at commit
|
In order to make it clear which filters are fully handled by the underlying datasource we will mark them with a *. This will give a clear visual queue to users that the filter is being treated differently by catalyst than filters which are just presented to the underlying DataSource.
tes this please |
tes thsi please |
ok to test |
Test build #62122 has finished for PR 11317 at commit
|
lgtm. Merging to master. |
What changes were proposed in this pull request?
In order to make it clear which filters are fully handled by the
underlying datasource we will mark them with an *. This will give a
clear visual queue to users that the filter is being treated differently
by catalyst than filters which are just presented to the underlying
DataSource.
Examples from the FilteredScanSuite, in this example
c IN (...)
is handled by the source,b < ...
is notBefore
After
How was the this patch tested?
Manually tested with the Spark Cassandra Connector, a source which fully handles underlying filters. Now fully handled filters appear with an * next to their names. I can add an automated test as well if requested
Post 1.6.1
Tested by modifying the FilteredScanSuite to run explains.