[Fix](Variant) fix inverted index lost due to wrong column unique id (#31992)
This commit is contained in:
@ -1225,7 +1225,7 @@ const TabletColumn& TabletSchema::column(const std::string& field_name) const {
|
||||
std::vector<const TabletIndex*> TabletSchema::get_indexes_for_column(
|
||||
const TabletColumn& col) const {
|
||||
std::vector<const TabletIndex*> indexes_for_column;
|
||||
int32_t col_unique_id = col.unique_id();
|
||||
int32_t col_unique_id = col.is_extracted_column() ? col.parent_unique_id() : col.unique_id();
|
||||
const std::string& suffix_path =
|
||||
col.has_path_info() ? escape_for_path_name(col.path_info_ptr()->get_path()) : "";
|
||||
// TODO use more efficient impl
|
||||
@ -1242,7 +1242,7 @@ std::vector<const TabletIndex*> TabletSchema::get_indexes_for_column(
|
||||
|
||||
bool TabletSchema::has_inverted_index(const TabletColumn& col) const {
|
||||
// TODO use more efficient impl
|
||||
int32_t col_unique_id = col.unique_id();
|
||||
int32_t col_unique_id = col.is_extracted_column() ? col.parent_unique_id() : col.unique_id();
|
||||
const std::string& suffix_path =
|
||||
col.has_path_info() ? escape_for_path_name(col.path_info_ptr()->get_path()) : "";
|
||||
for (size_t i = 0; i < _indexes.size(); i++) {
|
||||
@ -1299,7 +1299,7 @@ const TabletIndex* TabletSchema::get_inverted_index(int32_t col_unique_id,
|
||||
const TabletIndex* TabletSchema::get_inverted_index(const TabletColumn& col) const {
|
||||
// TODO use more efficient impl
|
||||
// Use parent id if unique not assigned, this could happend when accessing subcolumns of variants
|
||||
int32_t col_unique_id = col.unique_id() < 0 ? col.parent_unique_id() : col.unique_id();
|
||||
int32_t col_unique_id = col.is_extracted_column() ? col.parent_unique_id() : col.unique_id();
|
||||
const std::string& suffix_path =
|
||||
col.has_path_info() ? escape_for_path_name(col.path_info_ptr()->get_path()) : "";
|
||||
return get_inverted_index(col_unique_id, suffix_path);
|
||||
|
||||
Reference in New Issue
Block a user