Problem:
When partially updating columns without specifying the auto-increment column, and the imported data contains new keys, an error stating the auto-increment column could not be found occurs.
Reason:
The logic for partial column updates does not account for new keys in auto-increment columns. Since auto-increment columns can be generated by the system, it's possible to omit this column data during import. However, partial column updates treat this as a regular column, expecting it to be nullable or have a default value for automatic filling, overlooking the fact that auto-increment columns can also be auto-filled. This oversight leads to the error.
Solution:
Incorporate a check for auto-increment columns into the partial column update logic, and include the logic for generating auto-increment column values in the process of completing partial updates.
When compaction, if some segments miss variant root, there is chance to get emtpy root variant.So add some defence
code in OlapColumnDataConvertorVariant to prevent from accessing null root
```
5# doris::vectorized::ColumnObject::Subcolumn::get_finalized_column_ptr() const at /mnt/ssd01/selectdb-doris-package/enterprise-core/be/src/vec/columns/column_object.cpp:556
6# doris::vectorized::OlapBlockDataConvertor::OlapColumnDataConvertorVariant::set_source_column(doris::vectorized::ColumnWithTypeAndName const&, unsigned long, unsigned long) at /mnt/ssd01/selectdb-doris-package/enterprise-core/be/src
/vec/olap/olap_data_convertor.cpp:1076
7# doris::vectorized::OlapBlockDataConvertor::set_source_content(doris::vectorized::Block const*, unsigned long, unsigned long) at /mnt/ssd01/selectdb-doris-package/enterprise-core/be/src/vec/olap/olap_data_convertor.cpp:207
8# doris::segment_v2::SegmentWriter::append_block(doris::vectorized::Block const*, unsigned long, unsigned long) at /mnt/ssd01/selectdb-doris-package/enterprise-core/be/src/olap/rowset/segment_v2/segment_writer.cpp:727
9# doris::VerticalBetaRowsetWriter::add_columns(doris::vectorized::Block const*, std::vector > const&, bool, unsigned int) at /mnt/ssd01/selectdb-doris-package/enterprise-core/be/src/olap/row
set/vertical_beta_rowset_writer.cpp:125
```