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