This is an automated email from the ASF dual-hosted git repository.
morrysnow pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new 26337543bf [fix](Nereids) make TVF's distribution spec always be
RANDOM (#24020)
26337543bf is described below
commit 26337543bfc74ee1b106f60c567907a2ff0018b9
Author: morrySnow <[email protected]>
AuthorDate: Thu Sep 7 22:06:45 2023 +0800
[fix](Nereids) make TVF's distribution spec always be RANDOM (#24020)
Nereids make TVF number as Gather distribution if backend num = 1.
But coordinator could not process gather fragment with scan node.
In the long run, we need to get coordinators to support this scenario.
But it is need a lot of refactor. So, we just forbid Gather distribution
for ScanNode now.
---
.../doris/nereids/trees/expressions/functions/table/Numbers.java | 9 +++++----
regression-test/suites/nereids_function_p0/tvf/tvf.groovy | 9 ++++++++-
2 files changed, 13 insertions(+), 5 deletions(-)
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/table/Numbers.java
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/table/Numbers.java
index 303f862f69..c5febcf974 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/table/Numbers.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/table/Numbers.java
@@ -90,10 +90,11 @@ public class Numbers extends TableValuedFunction {
@Override
public PhysicalProperties getPhysicalProperties() {
- String backendNum =
getTVFProperties().getMap().getOrDefault(NumbersTableValuedFunction.BACKEND_NUM,
"1");
- if (backendNum.trim().equals("1")) {
- return PhysicalProperties.GATHER;
- }
+ // TODO: use gather after coordinator support plan gather scan
+ // String backendNum =
getTVFProperties().getMap().getOrDefault(NumbersTableValuedFunction.BACKEND_NUM,
"1");
+ // if (backendNum.trim().equals("1")) {
+ // return PhysicalProperties.GATHER;
+ // }
return PhysicalProperties.ANY;
}
diff --git a/regression-test/suites/nereids_function_p0/tvf/tvf.groovy
b/regression-test/suites/nereids_function_p0/tvf/tvf.groovy
index 1fe52a2553..488decd32c 100644
--- a/regression-test/suites/nereids_function_p0/tvf/tvf.groovy
+++ b/regression-test/suites/nereids_function_p0/tvf/tvf.groovy
@@ -20,5 +20,12 @@ suite("nereids_tvf") {
sql 'set enable_nereids_planner=true'
sql 'set enable_fallback_to_original_planner=false'
qt_sql_number '''
- select * from numbers("number" = "10")'''
+ select * from numbers("number" = "10")
+ '''
+
+ // when we set numbers to gather, coordinator could not process and set
none scan range in thrift
+ // so we add this test case to ensure this sql do not core dump
+ sql """
+ select * from numbers("number"="10") a right join
numbers("number"="10") b on true;
+ """
}
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]