[FEAT MERGE] OB Support XMLType

Co-authored-by: simonjoylet <simonjoylet@gmail.com>
This commit is contained in:
obdev
2023-04-28 03:45:10 +00:00
committed by ob-robot
parent 58bb3d34b7
commit 17abf2818a
405 changed files with 18839 additions and 1573 deletions

View File

@ -1435,7 +1435,9 @@ int ObDelUpdLogPlan::prune_virtual_column(IndexDMLInfo &index_dml_info)
}
for (int64_t i = 0; OB_SUCC(ret) && i < index_dml_info.column_exprs_.count(); ++i) {
const ObColumnRefRawExpr *col_expr = index_dml_info.column_exprs_.at(i);
if (lib::is_oracle_mode() && col_expr->is_virtual_generated_column() && !optimizer_context_.has_trigger()) {
if (lib::is_oracle_mode() &&
(col_expr->is_virtual_generated_column() || col_expr->is_xml_column()) && // udt/xml column need remove
!optimizer_context_.has_trigger()) {
//why need to exclude trigger here?
//see the issue:
//key column means it is the rowkey column or part key column or index column
@ -1455,8 +1457,9 @@ int ObDelUpdLogPlan::prune_virtual_column(IndexDMLInfo &index_dml_info)
LOG_WARN("check column whether is key failed", K(ret));
} else if (is_key_column) {
need_remove = false;
} else if (col_expr->is_not_null_for_write()) {
} else if (col_expr->is_not_null_for_write() && !col_expr->is_xml_column()) {
//has not null constraint on this column, need to check
// xmltype column has not null constraint on this column, still need remove
need_remove = false;
}
for (int64_t j = 0; OB_SUCC(ret) && need_remove && j < index_dml_info.ck_cst_exprs_.count(); ++j) {