Commit Graph

14520 Commits

Author SHA1 Message Date
a5ef90dacc [enhancement](recover) support skipping missing version in select by session variable (#25654) 2023-11-02 20:01:51 +08:00
89cf828f03 [enhancement](udf) add the switch enable_java_udf to control the creation and use of java_udf. (#26213) 2023-11-02 19:33:17 +08:00
c46fa339d0 [feature](Nereids): make count() avaliable for all data type (#26180)
make count() avaliable for all data type
2023-11-02 17:20:24 +08:00
6828250207 [profile](refactor) Fix invalid shuffle profile (#26298) 2023-11-02 17:07:05 +08:00
dd8bcc831c [keyword](decimalv2) Add DecimalV2 keyword (#26283) 2023-11-02 16:27:12 +08:00
f1362e0d1e [fix](planner) Fix sample partition table (#25912)
In the past, two conditions needed to be met when sampling a partitioned table: 1. Data is evenly distributed between partitions; 2. Data is evenly distributed between buckets. Finally, the number of sampled rows in each partition and each bucket is the same.

Now, sampling will be proportional to the number of partitioned and bucketed rows.
2023-11-02 15:52:48 +08:00
3e9e8becc6 [fix](regression) Add auto-expired prefix for backup/restore cases (#26272) 2023-11-02 15:21:43 +08:00
Pxl
1f9fdac148 [Chore](case) adjust some mv regression test case (#26279)
adjust some mv regression test case
2023-11-02 14:17:24 +08:00
Pxl
3004dbbc78 [Bug](materialized-view) SelectMaterializedIndexWithAggregate do not … (#26192)
SelectMaterializedIndexWithAggregate do not change plan when match base index
2023-11-02 14:12:22 +08:00
3ce1bdae84 [Feature](Nereids) Add explain tree functionality. (#25446)
Add explain tree functionality which contains fragment ids for profile analysis.
```
mysql> explain tree select sum(l_orderkey) from lineitem, orders where l_orderkey = o_orderkey;
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Explain String(Nereids Planner)                                                                                                                                                                                   |
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| [414]:[414: ResultSink]||[Fragment: 0]||VRESULT SINK||   MYSQL_PROTOCAL||                                                                                                                                         |
| --[414]:[414: VAGGREGATE (merge finalize)]||[Fragment: 0]||cardinality=1||                                                                                                                                        |
| ----[411]:[411: VEXCHANGE]||[Fragment: 0]||offset: 0||                                                                                                                                                            |
| ------[411]:[411: DataStreamSink]||[Fragment: 1]||STREAM DATA SINK||  EXCHANGE ID: 411||  UNPARTITIONED                                                                                                           |
| --------[408]:[408: VAGGREGATE (update serialize)]||[Fragment: 1]||cardinality=1||                                                                                                                                |
| ----------[402]:[402: VHASH JOIN]||[Fragment: 1]||join op: INNER JOIN(PARTITIONED)[]||cardinality=593,132,346||                                                                                                   |
| ------------[392]:[392: VEXCHANGE]||[Fragment: 1]||offset: 0||                                                                                                                                                    |
| --------------[392]:[392: DataStreamSink]||[Fragment: 2]||STREAM DATA SINK||  EXCHANGE ID: 392||  HASH_PARTITIONED                                                                                                |
| ----------------[386]:[386: VHIVE_SCAN_NODE]||[Fragment: 2]||table: lineitem||inputSplitNum=144, totalFileSize=16632158739, scanRanges=144||partition=1/1||cardinality=600037902, numNodes=1||pushdown agg=NONE|| |
| ------------[399]:[399: VEXCHANGE]||[Fragment: 1]||offset: 0||                                                                                                                                                    |
| --------------[399]:[399: DataStreamSink]||[Fragment: 3]||STREAM DATA SINK||  EXCHANGE ID: 399||  HASH_PARTITIONED                                                                                                |
| ----------------[393]:[393: VHIVE_SCAN_NODE]||[Fragment: 3]||table: orders||inputSplitNum=48, totalFileSize=3984213353, scanRanges=48||partition=1/1||cardinality=150000000, numNodes=1||pushdown agg=NONE||      |
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
12 rows in set (0.04 sec)
```
2023-11-02 14:06:24 +08:00
fb622800aa [fix](mtmv)Compatible old mtmv metadata (#26193)
make sure user can upgrade from v2.0 to master
2023-11-02 12:04:04 +08:00
b1f3d4f15a exclude case test_jdbc_query_mysql (#26073) 2023-11-02 09:26:42 +08:00
80f654ec2a [Fix](statistics)Fix analyze min max sql syntax error. #26240 2023-11-02 09:22:32 +08:00
a4e415ab09 [feature](hive)Support hive tables after alter type. (#25138)
1.Reconstruct the logic of decode to read parquet. The parquet  reader first reads the data according to the parquet physical type, and then performs a type conversion.

2.Support hive alter table.
2023-11-02 00:24:21 +08:00
3e10e5af39 [Fix](Serde) Fix content displayed by complex types in MySQL Client (#25946)
This pr makes three changes to the display of complex types:
1. NULL value in complex types refers to being displayed as `null`, not `NULL`
2. struct type is displayed as "column_name": column_value
3. Time types such as `datetime` and `date`, are displayed with double quotes in complex types. like
    `{1, "2023-10-26 12:12:12"}`

This pr also do a code refactor:
1. nesting_level is set to a member variable of the `DataTypeSerDe`, rather than a parameter in methods.

What's more, this pr fix a bug that fileSize is not correct, introduced by this pr: #25854
2023-11-01 23:48:55 +08:00
f8a594c25d fix column is decimalv3 cast to decimalv2 make be core (#26204) 2023-11-01 22:30:30 +08:00
Pxl
d7ea4d31fb [Chore](hash-table) remove unused code about HashTableTraits (#26202)
remove unused code about HashTableTraits
2023-11-01 21:36:50 +08:00
1018f8918c [pipelineX](bug) Fix build side output flag (#26233) 2023-11-01 20:13:41 +08:00
6010be88bd [enhancement](Nereids): optimize GroupExpressionMatching (#26196) 2023-11-01 19:05:08 +08:00
502f5778f4 [enhancement](Nereids): set maxJoinNumBushyTree = 8 (#26173) 2023-11-01 19:04:49 +08:00
aafd53766b [chore](file-reader) rm unused interface from generic reader (#26205) 2023-11-01 18:43:14 +08:00
f0f9c3a160 [improvement](drop tablet) impr gc shutdown tablet lock (#26151) 2023-11-01 18:42:21 +08:00
be7a10162a [enhance](S3) Add timeout for s3 buffer allocation and corresponding observability (#26125) 2023-11-01 17:55:11 +08:00
49439175a0 [fix](move-memtable) init delta writer pool in sink prepare (#26108) 2023-11-01 17:52:10 +08:00
ec85e22506 [enhance](scanner) pass the tablet in NewOlapScanner's ctor (#26167) 2023-11-01 17:50:14 +08:00
67e556af59 [regression](fe) Add more regression test for FE (#26206)
* add add/drop node test
* add metrics test
* add meta_action test
2023-11-01 17:48:58 +08:00
eb9ba59996 [improvement](show trash) Fix be restart slow when too many trash files (#26147) 2023-11-01 17:43:24 +08:00
1c2831e06f [fix](spill) disable spill of sort and agg for now to avoid diisk overflow (#26209) 2023-11-01 17:20:26 +08:00
bfca1bf206 [Enhancement] Implement format methods for Status (#26133) 2023-11-01 16:55:25 +08:00
387e33fa34 [enhancement](group commit)Add group commit block queues memory back pressure (#26045) 2023-11-01 16:29:45 +08:00
683832230c [Performance](Nereids): pass ConnectContext to avoid ThreadLocal.get() (#26165) 2023-11-01 16:16:42 +08:00
1770224322 [fix](planner) Fix decimal precision and scale wrong when create table like (#25802)
Use field datatype such as decimal(10, 0) to create table like. Because the scale is 0, the precision and scale will lost when create table like done. this will fix the bug.

**Before fix, create table with following SQL**:
CREATE TABLE IF NOT EXISTS db_test.table_test
(
    `name` varchar COMMENT "1m size",
    `id` SMALLINT COMMENT "[-32768, 32767]",
    `timestamp0` decimal null comment "c0",
    `timestamp1` decimal(38, 0) null comment "c1"
)
DISTRIBUTED BY HASH(`id`) BUCKETS 1
PROPERTIES ('replication_num' = '1');

**and Then run**
CREATE TABLE db_test.table_test_like LIKE db_test.table_test
SHOW CREATE TABLE db_test.table_test_like;

the field `timestamp1` will be decimal(9, 0), it's wrong. this will fix it.
2023-11-01 03:11:43 -05:00
4644191fd0 [fix](broker-read) refactor broker reading process to avoid null broker connection (#26050) 2023-11-01 15:58:30 +08:00
f2874b9452 [bug](shared scan) Fix use-after-free when enable pipeline shared scanning (#26199)
When enable shared scan, all scanners will be created by one instance. When the main instance reach eos and quit, all states of it will be released. But other instances are still possible to get block from those scanners. So we must assure scanners will not be dependent on any states of the main instance after it quit.
2023-11-01 15:51:20 +08:00
5efc6c4233 [fix](auth)Fix can not insert overwrite who have load priv (#25711)
Fix can not insert overwrite who have load priv
2023-11-01 15:21:16 +08:00
HB
6de1cc7a0a [fix](udf)java udf does not support overloaded evaluate method (#22681)
Co-authored-by: morningman <morningman@163.com>
2023-11-01 15:05:37 +08:00
268c69971d [fix](stats) Store max/min by base64 2023-11-01 14:31:35 +08:00
7ba4f91258 [fix](log) avoid redundent log printing (#26188)
Co-authored-by: yiguolei <676222867@qq.com>
2023-11-01 13:49:08 +08:00
8f15f9adf6 [test](case) add test case to improve code coverage (#25516)
[test](case) add test case to improve code coverage (#25516)
2023-11-01 12:51:12 +08:00
b94e6d6c05 [doc](fix) update doc for rename column (#25832) 2023-11-01 11:30:03 +08:00
7914b7b19e [fix](seek) add SeekCount and SeekTime profile (#26009) 2023-11-01 11:29:29 +08:00
eaed0dea5e [refactor](executor)Add % suffix for cpu_hard_limit #26174 2023-11-01 10:27:48 +08:00
fef520c617 [regression](catalog)Add test case of paimon complex type (#25834)
Add Paimon complex nested type regression case.
Related pr:#25364
2023-11-01 09:59:55 +08:00
18dabe7386 [fix](compile) fe compile failed when generate doc and FE UT failed (#26164)
1. FE could not compile because below error. Intro by PR #25933
```
[INFO] --- exec:3.1.0:java (doc) @ fe-core ---
...
Failed to generate doc for ignoreRuntimeFilterIds
```

2. fix UT bugs intro by below PRs
> - #25951
> - #26031

3. because fe could not compile, FE UT CI do not work well. So, some UT failed be introduced by the PRs merged after PR #25933 merged. So this PR revert them to fix FE UT

> - Revert "[Bug](materialized-view) SelectMaterializedIndexWithAggregate do not change plan > when match ba… (#26145)"
> This reverts commit 8d7abf60f94d2d1208b71e96b9290ea02122b8d8.

> - Revert "[enhancement](Nereids): optimize GroupExpressionMatching (#26130)"
> This reverts commit 19122b55cd95af097b4ef7b6eb809f37db29765f.

> - Revert "[Performance](Nereids): optimize GroupExpressionMatching (#26084)"
> This reverts commit 0d956e90cf920039b8baa79c170a298be56a128d.
2023-10-31 20:50:44 -05:00
d3c475b06a disable branch-2.0 protection temporarily (#26186)
disable branch-2.0 protection temporarily for merge pr faster.
2023-10-31 20:37:49 -05:00
4eb9a52ace [regression](s3load) Add regression testing and modify description text for s3load (#25947) 2023-11-01 07:39:16 +08:00
Pxl
696ecc8c83 [Chore](log) adjust error code on too many filtered rows (#26168) 2023-11-01 00:15:56 +08:00
9d83948987 [feature](pipelineX) Use dependency instead of block queue in the runtime filter (#26078) 2023-10-31 22:44:18 +08:00
6f4570d3af [cases](regression-test) Add backup restore operation test (#26169)
1. restore overwrites an exists table
2. backup & restore with exclude table
3. restore to a new table
4. restore mix exists and new tables
5. restore with alias
2023-10-31 22:36:45 +08:00
8c454a3287 [bug](scanner) Fix scanner core dump (#26156) 2023-10-31 22:23:32 +08:00