[CP][BUGFIX] fix array with rich format should dispatch after fill mem lob locator

This commit is contained in:
skylhd 2024-11-20 18:19:32 +00:00 committed by ob-robot
parent 190b8c20db
commit eeb3ff0284
4 changed files with 7 additions and 3 deletions

View File

@ -2007,7 +2007,7 @@ int ObMicroBlockCSDecoder::get_rows(
expr,
eval_ctx))) {
LOG_WARN("Failed pad on rich format columns", K(ret), K(expr));
} else if (need_dispatch_collection
} else if (need_dispatch_collection && !has_lob_out_row()
&& OB_FAIL(storage::distribute_attrs_on_rich_format_columns(row_cap, vec_offset, expr, eval_ctx))) {
LOG_WARN("failed to dispatch collection cells", K(ret), K(i), K(row_cap), K(vec_offset));
}

View File

@ -2350,7 +2350,7 @@ int ObMicroBlockDecoder::get_rows(
expr,
eval_ctx))) {
LOG_WARN("Failed pad on rich format columns", K(ret), K(expr));
} else if (need_dispatch_collection
} else if (need_dispatch_collection && !has_lob_out_row()
&& OB_FAIL(storage::distribute_attrs_on_rich_format_columns(row_cap, vec_offset, expr, eval_ctx))) {
LOG_WARN("failed to dispatch collection cells", K(ret), K(i), K(row_cap), K(vec_offset));
}

View File

@ -999,7 +999,7 @@ int ObMicroBlockReader::get_rows(
eval_ctx))) {
LOG_WARN("Failed pad on rich format columns", K(ret), KPC(exprs.at(i)));
}
} else if (need_dispatch_collection
} else if (need_dispatch_collection && !has_lob_out_row()
&& OB_FAIL(storage::distribute_attrs_on_rich_format_columns(row_cap, vector_offset, *(exprs.at(i)), eval_ctx))) {
LOG_WARN("failed to dispatch collection cells", K(ret), K(i), K(row_cap), K(vector_offset));
}

View File

@ -478,6 +478,10 @@ int fill_exprs_lob_locator(
}
}
}
if (OB_SUCC(ret) && col_param.get_meta_type().is_collection_sql_type() &&
OB_FAIL(storage::distribute_attrs_on_rich_format_columns(row_cap, vector_offset, expr, eval_ctx))) {
STORAGE_LOG(WARN, "failed to dispatch collection cells", K(ret), K(row_cap), K(vector_offset));
}
}
return ret;
}