baiguoname commented on issue #18202: URL: https://github.com/apache/datafusion/issues/18202#issuecomment-3454587190
> No, the reason I ask is. `OutputRequirementExec` shouldn't be in the final
`PhysicalPlan` but it can be in intermediate `PhysicalPlan`s in between
different rules. I wanted to confirm whether this is the case or not. Also, to
really pinpoint the real issue, we need to see final `PhysicalPlan` after all
optimization rules. Before seeing that we cannot understand the root issue. If
you can share final plans (when `EnforceDistribution` rule is open and not), we
can understand the problem better: such as whether there is a bug or which
operator blocks the data flow etc.
This is the final plan with `EnforceDistribution` ( after 20 steps of
optimization):
```json
BoundedWindowAggExec {
"input": CoalesceBatchesExec {
"input": RepartitionExec {
"input": RepartitionExec {
"input": CooperativeExec {
"input": DynamicExecutionPlan {
"properties": PlanProperties {
"eq_properties": EquivalenceProperties {
"eq_group": EquivalenceGroup {
"map": {},
"classes": []
},
"oeq_class": OrderingEquivalenceClass {
"orderings": [LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
}
]
},
"oeq_cache": OrderingEquivalenceCache {
"normal_cls": OrderingEquivalenceClass {
"orderings": [LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name":
"row_index",
"index": 0
},
"options":
SortOptions {
"descending":
false,
"nulls_first":
false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
}
]
},
"leading_map": {Column {
"name": "row_index",
"index": 0
}: [
0
]
}
},
"constraints": Constraints {
"inner": []
},
"schema": Schema {
"fields": [Field {
"name": "row_index",
"data_type": Int32,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "code",
"data_type": Utf8View,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "factor_value",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}
],
"metadata": {}
}
},
"partitioning": UnknownPartitioning(1),
"emission_type": Incremental,
"boundedness": Unbounded {
"requires_infinite_memory": false
},
"evaluation_type": Lazy,
"scheduling_type": NonCooperative,
"output_ordering": Some(LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
})
},
"stream": DynamicRecordBatchStream {
"schema": Schema {
"fields": [Field {
"name": "row_index",
"data_type": Int32,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "code",
"data_type": Utf8View,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "factor_value",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}
],
"metadata": {}
},
"receiver": Mutex {
"data": Receiver {
"chan": Rx {
"inner": Chan {
"tx": Tx {
"block_tail": 0x558959fb4940,
"tail_position": 0
},
"semaphore": Semaphore {
"semaphore": Semaphore {
"permits": 100
},
"bound": 100
},
"rx_waker": AtomicWaker,
"tx_count": 1,
"rx_fields": "..."
}
}
}
}
}
},
"properties": PlanProperties {
"eq_properties": EquivalenceProperties {
"eq_group": EquivalenceGroup {
"map": {},
"classes": []
},
"oeq_class": OrderingEquivalenceClass {
"orderings": [LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
}
]
},
"oeq_cache": OrderingEquivalenceCache {
"normal_cls": OrderingEquivalenceClass {
"orderings": [LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
}
]
},
"leading_map": {Column {
"name": "row_index",
"index": 0
}: [
0
]
}
},
"constraints": Constraints {
"inner": []
},
"schema": Schema {
"fields": [Field {
"name": "row_index",
"data_type": Int32,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "code",
"data_type": Utf8View,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "factor_value",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}
],
"metadata": {}
}
},
"partitioning": UnknownPartitioning(1),
"emission_type": Incremental,
"boundedness": Unbounded {
"requires_infinite_memory": false
},
"evaluation_type": Lazy,
"scheduling_type": Cooperative,
"output_ordering": Some(LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
})
}
},
"state": Mutex {
"data": NotInitialized
},
"metrics": ExecutionPlanMetricsSet {
"inner": Mutex {
"data": MetricsSet {
"metrics": []
}
}
},
"preserve_order": false,
"cache": PlanProperties {
"eq_properties": EquivalenceProperties {
"eq_group": EquivalenceGroup {
"map": {},
"classes": []
},
"oeq_class": OrderingEquivalenceClass {
"orderings": [LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
}
]
},
"oeq_cache": OrderingEquivalenceCache {
"normal_cls": OrderingEquivalenceClass {
"orderings": [LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
}
]
},
"leading_map": {Column {
"name": "row_index",
"index": 0
}: [
0
]
}
},
"constraints": Constraints {
"inner": []
},
"schema": Schema {
"fields": [Field {
"name": "row_index",
"data_type": Int32,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "code",
"data_type": Utf8View,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "factor_value",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}
],
"metadata": {}
}
},
"partitioning": RoundRobinBatch(20),
"emission_type": Incremental,
"boundedness": Unbounded {
"requires_infinite_memory": false
},
"evaluation_type": Eager,
"scheduling_type": Cooperative,
"output_ordering": Some(LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
})
}
},
"state": Mutex {
"data": NotInitialized
},
"metrics": ExecutionPlanMetricsSet {
"inner": Mutex {
"data": MetricsSet {
"metrics": []
}
}
},
"preserve_order": true,
"cache": PlanProperties {
"eq_properties": EquivalenceProperties {
"eq_group": EquivalenceGroup {
"map": {},
"classes": []
},
"oeq_class": OrderingEquivalenceClass {
"orderings": [LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
}
]
},
"oeq_cache": OrderingEquivalenceCache {
"normal_cls": OrderingEquivalenceClass {
"orderings": [LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
}
]
},
"leading_map": {Column {
"name": "row_index",
"index": 0
}: [
0
]
}
},
"constraints": Constraints {
"inner": []
},
"schema": Schema {
"fields": [Field {
"name": "row_index",
"data_type": Int32,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "code",
"data_type": Utf8View,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "factor_value",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}
],
"metadata": {}
}
},
"partitioning": Hash([Column {
"name": "code",
"index": 1
}
],
20),
"emission_type": Incremental,
"boundedness": Unbounded {
"requires_infinite_memory": false
},
"evaluation_type": Eager,
"scheduling_type": Cooperative,
"output_ordering": Some(LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
})
}
},
"target_batch_size": 8192,
"fetch": None ,
"metrics": ExecutionPlanMetricsSet {
"inner": Mutex {
"data": MetricsSet {
"metrics": []
}
}
},
"cache": PlanProperties {
"eq_properties": EquivalenceProperties {
"eq_group": EquivalenceGroup {
"map": {},
"classes": []
},
"oeq_class": OrderingEquivalenceClass {
"orderings": [LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
}
]
},
"oeq_cache": OrderingEquivalenceCache {
"normal_cls": OrderingEquivalenceClass {
"orderings": [LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
}
]
},
"leading_map": {Column {
"name": "row_index",
"index": 0
}: [
0
]
}
},
"constraints": Constraints {
"inner": []
},
"schema": Schema {
"fields": [Field {
"name": "row_index",
"data_type": Int32,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "code",
"data_type": Utf8View,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "factor_value",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}
],
"metadata": {}
}
},
"partitioning": Hash([Column {
"name": "code",
"index": 1
}
],
20),
"emission_type": Incremental,
"boundedness": Unbounded {
"requires_infinite_memory": false
},
"evaluation_type": Lazy,
"scheduling_type": NonCooperative,
"output_ordering": Some(LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
})
}
},
"window_expr": [SlidingAggregateWindowExpr {
"aggregate": AggregateFunctionExpr {
"fun": AggregateUDF {
"inner": Avg {
"signature": Signature {
"type_signature": UserDefined,
"volatility": Immutable
},
"aliases": [
"mean"
]
}
},
"args": [Column {
"name": "factor_value",
"index": 2
}
],
"return_field": Field {
"name": "avg",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
},
"name": "mean",
"human_display": "",
"schema": Schema {
"fields": [Field {
"name": "row_index",
"data_type": Int32,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "code",
"data_type": Utf8View,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "factor_value",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "mean",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}
],
"metadata": {}
},
"order_bys": [],
"ignore_nulls": false,
"ordering_fields": [],
"is_distinct": false,
"is_reversed": false,
"input_fields": [Field {
"name": "factor_value",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}
],
"is_nullable": true
},
"partition_by": [Column {
"name": "code",
"index": 1
}
],
"order_by": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"window_frame": WindowFrame {
"units": Rows,
"start_bound": Preceding(UInt64(1)),
"end_bound": CurrentRow,
"is_causal": true
},
"filter": None
}
],
"schema": Schema {
"fields": [Field {
"name": "row_index",
"data_type": Int32,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "code",
"data_type": Utf8View,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "factor_value",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "mean",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}
],
"metadata": {}
},
"metrics": ExecutionPlanMetricsSet {
"inner": Mutex {
"data": MetricsSet {
"metrics": []
}
}
},
"input_order_mode": Linear,
"ordered_partition_by_indices": [],
"cache": PlanProperties {
"eq_properties": EquivalenceProperties {
"eq_group": EquivalenceGroup {
"map": {},
"classes": []
},
"oeq_class": OrderingEquivalenceClass {
"orderings": [LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
}
]
},
"oeq_cache": OrderingEquivalenceCache {
"normal_cls": OrderingEquivalenceClass {
"orderings": [LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
}
]
},
"leading_map": {Column {
"name": "row_index",
"index": 0
}: [
0
]
}
},
"constraints": Constraints {
"inner": []
},
"schema": Schema {
"fields": [Field {
"name": "row_index",
"data_type": Int32,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "code",
"data_type": Utf8View,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "factor_value",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "mean",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}
],
"metadata": {}
}
},
"partitioning": Hash([Column {
"name": "code",
"index": 1
}
],
20),
"emission_type": Incremental,
"boundedness": Unbounded {
"requires_infinite_memory": false
},
"evaluation_type": Lazy,
"scheduling_type": NonCooperative,
"output_ordering": Some(LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
})
},
"can_repartition": true
}
```
And this is the final plan without `EnforceDistribution` (after 19 steps of
optimization):
```json
BoundedWindowAggExec {
"input": CooperativeExec {
"input": DynamicExecutionPlan {
"properties": PlanProperties {
"eq_properties": EquivalenceProperties {
"eq_group": EquivalenceGroup {
"map": {},
"classes": []
},
"oeq_class": OrderingEquivalenceClass {
"orderings": [LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
}
]
},
"oeq_cache": OrderingEquivalenceCache {
"normal_cls": OrderingEquivalenceClass {
"orderings": [LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
}
]
},
"leading_map": {Column {
"name": "row_index",
"index": 0
}: [
0
]
}
},
"constraints": Constraints {
"inner": []
},
"schema": Schema {
"fields": [Field {
"name": "row_index",
"data_type": Int32,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "code",
"data_type": Utf8View,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "factor_value",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}
],
"metadata": {}
}
},
"partitioning": UnknownPartitioning(1),
"emission_type": Incremental,
"boundedness": Unbounded {
"requires_infinite_memory": false
},
"evaluation_type": Lazy,
"scheduling_type": NonCooperative,
"output_ordering": Some(LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
})
},
"stream": DynamicRecordBatchStream {
"schema": Schema {
"fields": [Field {
"name": "row_index",
"data_type": Int32,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "code",
"data_type": Utf8View,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "factor_value",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}
],
"metadata": {}
},
"receiver": Mutex {
"data": Receiver {
"chan": Rx {
"inner": Chan {
"tx": Tx {
"block_tail": 0x561ba4ac07c0,
"tail_position": 0
},
"semaphore": Semaphore {
"semaphore": Semaphore {
"permits": 100
},
"bound": 100
},
"rx_waker": AtomicWaker,
"tx_count": 1,
"rx_fields": "..."
}
}
}
}
}
},
"properties": PlanProperties {
"eq_properties": EquivalenceProperties {
"eq_group": EquivalenceGroup {
"map": {},
"classes": []
},
"oeq_class": OrderingEquivalenceClass {
"orderings": [LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
}
]
},
"oeq_cache": OrderingEquivalenceCache {
"normal_cls": OrderingEquivalenceClass {
"orderings": [LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
}
]
},
"leading_map": {Column {
"name": "row_index",
"index": 0
}: [
0
]
}
},
"constraints": Constraints {
"inner": []
},
"schema": Schema {
"fields": [Field {
"name": "row_index",
"data_type": Int32,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "code",
"data_type": Utf8View,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "factor_value",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}
],
"metadata": {}
}
},
"partitioning": UnknownPartitioning(1),
"emission_type": Incremental,
"boundedness": Unbounded {
"requires_infinite_memory": false
},
"evaluation_type": Lazy,
"scheduling_type": Cooperative,
"output_ordering": Some(LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
})
}
},
"window_expr": [SlidingAggregateWindowExpr {
"aggregate": AggregateFunctionExpr {
"fun": AggregateUDF {
"inner": Avg {
"signature": Signature {
"type_signature": UserDefined,
"volatility": Immutable
},
"aliases": [
"mean"
]
}
},
"args": [Column {
"name": "factor_value",
"index": 2
}
],
"return_field": Field {
"name": "avg",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
},
"name": "mean",
"human_display": "",
"schema": Schema {
"fields": [Field {
"name": "row_index",
"data_type": Int32,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "code",
"data_type": Utf8View,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "factor_value",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "mean",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}
],
"metadata": {}
},
"order_bys": [],
"ignore_nulls": false,
"ordering_fields": [],
"is_distinct": false,
"is_reversed": false,
"input_fields": [Field {
"name": "factor_value",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}
],
"is_nullable": true
},
"partition_by": [Column {
"name": "code",
"index": 1
}
],
"order_by": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"window_frame": WindowFrame {
"units": Rows,
"start_bound": Preceding(UInt64(1)),
"end_bound": CurrentRow,
"is_causal": true
},
"filter": None
}
],
"schema": Schema {
"fields": [Field {
"name": "row_index",
"data_type": Int32,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "code",
"data_type": Utf8View,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "factor_value",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "mean",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}
],
"metadata": {}
},
"metrics": ExecutionPlanMetricsSet {
"inner": Mutex {
"data": MetricsSet {
"metrics": []
}
}
},
"input_order_mode": Linear,
"ordered_partition_by_indices": [],
"cache": PlanProperties {
"eq_properties": EquivalenceProperties {
"eq_group": EquivalenceGroup {
"map": {},
"classes": []
},
"oeq_class": OrderingEquivalenceClass {
"orderings": [LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
}
]
},
"oeq_cache": OrderingEquivalenceCache {
"normal_cls": OrderingEquivalenceClass {
"orderings": [LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
}
]
},
"leading_map": {Column {
"name": "row_index",
"index": 0
}: [
0
]
}
},
"constraints": Constraints {
"inner": []
},
"schema": Schema {
"fields": [Field {
"name": "row_index",
"data_type": Int32,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "code",
"data_type": Utf8View,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "factor_value",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}, Field {
"name": "mean",
"data_type": Float64,
"nullable": true,
"dict_id": 0,
"dict_is_ordered": false,
"metadata": {}
}
],
"metadata": {}
}
},
"partitioning": UnknownPartitioning(1),
"emission_type": Incremental,
"boundedness": Unbounded {
"requires_infinite_memory": false
},
"evaluation_type": Lazy,
"scheduling_type": NonCooperative,
"output_ordering": Some(LexOrdering {
"exprs": [PhysicalSortExpr {
"expr": Column {
"name": "row_index",
"index": 0
},
"options": SortOptions {
"descending": false,
"nulls_first": false
}
}
],
"set": {Column {
"name": "row_index",
"index": 0
}
}
})
},
"can_repartition": true
}
```
--
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
