You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by "berkaysynnada (via GitHub)" <gi...@apache.org> on 2023/05/30 17:52:20 UTC

[GitHub] [arrow-datafusion] berkaysynnada commented on a diff in pull request #6469: Support Defining Ordering Equivalence at the Source

berkaysynnada commented on code in PR #6469:
URL: https://github.com/apache/arrow-datafusion/pull/6469#discussion_r1210622599


##########
datafusion/core/src/datasource/listing/table.rs:
##########
@@ -418,7 +421,7 @@ impl ListingOptions {
     ///
     /// assert_eq!(listing_options.file_sort_order, file_sort_order);
     /// ```
-    pub fn with_file_sort_order(mut self, file_sort_order: Option<Vec<Expr>>) -> Self {
+    pub fn with_file_sort_order(mut self, file_sort_order: Vec<Vec<Expr>>) -> Self {

Review Comment:
   We have also considered such a design, and you can check our observations [here](https://github.com/synnada-ai/arrow-datafusion/pull/107#pullrequestreview-1443036721). In summary, that API cannot provide a reset for sort orders, and the user needs to call it multiple times for multiple orderings (that is not the case for other methods).
   
   We have replaced `Vec<Vec<OrderByExpr>>` and `Vec<Vec<PhysicalSortExpr>>` with  `Vec<LexOrdering>` where the inner vector is used for a lexicographical sorting and the outer is used for another lex sorting. 



-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org