alamb commented on issue #7482:
URL: 
https://github.com/apache/arrow-datafusion/issues/7482#issuecomment-1710509558

   > I can quickly send a fix PR with a similar check, just like 
https://github.com/apache/arrow-datafusion/pull/7457. As I mentioned, 
Datafusion does not cause the creation of such an output_ordering = 
Some(vec![]), but we have taken the measure for this in 
find_orderings_of_exprs, so I think we can implement it here too.
   
   Thanks -- I don't think the fix would be high priority (given I have fixed 
IOx tests not to create this type of ordering it is not blocking anything in my 
mind)
   
   In general, I think a better use of time would be to change the API so that 
it is not possible to hit this
   
   So instead of 
   
https://docs.rs/datafusion/latest/datafusion/physical_plan/trait.ExecutionPlan.html#tymethod.output_ordering
   
   One way might be to do something like this:
   
   ```rust
   fn output_ordering(&self) -> &OutputOrdering { ..}
   
   struct OutputOrdering {
     exprs: Vec<PhysicalSortExpr>
   }
   
   impl OutputOrdering {
     fn append(&mut self, order: PhysicalSortExpr) {
      if !order.is_empty() {
       self.exprs.push(order)
      }
   }
   ```
   
   


-- 
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]

Reply via email to