walterddr commented on issue #10129:
URL: https://github.com/apache/pinot/issues/10129#issuecomment-1397438501

   did a bit of research on this topic:
   
   the problem only occurs on `COUNT(*)` or `COUNT(1)`, `COUNT(col)` this is 
b/c calcite will optimize out the argument since all columns in pinot are 
marked non-nullable. 
   
   1. several attempts have been tried on this one but the most promising so 
far is to replace `COUNT` with `SUM(1)` thus bypass calcite's optimization. 
with this project pushdown are being executed properly.
   2. @ankitsultana also reported that the pushdown doesn't apply to semi JOINs 
with NOT-IN clause properly
    ```
   SELECT
     SUM(1)
   FROM
     baseballStats_OFFLINE
   WHERE
     hits > 10 AND 
     playerID NOT IN (SELECT playerID FROM baseballStats_OFFLINE WHERE hits < 5)
   ```
   ^ this seems to be related to the fact that NOT IN produces a in-equality 
JOIN condition that cannot be optimized into a proper JOIN and thus cannot 
apply proper pushdown rules. 
   which we will address separately. 
   


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