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

[Fix](topn opt) double check plan From OriginalPlanner to make sure o… #16848

Merged
merged 1 commit into from
Feb 17, 2023

Conversation

eldenmoon
Copy link
Member

@eldenmoon eldenmoon commented Feb 16, 2023

…ptimized SQL is a general topn query

From the original logic, query like select * from a where exists (select * from b order by 1) order by 1 limit 1 is a query contains subquery, but the top query will pass checkEnableTwoPhaseRead and set isTwoPhaseOptEnabled=true.So double check the plan is a general topn query plan is needed, and rollback the needMaterialize flag setted by the previous analyze.

Proposed changes

Issue Number: close #xxx

Problem summary

Describe your changes.

Checklist(Required)

  • Does it affect the original behavior
  • Has unit tests been added
  • Has document been added or modified
  • Does it need to update dependencies
  • Is this PR support rollback (If NO, please explain WHY)

Further comments

If this is a relatively large or complex change, kick off the discussion at dev@doris.apache.org by explaining why you chose the solution you did and what alternatives you considered, etc...

…ptimized SQL is a general topn query

From the original logic, query like `select * from a where exists (select * from b order by 1) order by 1 limit 1` is a query contains subquery,
but the top query will pass `checkEnableTwoPhaseRead` and set `isTwoPhaseOptEnabled=true`.So check the double plan is a general topn query plan is needed, and rollback the needMaterialize flag setted by the previous `analyze`.
@github-actions github-actions bot added area/planner Issues or PRs related to the query planner kind/test labels Feb 16, 2023
Copy link
Contributor

@Gabriel39 Gabriel39 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@Gabriel39 Gabriel39 merged commit 6acee1c into apache:master Feb 17, 2023
@dataroaring dataroaring added the bug/sqlsmith Bug detected by sqlsmith label Feb 20, 2023
yagagagaga pushed a commit to yagagagaga/doris that referenced this pull request Mar 9, 2023
…ptimized SQL is a general topn query (apache#16848)

From the original logic, query like `select * from a where exists (select * from b order by 1) order by 1 limit 1` is a query contains subquery,
but the top query will pass `checkEnableTwoPhaseRead` and set `isTwoPhaseOptEnabled=true`.So check the double plan is a general topn query plan is needed, and rollback the needMaterialize flag setted by the previous `analyze`.
morrySnow added a commit that referenced this pull request Apr 21, 2023
add two phase read topn opt, the legacy planner's PR are:
- #15642
- #16460
- #16848

TODO:
we forbid limit(sort(project(scan))) since be core when plan has a project on the scan.
we need to remove this restirction after we fix be bug
gnehil pushed a commit to gnehil/doris that referenced this pull request Apr 21, 2023
add two phase read topn opt, the legacy planner's PR are:
- apache#15642
- apache#16460
- apache#16848

TODO:
we forbid limit(sort(project(scan))) since be core when plan has a project on the scan.
we need to remove this restirction after we fix be bug
xiaokang pushed a commit to xiaokang/doris that referenced this pull request Apr 22, 2023
add two phase read topn opt, the legacy planner's PR are:
- apache#15642
- apache#16460
- apache#16848

TODO:
we forbid limit(sort(project(scan))) since be core when plan has a project on the scan.
we need to remove this restirction after we fix be bug
Reminiscent pushed a commit to Reminiscent/doris that referenced this pull request May 15, 2023
add two phase read topn opt, the legacy planner's PR are:
- apache#15642
- apache#16460
- apache#16848

TODO:
we forbid limit(sort(project(scan))) since be core when plan has a project on the scan.
we need to remove this restirction after we fix be bug
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/planner Issues or PRs related to the query planner bug/sqlsmith Bug detected by sqlsmith kind/test
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants