Commit Graph

8289 Commits

Author SHA1 Message Date
f0852f2ac9 [fix](fe)fix bug if left table is empty and there are multiple right tables need do bucket shuffle to left side (#19169)
* [fix](fe)fix bug if left table is empty and there are multiple right tables need do bucket shuffle to left side

* fix bug

* fix test cases
2023-04-28 15:06:38 +08:00
Pxl
ec517a53a8 [Chore](build) upgrade clang-format version to 16 && move thrift to fe-common (#19155)
upgrade clang-format version to 16
move thrift to fe-common
fix core dump on pipeline engine when operator canceled and not prepared
2023-04-28 14:14:51 +08:00
5e9c0c3500 [Enhancement](data-type) add FE config to prohibit create date and decimalv2 type (#19077)
* prohibits date and decimal type

* add config in test
2023-04-28 11:31:51 +08:00
86be6d27e7 [Enhencement](Cancel Export) Cancel export support to cancel IN_QUEUE state export job (#19058) 2023-04-28 09:27:23 +08:00
a35fc02bd4 [enhance](Nereids): handle project of OuterJoin in Reorder. (#19137) 2023-04-27 22:17:03 +08:00
0f895640d9 [opt](Nereids)(WIP) optimize agg and window normalization step 1 (#19168)
1. move SimplifyAggGroupBy behind NormalizeAggregate
2. fix project to agg rule for the project containing window expression
2023-04-27 21:42:23 +08:00
7cf1ffa0b4 [fix](planner) ctas should not clone queryStmt after parse (#19114)
Remove redundant clone in the constructor of CTAS stmt

Error message:

```
NullPointerException, msg: java.lang.NullPointerException: null
```
2023-04-27 20:09:11 +08:00
8288494e8e [fix](planner) AnalyticEvalNode should call child's getOutputTupleIds method to get the correct output tuple id (#19163) 2023-04-27 20:04:51 +08:00
f3f0496b99 [feature](multi-catalog) support oceanbase jdbc catalog and jdbc external table (#18943)
* [feature](multi-catalog) support oceanbase jdbc catalog and jdbc external table
2023-04-27 17:14:48 +08:00
7d89b57706 [enhancement](stats) Optimize stats pre-load logic #19138
1. Don't do pre-load until stats table gets ready
2. Don't put pre-loaded unknown stats to cache
2023-04-27 16:01:31 +08:00
30f2f67ca1 [fix](Hive bitmap udf) NPE error when mapreduce task only has map task (#19140)
Issue Number: close #17539
2023-04-27 14:52:26 +08:00
9de2ec5aa5 [fix](Nereids) topn two phase read do not process child correct (#19136) 2023-04-27 13:23:15 +08:00
484612a0af [opt](statistics) optimize Incremental statistics collection and statistics cleaning (#18971)
This pr mainly optimizes the following items:
- the collection of statistics: clear up invalid historical statistics before collecting them, so as not to affect the final table statistics.
- the incremental collection of statistics: in the case of incremental collection, only the corresponding partition statistics need to be collected.

TODO: Supports incremental collection of materialized view statistics.
2023-04-27 11:51:47 +08:00
ab8adea39f [fix](load-profile) fix show load profile return emoty result (#19125)
Fix 2 bugs of show load profile:

For broker load, the second level should be the sub task' id.
show load profile stmt should be forwarded to master FE to execute.
2023-04-27 11:05:00 +08:00
908518915d [Feature](resource-group) Support alter resource group (#18990) 2023-04-27 10:48:17 +08:00
f9f5bbde6f [feature-wip](duplicate_no_keys) add create duplicate table without keys (#18758) 2023-04-27 09:59:56 +08:00
84d040bdbf [fix](heartbeat) fix update BE last start time (#18962)
Sometimes the LastStartTime info in show backends result is unchanged even if BE restart.
This PR fix it
2023-04-27 09:59:04 +08:00
20395ce501 [feature](array_function): add support for array_cum_sum function (#18231) 2023-04-27 09:57:13 +08:00
32fa9e09f4 [feature](Nereids): enable OuterJoinAssoc (#19111) 2023-04-27 09:50:15 +08:00
b5140bc9b4 [fix](fe)hll_raw_agg function's return type should be always not nullable (#19115) 2023-04-27 08:00:49 +08:00
ae252d1cfa [opt](Nereids) simplify decimalv3 comparison predicate (#18975)
1. fix constant folding failed on decimalv3 type
2. support reduce decimalv3 literal precision in comparison predicate
3. support fe config enable_decimal_conversion
2023-04-26 23:57:09 +08:00
925efc1902 [bug](map-type)fix some bugs in map and map element function (#18935)
fix some bugs in map and map element function.
2023-04-26 22:10:15 +08:00
aacc075f09 [fix](planner) SetOperationNode's slots' nullability calculation is wrong (#19108)
SetOperationNode's slots' nullability should consider slots info from all children, even some children have EmptyResultSet
2023-04-26 21:18:37 +08:00
55d7c5e147 [fix](nereids) column prune should use slots from children (#19112)
the slots' nullable property may different between parent and children. So column prune should always use slots of children
2023-04-26 21:10:29 +08:00
aabcab9dbe [Improvement](runtime filter) Improve merge phase (#18828) 2023-04-26 21:01:20 +08:00
b3b261e052 [fix](colocate) prohibit dead backend as destination backend in colocate balance (#18970) 2023-04-26 20:09:01 +08:00
e83d0d9b6a [opt](Nereids) forbid some bad pattern aggregate in AggregateStrategy (#18877)
since we cannot do stats derive and cost estimate on agg very good.
this PR remove some aggregate pattern that usually not good.
1. one stage agg after exchange. this pattern is good only when process very few rows.
2. three stage distinct agg with gather middle merge.
2023-04-26 20:01:35 +08:00
4a6e65c172 [Fix](Planner) fix throw NPE when parse error (#19097)
some syntax error will cause unclear msg: NPE,because symbol.value is null and cause NPE when call toLowerCase(), we fix it by check if the value is null and return early.
2023-04-26 19:19:55 +08:00
a32fa219ec Revert "[Enhancement](compaction) stop tablet compaction when table dropped (#18702)" (#19086)
This reverts commit 296b0c92f702675b92eee3c8af219f3862802fb2.

we can use drop table force stmt to fast drop tablets, no need to check tablet dropped state in every report

Co-authored-by: caiconghui1 <caiconghui1@jd.com>
2023-04-26 18:27:46 +08:00
0c60f0e266 fe conf action spec item (#18916) 2023-04-26 17:54:00 +08:00
59d8aa5a6f [Fix](multi catalog)Fix Hive partition path doesn't contain partition value case bug (#19053)
Hive support create partition with a specific location. In this case, the file path for the create partition may not contain the partition name and value. Which will cause Doris fail to query the the hive partition.
This pr is to fix this bug.
2023-04-26 17:18:51 +08:00
Pxl
60cda12e57 [Bug](pipeline-engine) fix hang on insert into select when enable pipeline engine (#19075) 2023-04-26 16:50:19 +08:00
45874bbf62 [refactor](fs)(step2)separate the storage and filesystem methods (#19012)
Co-authored-by: jinzhe <jinzhe@selectdb.com>
2023-04-26 15:06:31 +08:00
6356146274 [Fix](Nereids) fix nereids fold failed by be return null exception (#19013)
```sql
select if(
    date_format(CONCAT_WS('', '9999-07', '-26'), '%Y-%m') = DATE_FORMAT(curdate(), '%Y-%m'),
    curdate(),
    DATE_FORMAT(DATE_SUB(month_ceil(CONCAT_WS('', '9999-07', '-26')), 1), '%Y-%m-%d')
) 
```
return null when construct new children of if(), we find that the the more than "0" index in result map doesn't replace the const map caused by incorrect value-assignment in code.
2023-04-26 14:57:45 +08:00
39cf393874 [fix](stats) Fix potential NPE when loading Histogram (#19078)
Return Histogram.UNKNOWN as default when error occurred during loding
2023-04-26 14:24:01 +08:00
d3a0b94602 [feature](stats) Support to kill analyze #18901
1. Report error if submit analyze jobs when stats table is not available
2. Support kill analyze
3. Support cancel sync analyze
2023-04-26 14:23:44 +08:00
50d9f35f63 [fix](planner) NPE when use ctas to create table (#18973)
This is caused by expr in orderbyelements is not analyzed.
2023-04-26 14:12:28 +08:00
7a786c3b09 [fix](Nerieds) fix bucket shuffle plan and cost model bugs and add new function add_months (#18836)
fix
1. fix varchar(1) compare to varchar(2) bug
2. fix bucket shuffle join's cost model bug

feature:
1. support add_months function
2023-04-26 13:52:44 +08:00
270be55c4c [feat](stats) Add option to config file to enable or disable analyze function (#19062)
Add this option in conf:

    /**
     * If set false, user couldn't submit analyze SQL and FE won't allocate any related resources.
     */
    @ConfField
    public static boolean enable_stats = true;

It will be checked during analyze of analyze related stmt and init analyze manager
2023-04-26 13:37:08 +08:00
aa88083c1e [fix](Nereids) dead loop in FillUpMissingSlots (#18902)
FillUpMissingSlots don't handle some cornel case, sometime we don't need fillup, we should return null
2023-04-26 13:31:51 +08:00
a7773d16d6 [fix](Nereids): UT shouldn't contains slotId (#19082) 2023-04-26 13:23:21 +08:00
1c8b70a48c [refactor](config) Do not let set enable_vectorized_engine throw an error (#19002)
* update

* Update fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java

Co-authored-by: Mingyu Chen <morningman.cmy@gmail.com>

---------

Co-authored-by: Mingyu Chen <morningman.cmy@gmail.com>
2023-04-26 12:03:32 +08:00
8864266a42 [fix](Jdbc Catalog) fix Druid Pool parameter and set testWhileIdle = true (#19049)
Set `testWhileIdle` for the druid pool to true
2023-04-26 11:44:45 +08:00
d037938a4c [vectorzied](function) fix year_floor get result is incorrectly (#19006) 2023-04-26 11:39:22 +08:00
c993964a88 [Bug](delete) fix the delete ignore char case (#18714) 2023-04-26 07:30:44 +08:00
8ea69ca11c [refactor](nereids) do not use in_filter in pipeline mode (#19028)
1. in pipeline in_or_bloom filter replaced by bloom filter
2. do not set broadcast row limit
2023-04-25 19:02:12 +08:00
61b7a52444 [Enhancement](multi-catalogs) Use decimal V3 type in multi-catalogs module. (#18926)
1. Use decimal V3 type in JDBC and Iceberg tables.
2. Fix hdfs TVF decimal V3 type and regression test.
2023-04-25 14:49:40 +08:00
a4a85f2476 [feat](stats) Return job id for async analyze stmt (#18800)
1. Return job id from async analysis
2. Sync analysis jobs don't save to analysis_jobs anymore
2023-04-25 14:43:54 +08:00
39d66ca2c6 [fix](parquet) hasn't initialize select vector when number of nested values equals zero (#18953)
Fix bug when reading array type in parquet file:
```
ERROR 1105 (HY000): errCode = 2, detailMessage = [INTERNAL_ERROR]Read parquet file xxx failed,
reason = [IO_ERROR]Decode too many values in current page
```
When reading normal columns, `ScalarColumnReader::_read_values` still calls `ColumnSelectVector::set_run_length_null_map` to initialize select vector, but `ScalarColumnReader::_read_nested_column` hasn't do this, making the number of values wrong.
The situation where this error occurs is particularly extreme: The column pages have remaining values to be read,
but all of them are null values at ancestor level, so there's no actual read operation, just skipping null values at ancestor level.
2023-04-25 14:21:33 +08:00
a836a6a4fe [refactor](multi catalog)Refactor FileQueryScanNode init and finalize mothods(#18954)
Refactor FileQueryScanNode init and finalize methods.
Handle schema related initialization in init method, handle scan range generation in finalize method.
2023-04-25 11:18:21 +08:00