## Proposed changes
https://github.com/apache/doris/pull/39358
```
CREATE TABLE testdb (
K1 BIGINT,
K2 FLOAT
) properties("replication_num" = "1");
insert into testdb values(1,1.1);
select mod(k1,k2) from testdb;
mysql [test10]>select mod(k1,k2) from testdb;
ERROR 1105 (HY000): errCode = 2, detailMessage = (127.0.0.1)[INTERNAL_ERROR]Function mod get failed, expr is VectorizedFnCall[mod](arguments=K1, K2,return=Nullable(Float32)) and return type is Nullable(Float32).
```
<!--Describe your changes.-->
## Proposed changes
Issue Number: close #xxx
<!--Describe your changes.-->
## Proposed changes
In method `AbstractMaterializedViewRule#isMaterializationValid` Should
add `LOG.isDebugEnabled()` before print debug log. Because
`Plan#treeString` in debug log is performance consume.
## Proposed changes
pr: https://github.com/apache/doris/pull/39914
commitId: 45ddb8ce
## Proposed changes
Issue Number: close #xxx
add testcases like:
```groovy
qt_notnull1 "select covar_samp(non_nullable(x), non_nullable(y)) from test_covar_samp"
qt_notnull2 "select covar_samp(x, non_nullable(y)) from test_covar_samp"
qt_notnull3 "select covar_samp(non_nullable(x), y) from test_covar_samp"
```
before they will all coredump in 2.1
1. fix the return type dcheck error:
```
mysql [test]>select (json_replace(a, '$.fparam.nested_2', "qwe")) from json_table_2 limit 1;
ERROR 1105 (HY000): errCode = 2, detailMessage = (10.16.10.8)[INTERNAL_ERROR]Function json_replace get failed, expr is VectorizedFnCall[json_replace](arguments=a, String, String, String,return=Nullable(String)) and return type is Nullable(String).
```
2. improve the json_replace/json_insert/json_set function execute of not
convert const column, test about could faster 1s on 1000w table rows
## Proposed changes
Issue Number: close #xxx
<!--Describe your changes.-->
If broker load or stream load task execute in one table that is
restoring data, load task will failed with Exception.
Exception info :"Table [xxx] is under restore" or "Table [xxx] is in
restore process, can't load into it".
But mostly restoreJob only effects some partitions in this table, not
all of them, so that the other partitions still need to load data
successfully.
To achieve this goal, before checking olap table state, check partition
state first.
cherry pick from master branch, pr has been merged:
https://github.com/apache/doris/pull/39595
Co-authored-by: shenshoucheng <shenshoucheng@jd.com>
Cherry-pick #39909
The field partition ID of DropPartitionInfo was added in PR:
apache/doris#37196, the old version doesn't contain this field so it
will be null.
Cherry-pick #37412, #39855
Previously, during restore, the database name in the CREATE VIEW
statement was not modified, causing the restored view to be unviewable
with the SHOW VIEW command. This PR retains the original cluster's
database name in the BackupMeta and manually replaces it with the new
cluster's database name in the CREATE VIEW statement during restore.
cherry-pick: #39113
When use hint in wrong position or use unsupport hint, use channel(2) to
filter it out
## Proposed changes
Issue Number: close #xxx
<!--Describe your changes.-->
## Proposed changes
fix wrong order of field 27 and 28 in `TCreateTabletReq` thrift
introduced by #32418 and 0cde0cbf19011bc8d421add4734d7cd57308973f.
`TCreateTabletReq` is used for creating tablet, so this PR will fix
problem creating tablet when upgrading 2.0.x -> 2.1.4/2.1.5 or
2.1.4/2.1.5 -> 3.0.x, BUT will cause problem creating tablet when
upgrading 2.1.4/2.1.5 -> 2.1.6+.
master and branch-2.0
```
27: optional i64 time_series_compaction_level_threshold = 1
28: optional TInvertedIndexStorageFormat inverted_index_storage_format = TInvertedIndexStorageFormat.V1
```
branch-2.1 (affects 2.1.4 and 2.1.5)
```
27: optional TInvertedIndexStorageFormat inverted_index_storage_format = TInvertedIndexStorageFormat.V1
28: optional i64 time_series_compaction_level_threshold = 1
```