Skip to content
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

Coprocessor support ENUM / SET #8605

Closed
breezewish opened this issue Sep 7, 2020 · 9 comments
Closed

Coprocessor support ENUM / SET #8605

breezewish opened this issue Sep 7, 2020 · 9 comments
Labels
difficulty/medium Medium task. sig/coprocessor SIG: Coprocessor type/enhancement The issue or PR belongs to an enhancement.

Comments

@breezewish
Copy link
Member

Development Task

Currently TiKV Coprocessor does not support ENUM / SET data types, so that expressions related to these data types cannot be pushed down, which greatly affects performance in some scenarios. We have met this case several times.

This task is to add ENUM / SET data type support to the TiKV Coprocessor.

There are some previous discussions in #5738 . Some content is outdated. According to our latest studies, the idea "Always treat ENUM / SET as string" raised in #5738 (comment) will not work in some edge cases, so that I would like to recommend to implement this feature by introducing two brand new EvalTypes.

@skyzh will attach a detailed RFC about how to implement this feature later.

@breezewish breezewish added type/enhancement The issue or PR belongs to an enhancement. sig/coprocessor SIG: Coprocessor difficulty/medium Medium task. labels Sep 7, 2020
@skyzh
Copy link
Member

skyzh commented Sep 7, 2020

I’ll look into this soon.

@skyzh
Copy link
Member

skyzh commented Sep 7, 2020

RFC: tikv/rfcs#57

@WT-Liu
Copy link
Contributor

WT-Liu commented Sep 23, 2020

This issue is for the TiKV CommunityBridge project. Mentee candidates who want to participate in CommunityBridge with the TiKV project are expected to join Slack Channel (#community-bridge-2020) to have self-introductions before applying.

@Xuanwo
Copy link
Member

Xuanwo commented Dec 16, 2020

Roadmap here: #9066

@zz-jason
Copy link
Member

@Xuanwo how to enable it in TiDB?

@skyzh
Copy link
Member

skyzh commented Dec 17, 2020

@Xuanwo how to enable it in TiDB?

We only finished the part of TiKV. Now TiKV supports enum/set-based aggregator and functions. Later we will need to modify TiDB to cooperate with this part.

@Xuanwo
Copy link
Member

Xuanwo commented Dec 17, 2020

As described in the roadmap, we still have work to do on tipb/tidb side to make this feature work.

@zz-jason
Copy link
Member

got, thanks

@skyzh
Copy link
Member

skyzh commented May 8, 2021

Now we have implemented enum and set calculation on TiKV side, and this issue could be closed. The pushdown part is tracked at TiDB repo pingcap/tidb#23619.

@skyzh skyzh closed this as completed May 8, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
difficulty/medium Medium task. sig/coprocessor SIG: Coprocessor type/enhancement The issue or PR belongs to an enhancement.
Projects
None yet
Development

No branches or pull requests

5 participants