somu-imply commented on code in PR #14237:
URL: https://github.com/apache/druid/pull/14237#discussion_r1190327508
##########
processing/src/main/java/org/apache/druid/segment/join/JoinableFactoryWrapper.java:
##########
@@ -178,15 +183,37 @@ static JoinClauseToFilterConversion convertJoinToFilter(
}
numValues -= columnValuesWithUniqueFlag.getColumnValues().size();
- filters.add(Filters.toFilter(new InDimFilter(leftColumn,
columnValuesWithUniqueFlag.getColumnValues())));
+ // For each column value which are received in order we increment the
index
+ // and add it in the appropriate index in the map
+ int c = 0;
+ for (String val : columnValuesWithUniqueFlag.getColumnValues()) {
Review Comment:
@rohangarg I am unsure if we can do that, Currently what we do is pass
something like `(A|B)&(C|D)` to the base filter. What we actually need is
`(A&B)|(C&D)`. Considering these values `A=0,B=0,C=1,D=1`
```
(A|B)&(C|D) = 0 which the base cursor ignored
(A&B)|(C&D) = 1 which we need but since the base cursor already ignored that
we cannot get it in post process
```
I think we can get correctness with the way Gian has suggested here and then
look back separately if this can be achieved somehow through an interplay of
cursors and filters
--
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]