1. Trim Schema Names: Adapted the system to remove trailing spaces from DB2 schema names, ensuring compatibility without affecting query operations.
2. XML Mapping: Implemented a feature to directly map XML types to String.
When ifnull or nvl funtion have only one parameter, nereids planner would throw an exception and go back to
original planner/ Original planner get secend parameter directly without check, so it return unexpected error message
This PR #23026 support the partition prune for hive table with `_HIVE_DEFAULT_PARTITION`,
but it will always select partition with `_HIVE_DEFAULT_PARTITION`.
This PR #31613 support null partition for olap table's list partition, so we can treat `_HIVE_DEFAULT_PARTITION`
as null partition of hive table.
So this PR change the partition prune logic
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.
* Test the unique model by modify a value type from BOOLEAN to other type
* Test the unique model by modify a key type from BOOLEAN to other type
* Test the unique model by modify a key type from BOOLEAN to other type
It supports predicate composite as following:
materialized view define
> select l_shipdate, o_orderdate, l_partkey, l_suppkey
> from lineitem_1
> left join orders_1
> on lineitem_1.l_orderkey = orders_1.o_orderkey
> where l_shipdate > '2023-10-19'
the query as following can be rewritten by the materialized view above
> select l_shipdate, o_orderdate, l_partkey, l_suppkey
> from lineitem_1
> left join orders_1
> on lineitem_1.l_orderkey = orders_1.o_orderkey
> where l_shipdate > '2023-10-25'
When left join with no edge in outer side, we should add outer side to minimal require of left tables
Co-authored-by: libinfeng <libinfeng@selectdb.com>
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
```
* [Fix](nereids) Only rewrite the slots that appear both in trival-agg func and grouping sets
* [Fix](nereids) Only rewrite the slots that appear both in trival-agg func and grouping sets
---------
Co-authored-by: feiniaofeiafei <moailing@selectdb.com>