[FTS][BUG.FIX] fix dml coredump && -4019 during building fts index

This commit is contained in:
Tyshawn
2025-02-24 04:18:46 +00:00
committed by ob-robot
parent 7e26051fce
commit 71a8867bf4
2 changed files with 5 additions and 2 deletions

View File

@ -423,8 +423,8 @@ int ObDomainIdUtils::check_has_domain_index(const void *table_schema, ObIArray<i
int64_t domain_type = ObDomainIDType::MAX;
uint64_t domain_tid = simple_index_infos.at(i).table_id_;
if (is_rowkey_doc_aux(simple_index_infos.at(i).index_type_)) {
for (int64_t i = 0; OB_SUCC(ret) && ObDomainIDType::MAX == domain_type; ++i) {
const ObIndexType index_type = simple_index_infos.at(i).index_type_;
for (int64_t j = 0; OB_SUCC(ret) && j < simple_index_infos.count(); ++j) {
const ObIndexType index_type = simple_index_infos.at(j).index_type_;
if (schema::is_fts_index(index_type) && !schema::is_rowkey_doc_aux(index_type)) {
domain_type = ObDomainIDType::DOC_ID; // only one
}

View File

@ -1121,6 +1121,9 @@ int ObDmlCgService::generate_scan_ctdef(ObLogInsert &op,
} else if (item->is_virtual_generated_column() && !item->is_xml_column() && !ObDomainIdUtils::is_domain_id_index_col_expr(item)) {
// do nothing.
need_push = false;
} else if (item->is_doc_id_column() && !has_exist_in_array(domain_types, (int64_t)ObDomainIdUtils::ObDomainIDType::DOC_ID)) {
// do nothing during building fts index.
need_push = false;
} else if (OB_FAIL(get_column_ref_base_cid(op, item, base_cid))) {
LOG_WARN("get base column id failed", K(ret), K(item));
} else if (OB_FAIL(tsc_col_ids.push_back(base_cid))) {