Remove unnecessary NativeProjectExec in native take-ordered + projection
Open
- Dominant language
- Rust
- Stars
- 1.8k
- Forks
- 241
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 21
Description
## Issue
Current convertTakeOrderedAndProjectExec inserts an extra NativeProjectExec even when the result is collected directly to driver via executeCollect, For queries like:
```
SELECT id + 42, name, length(name) FROM t1 order by id limit 4
```
## Proposal
refactor NativeTakeOrderedExec to NativeTakeOrderedAndProjectExec that natively handles the `projection List`, so we can completely eliminate the redundant NativeProjectExec.
Contributor guide
Assessment
This issue has not been assessed yet.