Jackie-Jiang commented on code in PR #8953:
URL: https://github.com/apache/pinot/pull/8953#discussion_r906222092


##########
pinot-segment-spi/src/main/java/org/apache/pinot/segment/spi/index/reader/ForwardIndexReader.java:
##########
@@ -410,9 +421,303 @@ default byte[] getBytes(int docId, T context) {
 
   /**
    * MULTI-VALUE COLUMN RAW INDEX APIs
-   * TODO: Not supported yet
    */
 
+  /**
+   * Fills the values
+   * @param docIds Array containing the document ids to read
+   * @param length Number of values to read
+   * @param values Values to fill
+   * @param context Reader context
+   */
+  default void readValuesMV(int[] docIds, int length, int[][] values, T 
context) {
+    switch (getValueType()) {
+      case INT:
+        for (int i = 0; i < length; i++) {
+          values[i] = getIntMV(docIds[i], context);
+        }
+        break;
+      case LONG:
+        for (int i = 0; i < length; i++) {
+          long[] longValueBuffer = getLongMV(docIds[i], context);

Review Comment:
   Essentially we can avoid creating a separate array for each iteration of the 
for look (similar to the dict ids buffer). Let me explain with code:
   ```suggestion
           long[] longValuesBuffer = new long[maxNumValuesPerMVEntry];
           for (int i = 0; i < length; i++) {
             int numValues = getLongMV(docIds[i], longValuesBuffer, context);
             int[] intValues = new int[numValues];
             for (int j = 0; j < numValues; j++) {
               intValues[j] = (int) longValuesBuffer[j];
             }
             ...
           }
   ```



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