fix miss ret problem

This commit is contained in:
chaser-ch 2024-07-11 14:22:30 +00:00 committed by ob-robot
parent bb0c7fdc29
commit 84d44176d9
2 changed files with 4 additions and 1 deletions

View File

@ -744,7 +744,8 @@ public:
OB_INLINE bool is_valid() const
{
return column_cnt_ > 0 && rowkey_cnt_ >= 0;
return column_cnt_ > 0 && rowkey_cnt_ >= 0
&& ObColClusterInfoMask::is_valid_offset_type((ObColClusterInfoMask::BYTES_LEN)offset_type_);
}
static const int64_t ROW_HEADER_VERSION_1 = 0;

View File

@ -301,8 +301,10 @@ int ObDatumRow::reserve(const int64_t capacity, const bool keep_data)
void *buf = nullptr;
if (OB_UNLIKELY(!is_valid())) {
ret = OB_NOT_INIT;
STORAGE_LOG(WARN, "ObDatumRow is not inited", K(ret), K(*this));
} else if (OB_UNLIKELY(capacity <= 0 || capacity > 2 * OB_USER_ROW_MAX_COLUMNS_COUNT)) {
ret = OB_INVALID_ARGUMENT;
STORAGE_LOG(WARN, "Invalid argument to reserve datum row", K(ret), K(capacity));
} else if (capacity <= get_capacity()) {
// skip