rohityadav1993 commented on PR #11584:
URL: https://github.com/apache/pinot/pull/11584#issuecomment-1755999768
> IIUC, `LazyRow` is introduced to avoid reading the same value from the
segment multiple times. I think it is a good abstraction (suggestion making it
a wrapper over `IndexSegment` and allow setting a `docId` so that the internal
`fieldToValueMap` can be reused, no need to allow initializing it with
`GenericRow`), and we can make `PartialUpsertMerger` merge API: `void
merge(LazyRow previousRow, GenericRow currentRow, Map<String, Object>
mergedValues)`. This way we can even support generating multiple values in one
merger
It is also used for defining new interface:
```
public interface PartialUpsertRowMergeEvaluator {
void evaluate(LazyRow previousRow, LazyRow newRow, Map<String, Object>
result);
}
```
which represents the row merge logic, which requires LazyRow to wrap
GenericRecord.
So this contract should change as well similar to `void merge(LazyRow
previousRow, GenericRow currentRow, Map<String, Object> mergedValues)`
--
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]