diff --git a/src/sql/engine/sort/ob_prefix_sort_vec_op_impl.ipp b/src/sql/engine/sort/ob_prefix_sort_vec_op_impl.ipp index 627df7b85..f25686e81 100644 --- a/src/sql/engine/sort/ob_prefix_sort_vec_op_impl.ipp +++ b/src/sql/engine/sort/ob_prefix_sort_vec_op_impl.ipp @@ -310,6 +310,9 @@ int ObPrefixSortVecImpl::fetch_rows_batch() ObExpr *e = all_exprs_.at(i); if (OB_FAIL(e->eval_vector(*eval_ctx_, *brs_))) { SQL_ENG_LOG(WARN, "eval batch failed", K(ret)); + } else if (e->is_nested_expr() && !is_uniform_format(e->get_format(*eval_ctx_)) && + OB_FAIL(e->nested_cast_to_uniform(brs_->size_, *eval_ctx_, brs_->skip_))) { + SQL_ENG_LOG(WARN, "failed to cast nested expr to uniform", K(ret)); } else { e->get_eval_info(*eval_ctx_).projected_ = true; }