[CP] [FEAT MERGE] outrow lob performamce optimization

This commit is contained in:
shadowao
2024-06-17 18:21:29 +00:00
committed by ob-robot
parent 8c7d2a0f03
commit b195f645cf
43 changed files with 3069 additions and 1901 deletions

View File

@ -976,6 +976,14 @@ public:
(loc->is_valid()) && (loc->is_mem_loc_ == 0);
}
OB_INLINE bool is_inrow_disk_lob_locator() const
{
// Notice: should be called only when ptr_ is not null
ObLobCommon *loc = reinterpret_cast<ObLobCommon *>(ptr_);
return has_lob_header_ && (loc != nullptr) && (size_ >= sizeof(ObLobCommon)) &&
(loc->is_valid()) && (loc->is_mem_loc_ == 0) && (loc->in_row_);
}
OB_INLINE bool is_valid(bool is_assert = true) const
{
bool bret = true;

View File

@ -1804,6 +1804,10 @@ const int64_t OB_MIN_LOB_INROW_THRESHOLD = 0; // 0 means disable inrow lob
const int64_t OB_MAX_LOB_INROW_THRESHOLD = OB_MAX_USER_ROW_LENGTH / 2; // 1.5M/2
const int64_t OB_DEFAULT_LOB_INROW_THRESHOLD = 4096; // 4K
// this's used for ob_default_lob_inrow_threshold system variable
// used to set the default inrow threshold for newly created tables
const int64_t OB_SYS_VAR_DEFAULT_LOB_INROW_THRESHOLD = 8192; // 8K
const int64_t OB_MAX_CAST_CHAR_VARCHAR_LENGTH = 512;
const int64_t OB_MAX_CAST_CHAR_TEXT_LENGTH = 16383;
const int64_t OB_MAX_CAST_CHAR_MEDIUMTEXT_LENGTH = 4194303;