This is an automated email from the ASF dual-hosted git repository.

gortiz pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pinot.git


The following commit(s) were added to refs/heads/master by this push:
     new b50a421740a Add hook in MSE to expose compiled query (#18666)
b50a421740a is described below

commit b50a421740aa0749d63a12e2740595dccac21c37
Author: Kartik Khare <[email protected]>
AuthorDate: Wed Jun 3 20:01:19 2026 +0530

    Add hook in MSE to expose compiled query (#18666)
---
 .../broker/requesthandler/MultiStageBrokerRequestHandler.java  | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git 
a/pinot-broker/src/main/java/org/apache/pinot/broker/requesthandler/MultiStageBrokerRequestHandler.java
 
b/pinot-broker/src/main/java/org/apache/pinot/broker/requesthandler/MultiStageBrokerRequestHandler.java
index 3fc53f634a6..fca747757cd 100644
--- 
a/pinot-broker/src/main/java/org/apache/pinot/broker/requesthandler/MultiStageBrokerRequestHandler.java
+++ 
b/pinot-broker/src/main/java/org/apache/pinot/broker/requesthandler/MultiStageBrokerRequestHandler.java
@@ -427,6 +427,7 @@ public class MultiStageBrokerRequestHandler extends 
BaseBrokerRequestHandler {
 
       // Apply broker-default query options before branching to 
EXPLAIN/execute so both paths see the same options.
       applyBrokerDefaultQueryOptions(compiledQuery.getOptions());
+      prepareCompiledQueryForPlanning(compiledQuery, requestId, 
requestContext, httpHeaders);
 
       if (sqlNodeAndOptions.getSqlNode().getKind() == SqlKind.EXPLAIN) {
         return explain(compiledQuery, requestId, requestContext, queryTimer);
@@ -588,6 +589,15 @@ public class MultiStageBrokerRequestHandler extends 
BaseBrokerRequestHandler {
     }
   }
 
+  /**
+   * Extension hook for preparing a compiled query's planner-visible options 
after compilation, authorization and
+   * broker defaults, but before planning/explain. Subclasses can use the 
validated table set from
+   * {@link QueryEnvironment.CompiledQuery#getTableNames()} without re-parsing 
SQL.
+   */
+  protected void 
prepareCompiledQueryForPlanning(QueryEnvironment.CompiledQuery compiledQuery, 
long requestId,
+      RequestContext requestContext, HttpHeaders httpHeaders) {
+  }
+
   private long getTimeoutMs(Map<String, String> queryOptions) {
     Long timeoutMsFromQueryOption = 
QueryOptionsUtils.getTimeoutMs(queryOptions);
     return timeoutMsFromQueryOption != null ? timeoutMsFromQueryOption : 
_brokerTimeoutMs;


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to