+---------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| plan_type     | plan                                                                                                                                                                            |
+---------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| logical_plan  | Sort: value DESC NULLS FIRST                                                                                                                                                    |
|               |   Projection: partsupp.ps_partkey, SUM(partsupp.ps_supplycost * partsupp.ps_availqty) AS value                                                                                  |
|               |     Filter: CAST(SUM(partsupp.ps_supplycost * partsupp.ps_availqty) AS Decimal128(38, 15)) > __scalar_sq_1.__value                                                              |
|               |       CrossJoin:                                                                                                                                                                |
|               |         Aggregate: groupBy=[[partsupp.ps_partkey]], aggr=[[SUM(CAST(partsupp.ps_supplycost AS Decimal128(26, 2)) * CAST(partsupp.ps_availqty AS Decimal128(26, 2)))]]           |
|               |           Projection: partsupp.ps_partkey, partsupp.ps_availqty, partsupp.ps_supplycost                                                                                         |
|               |             Inner Join: supplier.s_nationkey = nation.n_nationkey                                                                                                               |
|               |               Projection: partsupp.ps_partkey, partsupp.ps_availqty, partsupp.ps_supplycost, supplier.s_nationkey                                                               |
|               |                 Inner Join: partsupp.ps_suppkey = supplier.s_suppkey                                                                                                            |
|               |                   TableScan: partsupp projection=[ps_partkey, ps_suppkey, ps_availqty, ps_supplycost]                                                                           |
|               |                   TableScan: supplier projection=[s_suppkey, s_nationkey]                                                                                                       |
|               |               Projection: nation.n_nationkey                                                                                                                                    |
|               |                 Filter: nation.n_name = Utf8("GERMANY")                                                                                                                         |
|               |                   TableScan: nation projection=[n_nationkey, n_name]                                                                                                            |
|               |         SubqueryAlias: __scalar_sq_1                                                                                                                                            |
|               |           Projection: CAST(CAST(SUM(partsupp.ps_supplycost * partsupp.ps_availqty) AS Float64) * Float64(0.0001) AS Decimal128(38, 15)) AS __value                              |
|               |             Aggregate: groupBy=[[]], aggr=[[SUM(CAST(partsupp.ps_supplycost AS Decimal128(26, 2)) * CAST(partsupp.ps_availqty AS Decimal128(26, 2)))]]                          |
|               |               Projection: partsupp.ps_availqty, partsupp.ps_supplycost                                                                                                          |
|               |                 Inner Join: supplier.s_nationkey = nation.n_nationkey                                                                                                           |
|               |                   Projection: partsupp.ps_availqty, partsupp.ps_supplycost, supplier.s_nationkey                                                                                |
|               |                     Inner Join: partsupp.ps_suppkey = supplier.s_suppkey                                                                                                        |
|               |                       TableScan: partsupp projection=[ps_suppkey, ps_availqty, ps_supplycost]                                                                                   |
|               |                       TableScan: supplier projection=[s_suppkey, s_nationkey]                                                                                                   |
|               |                   Projection: nation.n_nationkey                                                                                                                                |
|               |                     Filter: nation.n_name = Utf8("GERMANY")                                                                                                                     |
|               |                       TableScan: nation projection=[n_nationkey, n_name]                                                                                                        |
| physical_plan | SortExec: expr=[value@1 DESC]                                                                                                                                                   |
|               |   ProjectionExec: expr=[ps_partkey@0 as ps_partkey, SUM(partsupp.ps_supplycost * partsupp.ps_availqty)@1 as value]                                                              |
|               |     CoalesceBatchesExec: target_batch_size=8192                                                                                                                                 |
|               |       FilterExec: CAST(SUM(partsupp.ps_supplycost * partsupp.ps_availqty)@1 AS Decimal128(38, 15)) > __value@2                                                                  |
|               |         CrossJoinExec                                                                                                                                                           |
|               |           CoalescePartitionsExec                                                                                                                                                |
|               |             AggregateExec: mode=FinalPartitioned, gby=[ps_partkey@0 as ps_partkey], aggr=[SUM(partsupp.ps_supplycost * partsupp.ps_availqty)]                                   |
|               |               CoalesceBatchesExec: target_batch_size=8192                                                                                                                       |
|               |                 RepartitionExec: partitioning=Hash([Column { name: "ps_partkey", index: 0 }], 2), input_partitions=2                                                            |
|               |                   AggregateExec: mode=Partial, gby=[ps_partkey@0 as ps_partkey], aggr=[SUM(partsupp.ps_supplycost * partsupp.ps_availqty)]                                      |
|               |                     ProjectionExec: expr=[ps_partkey@0 as ps_partkey, ps_availqty@1 as ps_availqty, ps_supplycost@2 as ps_supplycost]                                           |
|               |                       CoalesceBatchesExec: target_batch_size=8192                                                                                                               |
|               |                         HashJoinExec: mode=Partitioned, join_type=Inner, on=[(Column { name: "s_nationkey", index: 3 }, Column { name: "n_nationkey", index: 0 })]              |
|               |                           CoalesceBatchesExec: target_batch_size=8192                                                                                                           |
|               |                             RepartitionExec: partitioning=Hash([Column { name: "s_nationkey", index: 3 }], 2), input_partitions=2                                               |
|               |                               RepartitionExec: partitioning=RoundRobinBatch(2), input_partitions=2                                                                              |
|               |                                 ProjectionExec: expr=[ps_partkey@0 as ps_partkey, ps_availqty@2 as ps_availqty, ps_supplycost@3 as ps_supplycost, s_nationkey@5 as s_nationkey] |
|               |                                   CoalesceBatchesExec: target_batch_size=8192                                                                                                   |
|               |                                     HashJoinExec: mode=Partitioned, join_type=Inner, on=[(Column { name: "ps_suppkey", index: 1 }, Column { name: "s_suppkey", index: 0 })]     |
|               |                                       CoalesceBatchesExec: target_batch_size=8192                                                                                               |
|               |                                         RepartitionExec: partitioning=Hash([Column { name: "ps_suppkey", index: 1 }], 2), input_partitions=0                                    |
|               |                                           MemoryExec: partitions=0, partition_sizes=[]                                                                                          |
|               |                                       CoalesceBatchesExec: target_batch_size=8192                                                                                               |
|               |                                         RepartitionExec: partitioning=Hash([Column { name: "s_suppkey", index: 0 }], 2), input_partitions=0                                     |
|               |                                           MemoryExec: partitions=0, partition_sizes=[]                                                                                          |
|               |                           CoalesceBatchesExec: target_batch_size=8192                                                                                                           |
|               |                             RepartitionExec: partitioning=Hash([Column { name: "n_nationkey", index: 0 }], 2), input_partitions=2                                               |
|               |                               RepartitionExec: partitioning=RoundRobinBatch(2), input_partitions=0                                                                              |
|               |                                 ProjectionExec: expr=[n_nationkey@0 as n_nationkey]                                                                                             |
|               |                                   CoalesceBatchesExec: target_batch_size=8192                                                                                                   |
|               |                                     FilterExec: n_name@1 = GERMANY                                                                                                              |
|               |                                       MemoryExec: partitions=0, partition_sizes=[]                                                                                              |
|               |           ProjectionExec: expr=[CAST(CAST(SUM(partsupp.ps_supplycost * partsupp.ps_availqty)@0 AS Float64) * 0.0001 AS Decimal128(38, 15)) as __value]                          |
|               |             AggregateExec: mode=Final, gby=[], aggr=[SUM(partsupp.ps_supplycost * partsupp.ps_availqty)]                                                                        |
|               |               CoalescePartitionsExec                                                                                                                                            |
|               |                 AggregateExec: mode=Partial, gby=[], aggr=[SUM(partsupp.ps_supplycost * partsupp.ps_availqty)]                                                                  |
|               |                   ProjectionExec: expr=[ps_availqty@0 as ps_availqty, ps_supplycost@1 as ps_supplycost]                                                                         |
|               |                     CoalesceBatchesExec: target_batch_size=8192                                                                                                                 |
|               |                       HashJoinExec: mode=Partitioned, join_type=Inner, on=[(Column { name: "s_nationkey", index: 2 }, Column { name: "n_nationkey", index: 0 })]                |
|               |                         CoalesceBatchesExec: target_batch_size=8192                                                                                                             |
|               |                           RepartitionExec: partitioning=Hash([Column { name: "s_nationkey", index: 2 }], 2), input_partitions=2                                                 |
|               |                             RepartitionExec: partitioning=RoundRobinBatch(2), input_partitions=2                                                                                |
|               |                               ProjectionExec: expr=[ps_availqty@1 as ps_availqty, ps_supplycost@2 as ps_supplycost, s_nationkey@4 as s_nationkey]                               |
|               |                                 CoalesceBatchesExec: target_batch_size=8192                                                                                                     |
|               |                                   HashJoinExec: mode=Partitioned, join_type=Inner, on=[(Column { name: "ps_suppkey", index: 0 }, Column { name: "s_suppkey", index: 0 })]       |
|               |                                     CoalesceBatchesExec: target_batch_size=8192                                                                                                 |
|               |                                       RepartitionExec: partitioning=Hash([Column { name: "ps_suppkey", index: 0 }], 2), input_partitions=0                                      |
|               |                                         MemoryExec: partitions=0, partition_sizes=[]                                                                                            |
|               |                                     CoalesceBatchesExec: target_batch_size=8192                                                                                                 |
|               |                                       RepartitionExec: partitioning=Hash([Column { name: "s_suppkey", index: 0 }], 2), input_partitions=0                                       |
|               |                                         MemoryExec: partitions=0, partition_sizes=[]                                                                                            |
|               |                         CoalesceBatchesExec: target_batch_size=8192                                                                                                             |
|               |                           RepartitionExec: partitioning=Hash([Column { name: "n_nationkey", index: 0 }], 2), input_partitions=2                                                 |
|               |                             RepartitionExec: partitioning=RoundRobinBatch(2), input_partitions=0                                                                                |
|               |                               ProjectionExec: expr=[n_nationkey@0 as n_nationkey]                                                                                               |
|               |                                 CoalesceBatchesExec: target_batch_size=8192                                                                                                     |
|               |                                   FilterExec: n_name@1 = GERMANY                                                                                                                |
|               |                                     MemoryExec: partitions=0, partition_sizes=[]                                                                                                |
|               |                                                                                                                                                                                 |
+---------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+