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