jackwener commented on code in PR #4465:
URL: https://github.com/apache/arrow-datafusion/pull/4465#discussion_r1044986556


##########
benchmarks/expected-plans/q19.txt:
##########
@@ -2,8 +2,13 @@ Projection: SUM(lineitem.l_extendedprice * Int64(1) - 
lineitem.l_discount) AS re
   Aggregate: groupBy=[[]], aggr=[[SUM(CAST(lineitem.l_extendedprice AS 
Decimal128(38, 4)) * CAST(Decimal128(Some(100),23,2) - CAST(lineitem.l_discount 
AS Decimal128(23, 2)) AS Decimal128(38, 4))) AS SUM(lineitem.l_extendedprice * 
Int64(1) - lineitem.l_discount)]]
     Projection: lineitem.l_extendedprice, lineitem.l_discount
       Filter: part.p_brand = Utf8("Brand#12") AND part.p_container IN 
([Utf8("SM CASE"), Utf8("SM BOX"), Utf8("SM PACK"), Utf8("SM PKG")]) AND 
lineitem.l_quantity >= Decimal128(Some(100),15,2) AND lineitem.l_quantity <= 
Decimal128(Some(1100),15,2) AND part.p_size <= Int32(5) OR part.p_brand = 
Utf8("Brand#23") AND part.p_container IN ([Utf8("MED BAG"), Utf8("MED BOX"), 
Utf8("MED PKG"), Utf8("MED PACK")]) AND lineitem.l_quantity >= 
Decimal128(Some(1000),15,2) AND lineitem.l_quantity <= 
Decimal128(Some(2000),15,2) AND part.p_size <= Int32(10) OR part.p_brand = 
Utf8("Brand#34") AND part.p_container IN ([Utf8("LG CASE"), Utf8("LG BOX"), 
Utf8("LG PACK"), Utf8("LG PKG")]) AND lineitem.l_quantity >= 
Decimal128(Some(2000),15,2) AND lineitem.l_quantity <= 
Decimal128(Some(3000),15,2) AND part.p_size <= Int32(15)
-        Inner Join: lineitem.l_partkey = part.p_partkey
-          Filter: (lineitem.l_quantity >= Decimal128(Some(100),15,2) AND 
lineitem.l_quantity <= Decimal128(Some(1100),15,2) OR lineitem.l_quantity >= 
Decimal128(Some(1000),15,2) AND lineitem.l_quantity <= 
Decimal128(Some(2000),15,2) OR lineitem.l_quantity >= 
Decimal128(Some(2000),15,2) AND lineitem.l_quantity <= 
Decimal128(Some(3000),15,2)) AND (lineitem.l_shipmode = Utf8("AIR REG") OR 
lineitem.l_shipmode = Utf8("AIR")) AND lineitem.l_shipinstruct = Utf8("DELIVER 
IN PERSON")
-            TableScan: lineitem projection=[l_partkey, l_quantity, 
l_extendedprice, l_discount, l_shipinstruct, l_shipmode]
-          Filter: (part.p_brand = Utf8("Brand#12") AND part.p_container IN 
([Utf8("SM CASE"), Utf8("SM BOX"), Utf8("SM PACK"), Utf8("SM PKG")]) AND 
part.p_size <= Int32(5) OR part.p_brand = Utf8("Brand#23") AND part.p_container 
IN ([Utf8("MED BAG"), Utf8("MED BOX"), Utf8("MED PKG"), Utf8("MED PACK")]) AND 
part.p_size <= Int32(10) OR part.p_brand = Utf8("Brand#34") AND 
part.p_container IN ([Utf8("LG CASE"), Utf8("LG BOX"), Utf8("LG PACK"), 
Utf8("LG PKG")]) AND part.p_size <= Int32(15)) AND part.p_size >= Int32(1)
-            TableScan: part projection=[p_partkey, p_brand, p_size, 
p_container]
+        Projection: lineitem.l_quantity, lineitem.l_extendedprice, 
lineitem.l_discount, part.p_brand, part.p_size, part.p_container
+          Inner Join: lineitem.l_partkey = part.p_partkey
+            Projection: lineitem.l_partkey, lineitem.l_quantity, 
lineitem.l_extendedprice, lineitem.l_discount
+              Filter: lineitem.l_quantity >= Decimal128(Some(100),15,2) AND 
lineitem.l_quantity <= Decimal128(Some(1100),15,2) OR lineitem.l_quantity >= 
Decimal128(Some(1000),15,2) AND lineitem.l_quantity <= 
Decimal128(Some(2000),15,2) OR lineitem.l_quantity >= 
Decimal128(Some(2000),15,2) AND lineitem.l_quantity <= 
Decimal128(Some(3000),15,2)lineitem.l_quantity >= Decimal128(Some(2000),15,2) 
AND lineitem.l_quantity <= Decimal128(Some(3000),15,2)lineitem.l_quantity <= 
Decimal128(Some(3000),15,2)Decimal128(Some(3000),15,2)lineitem.l_quantitylineitem.l_quantity
 >= 
Decimal128(Some(2000),15,2)Decimal128(Some(2000),15,2)lineitem.l_quantitylineitem.l_quantity
 >= Decimal128(Some(100),15,2) AND lineitem.l_quantity <= 
Decimal128(Some(1100),15,2) OR lineitem.l_quantity >= 
Decimal128(Some(1000),15,2) AND lineitem.l_quantity <= 
Decimal128(Some(2000),15,2)lineitem.l_quantity >= Decimal128(Some(1000),15,2) 
AND lineitem.l_quantity <= Decimal128(Some(2000),15,2)lineitem.l_quantity <= 
Decimal128(Some
 (2000),15,2)Decimal128(Some(2000),15,2)lineitem.l_quantitylineitem.l_quantity 
>= 
Decimal128(Some(1000),15,2)Decimal128(Some(1000),15,2)lineitem.l_quantitylineitem.l_quantity
 >= Decimal128(Some(100),15,2) AND lineitem.l_quantity <= 
Decimal128(Some(1100),15,2)lineitem.l_quantity <= 
Decimal128(Some(1100),15,2)Decimal128(Some(1100),15,2)lineitem.l_quantitylineitem.l_quantity
 >= Decimal128(Some(100),15,2)Decimal128(Some(100),15,2)lineitem.l_quantity AND 
(lineitem.l_shipmode = Utf8("AIR REG") OR lineitem.l_shipmode = Utf8("AIR")) 
AND lineitem.l_shipinstruct = Utf8("DELIVER IN PERSON")
+                Projection: lineitem.l_quantity >= Decimal128(Some(100),15,2) 
AND lineitem.l_quantity <= Decimal128(Some(1100),15,2) OR lineitem.l_quantity 
>= Decimal128(Some(1000),15,2) AND lineitem.l_quantity <= 
Decimal128(Some(2000),15,2) OR lineitem.l_quantity >= 
Decimal128(Some(2000),15,2) AND lineitem.l_quantity <= 
Decimal128(Some(3000),15,2) AS lineitem.l_quantity >= 
Decimal128(Some(100),15,2) AND lineitem.l_quantity <= 
Decimal128(Some(1100),15,2) OR lineitem.l_quantity >= 
Decimal128(Some(1000),15,2) AND lineitem.l_quantity <= 
Decimal128(Some(2000),15,2) OR lineitem.l_quantity >= 
Decimal128(Some(2000),15,2) AND lineitem.l_quantity <= 
Decimal128(Some(3000),15,2)lineitem.l_quantity >= Decimal128(Some(2000),15,2) 
AND lineitem.l_quantity <= Decimal128(Some(3000),15,2)lineitem.l_quantity <= 
Decimal128(Some(3000),15,2)Decimal128(Some(3000),15,2)lineitem.l_quantitylineitem.l_quantity
 >= 
Decimal128(Some(2000),15,2)Decimal128(Some(2000),15,2)lineitem.l_quantitylineitem.l_quantity
 >= D
 ecimal128(Some(100),15,2) AND lineitem.l_quantity <= 
Decimal128(Some(1100),15,2) OR lineitem.l_quantity >= 
Decimal128(Some(1000),15,2) AND lineitem.l_quantity <= 
Decimal128(Some(2000),15,2)lineitem.l_quantity >= Decimal128(Some(1000),15,2) 
AND lineitem.l_quantity <= Decimal128(Some(2000),15,2)lineitem.l_quantity <= 
Decimal128(Some(2000),15,2)Decimal128(Some(2000),15,2)lineitem.l_quantitylineitem.l_quantity
 >= 
Decimal128(Some(1000),15,2)Decimal128(Some(1000),15,2)lineitem.l_quantitylineitem.l_quantity
 >= Decimal128(Some(100),15,2) AND lineitem.l_quantity <= 
Decimal128(Some(1100),15,2)lineitem.l_quantity <= 
Decimal128(Some(1100),15,2)Decimal128(Some(1100),15,2)lineitem.l_quantitylineitem.l_quantity
 >= Decimal128(Some(100),15,2)Decimal128(Some(100),15,2)lineitem.l_quantity, 
lineitem.l_partkey, lineitem.l_quantity, lineitem.l_extendedprice, 
lineitem.l_discount, lineitem.l_shipinstruct, lineitem.l_shipmode

Review Comment:
   I investigate this Problem, it's caused by `common_sub_expression_eliminate`.
   
   tracked in issue #4575



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to