Fix expression precomputation does not handle ignore statement
This commit is contained in:
@ -785,7 +785,7 @@ int eval_assign_question_mark_func(const ObExpr &expr, ObEvalCtx &ctx, ObDatum &
|
|||||||
cast_mode = lib::is_oracle_mode() ?
|
cast_mode = lib::is_oracle_mode() ?
|
||||||
(cast_mode | CM_CHARSET_CONVERT_IGNORE_ERR) : (cast_mode | CM_COLUMN_CONVERT);
|
(cast_mode | CM_CHARSET_CONVERT_IGNORE_ERR) : (cast_mode | CM_COLUMN_CONVERT);
|
||||||
if (ctx.exec_ctx_.get_physical_plan_ctx()->is_ignore_stmt()) {
|
if (ctx.exec_ctx_.get_physical_plan_ctx()->is_ignore_stmt()) {
|
||||||
cast_mode = cast_mode | CM_WARN_ON_FAIL;
|
cast_mode = cast_mode | CM_WARN_ON_FAIL | CM_CHARSET_CONVERT_IGNORE_ERR;
|
||||||
}
|
}
|
||||||
ObCastCtx cast_ctx(&allocator, &dtc_params, cast_mode, dst_meta.get_collation_type());
|
ObCastCtx cast_ctx(&allocator, &dtc_params, cast_mode, dst_meta.get_collation_type());
|
||||||
if (OB_FAIL(ObObjCaster::to_type(dst_meta.get_type(), cast_ctx, v, dst_obj))) {
|
if (OB_FAIL(ObObjCaster::to_type(dst_meta.get_type(), cast_ctx, v, dst_obj))) {
|
||||||
|
|||||||
Reference in New Issue
Block a user