Commit Graph

7619 Commits

Author SHA1 Message Date
98ddb86ea2 [typo](doc)Update install-faq.md (#15029)
* [typo](doc) 1.2 set java home variable
2022-12-13 15:38:25 +08:00
284a3351f4 [Refactor](exec) refactor the code of datasink eos logic (#15009) 2022-12-13 15:33:08 +08:00
73ee352705 [fix](multi catalog)Fix convert_to_doris_type missing break for some cases (#14992) 2022-12-13 13:34:55 +08:00
e7a84e4a16 [fix](multi-catalog)fix page index thrift deserialize (#15001)
fix the err when parse page index: Couldn't deserialize thrift msg.
use two buffer to store column index and offset index msg, avoid parse them in a buffer
2022-12-13 13:33:19 +08:00
c767e0bc74 [fix](nereids) create select node for standalone PhysicalFilter node (#14939)
The PhysicalFilter can't be assigned to ExchangeNode, SortNode and UnionNode. The nereids would create a standalone SelectNode to do the filter work properly.
2022-12-13 13:29:45 +08:00
3caa9a19cc [feature](Nereids) add binary & unary arithmetic expression (#14867)
binary arithmetic expression: div, ^, |, &, %
unary arithmetic expression: ~, +1
2022-12-13 12:58:40 +08:00
414566b56d [feature](nereids) Support orderby and groupby int literal as ordinal of the select list expr (#14862) 2022-12-13 12:48:09 +08:00
d9fc46382b [samples](java udf demo)Java udf demo aes (#15011)
* add java udf function demo
2022-12-13 12:09:03 +08:00
8fe0729835 [fix](multi catalog)Check orc file reader is not null before using it. (#14988)
The external table file path cache may out of date, which will cause orc reader to visit non-exist files.
In this case, orc file reader is nullptr.
This pr is to check the reader before using it to avoid core dump of visiting nullptr.
2022-12-13 11:27:51 +08:00
21676b8d81 [Fix](Table Valued function) fix the problem that can not catchthe exception thrown by the TableValuedFunctionRef constructor (#14983)
Put the generation of TableValuedFunctionIf in the analyze function, instead of the generation in the 
TableValuedFunctionRef constructor.
2022-12-13 11:26:04 +08:00
5e26ba98bd [enhancement](compaction) exist safely (#15021) 2022-12-13 10:57:27 +08:00
Pxl
decabbb933 [Chore](s2geo) upgrade s2geo to 0.10.0 (#15002)
upgrade s2geo to 0.10.0
2022-12-13 10:34:51 +08:00
1200b22fd2 [function](round) compute accurate round value by decimal (#14946) 2022-12-13 09:53:43 +08:00
0d5291801d [fix](load) fix that flush memtable concurrently may cause data inconsistency (#15005) 2022-12-13 09:27:35 +08:00
dcede52964 [typo](docs)add be config doris_scanner_row_bytes (#15016) 2022-12-13 09:25:28 +08:00
Pxl
c25a7235f9 [Pipeline](load) support pipeline broker load (#14940)
support pipeline broker load
2022-12-13 00:28:36 +08:00
1f56279fd8 [Vectorized] Use SIMD to skip batches of null data in aggregation (#10392) 2022-12-12 23:40:31 +08:00
ad8ec809b0 [fix](nereids) FoldConstantRuleOnFe throw npe if function do not have child (#15008)
FoldConstantRuleOnFe missed one type of function, which do not have input arguments, like current_date
2022-12-12 22:48:21 +08:00
a5a092ab9f [feature](nereids)support 'ISNULL' expression (#14967) 2022-12-12 22:38:54 +08:00
281d47434a [fix](nereids) having with no group by is not parsed correctly (#14883)
SQL: SELECT * FROM tbl HAVING c1 > 10;
2022-12-12 22:03:37 +08:00
e57419fc9e [feature](nereids) Date add and Date sub related functions (#14753)
## date_add series
- DATE_ADD
- DAYS_ADD
- ADDDATE
- TIMESTAMPADD

## date_sub series
- DATE_SUB
- DAYS_SUB
- SUBDATE

## NOTE
1. For DAYS_XXX, time unit is omissible, by default the time unit is DAY
2. no TIMESTAMPSUB
2022-12-12 21:34:30 +08:00
c8551e0cad [Bug](compile) Fix compiling error if set ENABLE_STACKTRACE (#15004) 2022-12-12 20:41:10 +08:00
9886fcbc62 [ehancement](nereids) Waits read lock up to 1 minute (#15012) 2022-12-12 20:32:26 +08:00
b5c0d4870d [fix](nereids)fix bug of elt and sub_replace function (#14971) 2022-12-12 17:37:36 +08:00
33bd9eb85e [fix](nereids) Support syntax of nested CTE (#14962) 2022-12-12 17:03:44 +08:00
affc57bee7 [enhancement](pipeline) support jdbc scan, jdbc sink, odbc scan and odbc sink node for pipeline. (#14986)
support jdbc scan, jdbc sink, odbc scan and odbc sink node for pipeline.
2022-12-12 17:03:22 +08:00
0a16f11435 [enhancement](Nereids) add RelationId to unboundRelation (#14693)
add RelationId to unboundRelation and refactor some ut used RelationUtil to allocate next RelationId.
2022-12-12 16:24:08 +08:00
38570312dd [feature](split_by_string)support split by string function (#13741) 2022-12-12 15:22:30 +08:00
75d88b5a8f [improvement](vertical_compaction) reduce segments load in vertical merger (#14900) 2022-12-12 15:06:46 +08:00
Pxl
7c242fe03e [Chore](phmap) upgrade phmap to 1.3.8 (#14965)
upgrade phmap to 1.3.8
2022-12-12 11:44:41 +08:00
5d1051f8d0 [enhancement](function) Remove useless functions in fe (#14837) 2022-12-12 11:26:36 +08:00
33349c3419 [feature](function)Support negative index for function split_part (#13914) 2022-12-12 09:56:09 +08:00
614d7273f5 [typo](docs) fix get starting (#14870)
* [typo](doc)Fix Utility Statements Doc
2022-12-12 09:31:20 +08:00
9e0e376a72 [fix](Nereids): fix push filter through outer join in ReorderJoinRule. (#14952) 2022-12-12 00:38:21 +08:00
5fe5f596f2 [fix](nereids) non-slotreference expr in order by lead to plan failed (#14895) 2022-12-12 00:08:05 +08:00
f3aea7f0f0 [Enhancement](status) Unify error code and enable customed err msg for BE internal errors (#14744) 2022-12-11 23:33:18 +08:00
c4a1f4816c [ehancement](nereids) read lock table when analyze and generate query plan (#14733) 2022-12-11 23:25:19 +08:00
7fb695b51d [Pipeline](select node) Support select node on pipeline engine (#14928) 2022-12-11 21:31:32 +08:00
afcacc0a13 [bugfix](compaction) fix compaction trigger (#14981)
fix bug that when disable_auto_compaction=true but still trigger compaction
2022-12-11 18:26:00 +08:00
8c406c5e59 [Bug](DictoryColumn) reverse the _codes.size() replace _reserve_size (#14984) 2022-12-11 18:25:18 +08:00
ef46b580d0 [Vectorized](operator) support analytic eval operator (#14774) 2022-12-10 19:32:11 +08:00
4c6458108c [fix](fe-meta) NPE in DataProperty when upgrading to 1.2.x (#14976) 2022-12-10 18:46:08 +08:00
0b945e4ee3 [fix](csv-reader) fix be crash when reading invalid value (#14951) 2022-12-10 18:45:47 +08:00
181aadd5d3 [fix](information_schema) fix messy code of CHECK_TIME column of informatio_schema.tables (#14915) 2022-12-10 18:45:25 +08:00
6f9afbd74f [fix](Nereids): just allow crossjoin empty condition. (#14893) 2022-12-10 15:32:49 +08:00
b7453f6f09 [pipeline](mysqlsink) support mysql table sink (#14982) 2022-12-10 13:16:53 +08:00
68092fe514 [pipeline](NLJ) support nested loop join for pipeline (#14966) 2022-12-10 00:20:16 +08:00
ef1bb9819a [feature-wip](MTMV) Support mapping the partition rule of base table to the materialized view (#14930)
When we create a materialized view for multiple tables, users may not figure out the partition rule for the materialized view, because the query result can be too complex. If the query result doesn't match one of the partition rules, the insertion will fail.

We can resolve this issue by mapping the partition rule of base table to the materialized view. As a result, users don't need specify the partition rules and query results are all valid because they are retrieved from the partitions of the base table.

## Use case

mysql> CREATE TABLE t1 (pk INT NOT NULL, v1 INT SUM) PARTITION BY RANGE(pk) (
    ->   PARTITION p1 VALUES LESS THAN ('10'),
    ->   PARTITION p2 VALUES LESS THAN ('90')
    -> )
    -> DISTRIBUTED BY HASH(pk)
    -> PROPERTIES ('replication_num' = '1');
Query OK, 0 rows affected (0.04 sec)

mysql> CREATE TABLE t2 (pk INT NOT NULL, v2 INT SUM) PARTITION BY LIST(pk) (
    ->   PARTITION odd VALUES IN ('10', '30', '50', '70', '90'),
    ->   PARTITION even VALUES IN ('20', '40', '60', '80')
    -> )
    -> DISTRIBUTED BY HASH(pk)
    -> PROPERTIES ('replication_num' = '1');
Query OK, 0 rows affected (0.02 sec)

mysql> CREATE MATERIALIZED VIEW mv BUILD IMMEDIATE REFRESH COMPLETE
    -> KEY (mpk) PARTITION BY (t1.pk) DISTRIBUTED BY HASH(mpk) PROPERTIES ('replication_num' = '1')
    -> AS SELECT t1.pk AS mpk, v1, v2 FROM t1, t2 WHERE t1.pk = t2.pk;
Query OK, 0 rows affected (0.10 sec)

mysql> SHOW CREATE TABLE mv;
+-------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Materialized View | Create Materialized View                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
+-------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| mv                | CREATE MATERIALIZED VIEW `mv`
BUILD IMMEDIATE REFRESH COMPLETE ON DEMAND
KEY(`mpk`)
PARTITION BY RANGE(`mpk`)
(PARTITION p1 VALUES [("-2147483648"), ("10")),
PARTITION p2 VALUES [("10"), ("90")))
DISTRIBUTED BY HASH(`mpk`) BUCKETS 10
PROPERTIES (
"replication_allocation" = "tag.location.default: 1",
"in_memory" = "false",
"storage_format" = "V2",
"disable_auto_compaction" = "false"
)
AS SELECT `t1`.`pk` AS `mpk`, `v1` AS `v1`, `v2` AS `v2` FROM `default_cluster:dev`.`t1` , `default_cluster:dev`.`t2` WHERE `t1`.`pk` = `t2`.`pk`; |
+-------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
2022-12-09 22:47:21 +08:00
wxy
af50461211 [fix](statistics) fix CpuTimeMS in audit log when enable_vectorized_engine=true. (#14853)
Co-authored-by: wangxiangyu@360shuke.com <wangxiangyu@360shuke.com>
2022-12-09 21:13:05 +08:00
f5aa5c1d01 [fix](statistics) Fix NPE when update analysis job status #14892 2022-12-09 21:12:36 +08:00