siddharthteotia commented on code in PR #9868:
URL: https://github.com/apache/pinot/pull/9868#discussion_r1035613884


##########
pinot-segment-local/src/test/java/org/apache/pinot/segment/local/segment/index/loader/SegmentPreProcessorTest.java:
##########
@@ -500,6 +494,123 @@ public void testEnableDictAndOtherIndexesMV()
         false, 13, null, false, DataType.INT, 106688);
   }
 
+  @Test
+  public void testSimpleDisableDictionary()
+      throws Exception {
+    // TEST 1. Check running forwardIndexHandler on a V1 segment. No-op for 
all existing dict columns.
+    constructV1Segment(Collections.emptyList(), Collections.emptyList(), 
Collections.emptyList());
+    checkForwardIndexCreation(EXISTING_STRING_COL_DICT, 9, 4, _schema, false, 
true, false, 26, null, true, 0,
+        DataType.STRING, 100000);
+    validateIndex(ColumnIndexType.FORWARD_INDEX, COLUMN10_NAME, 3960, 12, 
_schema, false, true, false, 0, true, 0, null,
+        false, DataType.INT, 100000);
+
+    // Convert the segment to V3.
+    new SegmentV1V2ToV3FormatConverter().convert(_indexDir);
+
+    // TEST 2: Disable dictionary for EXISTING_STRING_COL_DICT.

Review Comment:
   Query based tests will certainly help to check correctness before and after. 
I think you already have that. May be we can come up with a test query where 
range predicate is full match and thus results in reading the entire range 
index ?



##########
pinot-segment-local/src/test/java/org/apache/pinot/segment/local/segment/index/loader/SegmentPreProcessorTest.java:
##########
@@ -500,6 +494,123 @@ public void testEnableDictAndOtherIndexesMV()
         false, 13, null, false, DataType.INT, 106688);
   }
 
+  @Test
+  public void testSimpleDisableDictionary()
+      throws Exception {
+    // TEST 1. Check running forwardIndexHandler on a V1 segment. No-op for 
all existing dict columns.
+    constructV1Segment(Collections.emptyList(), Collections.emptyList(), 
Collections.emptyList());
+    checkForwardIndexCreation(EXISTING_STRING_COL_DICT, 9, 4, _schema, false, 
true, false, 26, null, true, 0,
+        DataType.STRING, 100000);
+    validateIndex(ColumnIndexType.FORWARD_INDEX, COLUMN10_NAME, 3960, 12, 
_schema, false, true, false, 0, true, 0, null,
+        false, DataType.INT, 100000);
+
+    // Convert the segment to V3.
+    new SegmentV1V2ToV3FormatConverter().convert(_indexDir);
+
+    // TEST 2: Disable dictionary for EXISTING_STRING_COL_DICT.

Review Comment:
   Query based tests will certainly help to check correctness before and after. 
I think you already have that. May be we can come up with another test query 
where range predicate is full match and thus results in reading the entire 
range index ?



-- 
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: commits-unsubscr...@pinot.apache.org

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


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org
For additional commands, e-mail: commits-h...@pinot.apache.org

Reply via email to