[CP] when column default is , add plan fail
This commit is contained in:
@ -701,6 +701,9 @@ int ObStaticEngineExprCG::alloc_const_frame(
|
|||||||
ObDatum* datum = reinterpret_cast<ObDatum*>(frame_mem + j * DATUM_EVAL_INFO_SIZE);
|
ObDatum* datum = reinterpret_cast<ObDatum*>(frame_mem + j * DATUM_EVAL_INFO_SIZE);
|
||||||
datum->ptr_ = frame_mem + rt_expr->res_buf_off_;
|
datum->ptr_ = frame_mem + rt_expr->res_buf_off_;
|
||||||
datum->from_obj(tmp_obj);
|
datum->from_obj(tmp_obj);
|
||||||
|
if (0 == datum->len_) {
|
||||||
|
datum->ptr_ = NULL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (OB_SUCC(ret) && OB_FAIL(frame_ptrs.push_back(frame_mem))) {
|
if (OB_SUCC(ret) && OB_FAIL(frame_ptrs.push_back(frame_mem))) {
|
||||||
|
|||||||
@ -2232,7 +2232,11 @@ int ObWhereSubQueryPullup::get_single_set_subquery(
|
|||||||
if (OB_ISNULL(expr)) {
|
if (OB_ISNULL(expr)) {
|
||||||
ret = OB_ERR_UNEXPECTED;
|
ret = OB_ERR_UNEXPECTED;
|
||||||
LOG_WARN("expr is null", K(ret));
|
LOG_WARN("expr is null", K(ret));
|
||||||
} else if (expr->has_flag(IS_WITH_ANY) || expr->has_flag(IS_WITH_ALL) || expr->has_hierarchical_query_flag() ||
|
} else if (expr->has_flag(IS_WITH_ANY) ||
|
||||||
|
expr->has_flag(IS_WITH_ALL) ||
|
||||||
|
T_OP_EXISTS == expr->get_expr_type() ||
|
||||||
|
T_OP_NOT_EXISTS == expr->get_expr_type() ||
|
||||||
|
expr->has_hierarchical_query_flag() ||
|
||||||
!expr->has_flag(CNT_SUB_QUERY)) {
|
!expr->has_flag(CNT_SUB_QUERY)) {
|
||||||
} else if (!expr->is_query_ref_expr()) {
|
} else if (!expr->is_query_ref_expr()) {
|
||||||
for (int64_t i = 0; OB_SUCC(ret) && i < expr->get_param_count(); ++i) {
|
for (int64_t i = 0; OB_SUCC(ret) && i < expr->get_param_count(); ++i) {
|
||||||
|
|||||||
Reference in New Issue
Block a user