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.
Issue Number: close#31569
Fix fe connection hang after too high qps
After fix, the third SQL will return error instead of hang:
ERROR 1203 (HY000): #42000Too many connections
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>
* [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>
```sql
select a, c, sum(sum(b)) over(partition by c order by c rows between unbounded preceding and current row)
from test_window_table2 group by grouping sets((a),( c)) having a > 1 order by 1,2,3;
```
for this kind of case:
sum(sum(col)) over, nereids has cannot find slot problem.
the output slot of repeat and aggregate is computed wrongly.
Only collecting the trival-agg in NormalizeRepeat can fix this problem.
Co-authored-by: feiniaofeiafei <moailing@selectdb.com>