walterddr opened a new issue, #9155:
URL: https://github.com/apache/pinot/issues/9155

   Problem Statement
   ===
   Currently there are 2 entrypoints for Pinot queries. 
   - via controller's `PinotQueryResource` or
   - via broker's `PinotClientRequest`
   
   There are several places where the entire SQL string is being parsed into 
SQLNodes just for utilizing part of the parsed results;
   - Controller use it to parse out options and routing for which table of 
which broker tenant to route to
   - Broker uses it to determine the table realtime offline split; options; 
   - Multistage engine uses it to determine SQL hints. 
   
   Solution
   ===
   The reason why this is being re-parsed so many times is that the API doesn't 
provide a SQLNode entrypoint rather each API will take a literal SQL string as 
input.
   
   Propose to 
   - create an entrypoint that takes SQLNode as input and wrap entrypoint that 
takes literal SQL string with the parser. 
   - (maybe) create a serializable format for SQLNode so that content can also 
be passed from controller to broker without preparing, this largely depends on 
whether re-parsing the string literal is faster or ser/de of the SQLNode.  
   


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