[FEAT MERGE] Support exchanging partition between partitioned table A and non-partitioned table B.

Co-authored-by: fkuner <784819644@qq.com>
This commit is contained in:
791065426@qq.com
2024-04-16 07:19:48 +00:00
committed by ob-robot
parent 2c510c6538
commit 1ee64365ea
46 changed files with 4105 additions and 102 deletions

View File

@ -70,6 +70,14 @@ DEFINE_GET_SERIALIZE_SIZE(ObRowkeyColumn)
len += serialization::encoded_length_vi32(order_);
return len;
}
bool ObRowkeyColumn::is_equal_except_column_id(const ObRowkeyColumn &other) const
{
return length_ == other.length_ &&
type_ == other.type_ &&
order_ == other.order_ &&
fulltext_flag_ == other.fulltext_flag_ &&
spatial_flag_ == other.spatial_flag_;
}
ObRowkeyColumn& ObRowkeyColumn::operator=(const ObRowkeyColumn &other)
{
@ -85,12 +93,8 @@ ObRowkeyColumn& ObRowkeyColumn::operator=(const ObRowkeyColumn &other)
bool ObRowkeyColumn::operator==(const ObRowkeyColumn &other) const
{
return
this->length_ == other.length_ &&
this->column_id_ == other.column_id_ &&
this->type_ == other.type_ &&
this->order_ == other.order_ &&
this->fulltext_flag_ == other.fulltext_flag_ &&
this->spatial_flag_ == other.spatial_flag_;
this->is_equal_except_column_id(other);
}
ObRowkeyInfo::ObRowkeyInfo()

View File

@ -36,6 +36,7 @@ struct ObRowkeyColumn
return (ObURowIDType == type_.get_type() || length_ >= 0) && common::OB_INVALID_ID != column_id_
&& common::ob_is_valid_obj_type(static_cast<ObObjType>(type_.get_type()));
}
bool is_equal_except_column_id(const ObRowkeyColumn &other) const;
ObRowkeyColumn &operator=(const ObRowkeyColumn &other);
bool operator==(const ObRowkeyColumn &other) const;
const ObObjMeta get_meta_type() const { return type_; }