mustafasrepo opened a new pull request, #5035: URL: https://github.com/apache/arrow-datafusion/pull/5035
# Which issue does this PR close? Closes #4980 # Rationale for this change Currently the `maintains_input_order` function returns a `bool` value indicating whether the executor maintains ordering. Obviously, for executors with multiple inputs, this incurs information loss -- which input ordering are we talking about? The best we can do is to assign a special meaning like *any* or *all* to this function, and this is enough for some executors. Obviously, there are (and will be) executors where this is insufficient. # What changes are included in this PR? In this PR, we change/generalize the signature of this function to properly support multi-children executors. The initial use case we have is the `UnionExec` implementation -- it will henceforth produce an `output_ordering` not only when input orderings are strictly equal, but when there is a subset ordering that satisfy all input orderings. More use cases that will leverage this change are also on the way, such as: - [Improvements to sort-aware optimizations](https://github.com/synnada-ai/arrow-datafusion/pull/43) # Are these changes tested? New tests are added to test the change. # Are there any user-facing changes? This PR introduces an API change. -- 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]
