This is an automated email from the ASF dual-hosted git repository.

gabriellee 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 05f6e4c48a [fix](predicate) fix be core dump caused by pushing down 
the double column predicate (#15693)
05f6e4c48a is described below

commit 05f6e4c48a22fd1f0acf0dfb8b165fc95161425e
Author: luozenglin <[email protected]>
AuthorDate: Mon Jan 9 19:31:04 2023 +0800

    [fix](predicate) fix be core dump caused by pushing down the double column 
predicate (#15693)
---
 .../src/main/java/org/apache/doris/planner/OriginalPlanner.java      | 3 ++-
 .../data/query_p0/sql_functions/string_functions/test_split_part.out | 5 +++++
 .../query_p0/sql_functions/string_functions/test_split_part.groovy   | 2 ++
 3 files changed, 9 insertions(+), 1 deletion(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/planner/OriginalPlanner.java 
b/fe/fe-core/src/main/java/org/apache/doris/planner/OriginalPlanner.java
index c2c15c5c31..a5472959b3 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/planner/OriginalPlanner.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/planner/OriginalPlanner.java
@@ -382,7 +382,8 @@ public class OriginalPlanner extends Planner {
             if (child instanceof OlapScanNode && sortNode.getLimit() > 0
                     && 
sortNode.getSortInfo().getMaterializedOrderingExprs().size() > 0) {
                 Expr firstSortExpr = 
sortNode.getSortInfo().getMaterializedOrderingExprs().get(0);
-                if (firstSortExpr instanceof SlotRef && 
!firstSortExpr.getType().isStringType()) {
+                if (firstSortExpr instanceof SlotRef && 
!firstSortExpr.getType().isStringType()
+                        && !firstSortExpr.getType().isFloatingPointType()) {
                     OlapScanNode scanNode = (OlapScanNode) child;
                     sortNode.setUseTopnOpt(true);
                     scanNode.setUseTopnOpt(true);
diff --git 
a/regression-test/data/query_p0/sql_functions/string_functions/test_split_part.out
 
b/regression-test/data/query_p0/sql_functions/string_functions/test_split_part.out
new file mode 100644
index 0000000000..02bb117d12
--- /dev/null
+++ 
b/regression-test/data/query_p0/sql_functions/string_functions/test_split_part.out
@@ -0,0 +1,5 @@
+-- This file is automatically generated. You should know what you did if you 
want to edit this
+-- !1 --
+0.     0.1     0.
+\N     20.268  20.268
+
diff --git 
a/regression-test/suites/query_p0/sql_functions/string_functions/test_split_part.groovy
 
b/regression-test/suites/query_p0/sql_functions/string_functions/test_split_part.groovy
index 9b15ffb686..dda044e34a 100644
--- 
a/regression-test/suites/query_p0/sql_functions/string_functions/test_split_part.groovy
+++ 
b/regression-test/suites/query_p0/sql_functions/string_functions/test_split_part.groovy
@@ -27,4 +27,6 @@ suite("test_split_part") {
     """
     exception "[RUNTIME_ERROR]Argument at index 3 for function split_part must 
be constant"
   }
+
+  qt_1 "select split_part(k8, '1', 1), k8, split_part(concat(k8, '12'), '1', 
1) from test_query_db.test order by k8 limit 2;"
 }
\ No newline at end of file


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to