clear the eval flag of T_OP_ROW expr's child exprs
This commit is contained in:
		| @ -511,7 +511,10 @@ int ObSQLUtils::calc_raw_expr_without_row( | ||||
| // it a member function of ObExpr, otherwise it will be abused in SQL Engine. | ||||
| void ObSQLUtils::clear_expr_eval_flags(const ObExpr &expr, ObEvalCtx &ctx) | ||||
| { | ||||
|   if (expr.eval_func_ != NULL) { | ||||
|   if (expr.eval_func_ != NULL || T_OP_ROW == expr.type_) { | ||||
|     // The eval_func_ of the T_OP_ROW expression is null, causing the issue where the evaluation | ||||
|     // flag of the child expressions is not cleared. For more detail, see issue | ||||
|     // | ||||
|     expr.get_eval_info(ctx).clear_evaluated_flag(); | ||||
|     for (int64_t i = 0; i < expr.arg_cnt_; i++) { | ||||
|       clear_expr_eval_flags(*expr.args_[i], ctx); | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 obdev
					obdev