walterddr commented on code in PR #8953:
URL: https://github.com/apache/pinot/pull/8953#discussion_r909027521


##########
pinot-segment-spi/src/main/java/org/apache/pinot/segment/spi/index/reader/ForwardIndexReader.java:
##########
@@ -496,4 +861,26 @@ default int getStringMV(int docId, String[] valueBuffer, T 
context) {
   default int getBytesMV(int docId, byte[][] valueBuffer, T context) {
     throw new UnsupportedOperationException();
   }
+
+  /**
+   * Reads the bytes type multi-value at the given document id.
+   *
+   * @param docId Document id
+   * @param context Reader context
+   * @return BYTE values at the given document id
+   */
+  default byte[][] getBytesMV(int docId, T context) {

Review Comment:
   i dont think this is tested. should we add a readBytesValues() method in 
DataFetcher ? 



##########
pinot-segment-local/src/main/java/org/apache/pinot/segment/local/indexsegment/mutable/MutableSegmentImpl.java:
##########
@@ -436,9 +436,10 @@ private boolean isNoDictionaryColumn(Set<String> 
noDictionaryColumns, Set<String
             column, dataType.toString());
         return false;
       }
-      // So don't create dictionary if the column is member of noDictionary, 
is single-value
-      // and doesn't have an inverted index
-      return fieldSpec.isSingleValueField() && 
!invertedIndexColumns.contains(column);
+      // So don't create dictionary if the column is member of noDictionary, 
is single-value or multi-value with a
+      // fixed-width field and doesn't have an inverted index

Review Comment:
   ```suggestion
         // So don't create dictionary if the column (1) is member of 
noDictionary, and (2) is single-value or multi-value with a
         // fixed-width field, and (3) doesn't have an inverted index
   ```



##########
pinot-segment-spi/src/main/java/org/apache/pinot/segment/spi/index/mutable/MutableForwardIndex.java:
##########
@@ -92,11 +92,26 @@ default int getDictIdMV(int docId, int[] dictIdBuffer) {
     throw new UnsupportedOperationException();
   }
 
+  /**
+   * Reads the dictionary ids for a multi-value column at the given document 
id into a buffer and returns the buffer.
+   *
+   * @param docId Document id
+   * @return A buffer containing the multi-value entries
+   */
+  default int[] getDictIdMV(int docId) {

Review Comment:
   this and others -->there's also a setDictIdMV APIs. do we plan to add those?



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