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 <101034200+morrys...@users.noreply.github.com>
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: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to