-
Notifications
You must be signed in to change notification settings - Fork 5.8k
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
preprocessor, planner: inline processing by default for single-consumer cte #37800
Conversation
[REVIEW NOTIFICATION] This pull request has been approved by:
To complete the pull request process, please ask the reviewers in the list to review by filling The full list of commands accepted by this bot can be found here. Reviewer can indicate their review by submitting an approval review. |
ae9da02
to
634db2d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The pushed diff missed that push the new slice into the stack when we meet a new query block?
634db2d
to
7c5ad80
Compare
Some code forgot to submit 😭 |
c48bd95
to
b3ca650
Compare
How to rerun check_dev_2 ?L |
/run-check_dev_2 |
Thanks ~ |
9bbd0a7
to
b3815a6
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure about this, it should be safe to inline this, right?
with x as (select * from (select b from t for update) s)
select * from x where b = 1;
8a51921
to
99f38d1
Compare
/run-mysql-test tidb-test=pr/1976 |
/run-unit-test |
99f38d1
to
68e4d17
Compare
2a59939
to
69ba7fe
Compare
/run-mysql-test tidb-test=pr/1976 |
2 similar comments
/run-mysql-test tidb-test=pr/1976 |
/run-mysql-test tidb-test=pr/1976 |
/run-check-dev |
4 similar comments
/run-check-dev |
/run-check-dev |
/run-check-dev |
/run-check-dev |
/merge |
This pull request has been accepted and is ready to merge. Commit hash: 69ba7fe
|
/merge |
@fixdb: In response to this:
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 ti-community-infra/tichi repository. |
/run-mysql-test |
/run-mysql-test |
/run-mysql-test tidb-test=pr/1976 |
TiDB MergeCI notify🔴 Bad News! New failing [2] after this pr merged.
|
…mprovements * upstream/master: (56 commits) expression: make a copy when retrieving json path expression from cache (pingcap#38285) executor: make unit test TestIssue21732 stable (pingcap#38278) variables: enable variable hook to access storage (pingcap#38227) docs: update roadmap description (pingcap#38253) systable: Adapt with TiFlash system table update (pingcap#38191) planner, util/ranger: restrict mem usage for index join inner ranges (pingcap#38129) planner: separate cost model ver1/ver2 into different files (part 2) (pingcap#38273) metrics: Add IOPs, Disk Throughput to the overview dashboard (pingcap#38270) planner: refine index join range display for clustered index (pingcap#38259) *: delete `mInFlashbackCluster` related codes (pingcap#38241) session: turn the transaction to pessimistic mode when retrying (pingcap#38130) executor: enable race for executor/aggfuncs (pingcap#38262) planner: reopen CTE in apply only when correlate (pingcap#38214) planner: enable revive (pingcap#36649) *: add foreign key constraint check when execute update statement (pingcap#38156) *: DATA RACE in the temptable.AttachLocalTemporaryTableInfoSchema (pingcap#38237) executor,sessionctx: enable coprocessor paging and make TestCoprocessorPagingSize stable (pingcap#38161) domain: fix data race in the Domain.bindHandle (pingcap#38223) test: add information if test failed (pingcap#38234) preprocessor, planner: inline processing by default for single-consumer cte (pingcap#37800) ...
What problem does this PR solve?
This pr mainly does an optimization of inline CTE.
When there is only one consumer of CTE, the CTE is inlined by default. (Except recursive CTE )
Issue Number: close #36295
Problem Summary:
What is changed and how it works?
There are two changes:
Check List
Tests
Side effects
Documentation
Release note
Please refer to Release Notes Language Style Guide to write a quality release note.