planner: guard outer-join elimination to inner-only null-rejecting filters | tidb-test=pr/2606
What problem does this PR solve?
Issue Number: close #60737,#60080,#61327,#59162, #60081
Problem Summary:
What changed and how does it work?
Check List
Tests
- [x] Unit test
- [x] Integration test
- [ ] Manual test (add detailed scripts or steps below)
- [ ] No need to test
- [ ] I checked and no code files have been changed.
Side effects
- [ ] Performance regression: Consumes more CPU
- [ ] Performance regression: Consumes more Memory
- [ ] Breaking backward compatibility
Documentation
- [ ] Affects user behaviors
- [ ] Contains syntax changes
- [ ] Contains variable changes
- [ ] Contains experimental features
- [ ] Changes MySQL compatibility
Release note
Please refer to Release Notes Language Style Guide to write a quality release note.
None
Codecov Report
:x: Patch coverage is 76.09562% with 60 lines in your changes missing coverage. Please review.
:white_check_mark: Project coverage is 73.4406%. Comparing base (e60489c) to head (5bc3d96).
:warning: Current head 5bc3d96 differs from pull request most recent head 7c25357
Please upload reports for the commit 7c25357 to get more accurate results.
Additional details and impacted files
@@ Coverage Diff @@
## master #63504 +/- ##
================================================
+ Coverage 70.9266% 73.4406% +2.5139%
================================================
Files 1888 1865 -23
Lines 515953 508242 -7711
================================================
+ Hits 365948 373256 +7308
+ Misses 125601 112788 -12813
+ Partials 24404 22198 -2206
| Flag | Coverage Δ | |
|---|---|---|
| integration | 41.7829% <74.9004%> (-6.3716%) |
:arrow_down: |
| unit | 72.5624% <76.0956%> (+6.8954%) |
:arrow_up: |
Flags with carried forward coverage won't be shown. Click here to find out more.
| Components | Coverage Δ | |
|---|---|---|
| dumpling | 52.8700% <ø> (ø) |
|
| parser | ∅ <ø> (∅) |
|
| br | 46.2782% <ø> (-13.1295%) |
:arrow_down: |
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
- :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
/retest
@King-Dylan: The /retest command does not accept any targets.
The following commands are available to trigger required jobs:
/test build
/test check-dev
/test check-dev2
/test mysql-test
/test pull-br-integration-test
/test pull-build-next-gen
/test pull-integration-ddl-test
/test pull-integration-e2e-test
/test pull-integration-realcluster-test-next-gen
/test pull-lightning-integration-test
/test pull-mysql-client-test
/test pull-mysql-client-test-next-gen
/test pull-unit-test-ddlv1
/test unit-test
The following commands are available to trigger optional jobs:
/test pingcap/tidb/canary_ghpr_unit_test
/test pull-br-integration-test-next-gen
/test pull-check-deps
/test pull-common-test
/test pull-e2e-test
/test pull-error-log-review
/test pull-integration-common-test
/test pull-integration-copr-test
/test pull-integration-ddl-test-next-gen
/test pull-integration-e2e-test-next-gen
/test pull-integration-jdbc-test
/test pull-integration-mysql-test
/test pull-integration-nodejs-test
/test pull-integration-python-orm-test
/test pull-mysql-test-next-gen
/test pull-sqllogic-test
/test pull-tiflash-integration-test
/test pull-unit-test-next-gen
Use /test all to run the following jobs that were automatically triggered:
pingcap/tidb/ghpr_build
pingcap/tidb/ghpr_check
pingcap/tidb/ghpr_check2
pingcap/tidb/ghpr_mysql_test
pingcap/tidb/ghpr_unit_test
pingcap/tidb/pull_build_next_gen
pingcap/tidb/pull_integration_ddl_test
pingcap/tidb/pull_integration_e2e_test
pingcap/tidb/pull_integration_realcluster_test_next_gen
pingcap/tidb/pull_mysql_client_test
pingcap/tidb/pull_mysql_client_test_next_gen
pull-check-deps
pull-error-log-review
In response to this:
/retest unit-test
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.
@King-Dylan: The /retest command does not accept any targets.
The following commands are available to trigger required jobs:
/test fast_test_tiprow/test tidb_parser_test
Use /test all to run all jobs.
In response to this:
/retest unit-test
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.
@ti-chi-bot[bot]: The specified target(s) for /test were not found.
The following commands are available to trigger required jobs:
/test fast_test_tiprow/test tidb_parser_test
Use /test all to run all jobs.
In response to this:
@King-Dylan: The
/retestcommand does not accept any targets. The following commands are available to trigger required jobs:/test build/test check-dev/test check-dev2/test mysql-test/test pull-br-integration-test/test pull-build-next-gen/test pull-integration-ddl-test/test pull-integration-e2e-test/test pull-integration-realcluster-test-next-gen/test pull-lightning-integration-test/test pull-mysql-client-test/test pull-mysql-client-test-next-gen/test pull-unit-test-ddlv1/test unit-testThe following commands are available to trigger optional jobs:
/test pingcap/tidb/canary_ghpr_unit_test/test pull-br-integration-test-next-gen/test pull-check-deps/test pull-common-test/test pull-e2e-test/test pull-error-log-review/test pull-integration-common-test/test pull-integration-copr-test/test pull-integration-ddl-test-next-gen/test pull-integration-e2e-test-next-gen/test pull-integration-jdbc-test/test pull-integration-mysql-test/test pull-integration-nodejs-test/test pull-integration-python-orm-test/test pull-mysql-test-next-gen/test pull-sqllogic-test/test pull-tiflash-integration-test/test pull-unit-test-next-genUse
/test allto run the following jobs that were automatically triggered:pingcap/tidb/ghpr_buildpingcap/tidb/ghpr_checkpingcap/tidb/ghpr_check2pingcap/tidb/ghpr_mysql_testpingcap/tidb/ghpr_unit_testpingcap/tidb/pull_build_next_genpingcap/tidb/pull_integration_ddl_testpingcap/tidb/pull_integration_e2e_testpingcap/tidb/pull_integration_realcluster_test_next_genpingcap/tidb/pull_mysql_client_testpingcap/tidb/pull_mysql_client_test_next_genpull-check-depspull-error-log-reviewIn response to this:
/retest unit-test
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.
/test unit-test
@King-Dylan: The specified target(s) for /test were not found.
The following commands are available to trigger required jobs:
/test fast_test_tiprow/test tidb_parser_test
Use /test all to run all jobs.
In response to this:
/test unit-test
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.
@King-Dylan: The specified target(s) for /test were not found.
The following commands are available to trigger required jobs:
/test fast_test_tiprow/test tidb_parser_test
Use /test all to run all jobs.
In response to this:
/test mysql-test
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.
@ti-chi-bot[bot]: The specified target(s) for /test were not found.
The following commands are available to trigger required jobs:
/test fast_test_tiprow/test tidb_parser_test
Use /test all to run all jobs.
In response to this:
@King-Dylan: The specified target(s) for
/testwere not found. The following commands are available to trigger required jobs:/test build/test check-dev/test check-dev2/test mysql-test/test pull-br-integration-test/test pull-build-next-gen/test pull-integration-ddl-test/test pull-integration-e2e-test/test pull-integration-realcluster-test-next-gen/test pull-lightning-integration-test/test pull-mysql-client-test/test pull-mysql-client-test-next-gen/test pull-unit-test-ddlv1/test unit-testThe following commands are available to trigger optional jobs:
/test pingcap/tidb/canary_ghpr_unit_test/test pull-br-integration-test-next-gen/test pull-check-deps/test pull-common-test/test pull-e2e-test/test pull-error-log-review/test pull-integration-common-test/test pull-integration-copr-test/test pull-integration-ddl-test-next-gen/test pull-integration-e2e-test-next-gen/test pull-integration-jdbc-test/test pull-integration-mysql-test/test pull-integration-nodejs-test/test pull-integration-python-orm-test/test pull-mysql-test-next-gen/test pull-sqllogic-test/test pull-tiflash-integration-test/test pull-unit-test-next-genUse
/test allto run the following jobs that were automatically triggered:pingcap/tidb/ghpr_buildpingcap/tidb/ghpr_checkpingcap/tidb/ghpr_check2pingcap/tidb/ghpr_mysql_testpingcap/tidb/ghpr_unit_testpingcap/tidb/pull_build_next_genpingcap/tidb/pull_integration_ddl_testpingcap/tidb/pull_integration_e2e_testpingcap/tidb/pull_integration_realcluster_test_next_genpingcap/tidb/pull_mysql_client_testpingcap/tidb/pull_mysql_client_test_next_genpull-check-depspull-error-log-reviewIn response to this:
/test mysql-test
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.
/retest
/retest
/retest
/retest
/retest
/hold
/retest
/retest
/retest
[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: Once this PR has been reviewed and has the lgtm label, please assign king-dylan for approval. For more information see the Code Review Process. Please ensure that each of them provides their approval before proceeding.
The full list of commands accepted by this bot can be found here.
Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment
/retest
/retest
/retest
@King-Dylan: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:
| Test name | Commit | Details | Required | Rerun command |
|---|---|---|---|---|
| fast_test_tiprow | 7c2535711e2c5d08b6e5d410a5603651cb63c7a9 | link | true | /test fast_test_tiprow |
Full PR test history. Your PR dashboard.
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.
@King-Dylan: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:
| Test name | Commit | Details | Required | Rerun command |
|---|---|---|---|---|
| idc-jenkins-ci-tidb/check_dev | 7c2535711e2c5d08b6e5d410a5603651cb63c7a9 | link | true | /test check-dev |
| idc-jenkins-ci-tidb/unit-test | 7c2535711e2c5d08b6e5d410a5603651cb63c7a9 | link | true | /test unit-test |
| pull-unit-test-next-gen | 7c2535711e2c5d08b6e5d410a5603651cb63c7a9 | link | true | /test pull-unit-test-next-gen |
Full PR test history. Your PR dashboard.
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.