[BugFix] MV rewrite may generate wrong plans if query only contains constant call operators (backport #50757) #50775
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Why I'm doing:
Query will face this error:
What I'm doing:
Fixes #issue
What type of PR is this:
Does this PR entail a change in behavior?
If yes, please specify the type of change:
Checklist:
Bugfix cherry-pick branch check:
This is an automatic backport of pull request #50757 done by [Mergify](https://mergify.com). ## Why I'm doing: ``` CREATE MATERIALIZED VIEW `test_mv1` (`1`, `count(DISTINCT k2)`) DISTRIBUTED BY RANDOM REFRESH MANUAL PROPERTIES ( "replicated_storage" = "true", "replication_num" = "1", "storage_medium" = "HDD" ) AS SELECT 1 AS `1`, count(DISTINCT `s1`.`k2`) AS `count(DISTINCT k2)` FROM `test`.`s1`;
mysql> explain select count(1) from s1;
+-----------------------------+
| Explain String |
+-----------------------------+
| PLAN FRAGMENT 0 |
| OUTPUT EXPRS:4: count |
| PARTITION: UNPARTITIONED |
| |
| RESULT SINK |
| |
| 2:EXCHANGE |
| |
| PLAN FRAGMENT 1 |
| OUTPUT EXPRS: |
| PARTITION: RANDOM |
| |
| STREAM DATA SINK |
| EXCHANGE ID: 02 |
| UNPARTITIONED |
| |
| 1:Project |
| | <slot 4> : count(5: 1) |
| | |
| 0:OlapScanNode |
| TABLE: test_mv1 |
| PREAGGREGATION: ON |
| partitions=1/1 |
| rollup: test_mv1 |
| tabletRatio=2/2 |
| tabletList=30937,30939 |
| cardinality=1 |
| avgRowSize=8.0 |
| MaterializedView: true |
+-----------------------------+
29 rows in set (0.00 sec)
mysql> select count(1) from s1;
ERROR 1064 (HY000): Vectorized engine does not support the operator, node_type: 0 backend [id=10001] [host=172.26.92.227]