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

jakevin 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 f828a3d826 [shape](nereids) ssb sf100 plan shape check (#22596)
f828a3d826 is described below

commit f828a3d8261b0e49f421f354cf54971099a53e54
Author: minghong <engle...@gmail.com>
AuthorDate: Fri Aug 4 13:12:21 2023 +0800

    [shape](nereids) ssb sf100 plan shape check (#22596)
---
 .../data/nereids_ssb_shape_sf100_p0/shape/q1.1.out |  16 ++
 .../data/nereids_ssb_shape_sf100_p0/shape/q1.2.out |  16 ++
 .../data/nereids_ssb_shape_sf100_p0/shape/q1.3.out |  16 ++
 .../data/nereids_ssb_shape_sf100_p0/shape/q2.1.out |  28 +++
 .../data/nereids_ssb_shape_sf100_p0/shape/q2.2.out |  31 +++
 .../data/nereids_ssb_shape_sf100_p0/shape/q2.3.out |  31 +++
 .../data/nereids_ssb_shape_sf100_p0/shape/q3.1.out |  30 +++
 .../data/nereids_ssb_shape_sf100_p0/shape/q3.2.out |  30 +++
 .../data/nereids_ssb_shape_sf100_p0/shape/q3.3.out |  31 +++
 .../data/nereids_ssb_shape_sf100_p0/shape/q3.4.out |  30 +++
 .../data/nereids_ssb_shape_sf100_p0/shape/q4.1.out |  35 ++++
 .../data/nereids_ssb_shape_sf100_p0/shape/q4.2.out |  37 ++++
 .../data/nereids_ssb_shape_sf100_p0/shape/q4.3.out |  33 ++++
 .../suites/nereids_ssb_shape_sf100_p0/load.groovy  | 215 +++++++++++++++++++++
 .../nereids_ssb_shape_sf100_p0/shape/q1.1.groovy   |  42 ++++
 .../nereids_ssb_shape_sf100_p0/shape/q1.2.groovy   |  42 ++++
 .../nereids_ssb_shape_sf100_p0/shape/q1.3.groovy   |  44 +++++
 .../nereids_ssb_shape_sf100_p0/shape/q2.1.groovy   |  45 +++++
 .../nereids_ssb_shape_sf100_p0/shape/q2.2.groovy   |  45 +++++
 .../nereids_ssb_shape_sf100_p0/shape/q2.3.groovy   |  45 +++++
 .../nereids_ssb_shape_sf100_p0/shape/q3.1.groovy   |  51 +++++
 .../nereids_ssb_shape_sf100_p0/shape/q3.2.groovy   |  51 +++++
 .../nereids_ssb_shape_sf100_p0/shape/q3.3.groovy   |  57 ++++++
 .../nereids_ssb_shape_sf100_p0/shape/q3.4.groovy   |  56 ++++++
 .../nereids_ssb_shape_sf100_p0/shape/q4.1.groovy   |  53 +++++
 .../nereids_ssb_shape_sf100_p0/shape/q4.2.groovy   |  58 ++++++
 .../nereids_ssb_shape_sf100_p0/shape/q4.3.groovy   |  54 ++++++
 27 files changed, 1222 insertions(+)

diff --git a/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q1.1.out 
b/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q1.1.out
new file mode 100644
index 0000000000..19bef3de9e
--- /dev/null
+++ b/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q1.1.out
@@ -0,0 +1,16 @@
+-- This file is automatically generated. You should know what you did if you 
want to edit this
+-- !select --
+PhysicalResultSink
+--hashAgg[GLOBAL]
+----PhysicalDistribute
+------hashAgg[LOCAL]
+--------PhysicalProject
+----------hashJoin[INNER_JOIN](lineorder.lo_orderdate = dates.d_datekey)
+------------PhysicalProject
+--------------filter((lineorder.lo_discount <= 3)(lineorder.lo_discount >= 
1)(lineorder.lo_quantity < 25))
+----------------PhysicalOlapScan[lineorder]
+------------PhysicalDistribute
+--------------PhysicalProject
+----------------filter((dates.d_year = 1993))
+------------------PhysicalOlapScan[dates]
+
diff --git a/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q1.2.out 
b/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q1.2.out
new file mode 100644
index 0000000000..f1ac298657
--- /dev/null
+++ b/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q1.2.out
@@ -0,0 +1,16 @@
+-- This file is automatically generated. You should know what you did if you 
want to edit this
+-- !select --
+PhysicalResultSink
+--hashAgg[GLOBAL]
+----PhysicalDistribute
+------hashAgg[LOCAL]
+--------PhysicalProject
+----------hashJoin[INNER_JOIN](lineorder.lo_orderdate = dates.d_datekey)
+------------PhysicalProject
+--------------filter((lineorder.lo_quantity <= 35)(lineorder.lo_discount <= 
6)(lineorder.lo_discount >= 4)(lineorder.lo_quantity >= 26))
+----------------PhysicalOlapScan[lineorder]
+------------PhysicalDistribute
+--------------PhysicalProject
+----------------filter((dates.d_yearmonth = 'Jan1994'))
+------------------PhysicalOlapScan[dates]
+
diff --git a/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q1.3.out 
b/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q1.3.out
new file mode 100644
index 0000000000..1e4a6a40b5
--- /dev/null
+++ b/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q1.3.out
@@ -0,0 +1,16 @@
+-- This file is automatically generated. You should know what you did if you 
want to edit this
+-- !select --
+PhysicalResultSink
+--hashAgg[GLOBAL]
+----PhysicalDistribute
+------hashAgg[LOCAL]
+--------PhysicalProject
+----------hashJoin[INNER_JOIN](lineorder.lo_orderdate = dates.d_datekey)
+------------PhysicalProject
+--------------filter((lineorder.lo_discount <= 7)(lineorder.lo_discount >= 
5)(lineorder.lo_quantity <= 35)(lineorder.lo_quantity >= 26))
+----------------PhysicalOlapScan[lineorder]
+------------PhysicalDistribute
+--------------PhysicalProject
+----------------filter((dates.d_year = 1994)(dates.d_weeknuminyear = 6))
+------------------PhysicalOlapScan[dates]
+
diff --git a/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q2.1.out 
b/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q2.1.out
new file mode 100644
index 0000000000..f8cbe1787f
--- /dev/null
+++ b/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q2.1.out
@@ -0,0 +1,28 @@
+-- This file is automatically generated. You should know what you did if you 
want to edit this
+-- !select --
+PhysicalResultSink
+--PhysicalQuickSort
+----PhysicalDistribute
+------PhysicalQuickSort
+--------PhysicalProject
+----------hashAgg[GLOBAL]
+------------PhysicalDistribute
+--------------hashAgg[LOCAL]
+----------------PhysicalProject
+------------------hashJoin[INNER_JOIN](lineorder.lo_orderdate = 
dates.d_datekey)
+--------------------hashJoin[INNER_JOIN](lineorder.lo_suppkey = 
supplier.s_suppkey)
+----------------------hashJoin[INNER_JOIN](lineorder.lo_partkey = 
part.p_partkey)
+------------------------PhysicalProject
+--------------------------PhysicalOlapScan[lineorder]
+------------------------PhysicalDistribute
+--------------------------PhysicalProject
+----------------------------filter((part.p_category = 'MFGR#12'))
+------------------------------PhysicalOlapScan[part]
+----------------------PhysicalDistribute
+------------------------PhysicalProject
+--------------------------filter((supplier.s_region = 'AMERICA'))
+----------------------------PhysicalOlapScan[supplier]
+--------------------PhysicalDistribute
+----------------------PhysicalProject
+------------------------PhysicalOlapScan[dates]
+
diff --git a/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q2.2.out 
b/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q2.2.out
new file mode 100644
index 0000000000..de0b1d9ce0
--- /dev/null
+++ b/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q2.2.out
@@ -0,0 +1,31 @@
+-- This file is automatically generated. You should know what you did if you 
want to edit this
+-- !select --
+PhysicalResultSink
+--PhysicalQuickSort
+----PhysicalDistribute
+------PhysicalQuickSort
+--------PhysicalProject
+----------hashAgg[GLOBAL]
+------------PhysicalDistribute
+--------------hashAgg[LOCAL]
+----------------PhysicalProject
+------------------hashJoin[INNER_JOIN](lineorder.lo_orderdate = 
dates.d_datekey)
+--------------------PhysicalDistribute
+----------------------PhysicalProject
+------------------------hashJoin[INNER_JOIN](lineorder.lo_suppkey = 
supplier.s_suppkey)
+--------------------------PhysicalDistribute
+----------------------------hashJoin[INNER_JOIN](lineorder.lo_partkey = 
part.p_partkey)
+------------------------------PhysicalProject
+--------------------------------PhysicalOlapScan[lineorder]
+------------------------------PhysicalDistribute
+--------------------------------PhysicalProject
+----------------------------------filter((part.p_brand >= 
'MFGR#2221')(part.p_brand <= 'MFGR#2228'))
+------------------------------------PhysicalOlapScan[part]
+--------------------------PhysicalDistribute
+----------------------------PhysicalProject
+------------------------------filter((supplier.s_region = 'ASIA'))
+--------------------------------PhysicalOlapScan[supplier]
+--------------------PhysicalDistribute
+----------------------PhysicalProject
+------------------------PhysicalOlapScan[dates]
+
diff --git a/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q2.3.out 
b/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q2.3.out
new file mode 100644
index 0000000000..17b70822a9
--- /dev/null
+++ b/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q2.3.out
@@ -0,0 +1,31 @@
+-- This file is automatically generated. You should know what you did if you 
want to edit this
+-- !select --
+PhysicalResultSink
+--PhysicalQuickSort
+----PhysicalDistribute
+------PhysicalQuickSort
+--------PhysicalProject
+----------hashAgg[GLOBAL]
+------------PhysicalDistribute
+--------------hashAgg[LOCAL]
+----------------PhysicalProject
+------------------hashJoin[INNER_JOIN](lineorder.lo_orderdate = 
dates.d_datekey)
+--------------------PhysicalDistribute
+----------------------PhysicalProject
+------------------------hashJoin[INNER_JOIN](lineorder.lo_suppkey = 
supplier.s_suppkey)
+--------------------------PhysicalDistribute
+----------------------------hashJoin[INNER_JOIN](lineorder.lo_partkey = 
part.p_partkey)
+------------------------------PhysicalProject
+--------------------------------PhysicalOlapScan[lineorder]
+------------------------------PhysicalDistribute
+--------------------------------PhysicalProject
+----------------------------------filter((part.p_brand = 'MFGR#2239'))
+------------------------------------PhysicalOlapScan[part]
+--------------------------PhysicalDistribute
+----------------------------PhysicalProject
+------------------------------filter((supplier.s_region = 'EUROPE'))
+--------------------------------PhysicalOlapScan[supplier]
+--------------------PhysicalDistribute
+----------------------PhysicalProject
+------------------------PhysicalOlapScan[dates]
+
diff --git a/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q3.1.out 
b/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q3.1.out
new file mode 100644
index 0000000000..2ed9372602
--- /dev/null
+++ b/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q3.1.out
@@ -0,0 +1,30 @@
+-- This file is automatically generated. You should know what you did if you 
want to edit this
+-- !select --
+PhysicalResultSink
+--PhysicalQuickSort
+----PhysicalDistribute
+------PhysicalQuickSort
+--------hashAgg[GLOBAL]
+----------PhysicalDistribute
+------------hashAgg[LOCAL]
+--------------PhysicalProject
+----------------hashJoin[INNER_JOIN](lineorder.lo_orderdate = dates.d_datekey)
+------------------PhysicalProject
+--------------------hashJoin[INNER_JOIN](lineorder.lo_custkey = 
customer.c_custkey)
+----------------------PhysicalDistribute
+------------------------hashJoin[INNER_JOIN](lineorder.lo_suppkey = 
supplier.s_suppkey)
+--------------------------PhysicalProject
+----------------------------PhysicalOlapScan[lineorder]
+--------------------------PhysicalDistribute
+----------------------------PhysicalProject
+------------------------------filter((supplier.s_region = 'ASIA'))
+--------------------------------PhysicalOlapScan[supplier]
+----------------------PhysicalDistribute
+------------------------PhysicalProject
+--------------------------filter((customer.c_region = 'ASIA'))
+----------------------------PhysicalOlapScan[customer]
+------------------PhysicalDistribute
+--------------------PhysicalProject
+----------------------filter((dates.d_year <= 1997)(dates.d_year >= 1992))
+------------------------PhysicalOlapScan[dates]
+
diff --git a/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q3.2.out 
b/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q3.2.out
new file mode 100644
index 0000000000..b181c7be1c
--- /dev/null
+++ b/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q3.2.out
@@ -0,0 +1,30 @@
+-- This file is automatically generated. You should know what you did if you 
want to edit this
+-- !select --
+PhysicalResultSink
+--PhysicalQuickSort
+----PhysicalDistribute
+------PhysicalQuickSort
+--------hashAgg[GLOBAL]
+----------PhysicalDistribute
+------------hashAgg[LOCAL]
+--------------PhysicalProject
+----------------hashJoin[INNER_JOIN](lineorder.lo_orderdate = dates.d_datekey)
+------------------PhysicalProject
+--------------------hashJoin[INNER_JOIN](lineorder.lo_custkey = 
customer.c_custkey)
+----------------------PhysicalDistribute
+------------------------hashJoin[INNER_JOIN](lineorder.lo_suppkey = 
supplier.s_suppkey)
+--------------------------PhysicalProject
+----------------------------PhysicalOlapScan[lineorder]
+--------------------------PhysicalDistribute
+----------------------------PhysicalProject
+------------------------------filter((supplier.s_nation = 'UNITED STATES'))
+--------------------------------PhysicalOlapScan[supplier]
+----------------------PhysicalDistribute
+------------------------PhysicalProject
+--------------------------filter((customer.c_nation = 'UNITED STATES'))
+----------------------------PhysicalOlapScan[customer]
+------------------PhysicalDistribute
+--------------------PhysicalProject
+----------------------filter((dates.d_year <= 1997)(dates.d_year >= 1992))
+------------------------PhysicalOlapScan[dates]
+
diff --git a/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q3.3.out 
b/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q3.3.out
new file mode 100644
index 0000000000..d7bdbaa77b
--- /dev/null
+++ b/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q3.3.out
@@ -0,0 +1,31 @@
+-- This file is automatically generated. You should know what you did if you 
want to edit this
+-- !select --
+PhysicalResultSink
+--PhysicalQuickSort
+----PhysicalDistribute
+------PhysicalQuickSort
+--------hashAgg[GLOBAL]
+----------PhysicalDistribute
+------------hashAgg[LOCAL]
+--------------PhysicalProject
+----------------hashJoin[INNER_JOIN](lineorder.lo_orderdate = dates.d_datekey)
+------------------PhysicalDistribute
+--------------------PhysicalProject
+----------------------hashJoin[INNER_JOIN](lineorder.lo_custkey = 
customer.c_custkey)
+------------------------PhysicalDistribute
+--------------------------hashJoin[INNER_JOIN](lineorder.lo_suppkey = 
supplier.s_suppkey)
+----------------------------PhysicalProject
+------------------------------PhysicalOlapScan[lineorder]
+----------------------------PhysicalDistribute
+------------------------------PhysicalProject
+--------------------------------filter(s_city IN ('UNITED KI5', 'UNITED KI1'))
+----------------------------------PhysicalOlapScan[supplier]
+------------------------PhysicalDistribute
+--------------------------PhysicalProject
+----------------------------filter(c_city IN ('UNITED KI5', 'UNITED KI1'))
+------------------------------PhysicalOlapScan[customer]
+------------------PhysicalDistribute
+--------------------PhysicalProject
+----------------------filter((dates.d_year <= 1997)(dates.d_year >= 1992))
+------------------------PhysicalOlapScan[dates]
+
diff --git a/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q3.4.out 
b/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q3.4.out
new file mode 100644
index 0000000000..ad9c6d4649
--- /dev/null
+++ b/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q3.4.out
@@ -0,0 +1,30 @@
+-- This file is automatically generated. You should know what you did if you 
want to edit this
+-- !select --
+PhysicalResultSink
+--PhysicalQuickSort
+----PhysicalDistribute
+------PhysicalQuickSort
+--------hashAgg[GLOBAL]
+----------PhysicalDistribute
+------------hashAgg[LOCAL]
+--------------PhysicalProject
+----------------hashJoin[INNER_JOIN](lineorder.lo_custkey = customer.c_custkey)
+------------------PhysicalDistribute
+--------------------PhysicalProject
+----------------------hashJoin[INNER_JOIN](lineorder.lo_orderdate = 
dates.d_datekey)
+------------------------hashJoin[INNER_JOIN](lineorder.lo_suppkey = 
supplier.s_suppkey)
+--------------------------PhysicalProject
+----------------------------PhysicalOlapScan[lineorder]
+--------------------------PhysicalDistribute
+----------------------------PhysicalProject
+------------------------------filter(s_city IN ('UNITED KI5', 'UNITED KI1'))
+--------------------------------PhysicalOlapScan[supplier]
+------------------------PhysicalDistribute
+--------------------------PhysicalProject
+----------------------------filter((dates.d_yearmonth = 'Dec1997'))
+------------------------------PhysicalOlapScan[dates]
+------------------PhysicalDistribute
+--------------------PhysicalProject
+----------------------filter(c_city IN ('UNITED KI5', 'UNITED KI1'))
+------------------------PhysicalOlapScan[customer]
+
diff --git a/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q4.1.out 
b/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q4.1.out
new file mode 100644
index 0000000000..3ddb20d9c5
--- /dev/null
+++ b/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q4.1.out
@@ -0,0 +1,35 @@
+-- This file is automatically generated. You should know what you did if you 
want to edit this
+-- !select --
+PhysicalResultSink
+--PhysicalQuickSort
+----PhysicalDistribute
+------PhysicalQuickSort
+--------hashAgg[GLOBAL]
+----------PhysicalDistribute
+------------hashAgg[LOCAL]
+--------------PhysicalProject
+----------------hashJoin[INNER_JOIN](lineorder.lo_orderdate = dates.d_datekey)
+------------------hashJoin[INNER_JOIN](lineorder.lo_partkey = part.p_partkey)
+--------------------PhysicalDistribute
+----------------------PhysicalProject
+------------------------hashJoin[INNER_JOIN](lineorder.lo_custkey = 
customer.c_custkey)
+--------------------------PhysicalDistribute
+----------------------------hashJoin[INNER_JOIN](lineorder.lo_suppkey = 
supplier.s_suppkey)
+------------------------------PhysicalProject
+--------------------------------PhysicalOlapScan[lineorder]
+------------------------------PhysicalDistribute
+--------------------------------PhysicalProject
+----------------------------------filter((supplier.s_region = 'AMERICA'))
+------------------------------------PhysicalOlapScan[supplier]
+--------------------------PhysicalDistribute
+----------------------------PhysicalProject
+------------------------------filter((customer.c_region = 'AMERICA'))
+--------------------------------PhysicalOlapScan[customer]
+--------------------PhysicalDistribute
+----------------------PhysicalProject
+------------------------filter(p_mfgr IN ('MFGR#2', 'MFGR#1'))
+--------------------------PhysicalOlapScan[part]
+------------------PhysicalDistribute
+--------------------PhysicalProject
+----------------------PhysicalOlapScan[dates]
+
diff --git a/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q4.2.out 
b/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q4.2.out
new file mode 100644
index 0000000000..53be0d703d
--- /dev/null
+++ b/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q4.2.out
@@ -0,0 +1,37 @@
+-- This file is automatically generated. You should know what you did if you 
want to edit this
+-- !select --
+PhysicalResultSink
+--PhysicalQuickSort
+----PhysicalDistribute
+------PhysicalQuickSort
+--------hashAgg[GLOBAL]
+----------PhysicalDistribute
+------------hashAgg[LOCAL]
+--------------PhysicalProject
+----------------hashJoin[INNER_JOIN](lineorder.lo_partkey = part.p_partkey)
+------------------PhysicalDistribute
+--------------------PhysicalProject
+----------------------hashJoin[INNER_JOIN](lineorder.lo_custkey = 
customer.c_custkey)
+------------------------PhysicalDistribute
+--------------------------PhysicalProject
+----------------------------hashJoin[INNER_JOIN](lineorder.lo_orderdate = 
dates.d_datekey)
+------------------------------hashJoin[INNER_JOIN](lineorder.lo_suppkey = 
supplier.s_suppkey)
+--------------------------------PhysicalProject
+----------------------------------PhysicalOlapScan[lineorder]
+--------------------------------PhysicalDistribute
+----------------------------------PhysicalProject
+------------------------------------filter((supplier.s_region = 'AMERICA'))
+--------------------------------------PhysicalOlapScan[supplier]
+------------------------------PhysicalDistribute
+--------------------------------PhysicalProject
+----------------------------------filter(d_year IN (1997, 1998))
+------------------------------------PhysicalOlapScan[dates]
+------------------------PhysicalDistribute
+--------------------------PhysicalProject
+----------------------------filter((customer.c_region = 'AMERICA'))
+------------------------------PhysicalOlapScan[customer]
+------------------PhysicalDistribute
+--------------------PhysicalProject
+----------------------filter(p_mfgr IN ('MFGR#2', 'MFGR#1'))
+------------------------PhysicalOlapScan[part]
+
diff --git a/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q4.3.out 
b/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q4.3.out
new file mode 100644
index 0000000000..8c2b1194ef
--- /dev/null
+++ b/regression-test/data/nereids_ssb_shape_sf100_p0/shape/q4.3.out
@@ -0,0 +1,33 @@
+-- This file is automatically generated. You should know what you did if you 
want to edit this
+-- !select --
+PhysicalResultSink
+--PhysicalQuickSort
+----PhysicalDistribute
+------PhysicalQuickSort
+--------hashAgg[GLOBAL]
+----------PhysicalDistribute
+------------hashAgg[LOCAL]
+--------------PhysicalProject
+----------------hashJoin[INNER_JOIN](lineorder.lo_custkey = customer.c_custkey)
+------------------PhysicalProject
+--------------------PhysicalOlapScan[customer]
+------------------PhysicalDistribute
+--------------------PhysicalProject
+----------------------hashJoin[INNER_JOIN](lineorder.lo_orderdate = 
dates.d_datekey)
+------------------------hashJoin[INNER_JOIN](lineorder.lo_partkey = 
part.p_partkey)
+--------------------------hashJoin[INNER_JOIN](lineorder.lo_suppkey = 
supplier.s_suppkey)
+----------------------------PhysicalProject
+------------------------------PhysicalOlapScan[lineorder]
+----------------------------PhysicalDistribute
+------------------------------PhysicalProject
+--------------------------------filter((supplier.s_nation = 'UNITED STATES'))
+----------------------------------PhysicalOlapScan[supplier]
+--------------------------PhysicalDistribute
+----------------------------PhysicalProject
+------------------------------filter((part.p_category = 'MFGR#14'))
+--------------------------------PhysicalOlapScan[part]
+------------------------PhysicalDistribute
+--------------------------PhysicalProject
+----------------------------filter(d_year IN (1997, 1998))
+------------------------------PhysicalOlapScan[dates]
+
diff --git a/regression-test/suites/nereids_ssb_shape_sf100_p0/load.groovy 
b/regression-test/suites/nereids_ssb_shape_sf100_p0/load.groovy
new file mode 100644
index 0000000000..f7fe30c4ce
--- /dev/null
+++ b/regression-test/suites/nereids_ssb_shape_sf100_p0/load.groovy
@@ -0,0 +1,215 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+suite("load") {
+    String database = context.config.getDbNameByFile(context.file)
+    sql "drop database if exists ${database}"
+    sql "create database ${database}"
+    sql "use ${database}"
+    sql """
+CREATE TABLE IF NOT EXISTS `lineorder` (
+  `lo_orderkey` int(11) NOT NULL COMMENT '',
+  `lo_linenumber` int(11) NOT NULL COMMENT '',
+  `lo_custkey` int(11) NOT NULL COMMENT '',
+  `lo_partkey` int(11) NOT NULL COMMENT '',
+  `lo_suppkey` int(11) NOT NULL COMMENT '',
+  `lo_orderdate` int(11) NOT NULL COMMENT '',
+  `lo_orderpriority` varchar(16) NOT NULL COMMENT '',
+  `lo_shippriority` int(11) NOT NULL COMMENT '',
+  `lo_quantity` int(11) NOT NULL COMMENT '',
+  `lo_extendedprice` int(11) NOT NULL COMMENT '',
+  `lo_ordtotalprice` int(11) NOT NULL COMMENT '',
+  `lo_discount` int(11) NOT NULL COMMENT '',
+  `lo_revenue` int(11) NOT NULL COMMENT '',
+  `lo_supplycost` int(11) NOT NULL COMMENT '',
+  `lo_tax` int(11) NOT NULL COMMENT '',
+  `lo_commitdate` int(11) NOT NULL COMMENT '',
+  `lo_shipmode` varchar(11) NOT NULL COMMENT ''
+) ENGINE=OLAP
+DUPLICATE KEY(`lo_orderkey`)
+COMMENT "OLAP"
+PARTITION BY RANGE(`lo_orderdate`)
+(PARTITION p1 VALUES [("-2147483648"), ("19930101")),
+PARTITION p2 VALUES [("19930101"), ("19940101")),
+PARTITION p3 VALUES [("19940101"), ("19950101")),
+PARTITION p4 VALUES [("19950101"), ("19960101")),
+PARTITION p5 VALUES [("19960101"), ("19970101")),
+PARTITION p6 VALUES [("19970101"), ("19980101")),
+PARTITION p7 VALUES [("19980101"), ("19990101")))
+DISTRIBUTED BY HASH(`lo_orderkey`) BUCKETS 48
+PROPERTIES (
+"replication_num" = "1",
+"colocate_with" = "groupa1",
+"in_memory" = "false",
+"storage_format" = "DEFAULT"
+);"""
+
+sql """
+CREATE TABLE IF NOT EXISTS `customer` (
+  `c_custkey` int(11) NOT NULL COMMENT '',
+  `c_name` varchar(26) NOT NULL COMMENT '',
+  `c_address` varchar(41) NOT NULL COMMENT '',
+  `c_city` varchar(11) NOT NULL COMMENT '',
+  `c_nation` varchar(16) NOT NULL COMMENT '',
+  `c_region` varchar(13) NOT NULL COMMENT '',
+  `c_phone` varchar(16) NOT NULL COMMENT '',
+  `c_mktsegment` varchar(11) NOT NULL COMMENT ''
+) ENGINE=OLAP
+DUPLICATE KEY(`c_custkey`)
+COMMENT "OLAP"
+DISTRIBUTED BY HASH(`c_custkey`) BUCKETS 12
+PROPERTIES (
+"replication_num" = "1",
+"colocate_with" = "groupa2",
+"in_memory" = "false",
+"storage_format" = "DEFAULT"
+);"""
+
+sql """
+CREATE TABLE IF NOT EXISTS `dates` (
+  `d_datekey` int(11) NOT NULL COMMENT '',
+  `d_date` varchar(20) NOT NULL COMMENT '',
+  `d_dayofweek` varchar(10) NOT NULL COMMENT '',
+  `d_month` varchar(11) NOT NULL COMMENT '',
+  `d_year` int(11) NOT NULL COMMENT '',
+  `d_yearmonthnum` int(11) NOT NULL COMMENT '',
+  `d_yearmonth` varchar(9) NOT NULL COMMENT '',
+  `d_daynuminweek` int(11) NOT NULL COMMENT '',
+  `d_daynuminmonth` int(11) NOT NULL COMMENT '',
+  `d_daynuminyear` int(11) NOT NULL COMMENT '',
+  `d_monthnuminyear` int(11) NOT NULL COMMENT '',
+  `d_weeknuminyear` int(11) NOT NULL COMMENT '',
+  `d_sellingseason` varchar(14) NOT NULL COMMENT '',
+  `d_lastdayinweekfl` int(11) NOT NULL COMMENT '',
+  `d_lastdayinmonthfl` int(11) NOT NULL COMMENT '',
+  `d_holidayfl` int(11) NOT NULL COMMENT '',
+  `d_weekdayfl` int(11) NOT NULL COMMENT ''
+) ENGINE=OLAP
+DUPLICATE KEY(`d_datekey`)
+COMMENT "OLAP"
+DISTRIBUTED BY HASH(`d_datekey`) BUCKETS 1
+PROPERTIES (
+"replication_num" = "1",
+"in_memory" = "false",
+"colocate_with" = "groupa3",
+"storage_format" = "DEFAULT"
+);"""
+
+sql """
+
+ CREATE TABLE IF NOT EXISTS `supplier` (
+  `s_suppkey` int(11) NOT NULL COMMENT '',
+  `s_name` varchar(26) NOT NULL COMMENT '',
+  `s_address` varchar(26) NOT NULL COMMENT '',
+  `s_city` varchar(11) NOT NULL COMMENT '',
+  `s_nation` varchar(16) NOT NULL COMMENT '',
+  `s_region` varchar(13) NOT NULL COMMENT '',
+  `s_phone` varchar(16) NOT NULL COMMENT ''
+) ENGINE=OLAP
+DUPLICATE KEY(`s_suppkey`)
+COMMENT "OLAP"
+DISTRIBUTED BY HASH(`s_suppkey`) BUCKETS 12
+PROPERTIES (
+"replication_num" = "1",
+"colocate_with" = "groupa4",
+"in_memory" = "false",
+"storage_format" = "DEFAULT"
+);"""
+
+sql """
+CREATE TABLE IF NOT EXISTS `part` (
+  `p_partkey` int(11) NOT NULL COMMENT '',
+  `p_name` varchar(23) NOT NULL COMMENT '',
+  `p_mfgr` varchar(7) NOT NULL COMMENT '',
+  `p_category` varchar(8) NOT NULL COMMENT '',
+  `p_brand` varchar(10) NOT NULL COMMENT '',
+  `p_color` varchar(12) NOT NULL COMMENT '',
+  `p_type` varchar(26) NOT NULL COMMENT '',
+  `p_size` int(11) NOT NULL COMMENT '',
+  `p_container` varchar(11) NOT NULL COMMENT ''
+) ENGINE=OLAP
+DUPLICATE KEY(`p_partkey`)
+COMMENT "OLAP"
+DISTRIBUTED BY HASH(`p_partkey`) BUCKETS 12
+PROPERTIES (
+"replication_num" = "1",
+"colocate_with" = "groupa5",
+"in_memory" = "false",
+"storage_format" = "DEFAULT"
+);"""
+
+sql """alter table dates modify column d_lastdayinweekfl set stats 
('row_count'='2556', 'ndv'='2', 'num_nulls'='0', 'min_value'='0', 
'max_value'='1', 'data_size'='10224');"""
+sql """alter table supplier modify column s_suppkey set stats 
('row_count'='200000', 'ndv'='196099', 'num_nulls'='0', 'min_value'='1', 
'max_value'='200000', 'data_size'='800000');"""
+sql """alter table lineorder modify column lo_quantity set stats 
('row_count'='600037902', 'ndv'='50', 'num_nulls'='0', 'min_value'='1', 
'max_value'='50', 'data_size'='2400151608');"""
+sql """alter table lineorder modify column lo_shipmode set stats 
('row_count'='600037902', 'ndv'='7', 'num_nulls'='0', 'min_value'='AIR', 
'max_value'='TRUCK', 'data_size'='2571562204');"""
+sql """alter table customer modify column c_name set stats 
('row_count'='3000000', 'ndv'='3017713', 'num_nulls'='0', 
'min_value'='Customer#000000001', 'max_value'='Customer#003000000', 
'data_size'='54000000');"""
+sql """alter table dates modify column d_date set stats ('row_count'='2556', 
'ndv'='2539', 'num_nulls'='0', 'min_value'='April 1, 1992', 
'max_value'='September 9, 1998', 'data_size'='38181');"""
+sql """alter table dates modify column d_daynuminyear set stats 
('row_count'='2556', 'ndv'='366', 'num_nulls'='0', 'min_value'='1', 
'max_value'='366', 'data_size'='10224');"""
+sql """alter table dates modify column d_yearmonth set stats 
('row_count'='2556', 'ndv'='84', 'num_nulls'='0', 'min_value'='Apr1992', 
'max_value'='Sep1998', 'data_size'='17892');"""
+sql """alter table part modify column p_mfgr set stats ('row_count'='1400000', 
'ndv'='5', 'num_nulls'='0', 'min_value'='MFGR#1', 'max_value'='MFGR#5', 
'data_size'='8400000');"""
+sql """alter table part modify column p_name set stats ('row_count'='1400000', 
'ndv'='8417', 'num_nulls'='0', 'min_value'='almond antique', 
'max_value'='yellow white', 'data_size'='17705366');"""
+sql """alter table lineorder modify column lo_extendedprice set stats 
('row_count'='600037902', 'ndv'='1135983', 'num_nulls'='0', 
'min_value'='90096', 'max_value'='10494950', 'data_size'='2400151608');"""
+sql """alter table lineorder modify column lo_linenumber set stats 
('row_count'='600037902', 'ndv'='7', 'num_nulls'='0', 'min_value'='1', 
'max_value'='7', 'data_size'='2400151608');"""
+sql """alter table lineorder modify column lo_partkey set stats 
('row_count'='600037902', 'ndv'='999528', 'num_nulls'='0', 'min_value'='1', 
'max_value'='1000000', 'data_size'='2400151608');"""
+sql """alter table lineorder modify column lo_shippriority set stats 
('row_count'='600037902', 'ndv'='1', 'num_nulls'='0', 'min_value'='0', 
'max_value'='0', 'data_size'='2400151608');"""
+sql """alter table customer modify column c_mktsegment set stats 
('row_count'='3000000', 'ndv'='5', 'num_nulls'='0', 'min_value'='AUTOMOBILE', 
'max_value'='MACHINERY', 'data_size'='26999329');"""
+sql """alter table dates modify column d_dayofweek set stats 
('row_count'='2556', 'ndv'='7', 'num_nulls'='0', 'min_value'='Friday', 
'max_value'='Wednesday', 'data_size'='18258');"""
+sql """alter table dates modify column d_sellingseason set stats 
('row_count'='2556', 'ndv'='5', 'num_nulls'='0', 'min_value'='Christmas', 
'max_value'='Winter', 'data_size'='15760');"""
+sql """alter table dates modify column d_weekdayfl set stats 
('row_count'='2556', 'ndv'='2', 'num_nulls'='0', 'min_value'='0', 
'max_value'='1', 'data_size'='10224');"""
+sql """alter table supplier modify column s_city set stats 
('row_count'='200000', 'ndv'='250', 'num_nulls'='0', 'min_value'='ALGERIA  0', 
'max_value'='VIETNAM  9', 'data_size'='2000000');"""
+sql """alter table part modify column p_category set stats 
('row_count'='1400000', 'ndv'='25', 'num_nulls'='0', 'min_value'='MFGR#11', 
'max_value'='MFGR#55', 'data_size'='9800000');"""
+sql """alter table part modify column p_size set stats ('row_count'='1400000', 
'ndv'='50', 'num_nulls'='0', 'min_value'='1', 'max_value'='50', 
'data_size'='5600000');"""
+sql """alter table part modify column p_type set stats ('row_count'='1400000', 
'ndv'='150', 'num_nulls'='0', 'min_value'='ECONOMY ANODIZED BRASS', 
'max_value'='STANDARD POLISHED TIN', 'data_size'='28837497');"""
+sql """alter table lineorder modify column lo_orderkey set stats 
('row_count'='600037902', 'ndv'='148064528', 'num_nulls'='0', 'min_value'='1', 
'max_value'='600000000', 'data_size'='2400151608');"""
+sql """alter table lineorder modify column lo_revenue set stats 
('row_count'='600037902', 'ndv'='6280312', 'num_nulls'='0', 
'min_value'='81087', 'max_value'='10494950', 'data_size'='2400151608');"""
+sql """alter table lineorder modify column lo_suppkey set stats 
('row_count'='600037902', 'ndv'='196099', 'num_nulls'='0', 'min_value'='1', 
'max_value'='200000', 'data_size'='2400151608');"""
+sql """alter table lineorder modify column lo_supplycost set stats 
('row_count'='600037902', 'ndv'='15824', 'num_nulls'='0', 'min_value'='54057', 
'max_value'='125939', 'data_size'='2400151608');"""
+sql """alter table customer modify column c_address set stats 
('row_count'='3000000', 'ndv'='3011483', 'num_nulls'='0', 'min_value'='    
yaP00NZn4mxv', 'max_value'='zzzzsVRceYXRDisV3RC', 'data_size'='44994193');"""
+sql """alter table dates modify column d_datekey set stats 
('row_count'='2556', 'ndv'='2560', 'num_nulls'='0', 'min_value'='19920101', 
'max_value'='19981230', 'data_size'='10224');"""
+sql """alter table dates modify column d_daynuminmonth set stats 
('row_count'='2556', 'ndv'='31', 'num_nulls'='0', 'min_value'='1', 
'max_value'='31', 'data_size'='10224');"""
+sql """alter table dates modify column d_year set stats ('row_count'='2556', 
'ndv'='7', 'num_nulls'='0', 'min_value'='1992', 'max_value'='1998', 
'data_size'='10224');"""
+sql """alter table supplier modify column s_address set stats 
('row_count'='200000', 'ndv'='197960', 'num_nulls'='0', 'min_value'='  2MrUy', 
'max_value'='zzzqXhTdKxT0RAR8yxbc', 'data_size'='2998285');"""
+sql """alter table lineorder modify column lo_commitdate set stats 
('row_count'='600037902', 'ndv'='2469', 'num_nulls'='0', 
'min_value'='19920131', 'max_value'='19981031', 'data_size'='2400151608');"""
+sql """alter table lineorder modify column lo_tax set stats 
('row_count'='600037902', 'ndv'='9', 'num_nulls'='0', 'min_value'='0', 
'max_value'='8', 'data_size'='2400151608');"""
+sql """alter table customer modify column c_city set stats 
('row_count'='3000000', 'ndv'='250', 'num_nulls'='0', 'min_value'='ALGERIA  0', 
'max_value'='VIETNAM  9', 'data_size'='30000000');"""
+sql """alter table customer modify column c_custkey set stats 
('row_count'='3000000', 'ndv'='2985828', 'num_nulls'='0', 'min_value'='1', 
'max_value'='3000000', 'data_size'='12000000');"""
+sql """alter table dates modify column d_daynuminweek set stats 
('row_count'='2556', 'ndv'='7', 'num_nulls'='0', 'min_value'='1', 
'max_value'='7', 'data_size'='10224');"""
+sql """alter table dates modify column d_lastdayinmonthfl set stats 
('row_count'='2556', 'ndv'='2', 'num_nulls'='0', 'min_value'='0', 
'max_value'='1', 'data_size'='10224');"""
+sql """alter table dates modify column d_month set stats ('row_count'='2556', 
'ndv'='12', 'num_nulls'='0', 'min_value'='April', 'max_value'='September', 
'data_size'='15933');"""
+sql """alter table dates modify column d_yearmonthnum set stats 
('row_count'='2556', 'ndv'='84', 'num_nulls'='0', 'min_value'='199201', 
'max_value'='199812', 'data_size'='10224');"""
+sql """alter table supplier modify column s_phone set stats 
('row_count'='200000', 'ndv'='199261', 'num_nulls'='0', 
'min_value'='10-100-177-2350', 'max_value'='34-999-827-8511', 
'data_size'='3000000');"""
+sql """alter table part modify column p_partkey set stats 
('row_count'='1400000', 'ndv'='1394881', 'num_nulls'='0', 'min_value'='1', 
'max_value'='1400000', 'data_size'='5600000');"""
+sql """alter table lineorder modify column lo_custkey set stats 
('row_count'='600037902', 'ndv'='1962895', 'num_nulls'='0', 'min_value'='1', 
'max_value'='2999999', 'data_size'='2400151608');"""
+sql """alter table lineorder modify column lo_orderdate set stats 
('row_count'='600037902', 'ndv'='2408', 'num_nulls'='0', 
'min_value'='19920101', 'max_value'='19980802', 'data_size'='2400151608');"""
+sql """alter table lineorder modify column lo_ordtotalprice set stats 
('row_count'='600037902', 'ndv'='35026888', 'num_nulls'='0', 
'min_value'='81806', 'max_value'='60690215', 'data_size'='2400151608');"""
+sql """alter table customer modify column c_nation set stats 
('row_count'='3000000', 'ndv'='25', 'num_nulls'='0', 'min_value'='ALGERIA', 
'max_value'='VIETNAM', 'data_size'='21248112');"""
+sql """alter table customer modify column c_phone set stats 
('row_count'='3000000', 'ndv'='3012496', 'num_nulls'='0', 
'min_value'='10-100-106-1617', 'max_value'='34-999-998-5763', 
'data_size'='45000000');"""
+sql """alter table customer modify column c_region set stats 
('row_count'='3000000', 'ndv'='5', 'num_nulls'='0', 'min_value'='AFRICA', 
'max_value'='MIDDLE EAST', 'data_size'='20398797');"""
+sql """alter table dates modify column d_holidayfl set stats 
('row_count'='2556', 'ndv'='2', 'num_nulls'='0', 'min_value'='0', 
'max_value'='1', 'data_size'='10224');"""
+sql """alter table dates modify column d_weeknuminyear set stats 
('row_count'='2556', 'ndv'='53', 'num_nulls'='0', 'min_value'='1', 
'max_value'='53', 'data_size'='10224');"""
+sql """alter table supplier modify column s_nation set stats 
('row_count'='200000', 'ndv'='25', 'num_nulls'='0', 'min_value'='ALGERIA', 
'max_value'='VIETNAM', 'data_size'='1415335');"""
+sql """alter table part modify column p_brand set stats 
('row_count'='1400000', 'ndv'='1002', 'num_nulls'='0', 'min_value'='MFGR#111', 
'max_value'='MFGR#559', 'data_size'='12285135');"""
+sql """alter table part modify column p_color set stats 
('row_count'='1400000', 'ndv'='92', 'num_nulls'='0', 'min_value'='almond', 
'max_value'='yellow', 'data_size'='8170588');"""
+sql """alter table part modify column p_container set stats 
('row_count'='1400000', 'ndv'='40', 'num_nulls'='0', 'min_value'='JUMBO BAG', 
'max_value'='WRAP PKG', 'data_size'='10606696');"""
+sql """alter table lineorder modify column lo_discount set stats 
('row_count'='600037902', 'ndv'='11', 'num_nulls'='0', 'min_value'='0', 
'max_value'='10', 'data_size'='2400151608');"""
+sql """alter table lineorder modify column lo_orderpriority set stats 
('row_count'='600037902', 'ndv'='5', 'num_nulls'='0', 'min_value'='1-URGENT', 
'max_value'='5-LOW', 'data_size'='5040804567');"""
+sql """alter table dates modify column d_monthnuminyear set stats 
('row_count'='2556', 'ndv'='12', 'num_nulls'='0', 'min_value'='1', 
'max_value'='12', 'data_size'='10224');"""
+sql """alter table supplier modify column s_name set stats 
('row_count'='200000', 'ndv'='201596', 'num_nulls'='0', 
'min_value'='Supplier#000000001', 'max_value'='Supplier#000200000', 
'data_size'='3600000');"""
+sql """alter table supplier modify column s_region set stats 
('row_count'='200000', 'ndv'='5', 'num_nulls'='0', 'min_value'='AFRICA', 
'max_value'='MIDDLE EAST', 'data_size'='1360337');"""
+
+
+}
diff --git 
a/regression-test/suites/nereids_ssb_shape_sf100_p0/shape/q1.1.groovy 
b/regression-test/suites/nereids_ssb_shape_sf100_p0/shape/q1.1.groovy
new file mode 100644
index 0000000000..480b7acaa6
--- /dev/null
+++ b/regression-test/suites/nereids_ssb_shape_sf100_p0/shape/q1.1.groovy
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("q1.1") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G' 
+    sql 'SET enable_pipeline_engine = true'
+    sql 'set parallel_pipeline_task_num=8'
+    
+sql 'set be_number_for_test=3'
+
+
+    qt_select """
+    explain shape plan
+    SELECT SUM(lo_extendedprice * lo_discount) AS REVENUE
+FROM lineorder, dates
+WHERE
+    lo_orderdate = d_datekey
+    AND d_year = 1993
+    AND lo_discount BETWEEN 1 AND 3
+    AND lo_quantity < 25;
+    """
+}
diff --git 
a/regression-test/suites/nereids_ssb_shape_sf100_p0/shape/q1.2.groovy 
b/regression-test/suites/nereids_ssb_shape_sf100_p0/shape/q1.2.groovy
new file mode 100644
index 0000000000..680ef619ae
--- /dev/null
+++ b/regression-test/suites/nereids_ssb_shape_sf100_p0/shape/q1.2.groovy
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("q1.2") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G' 
+    sql 'SET enable_pipeline_engine = true'
+    sql 'set parallel_pipeline_task_num=8'
+    
+sql 'set be_number_for_test=3'
+
+
+    qt_select """
+    explain shape plan
+    SELECT SUM(lo_extendedprice * lo_discount) AS REVENUE
+FROM lineorder, dates
+WHERE
+    lo_orderdate = d_datekey
+    AND d_yearmonth = 'Jan1994'
+    AND lo_discount BETWEEN 4 AND 6
+    AND lo_quantity BETWEEN 26 AND 35;
+    """
+}
diff --git 
a/regression-test/suites/nereids_ssb_shape_sf100_p0/shape/q1.3.groovy 
b/regression-test/suites/nereids_ssb_shape_sf100_p0/shape/q1.3.groovy
new file mode 100644
index 0000000000..f6fd293b59
--- /dev/null
+++ b/regression-test/suites/nereids_ssb_shape_sf100_p0/shape/q1.3.groovy
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("q1.3") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G' 
+    sql 'SET enable_pipeline_engine = true'
+    sql 'set parallel_pipeline_task_num=8'
+    
+sql 'set be_number_for_test=3'
+
+
+    qt_select """
+    explain shape plan
+    SELECT
+    SUM(lo_extendedprice * lo_discount) AS REVENUE
+FROM lineorder, dates
+WHERE
+    lo_orderdate = d_datekey
+    AND d_weeknuminyear = 6
+    AND d_year = 1994
+    AND lo_discount BETWEEN 5 AND 7
+    AND lo_quantity BETWEEN 26 AND 35;
+    """
+}
diff --git 
a/regression-test/suites/nereids_ssb_shape_sf100_p0/shape/q2.1.groovy 
b/regression-test/suites/nereids_ssb_shape_sf100_p0/shape/q2.1.groovy
new file mode 100644
index 0000000000..6473c38f0e
--- /dev/null
+++ b/regression-test/suites/nereids_ssb_shape_sf100_p0/shape/q2.1.groovy
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("q2.1") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G' 
+    sql 'SET enable_pipeline_engine = true'
+    sql 'set parallel_pipeline_task_num=8'
+    
+sql 'set be_number_for_test=3'
+
+
+    qt_select """
+    explain shape plan
+    SELECT SUM(lo_revenue), d_year, p_brand
+FROM lineorder, dates, part, supplier
+WHERE
+    lo_orderdate = d_datekey
+    AND lo_partkey = p_partkey
+    AND lo_suppkey = s_suppkey
+    AND p_category = 'MFGR#12'
+    AND s_region = 'AMERICA'
+GROUP BY d_year, p_brand
+ORDER BY p_brand;
+    """
+}
diff --git 
a/regression-test/suites/nereids_ssb_shape_sf100_p0/shape/q2.2.groovy 
b/regression-test/suites/nereids_ssb_shape_sf100_p0/shape/q2.2.groovy
new file mode 100644
index 0000000000..ffb2d03c38
--- /dev/null
+++ b/regression-test/suites/nereids_ssb_shape_sf100_p0/shape/q2.2.groovy
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("q2.2") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G' 
+    sql 'SET enable_pipeline_engine = true'
+    sql 'set parallel_pipeline_task_num=8'
+    
+sql 'set be_number_for_test=3'
+
+
+    qt_select """
+    explain shape plan
+SELECT SUM(lo_revenue), d_year, p_brand
+FROM lineorder, dates, part, supplier
+WHERE
+    lo_orderdate = d_datekey
+    AND lo_partkey = p_partkey
+    AND lo_suppkey = s_suppkey
+    AND p_brand BETWEEN 'MFGR#2221' AND 'MFGR#2228'
+    AND s_region = 'ASIA'
+GROUP BY d_year, p_brand
+ORDER BY d_year, p_brand;
+    """
+}
diff --git 
a/regression-test/suites/nereids_ssb_shape_sf100_p0/shape/q2.3.groovy 
b/regression-test/suites/nereids_ssb_shape_sf100_p0/shape/q2.3.groovy
new file mode 100644
index 0000000000..588459d126
--- /dev/null
+++ b/regression-test/suites/nereids_ssb_shape_sf100_p0/shape/q2.3.groovy
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("q2.3") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G' 
+    sql 'SET enable_pipeline_engine = true'
+    sql 'set parallel_pipeline_task_num=8'
+    
+sql 'set be_number_for_test=3'
+
+
+    qt_select """
+    explain shape plan
+SELECT SUM(lo_revenue), d_year, p_brand
+FROM lineorder, dates, part, supplier
+WHERE
+    lo_orderdate = d_datekey
+    AND lo_partkey = p_partkey
+    AND lo_suppkey = s_suppkey
+    AND p_brand = 'MFGR#2239'
+    AND s_region = 'EUROPE'
+GROUP BY d_year, p_brand
+ORDER BY d_year, p_brand;
+    """
+}
diff --git 
a/regression-test/suites/nereids_ssb_shape_sf100_p0/shape/q3.1.groovy 
b/regression-test/suites/nereids_ssb_shape_sf100_p0/shape/q3.1.groovy
new file mode 100644
index 0000000000..dd46528eb8
--- /dev/null
+++ b/regression-test/suites/nereids_ssb_shape_sf100_p0/shape/q3.1.groovy
@@ -0,0 +1,51 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("q3.1") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G' 
+    sql 'SET enable_pipeline_engine = true'
+    sql 'set parallel_pipeline_task_num=8'
+    
+sql 'set be_number_for_test=3'
+
+
+    qt_select """
+    explain shape plan
+    SELECT
+    c_nation,
+    s_nation,
+    d_year,
+    SUM(lo_revenue) AS REVENUE
+FROM customer, lineorder, supplier, dates
+WHERE
+    lo_custkey = c_custkey
+    AND lo_suppkey = s_suppkey
+    AND lo_orderdate = d_datekey
+    AND c_region = 'ASIA'
+    AND s_region = 'ASIA'
+    AND d_year >= 1992
+    AND d_year <= 1997
+GROUP BY c_nation, s_nation, d_year
+ORDER BY d_year ASC, REVENUE DESC;
+    """
+}
diff --git 
a/regression-test/suites/nereids_ssb_shape_sf100_p0/shape/q3.2.groovy 
b/regression-test/suites/nereids_ssb_shape_sf100_p0/shape/q3.2.groovy
new file mode 100644
index 0000000000..c2deaadc3d
--- /dev/null
+++ b/regression-test/suites/nereids_ssb_shape_sf100_p0/shape/q3.2.groovy
@@ -0,0 +1,51 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("q3.2") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G' 
+    sql 'SET enable_pipeline_engine = true'
+    sql 'set parallel_pipeline_task_num=8'
+    
+sql 'set be_number_for_test=3'
+
+
+    qt_select """
+    explain shape plan
+    SELECT
+    c_city,
+    s_city,
+    d_year,
+    SUM(lo_revenue) AS REVENUE
+FROM customer, lineorder, supplier, dates
+WHERE
+    lo_custkey = c_custkey
+    AND lo_suppkey = s_suppkey
+    AND lo_orderdate = d_datekey
+    AND c_nation = 'UNITED STATES'
+    AND s_nation = 'UNITED STATES'
+    AND d_year >= 1992
+    AND d_year <= 1997
+GROUP BY c_city, s_city, d_year
+ORDER BY d_year ASC, REVENUE DESC;
+    """
+}
diff --git 
a/regression-test/suites/nereids_ssb_shape_sf100_p0/shape/q3.3.groovy 
b/regression-test/suites/nereids_ssb_shape_sf100_p0/shape/q3.3.groovy
new file mode 100644
index 0000000000..31f284dca8
--- /dev/null
+++ b/regression-test/suites/nereids_ssb_shape_sf100_p0/shape/q3.3.groovy
@@ -0,0 +1,57 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("q3.3") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G' 
+    sql 'SET enable_pipeline_engine = true'
+    sql 'set parallel_pipeline_task_num=8'
+    
+sql 'set be_number_for_test=3'
+
+
+    qt_select """
+    explain shape plan
+    SELECT
+    c_city,
+    s_city,
+    d_year,
+    SUM(lo_revenue) AS REVENUE
+FROM customer, lineorder, supplier, dates
+WHERE
+    lo_custkey = c_custkey
+    AND lo_suppkey = s_suppkey
+    AND lo_orderdate = d_datekey
+    AND (
+        c_city = 'UNITED KI1'
+        OR c_city = 'UNITED KI5'
+    )
+    AND (
+        s_city = 'UNITED KI1'
+        OR s_city = 'UNITED KI5'
+    )
+    AND d_year >= 1992
+    AND d_year <= 1997
+GROUP BY c_city, s_city, d_year
+ORDER BY d_year ASC, REVENUE DESC;
+"""
+}
diff --git 
a/regression-test/suites/nereids_ssb_shape_sf100_p0/shape/q3.4.groovy 
b/regression-test/suites/nereids_ssb_shape_sf100_p0/shape/q3.4.groovy
new file mode 100644
index 0000000000..0d7e74f45d
--- /dev/null
+++ b/regression-test/suites/nereids_ssb_shape_sf100_p0/shape/q3.4.groovy
@@ -0,0 +1,56 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("q3.4") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G' 
+    sql 'SET enable_pipeline_engine = true'
+    sql 'set parallel_pipeline_task_num=8'
+    
+sql 'set be_number_for_test=3'
+
+
+    qt_select """
+    explain shape plan
+    SELECT
+    c_city,
+    s_city,
+    d_year,
+    SUM(lo_revenue) AS REVENUE
+FROM customer, lineorder, supplier, dates
+WHERE
+    lo_custkey = c_custkey
+    AND lo_suppkey = s_suppkey
+    AND lo_orderdate = d_datekey
+    AND (
+        c_city = 'UNITED KI1'
+        OR c_city = 'UNITED KI5'
+    )
+    AND (
+        s_city = 'UNITED KI1'
+        OR s_city = 'UNITED KI5'
+    )
+    AND d_yearmonth = 'Dec1997'
+GROUP BY c_city, s_city, d_year
+ORDER BY d_year ASC, REVENUE DESC;
+    """
+}
diff --git 
a/regression-test/suites/nereids_ssb_shape_sf100_p0/shape/q4.1.groovy 
b/regression-test/suites/nereids_ssb_shape_sf100_p0/shape/q4.1.groovy
new file mode 100644
index 0000000000..2bfd2435cd
--- /dev/null
+++ b/regression-test/suites/nereids_ssb_shape_sf100_p0/shape/q4.1.groovy
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("q4.1") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G' 
+    sql 'SET enable_pipeline_engine = true'
+    sql 'set parallel_pipeline_task_num=8'
+    
+sql 'set be_number_for_test=3'
+
+
+    qt_select """
+    explain shape plan
+    SELECT
+    d_year,
+    c_nation,
+    SUM(lo_revenue - lo_supplycost) AS PROFIT
+FROM dates, customer, supplier, part, lineorder
+WHERE
+    lo_custkey = c_custkey
+    AND lo_suppkey = s_suppkey
+    AND lo_partkey = p_partkey
+    AND lo_orderdate = d_datekey
+    AND c_region = 'AMERICA'
+    AND s_region = 'AMERICA'
+    AND (
+        p_mfgr = 'MFGR#1'
+        OR p_mfgr = 'MFGR#2'
+    )
+GROUP BY d_year, c_nation
+ORDER BY d_year, c_nation;
+    """
+}
diff --git 
a/regression-test/suites/nereids_ssb_shape_sf100_p0/shape/q4.2.groovy 
b/regression-test/suites/nereids_ssb_shape_sf100_p0/shape/q4.2.groovy
new file mode 100644
index 0000000000..5319ede5fb
--- /dev/null
+++ b/regression-test/suites/nereids_ssb_shape_sf100_p0/shape/q4.2.groovy
@@ -0,0 +1,58 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("q4.2") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G' 
+    sql 'SET enable_pipeline_engine = true'
+    sql 'set parallel_pipeline_task_num=8'
+    
+sql 'set be_number_for_test=3'
+
+
+    qt_select """
+    explain shape plan
+    SELECT
+    d_year,
+    s_nation,
+    p_category,
+    SUM(lo_revenue - lo_supplycost) AS PROFIT
+FROM dates, customer, supplier, part, lineorder
+WHERE
+    lo_custkey = c_custkey
+    AND lo_suppkey = s_suppkey
+    AND lo_partkey = p_partkey
+    AND lo_orderdate = d_datekey
+    AND c_region = 'AMERICA'
+    AND s_region = 'AMERICA'
+    AND (
+        d_year = 1997
+        OR d_year = 1998
+    )
+    AND (
+        p_mfgr = 'MFGR#1'
+        OR p_mfgr = 'MFGR#2'
+    )
+GROUP BY d_year, s_nation, p_category
+ORDER BY d_year, s_nation, p_category;
+    """
+}
diff --git 
a/regression-test/suites/nereids_ssb_shape_sf100_p0/shape/q4.3.groovy 
b/regression-test/suites/nereids_ssb_shape_sf100_p0/shape/q4.3.groovy
new file mode 100644
index 0000000000..9281251508
--- /dev/null
+++ b/regression-test/suites/nereids_ssb_shape_sf100_p0/shape/q4.3.groovy
@@ -0,0 +1,54 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+suite("q4.3") {
+    String db = context.config.getDbNameByFile(new File(context.file.parent))
+    sql "use ${db}"
+    sql 'set enable_nereids_planner=true'
+    sql 'set enable_fallback_to_original_planner=false'
+    sql 'set exec_mem_limit=21G' 
+    sql 'SET enable_pipeline_engine = true'
+    sql 'set parallel_pipeline_task_num=8'
+    
+sql 'set be_number_for_test=3'
+
+
+    qt_select """
+    explain shape plan
+    SELECT
+    d_year,
+    s_city,
+    p_brand,
+    SUM(lo_revenue - lo_supplycost) AS PROFIT
+FROM dates, customer, supplier, part, lineorder
+WHERE
+    lo_custkey = c_custkey
+    AND lo_suppkey = s_suppkey
+    AND lo_partkey = p_partkey
+    AND lo_orderdate = d_datekey
+    AND s_nation = 'UNITED STATES'
+    AND (
+        d_year = 1997
+        OR d_year = 1998
+    )
+    AND p_category = 'MFGR#14'
+GROUP BY d_year, s_city, p_brand
+ORDER BY d_year, s_city, p_brand;
+    """
+}


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to