mustafasrepo opened a new issue, #7621:
URL: https://github.com/apache/arrow-datafusion/issues/7621
### Describe the bug
`impl PartialEq<dyn Any>` of `GetIndexedFieldExpr` has a recursive
implementation without a base case. This causes stack overflow.
### To Reproduce
Test below can be used to reproduce bug
```rust
#[test]
fn get_indexed_field_eq() -> Result<()>{
let schema = list_schema(&["list", "error"]);
let expr = col("list", &schema).unwrap();
let key = col("error", &schema).unwrap();
let indexed_field =
Arc::new(GetIndexedFieldExpr::new_index(expr.clone(), key.clone())) as Arc<dyn
PhysicalExpr>;
let indexed_field_other = Arc::new(GetIndexedFieldExpr::new_index(key,
expr)) as Arc<dyn PhysicalExpr>;
assert!(indexed_field.eq(&indexed_field));
assert!(!indexed_field.eq(&indexed_field_other));
Ok(())
}
```
### Expected behavior
_No response_
### Additional context
_No response_
--
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]