You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@orc.apache.org by "pavibhai (via GitHub)" <gi...@apache.org> on 2023/02/08 14:48:07 UTC

[GitHub] [orc] pavibhai commented on a diff in pull request #1387: ORC-1362: [Java] Enable ENABLE_INDEXES

pavibhai commented on code in PR #1387:
URL: https://github.com/apache/orc/pull/1387#discussion_r1100240522


##########
java/core/src/java/org/apache/orc/impl/WriterImpl.java:
##########
@@ -189,8 +189,12 @@ public WriterImpl(FileSystem fs,
       this.rowIndexStride = 0;
     }
 
-    // ORC-1343: We ignore `opts.isBuildIndex` due to the lack of reader support
-    this.buildIndex = rowIndexStride > 0;
+    if (!opts.isBuildIndex() && rowIndexStride > 0) {
+      throw new IllegalArgumentException("Please set rowIndexStride to zero " +

Review Comment:
   I was looking at the WriterOptions. Was thinking if we should integrate if there as well. There seem to be 2 places of interest right now.
   
   Constructor. We currently have
   ```java
         buildIndex = OrcConf.ENABLE_INDEXES.getBoolean(tableProperties, conf);
         rowIndexStrideValue =
             (int) OrcConf.ROW_INDEX_STRIDE.getLong(tableProperties, conf);
   ```
   We should set rowIndexStrideValue to 0 if `buildIndex` is false
    
   Setter for rowIndexStride (I don't see a setter for buildIndex)
   ```java
       public WriterOptions rowIndexStride(int value) {
         rowIndexStrideValue = value;
         return this;
       }
   ```
   Adapt this to say if rowIndexStride is 0 then set buildIndex false, else if rowIndexStride > 0 set buildIndex true.



-- 
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: issues-unsubscribe@orc.apache.org

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