[CP] fix convert co with incomplete column group in storage schema
This commit is contained in:
@ -1431,8 +1431,9 @@ int ObBasicTabletMergeCtx::get_convert_compaction_info()
|
||||
LOG_WARN("failed to alloc storage schema", K(ret));
|
||||
} else if (schema_on_tablet->is_column_info_simplified() && OB_FAIL(param.init(*tablet))) {
|
||||
LOG_WARN("failed to init param", K(ret), KPC(tablet));
|
||||
} else if (FALSE_IT(generate_cs_replica_cg_array = (schema_on_tablet->is_row_store() || schema_on_tablet->is_column_info_simplified()))) {
|
||||
// storage schema is column store but simplifed, it should become not simplified before it can be used for merge
|
||||
} else if (FALSE_IT(generate_cs_replica_cg_array = (schema_on_tablet->is_row_store() || schema_on_tablet->is_column_info_simplified() || schema_on_tablet->need_generate_cg_array()))) {
|
||||
// 1. storage schema is column store but simplifed, it should become not simplified before it can be used for merge
|
||||
// 2. if need generate cg array (column group cnt <= column cnt), need generate cg array from the latest column array
|
||||
} else if (OB_FAIL(schema_for_merge->init(mem_ctx_.get_allocator(), *schema_on_tablet,
|
||||
false /*skip_column_info*/, nullptr /*column_group_schema*/, generate_cs_replica_cg_array,
|
||||
schema_on_tablet->is_column_info_simplified() ? ¶m : nullptr))) {
|
||||
|
@ -244,6 +244,7 @@ public:
|
||||
inline int64_t get_column_group_count() const { return column_group_array_.count(); }
|
||||
inline int64_t has_all_column_group() const { return has_all_column_group_; }
|
||||
inline bool is_row_store() const { return column_group_array_.count() <= 1; }
|
||||
inline bool need_generate_cg_array() const { return column_group_array_.count() <= column_array_.count(); }
|
||||
virtual inline int64_t get_pctfree() const override { return pctfree_; }
|
||||
virtual inline int64_t get_progressive_merge_round() const override { return progressive_merge_round_; }
|
||||
virtual inline int64_t get_progressive_merge_num() const override { return progressive_merge_num_; }
|
||||
|
Reference in New Issue
Block a user