fabianmurariu opened a new issue, #10421:
URL: https://github.com/apache/datafusion/issues/10421
### Describe the bug
EnforceDistribution fails with `"PhysicalOptimizer rule
'EnforceDistribution' failed, due to generate a different schema, original
schema:`
### To Reproduce
```sql
WITH e1 AS (SELECT * FROM _default), e2 AS (SELECT * FROM _default), a AS
(SELECT * FROM nodes), b AS (SELECT * FROM nodes), c AS (SELECT * FROM nodes)
SELECT a.name, b.name, c.name FROM e1 JOIN a ON e1.src = a.id JOIN b ON e1.dst
= b.id JOIN e2 ON b.id = e2.src JOIN c ON e2.dst = c.id WHERE e1.id <> e2.id
```
Error
````
called `Result::unwrap()` on an `Err` value: Context("EnforceDistribution",
Internal("PhysicalOptimizer rule 'EnforceDistribution' failed, due to generate
a different schema, original schema: Schema { fields: [Field { name: \"name\",
data_type: LargeUtf8, nullable: true, dict_id: 0, dict_is_ordered: false,
metadata: {} }, Field { name: \"name\", data_type: LargeUtf8, nullable: true,
dict_id: 0, dict_is_ordered: false, metadata: {} }, Field { name: \"name\",
data_type: LargeUtf8, nullable: true, dict_id: 0, dict_is_ordered: false,
metadata: {} }], metadata: {} }, new schema: Schema { fields: [Field { name:
\"name\", data_type: UInt64, nullable: false, dict_id: 0, dict_is_ordered:
false, metadata: {} }, Field { name: \"name\", data_type: UInt64, nullable:
false, dict_id: 0, dict_is_ordered: false, metadata: {} }, Field { name:
\"name\", data_type: UInt64, nullable: false, dict_id: 0, dict_is_ordered:
false, metadata: {} }], metadata: {} }"))
```
### Expected behavior
Expected optimizer rules to be skipped or not to run
### Additional context
```Projection: a.name, b.name, c.name
Inner Join: e2.dst = c.id
Projection: a.name, b.name, e2.dst
Inner Join: b.id = e2.src Filter: e2.id != e1.id
Projection: e1.id, a.name, b.id, b.name
Inner Join: e1.dst = b.id
Projection: e1.id, e1.dst, a.name
Inner Join: e1.src = a.id
SubqueryAlias: e1
TableScan: _default projection=[id, src, dst]
SubqueryAlias: a
TableScan: nodes projection=[id, name]
SubqueryAlias: b
TableScan: nodes projection=[id, name]
SubqueryAlias: e2
TableScan: _default projection=[id, src, dst]
SubqueryAlias: c
TableScan: nodes projection=[id, name]
```
--
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]