[Improvement] RuleApplyRowFilterAndDataMasking supports column pruning
- Dominant language
- Scala
- Stars
- 2.4k
- Forks
- 1k
- PR merge metrics
- No merged PRs in 30d
Description
### Code of Conduct
- [X] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct)
### Search before asking
- [X] I have searched in the [issues](https://github.com/apache/incubator-kyuubi/issues?q=is%3Aissue) and found no similar issues.
### What would you like to be improved?
If table t has 100 columns and the query only fetch 2 columns, e.g.
```
SELECT c1, c2 FROM t
```
We can get column AccessRequest for c1 and c2 instead of all columns.
It can improve performance with wide table.
### How should we improve?
_No response_
### Are you willing to submit PR?
- [ ] Yes. I can submit a PR independently to improve.
- [ ] Yes. I would be willing to submit a PR with guidance from the Kyuubi community to improve.
- [ ] No. I cannot submit a PR at this time.
Contributor guide
Research direction
Start by locating RuleApplyRowFilterAndDataMasking and the AccessRequest definition, then trace how the query’s selected columns reach the rule. Verify the change with the relevant existing tests, ensuring a query such as SELECT c1, c2 FROM t requests access only for c1 and c2 rather than every column.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- scala, spark
- Domain
- performance, security
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100