ajantha-bhat commented on code in PR #4902:
URL: https://github.com/apache/iceberg/pull/4902#discussion_r910185476


##########
spark/v3.2/spark/src/main/java/org/apache/iceberg/spark/procedures/RewriteDataFilesProcedure.java:
##########
@@ -140,20 +139,34 @@ private RewriteDataFiles checkAndApplyOptions(InternalRow 
args, RewriteDataFiles
     return action.options(options);
   }
 
-  private RewriteDataFiles checkAndApplyStrategy(RewriteDataFiles action, 
String strategy, SortOrder sortOrder) {
+  private RewriteDataFiles checkAndApplyStrategy(
+      RewriteDataFiles action,
+      String strategy,
+      String sortOrderString,
+      Table table) {
+    Pattern zOrderPattern = Pattern.compile("zorder\\s*\\(.*\\)", 
Pattern.CASE_INSENSITIVE);
+    boolean isZOrder = sortOrderString != null && 
zOrderPattern.matcher(sortOrderString).matches();
     // caller of this function ensures that between strategy and sortOrder, at 
least one of them is not null.
     if (strategy == null || strategy.equalsIgnoreCase("sort")) {
-      return action.sort(sortOrder);
+      if (isZOrder) {
+        String columns = sortOrderString.substring(

Review Comment:
   It is a very good suggestion.
   we can even support Zorder with "ALTER TABLE ..WRITE ORDER BY" syntax too. 
If we have our own parser.
   
   But I am just not expert enough to implement it. I will explore this in my 
free time.



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

Reply via email to