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

planner/core: implement skyline pruning #9337

Merged
merged 16 commits into from Feb 19, 2019

Conversation

@lamxTyler
Copy link
Member

commented Feb 18, 2019

What problem does this PR solve?

Fix #8593

What is changed and how it works?

Implement the skyline pruning according to the proposal.

Check List

Tests

  • Unit test

Code changes

  • Has exported function/method change

Side effects

  • None

Related changes

  • Need to cherry-pick to the release branch
@codecov-io

This comment has been minimized.

Copy link

commented Feb 18, 2019

Codecov Report

Merging #9337 into master will increase coverage by 0.02%.
The diff coverage is 97.97%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #9337      +/-   ##
==========================================
+ Coverage   67.13%   67.16%   +0.02%     
==========================================
  Files         372      372              
  Lines       77768    77839      +71     
==========================================
+ Hits        52211    52277      +66     
- Misses      20887    20891       +4     
- Partials     4670     4671       +1
Impacted Files Coverage Δ
expression/util.go 73.48% <100%> (+0.9%) ⬆️
planner/core/find_best_task.go 87.9% <97.7%> (+2.06%) ⬆️
store/tikv/scan.go 73.94% <0%> (-3.37%) ⬇️
util/filesort/filesort.go 75.54% <0%> (-0.95%) ⬇️
executor/distsql.go 73% <0%> (+0.46%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update b845f2a...8588b96. Read the comment docs.

@@ -567,11 +567,6 @@ func loadAllTests() ([]string, error) {
if strings.HasSuffix(name, ".test") {
name = strings.TrimSuffix(name, ".test")

// if we use record and the result file exists, skip generating

This comment has been minimized.

Copy link
@winoros

winoros Feb 18, 2019

Member

why change this?

This comment has been minimized.

Copy link
@lamxTyler

lamxTyler Feb 18, 2019

Author Member

Make ./run-all-tests -r all work.

This comment has been minimized.

Copy link
@XuHuaiyu

XuHuaiyu Feb 18, 2019

Contributor

Nice, maybe the logic in tidb-test repo should also be changed?

This comment has been minimized.

Copy link
@lamxTyler

lamxTyler Feb 18, 2019

Author Member

OK, I will do it.

Show resolved Hide resolved expression/util.go Outdated
Show resolved Hide resolved planner/core/find_best_task.go Outdated
Show resolved Hide resolved planner/core/find_best_task.go Outdated
Show resolved Hide resolved expression/util.go
Show resolved Hide resolved planner/core/find_best_task.go Outdated
Show resolved Hide resolved planner/core/find_best_task.go
Show resolved Hide resolved planner/core/find_best_task.go Outdated
Show resolved Hide resolved planner/core/find_best_task.go Outdated
Show resolved Hide resolved planner/core/find_best_task.go Outdated
Show resolved Hide resolved planner/core/find_best_task.go Outdated

lamxTyler and others added some commits Feb 18, 2019

Show resolved Hide resolved expression/util.go Outdated
@zz-jason
Copy link
Member

left a comment

besides, could you add an explain test that shows the power of skyline pruning?

Show resolved Hide resolved expression/util.go Outdated
Show resolved Hide resolved planner/core/find_best_task.go Outdated
Show resolved Hide resolved planner/core/find_best_task.go
Show resolved Hide resolved planner/core/find_best_task.go
@lamxTyler

This comment has been minimized.

Copy link
Member Author

commented Feb 18, 2019

@zz-jason The test is in #9212, just wait for it.

@zz-jason

This comment has been minimized.

Copy link
Member

commented Feb 18, 2019

@zz-jason The test is in #9212, just wait for it.

got it 👌

lamxTyler and others added some commits Feb 18, 2019

@zz-jason
Copy link
Member

left a comment

LGTM

@zz-jason

This comment has been minimized.

Copy link
Member

commented Feb 18, 2019

/run-all-tests

@zz-jason zz-jason requested a review from XuHuaiyu Feb 18, 2019

Show resolved Hide resolved planner/core/find_best_task.go
Show resolved Hide resolved planner/core/find_best_task.go Outdated
@XuHuaiyu
Copy link
Contributor

left a comment

LGTM

@lamxTyler lamxTyler added status/LGT2 and removed status/LGT1 labels Feb 19, 2019

@lamxTyler lamxTyler merged commit bc0e70d into pingcap:master Feb 19, 2019

5 checks passed

ci/circleci Your tests passed on CircleCI!
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
idc-jenkins-ci-tidb/build Jenkins job succeeded.
Details
idc-jenkins-ci-tidb/check_dev Jenkins job succeeded.
Details
license/cla Contributor License Agreement is signed.
Details

@lamxTyler lamxTyler deleted the lamxTyler:skyline branch Feb 19, 2019

lamxTyler added a commit to lamxTyler/tidb that referenced this pull request Feb 19, 2019

lamxTyler added a commit to lamxTyler/tidb that referenced this pull request Feb 19, 2019

lamxTyler added a commit to lamxTyler/tidb that referenced this pull request Feb 19, 2019

jackysp added a commit that referenced this pull request Feb 19, 2019

yu34po added a commit to yu34po/tidb that referenced this pull request Feb 27, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.