xiangfu0 commented on code in PR #20148:
URL: https://github.com/apache/pinot/pull/20148#discussion_r4467278384
##########
pinot-broker/src/main/java/org/apache/pinot/broker/requesthandler/BaseSingleStageBrokerRequestHandler.java:
##########
@@ -745,6 +746,7 @@ protected BrokerResponse doHandleRequest(long requestId,
String query, SqlNodeAn
setTableName(serverBrokerRequest, realtimeTableName);
handleExpressionOverride(serverPinotQuery,
_tableCache.getExpressionOverrideMap(realtimeTableName));
handleTimestampIndexOverride(serverPinotQuery, realtimeTableConfig);
+ _queryOptimizer.optimize(serverPinotQuery, schema);
Review Comment:
Non-blocking: `prepareBaseTableHybridRoute` has the same gap in its
offline-only and realtime-only branches. `dispatchMaterializedViewSplit`
optimizes once, then `prepareBaseTableHybridRoute` applies
`handleExpressionOverride` without re-optimizing, and the result goes straight
to `calculateRoutes`. A non-hybrid base table with a literal override can still
send `TRUE` to the pruners on the MV SPLIT path. Could you add the same
`_queryOptimizer.optimize(baseBrokerRequest.getPinotQuery(), schema)` there,
either in this PR or a follow-up?
--
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]