GSharayu opened a new pull request #6986:
URL: https://github.com/apache/incubator-pinot/pull/6986


   For general select queries
   
   e.g SELECT * FROM Foo ..... LIMIT N
   
   e.g SELECT col1, col2 ..... FROM Foo .... LIMIT N
   
   the columns are identifier expressions and not some transform functions. So, 
we should have a PassThroughTransformOperator that avoids the if conditional 
check repeatedly in TransformBlock.
   
   If the columns selected in the query are identifier expressions then no need 
to make the check again and again for every block fetch of 10K records. Since 
during query planning time, we have the information available in 
TransformPlanNode if selected expressions are identifiers or not, we can make 
an optimization to have a specialized TransformOperator and TransformBlock that 
simply does a pass through and avoids the repeated if check at query runtime.
   
   This is something that would have been done in pinot if there was run time 
query specific code generation. Since we currently don't have it, we can 
handwrite the specialized operator.
   
   The changes are already covered by tests 
https://github.com/apache/incubator-pinot/blob/master/pinot-core/src/test/java/org/apache/pinot/queries/BaseSingleValueQueriesTest.java
 and 
https://github.com/apache/incubator-pinot/blob/master/pinot-core/src/test/java/org/apache/pinot/queries/BaseMultiValueQueriesTest.java
   
   Issue #6972
   
   This PR is followup to PR #6973 to override operator name in 
PassThroughTransformOperator


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

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