diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/properties/SelectHintSetVar.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/properties/SelectHintSetVar.java index b32d18fc89b297..0d54cb75b1e6cc 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/properties/SelectHintSetVar.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/properties/SelectHintSetVar.java @@ -50,6 +50,9 @@ public Map> getParameters() { * @param context statement context */ public void setVarOnceInSql(StatementContext context) { + if (context == null) { + return; + } SessionVariable sessionVariable = context.getConnectContext().getSessionVariable(); // set temporary session value, and then revert value in the 'finally block' of StmtExecutor#execute sessionVariable.setIsSingleSetVar(true); diff --git a/regression-test/suites/nereids_syntax_p0/system_var.groovy b/regression-test/suites/nereids_syntax_p0/system_var.groovy index 3a3714e8c8161c..42f19ef530aca3 100644 --- a/regression-test/suites/nereids_syntax_p0/system_var.groovy +++ b/regression-test/suites/nereids_syntax_p0/system_var.groovy @@ -38,7 +38,7 @@ suite("nereids_sys_var") { // set an invalid parameter, and throw an exception test { sql "select /*+SET_VAR(runtime_filter_type=10000)*/ * from supplier limit 10" - exception "Unexpected exception: Can not set session variable" + exception "errCode" } sql "select @@session.time_zone"