placeholder for fulltext parser name in query execution

This commit is contained in:
saltonz 2024-03-26 06:46:03 +00:00 committed by ob-robot
parent 611b488e79
commit 4bf0f91697
2 changed files with 21 additions and 1 deletions

View File

@ -622,6 +622,7 @@ ObTableParam::ObTableParam(ObIAllocator &allocator)
use_lob_locator_(false),
rowid_version_(ObURowIDData::INVALID_ROWID_VERSION),
rowid_projector_(allocator),
parser_name_(),
enable_lob_locator_v2_(false),
is_spatial_index_(false),
is_fts_index_(false)
@ -647,6 +648,7 @@ void ObTableParam::reset()
use_lob_locator_ = false;
rowid_version_ = ObURowIDData::INVALID_ROWID_VERSION;
rowid_projector_.reset();
parser_name_.reset();
main_read_info_.reset();
enable_lob_locator_v2_ = false;
is_spatial_index_ = false;
@ -683,6 +685,9 @@ OB_DEF_SERIALIZE(ObTableParam)
}
}
}
if (OB_SUCC(ret) && is_fts_index_) {
OB_UNIS_ENCODE(parser_name_);
}
return ret;
}
@ -753,6 +758,15 @@ OB_DEF_DESERIALIZE(ObTableParam)
}
}
}
if (OB_SUCC(ret) && is_fts_index_ && pos < data_len) {
ObString tmp_parser_name;
if (OB_FAIL(tmp_parser_name.deserialize(buf, data_len, pos))) {
LOG_WARN("Fail to deserialize parser name", K(ret));
} else if (OB_FAIL(ob_write_string(allocator_, tmp_parser_name, parser_name_))) {
LOG_WARN("Fail to ccopy parser name ", K(ret), K_(parser_name), K(tmp_parser_name));
}
}
return ret;
}
@ -785,6 +799,9 @@ OB_DEF_SERIALIZE_SIZE(ObTableParam)
}
}
}
if (OB_SUCC(ret) && is_fts_index_) {
OB_UNIS_ADD_LEN(parser_name_);
}
return len;
}
@ -1480,7 +1497,9 @@ int64_t ObTableParam::to_string(char *buf, const int64_t buf_len) const
K_(use_lob_locator),
K_(rowid_version),
K_(rowid_projector),
K_(enable_lob_locator_v2));
K_(enable_lob_locator_v2),
K_(is_fts_index),
K_(parser_name));
J_OBJ_END();
return pos;

View File

@ -391,6 +391,7 @@ private:
bool use_lob_locator_;
int64_t rowid_version_;
Projector rowid_projector_;
ObString parser_name_;
// if min cluster version < 4.1 use lob locator v1, else use lob locator v2.
// use enable_lob_locator_v2_ to avoid locator type sudden change while table scan is running
bool enable_lob_locator_v2_;