atris opened a new pull request #7830:
URL: https://github.com/apache/pinot/pull/7830


   This PR implements FILTER clauses using the concept of multiple predicates 
within a single query.
   
   A FILTER clause query:
   
   SELECT SUM(COL1) FILTER(WHERE fooBar > 5) FROM table1 WHERE barBar < 7
   
   The query plan will introduce multiple transformation chains, each having a 
filter operator for the relevant FILTER clause. This allows indices to be used 
for each FILTER clause execution.
   
   The main filter (WHERE barBar < 7) is evaluated once, with its results being 
broadcasted to all FILTER clause swim lanes, which then use that block to 
further evaluate their own predicate.
   
   A mixture of filtered and non filtered aggregates (SELECT SUM(COL1) 
FILTER(WHERE barBar > 5), MAX(COL2) FROM table1 WHERE fooBar > 3) is allowed.
   
   Please refer to the design document:
   
   
https://docs.google.com/document/d/1ZM-2c0jJkbeJ61m8sJF0qj19t5UYLhnTFvIAz-HCJmk/edit?usp=sharing


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