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


   This PR implements support for FILTER clauses in aggregations:
   
   SELECT SUM(COL1) FILTER(WHERE COL2 > 300), AVG(COL2) FILTER (WHERE COL2 < 
50) FROM MyTable WHERE COL1 > 50;
   
   The main predicate is scanned only once and reused for all filter clauses.
   The implementation allows each filter swim lane to use any available indices 
independently.
   
   If two or more filter clauses have the same predicate, the result will be 
computed only once and fed to each of the aggregates.
   
   Performance benchmark:
   
   3 warm up iterations per run, 5 runs in total. Apple M1 Pro, 32GB RAM
   
   X axis represents number of iterations and Y axis represents latency in MS.
   
   <img width="400" alt="image" 
src="https://user-images.githubusercontent.com/1724131/146372915-6cda2f19-7303-4d12-a91b-42a15b9285e0.png";>
   


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