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

docs: blurb about msq union all #15223

Merged
merged 4 commits into from
Oct 31, 2023
Merged

Conversation

317brian
Copy link
Contributor

Description

Add a blurb about how MSQ treats UNION ALL queries


This PR has:

  • been self-reviewed.

@317brian 317brian requested a review from LakshSingla October 20, 2023 18:16
@317brian 317brian added this to the 28.0 milestone Oct 20, 2023
Keep the following in mind when writing top-level UNION ALL queries:

- You can't apply GROUP BY, ORDER BY, or any other operator to the results of a UNION ALL.
- If you use the MSQ task engine for the query, the SQL planner attempts to plan the top-level UNION ALL as a table-level UNION ALL. Because of this, the query behaves the same as a table-level UNION ALL, meaning it has the same characteristics and limitations. If the planner can't plan the query as a table-level UNION ALL, the query fails.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
- If you use the MSQ task engine for the query, the SQL planner attempts to plan the top-level UNION ALL as a table-level UNION ALL. Because of this, the query behaves the same as a table-level UNION ALL, meaning it has the same characteristics and limitations. If the planner can't plan the query as a table-level UNION ALL, the query fails.
- If you use the MSQ task engine for the query, the SQL planner attempts to plan the top-level UNION ALL as a table-level UNION ALL. Therefore it has the same limitations as the table level union all - You can only union TableDataSources with simple projections - select columns and rename columns. Clauses like GROUP BY, ORDER BY, etc are not supported on operands of union.
The query isn't supported if the planner can't plan it as a table-level union all

:::
Keep the following in mind when writing top-level UNION ALL queries:

- You can't apply GROUP BY, ORDER BY, or any other operator to the results of a UNION ALL.
Copy link
Contributor

Choose a reason for hiding this comment

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

Can coalesce into a single paragraph as mentioned in the other comment

Suggested change
- You can't apply GROUP BY, ORDER BY, or any other operator to the results of a UNION ALL.

Copy link
Contributor Author

@317brian 317brian Oct 23, 2023

Choose a reason for hiding this comment

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

This limitation predates my changes and seems to apply to any query engine. So does it no longer apply to non-MSQ queries?

Copy link
Contributor

Choose a reason for hiding this comment

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

This limitation is still present, but as per the previous comment, we can make it cohesive by coalescing both of the limitations into one big para.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ok, if we want it in 1 paragraph, I'll need to rewrite the paragraph first. Starting with If you use the MSQ task engine for the query, sets the reader up to think that the whole paragraph is only about the MSQ task engine limitations

Copy link
Contributor Author

Choose a reason for hiding this comment

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

9ab4130 has the new paragraph

@317brian 317brian requested a review from LakshSingla October 26, 2023 21:25
docs/querying/sql.md Outdated Show resolved Hide resolved
Copy link
Contributor

@ektravel ektravel left a comment

Choose a reason for hiding this comment

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

One nit. Looks good, otherwise.

@317brian 317brian merged commit 8769541 into apache:master Oct 31, 2023
11 checks passed
317brian added a commit to 317brian/druid that referenced this pull request Oct 31, 2023
CaseyPan pushed a commit to CaseyPan/druid that referenced this pull request Nov 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants