[CP] to issue<2024111500105126281>:fix trigger execute issue

This commit is contained in:
hanr881 2024-11-25 14:18:32 +00:00 committed by ob-robot
parent f74504d79a
commit dcb37f4102
2 changed files with 14 additions and 7 deletions

View File

@ -81,7 +81,7 @@ int PCVPlSchemaObj::deep_copy_column_infos(const ObTableSchema *schema)
int64_t real_column_cnt = 0;
for (; OB_SUCC(ret) && cs_iter != cs_iter_end; cs_iter++) {
const ObColumnSchemaV2 &column_schema = **cs_iter;
if (!(column_schema.is_hidden() || column_schema.is_invisible_column())) {
if (!column_schema.is_hidden()) {
real_column_cnt++;
}
}
@ -97,7 +97,7 @@ int PCVPlSchemaObj::deep_copy_column_infos(const ObTableSchema *schema)
cs_iter_end = schema->column_end();
for (; OB_SUCC(ret) && cs_iter != cs_iter_end; cs_iter++) {
const ObColumnSchemaV2 &column_schema = **cs_iter;
if (column_schema.is_hidden() || column_schema.is_invisible_column()) {
if (column_schema.is_hidden()) {
// do nothing
} else {
if (nullptr == (obj_buf = inner_alloc_->alloc(sizeof(ObPLTableColumnInfo)))) {
@ -110,6 +110,7 @@ int PCVPlSchemaObj::deep_copy_column_infos(const ObTableSchema *schema)
column_info->meta_type_ = column_schema.get_meta_type();
column_info->charset_type_ = column_schema.get_charset_type();
column_info->accuracy_ = column_schema.get_accuracy();
column_info->is_invisible_col_ = column_schema.is_invisible_column();
OZ (column_info->deep_copy_type_info(column_schema.get_extended_type_info()));
if (OB_SUCC(ret)) {
@ -415,13 +416,14 @@ int ObPLObjectValue::obtain_new_column_infos(share::schema::ObSchemaGetterGuard
ObTableSchema::const_column_iterator cs_iter_end = table_schema->column_end();
for (; OB_SUCC(ret) && cs_iter != cs_iter_end; cs_iter++) {
const ObColumnSchemaV2 &column_schema = **cs_iter;
if (column_schema.is_hidden() || column_schema.is_invisible_column()) {
if (column_schema.is_hidden()) {
// do nothing
} else {
column_info.column_id_ = column_schema.get_column_id();
column_info.meta_type_ = column_schema.get_meta_type();
column_info.charset_type_ = column_schema.get_charset_type();
column_info.accuracy_ = column_schema.get_accuracy();
column_info.is_invisible_col_ = column_schema.is_invisible_column();
OZ (column_info.type_info_.assign(column_schema.get_extended_type_info()));
OX (column_info.column_name_ = column_schema.get_column_name_str());
OZ (column_infos.push_back(column_info));

View File

@ -43,6 +43,7 @@ struct ObPLTableColumnInfo
common::ObCharsetType charset_type_;
common::ObString column_name_;
common::ObArray<common::ObString> type_info_;//used for enum and set
bool is_invisible_col_;
ObPLTableColumnInfo():
inner_alloc_(nullptr),
@ -51,7 +52,8 @@ struct ObPLTableColumnInfo
accuracy_(),
charset_type_(CHARSET_INVALID),
column_name_(),
type_info_()
type_info_(),
is_invisible_col_()
{}
explicit ObPLTableColumnInfo(ObIAllocator *alloc):
@ -61,7 +63,8 @@ struct ObPLTableColumnInfo
accuracy_(),
charset_type_(CHARSET_INVALID),
column_name_(),
type_info_()
type_info_(),
is_invisible_col_()
{}
bool operator==(const ObPLTableColumnInfo &other) const
@ -78,7 +81,8 @@ struct ObPLTableColumnInfo
meta_type_ == other.meta_type_ &&
accuracy_ == other.accuracy_ &&
charset_type_ == other.charset_type_ &&
column_name_ == other.column_name_;
column_name_ == other.column_name_ &&
is_invisible_col_ == other.is_invisible_col_;
}
return is_same;
}
@ -99,7 +103,8 @@ struct ObPLTableColumnInfo
K_(meta_type),
K_(accuracy),
K_(charset_type),
K_(column_name));
K_(column_name),
K_(is_invisible_col));
};
//todo:when PCVSchemaObj has been moved to appropriate header file, use PCVSchemaObj to instead of PCVPlSchemaObj