Skip to content

Commit

Permalink
I do not understand why the logical plan changed but updating the exp…
Browse files Browse the repository at this point in the history
…lain text to reflect the change. The physical plan is unchanged.
  • Loading branch information
Omega359 committed Mar 3, 2024
1 parent 761d873 commit 2a41960
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 45 deletions.
57 changes: 29 additions & 28 deletions datafusion/sqllogictest/test_files/tpch/q8.slt.part
Original file line number Diff line number Diff line change
Expand Up @@ -61,34 +61,35 @@ Sort: all_nations.o_year ASC NULLS LAST
----Aggregate: groupBy=[[all_nations.o_year]], aggr=[[SUM(CASE WHEN all_nations.nation = Utf8("BRAZIL") THEN all_nations.volume ELSE Decimal128(Some(0),38,4) END) AS SUM(CASE WHEN all_nations.nation = Utf8("BRAZIL") THEN all_nations.volume ELSE Int64(0) END), SUM(all_nations.volume)]]
------SubqueryAlias: all_nations
--------Projection: date_part(Utf8("YEAR"), orders.o_orderdate) AS o_year, lineitem.l_extendedprice * (Decimal128(Some(1),20,0) - lineitem.l_discount) AS volume, n2.n_name AS nation
----------Inner Join: n1.n_regionkey = region.r_regionkey
------------Projection: lineitem.l_extendedprice, lineitem.l_discount, orders.o_orderdate, n1.n_regionkey, n2.n_name
--------------Inner Join: supplier.s_nationkey = n2.n_nationkey
----------------Projection: lineitem.l_extendedprice, lineitem.l_discount, supplier.s_nationkey, orders.o_orderdate, n1.n_regionkey
------------------Inner Join: customer.c_nationkey = n1.n_nationkey
--------------------Projection: lineitem.l_extendedprice, lineitem.l_discount, supplier.s_nationkey, orders.o_orderdate, customer.c_nationkey
----------------------Inner Join: orders.o_custkey = customer.c_custkey
------------------------Projection: lineitem.l_extendedprice, lineitem.l_discount, supplier.s_nationkey, orders.o_custkey, orders.o_orderdate
--------------------------Inner Join: lineitem.l_orderkey = orders.o_orderkey
----------------------------Projection: lineitem.l_orderkey, lineitem.l_extendedprice, lineitem.l_discount, supplier.s_nationkey
------------------------------Inner Join: lineitem.l_suppkey = supplier.s_suppkey
--------------------------------Projection: lineitem.l_orderkey, lineitem.l_suppkey, lineitem.l_extendedprice, lineitem.l_discount
----------------------------------Inner Join: part.p_partkey = lineitem.l_partkey
------------------------------------Projection: part.p_partkey
--------------------------------------Filter: part.p_type = Utf8("ECONOMY ANODIZED STEEL")
----------------------------------------TableScan: part projection=[p_partkey, p_type], partial_filters=[part.p_type = Utf8("ECONOMY ANODIZED STEEL")]
------------------------------------TableScan: lineitem projection=[l_orderkey, l_partkey, l_suppkey, l_extendedprice, l_discount]
--------------------------------TableScan: supplier projection=[s_suppkey, s_nationkey]
----------------------------Filter: orders.o_orderdate >= Date32("9131") AND orders.o_orderdate <= Date32("9861")
------------------------------TableScan: orders projection=[o_orderkey, o_custkey, o_orderdate], partial_filters=[orders.o_orderdate >= Date32("9131"), orders.o_orderdate <= Date32("9861")]
------------------------TableScan: customer projection=[c_custkey, c_nationkey]
--------------------SubqueryAlias: n1
----------------------TableScan: nation projection=[n_nationkey, n_regionkey]
----------------SubqueryAlias: n2
------------------TableScan: nation projection=[n_nationkey, n_name]
------------Projection: region.r_regionkey
--------------Filter: region.r_name = Utf8("AMERICA")
----------------TableScan: region projection=[r_regionkey, r_name], partial_filters=[region.r_name = Utf8("AMERICA")]
----------Projection: lineitem.l_extendedprice, lineitem.l_discount, orders.o_orderdate, n2.n_name
------------Inner Join: n1.n_regionkey = region.r_regionkey
--------------Projection: lineitem.l_extendedprice, lineitem.l_discount, orders.o_orderdate, n1.n_regionkey, n2.n_name
----------------Inner Join: supplier.s_nationkey = n2.n_nationkey
------------------Projection: lineitem.l_extendedprice, lineitem.l_discount, supplier.s_nationkey, orders.o_orderdate, n1.n_regionkey
--------------------Inner Join: customer.c_nationkey = n1.n_nationkey
----------------------Projection: lineitem.l_extendedprice, lineitem.l_discount, supplier.s_nationkey, orders.o_orderdate, customer.c_nationkey
------------------------Inner Join: orders.o_custkey = customer.c_custkey
--------------------------Projection: lineitem.l_extendedprice, lineitem.l_discount, supplier.s_nationkey, orders.o_custkey, orders.o_orderdate
----------------------------Inner Join: lineitem.l_orderkey = orders.o_orderkey
------------------------------Projection: lineitem.l_orderkey, lineitem.l_extendedprice, lineitem.l_discount, supplier.s_nationkey
--------------------------------Inner Join: lineitem.l_suppkey = supplier.s_suppkey
----------------------------------Projection: lineitem.l_orderkey, lineitem.l_suppkey, lineitem.l_extendedprice, lineitem.l_discount
------------------------------------Inner Join: part.p_partkey = lineitem.l_partkey
--------------------------------------Projection: part.p_partkey
----------------------------------------Filter: part.p_type = Utf8("ECONOMY ANODIZED STEEL")
------------------------------------------TableScan: part projection=[p_partkey, p_type], partial_filters=[part.p_type = Utf8("ECONOMY ANODIZED STEEL")]
--------------------------------------TableScan: lineitem projection=[l_orderkey, l_partkey, l_suppkey, l_extendedprice, l_discount]
----------------------------------TableScan: supplier projection=[s_suppkey, s_nationkey]
------------------------------Filter: orders.o_orderdate >= Date32("9131") AND orders.o_orderdate <= Date32("9861")
--------------------------------TableScan: orders projection=[o_orderkey, o_custkey, o_orderdate], partial_filters=[orders.o_orderdate >= Date32("9131"), orders.o_orderdate <= Date32("9861")]
--------------------------TableScan: customer projection=[c_custkey, c_nationkey]
----------------------SubqueryAlias: n1
------------------------TableScan: nation projection=[n_nationkey, n_regionkey]
------------------SubqueryAlias: n2
--------------------TableScan: nation projection=[n_nationkey, n_name]
--------------Projection: region.r_regionkey
----------------Filter: region.r_name = Utf8("AMERICA")
------------------TableScan: region projection=[r_regionkey, r_name], partial_filters=[region.r_name = Utf8("AMERICA")]
physical_plan
SortPreservingMergeExec: [o_year@0 ASC NULLS LAST]
--SortExec: expr=[o_year@0 ASC NULLS LAST]
Expand Down
35 changes: 18 additions & 17 deletions datafusion/sqllogictest/test_files/tpch/q9.slt.part
Original file line number Diff line number Diff line change
Expand Up @@ -58,23 +58,24 @@ Limit: skip=0, fetch=10
------Aggregate: groupBy=[[profit.nation, profit.o_year]], aggr=[[SUM(profit.amount)]]
--------SubqueryAlias: profit
----------Projection: nation.n_name AS nation, date_part(Utf8("YEAR"), orders.o_orderdate) AS o_year, lineitem.l_extendedprice * (Decimal128(Some(1),20,0) - lineitem.l_discount) - partsupp.ps_supplycost * lineitem.l_quantity AS amount
------------Inner Join: supplier.s_nationkey = nation.n_nationkey
--------------Projection: lineitem.l_quantity, lineitem.l_extendedprice, lineitem.l_discount, supplier.s_nationkey, partsupp.ps_supplycost, orders.o_orderdate
----------------Inner Join: lineitem.l_orderkey = orders.o_orderkey
------------------Projection: lineitem.l_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, lineitem.l_discount, supplier.s_nationkey, partsupp.ps_supplycost
--------------------Inner Join: lineitem.l_suppkey = partsupp.ps_suppkey, lineitem.l_partkey = partsupp.ps_partkey
----------------------Projection: lineitem.l_orderkey, lineitem.l_partkey, lineitem.l_suppkey, lineitem.l_quantity, lineitem.l_extendedprice, lineitem.l_discount, supplier.s_nationkey
------------------------Inner Join: lineitem.l_suppkey = supplier.s_suppkey
--------------------------Projection: lineitem.l_orderkey, lineitem.l_partkey, lineitem.l_suppkey, lineitem.l_quantity, lineitem.l_extendedprice, lineitem.l_discount
----------------------------Inner Join: part.p_partkey = lineitem.l_partkey
------------------------------Projection: part.p_partkey
--------------------------------Filter: part.p_name LIKE Utf8("%green%")
----------------------------------TableScan: part projection=[p_partkey, p_name], partial_filters=[part.p_name LIKE Utf8("%green%")]
------------------------------TableScan: lineitem projection=[l_orderkey, l_partkey, l_suppkey, l_quantity, l_extendedprice, l_discount]
--------------------------TableScan: supplier projection=[s_suppkey, s_nationkey]
----------------------TableScan: partsupp projection=[ps_partkey, ps_suppkey, ps_supplycost]
------------------TableScan: orders projection=[o_orderkey, o_orderdate]
--------------TableScan: nation projection=[n_nationkey, n_name]
------------Projection: lineitem.l_quantity, lineitem.l_extendedprice, lineitem.l_discount, partsupp.ps_supplycost, orders.o_orderdate, nation.n_name
--------------Inner Join: supplier.s_nationkey = nation.n_nationkey
----------------Projection: lineitem.l_quantity, lineitem.l_extendedprice, lineitem.l_discount, supplier.s_nationkey, partsupp.ps_supplycost, orders.o_orderdate
------------------Inner Join: lineitem.l_orderkey = orders.o_orderkey
--------------------Projection: lineitem.l_orderkey, lineitem.l_quantity, lineitem.l_extendedprice, lineitem.l_discount, supplier.s_nationkey, partsupp.ps_supplycost
----------------------Inner Join: lineitem.l_suppkey = partsupp.ps_suppkey, lineitem.l_partkey = partsupp.ps_partkey
------------------------Projection: lineitem.l_orderkey, lineitem.l_partkey, lineitem.l_suppkey, lineitem.l_quantity, lineitem.l_extendedprice, lineitem.l_discount, supplier.s_nationkey
--------------------------Inner Join: lineitem.l_suppkey = supplier.s_suppkey
----------------------------Projection: lineitem.l_orderkey, lineitem.l_partkey, lineitem.l_suppkey, lineitem.l_quantity, lineitem.l_extendedprice, lineitem.l_discount
------------------------------Inner Join: part.p_partkey = lineitem.l_partkey
--------------------------------Projection: part.p_partkey
----------------------------------Filter: part.p_name LIKE Utf8("%green%")
------------------------------------TableScan: part projection=[p_partkey, p_name], partial_filters=[part.p_name LIKE Utf8("%green%")]
--------------------------------TableScan: lineitem projection=[l_orderkey, l_partkey, l_suppkey, l_quantity, l_extendedprice, l_discount]
----------------------------TableScan: supplier projection=[s_suppkey, s_nationkey]
------------------------TableScan: partsupp projection=[ps_partkey, ps_suppkey, ps_supplycost]
--------------------TableScan: orders projection=[o_orderkey, o_orderdate]
----------------TableScan: nation projection=[n_nationkey, n_name]
physical_plan
GlobalLimitExec: skip=0, fetch=10
--SortPreservingMergeExec: [nation@0 ASC NULLS LAST,o_year@1 DESC], fetch=10
Expand Down

0 comments on commit 2a41960

Please sign in to comment.