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

Implement BitLength function push down #5105

Open
Willendless opened this issue Jun 10, 2022 · 8 comments · May be fixed by #6078
Open

Implement BitLength function push down #5105

Willendless opened this issue Jun 10, 2022 · 8 comments · May be fixed by #6078
Assignees
Labels
component/compute good first issue Denotes an issue ready for a new contributor, according to the "help wanted" guidelines. help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. type/enhancement The issue or PR belongs to an enhancement. type/feature-request Categorizes issue or PR as related to a new feature.

Comments

@Willendless
Copy link
Contributor

Feature Request

Describe the feature you'd like:

We'd like to support BitLength function push down.

Teachability, Documentation, Adoption, Migration Strategy:

At least one integration test and several unit tests.

@Willendless Willendless added the type/feature-request Categorizes issue or PR as related to a new feature. label Jun 10, 2022
@ywqzzy ywqzzy added help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. good first issue Denotes an issue ready for a new contributor, according to the "help wanted" guidelines. component/compute component/storage type/enhancement The issue or PR belongs to an enhancement. and removed component/storage labels Jun 13, 2022
@Willendless Willendless changed the title Call For Participation: implement BitLength function push down Implement BitLength function push down Jun 13, 2022
@johnhaxx7
Copy link

/assign

@johnhaxx7
Copy link

Hi @Willendless , @ywqzzy, can you give some hint on how to run integration tests?
I tried to run some scripts in this dir https://github.com/pingcap/tiflash/blob/master/tests/README.md
but seems like it's missing a test build at tiflash/tests/fullstack-test/../../tests/.build/tiflash

@ywqzzy
Copy link
Contributor

ywqzzy commented Jun 20, 2022

Hi @Willendless , @ywqzzy, can you give some hint on how to run integration tests? I tried to run some scripts in this dir https://github.com/pingcap/tiflash/blob/master/tests/README.md but seems like it's missing a test build at tiflash/tests/fullstack-test/../../tests/.build/tiflash

If you want to test your own code in integration test:

  1. First, you need to build your own tiflash binary in {your_work_space}/build.
  2. Second, you need to run your tidb cluster locally using tiup playgroud. You need to change the binary of TiFlash in tiup config, tiup playground You can ref to this doc to run tiup playgroud.tiupYou can ref to this doc to install tiup and understand what it is.
  3. Third, you need to check {your_work_space}/tests/_env.sh to make the port and build dir right.
  4. Finally, you can run your tests using commands like "./run-test.sh fullstack-test2/ddl".

@isHuangXin
Copy link

I am very interested in this issue and want to try it. Moreover, I have successfully built the tiflash project so far. Plz assign me.

@JaySon-Huang
Copy link
Contributor

/unassign

Unassign this issue due to no more comments/PR and no response to #5092 (comment)

@JaySon-Huang
Copy link
Contributor

@isHuangXin you can leave a comment to assign yourself when you are free

@isHuangXin
Copy link

/assign

@isHuangXin
Copy link

I'm already starting to debug the whole process, but I'm feeling confused.

As the document describes that the pushdown function is initiated from the TiDB side. The scalarExprSupportedByFlash in /tidb/expression/expression.go will determine which functions can be pushed down to TiFlash for execution.

But I didn't find ast.bitLength in scalarExprSupportedByFlash function. Instead, I found ast.BitLength in scalarExprSupportedByTiKV. Does this mean that I should implement the ast.length function in tidb first, and then push down the ast.bitLength function in tidb to tiflash.

image

@isHuangXin isHuangXin linked a pull request Oct 5, 2022 that will close this issue
12 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component/compute good first issue Denotes an issue ready for a new contributor, according to the "help wanted" guidelines. help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. type/enhancement The issue or PR belongs to an enhancement. type/feature-request Categorizes issue or PR as related to a new feature.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants