apache / apache/auron

Remove unnecessary NativeProjectExec in native take-ordered + projection

Open
#1,746 2 comments 0 reactions 0 assignees View on GitHub
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
```

Image

## Proposal

refactor NativeTakeOrderedExec to NativeTakeOrderedAndProjectExec that natively handles the `projection List`, so we can completely eliminate the redundant NativeProjectExec.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.