github-actions[bot] commented on code in PR #62222:
URL: https://github.com/apache/doris/pull/62222#discussion_r3195103930
##########
fe/fe-core/src/main/java/org/apache/doris/qe/VariableMgr.java:
##########
@@ -392,6 +398,11 @@ private static void setVarInternal(SessionVariable
sessionVariable, SetVar setVa
}
}
setValue(sessionVariable, sessionVariableField, value);
+ if (SessionVariable.ENABLE_COMMON_EXPR_PUSHDOWN.equals(attr.name())) {
+ VarContext segmentPushdownCtx =
+
getVarContext(SessionVariable.ENABLE_SEGMENT_FILTER_AND_LIMIT_PUSHDOWN);
+ setValue(sessionVariable, new
SessionVariableField(segmentPushdownCtx.getField()), value);
+ }
Review Comment:
This alias update also needs to participate in the statement-scoped
`SET_VAR` revert path. When `sessionVariable.getIsSingleSetVar()` is true, this
method records only the original value for `enable_common_expr_pushdown` before
line 400. The new `enable_segment_filter_and_limit_pushdown` field is then
changed here without adding its original value to `sessionOriginValue`, so
`VariableMgr.revertSessionValue()` restores only the legacy field after the
statement. A query hint such as `SELECT /*+
SET_VAR(enable_common_expr_pushdown=false) */ ...` leaves
`enable_segment_filter_and_limit_pushdown` false for the session after the
query finishes, which is a behavior leak from a statement-local setting. Please
record and restore the propagated field too, and add a SET_VAR regression/unit
test for the alias.
--
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]