Commit Graph

8289 Commits

Author SHA1 Message Date
4d18fc1e4c [profile](name) add table rollup name in profile (#33137) 2024-04-02 22:36:30 +08:00
1be38e798d push topn-filter to both sides of inner join (#33112) 2024-04-01 22:46:28 +08:00
7ace3ff6de [branch-2.1](pick) pick 2 prs about nereids create variant table (#33125)
* [fix](Nereids) support variant column with index when create table (#32948)

* [opt](Nereids) support create table with variant type (#32953)

---------

Co-authored-by: morrySnow <101034200+morrySnow@users.noreply.github.com>
2024-04-01 19:00:39 +08:00
bec153b369 [fix](timeout) query timeout was not correctly set #33045 2024-03-30 22:33:03 +08:00
3a196c8b0f [Pick](Variant) pick 2 prs about bugfix of variant (#33011)
* [Fix](Variant) forbit table with variant type doing segment compaction temporarily

TODO fix this corretly in later works

* [Bug](Variant) use lower case name for variant's root, since backend treat parent column as lower case

This PR address the problem as blow:
```
errCode = 2, detailMessage = (172.16.56.137)[CANCELLED]failed to initialize storage reader. tablet=17136, res=[INTERNAL_ERROR]Not found field_name, field_name:Tags.tag_key1, schema:[Thread(8), Tags(9), Source(5), tags.tag_key1(-1), Title(6), Level(3), Time(2), CreateDate(1), Message(7), IP(4), AppId(0)]

```
2024-03-29 11:12:28 +08:00
827d2c46de [fix](nereids) planner should always gennerate bitmap runtime filter #32960 2024-03-28 15:36:49 +08:00
2edf9ef301 [fix](nereids) do not push '<=>' rf through nlj outer join (#32952)
f
2024-03-28 13:54:52 +08:00
9fa6c3f2a7 [fix](auth)show grants error (#32951)
Inconsistent number of columns in title and info
2024-03-28 13:05:29 +08:00
5e35410e6e null-safe-eq-rf denies outer join (#32930) 2024-03-27 21:31:56 +08:00
36d8c73408 [Bug](Variant) forbit variant column with filter, group by or order by (#32928) 2024-03-27 21:18:24 +08:00
9c6180d9ba [revert](jni) revert part of #32455 #32904 2024-03-27 20:45:44 +08:00
71e16e6f35 [fix](iceberg) fix iceberg catalog bug and p2 test cases (#32898)
1. Fix iceberg catalog bug

    This PR #30198 change the logic of `IcebergHMSExternalCatalog.java`,
    to get locationUrl by calling hive metastore's `getCatalog()` method.
    But this method only exists in hive 3+. So it will fail if we using hive 2.x.

    I temporary remove this logic, because this logic is only used from iceberg table writing.
    Which is still under development. We will rethink this logic later.

2. Fix test cases

    Some of P2 test cases missed `order_qt`. And because the output format of the floating point
    type is changed, some result in `out` files need to be regenerated.
2024-03-27 20:44:38 +08:00
81162fb7f4 [fix](nereids)BE cannot find min-max runtime filter on nested loop join node-pick #32886 #32917 2024-03-27 19:55:43 +08:00
02d623f2ce [improvement](mtmv) Support more join types for query rewriting by materialized view (#32685) (#32909)
This pattern of rewriting is supported for multi-table joins and supported join types is as following:

INNER JOIN
LEFT OUTER JOIN
RIGHT OUTER JOIN
FULL OUTER JOIN
LEFT SEMI JOIN
RIGHT SEMI JOIN
LEFT ANTI JOIN
RIGHT ANTI JOIN
2024-03-27 19:31:01 +08:00
5d89d86a50 [fix](nereids)EliminateGroupByConstant should replace agg's output wafter removing constant group by keys (#32877) 2024-03-27 11:04:32 +08:00
39b768b9ea [branch-2.1](thirdparty) upgrade arrow to 15.0.2 #32827 2024-03-27 08:35:40 +08:00
45e1f9f4c4 [branch-2.1](cherry-pick)Role comment 2.1 #32837 2024-03-27 08:33:54 +08:00
Pxl
ca64fa7954 [Bug](materialized-view) do not check key/value column when index is dup or mow (#32695)
do not check key/value column when index is dup or mow
2024-03-27 02:56:11 +08:00
ad688171f5 [fix](Nereids): handle distinct and nullable property when rewriting sum literal (#32778)
Refactored the SQL query to handle the distinct and nullable values when computing the sum of 'v' and 'v + 1' in the 't' table like:

select sum(v + 1), sum(distinct v + 1) from t
=>
select sum(v) + count(v), sum(distinct v) + count(distinct v)
2024-03-26 20:36:07 +08:00
b5a1914740 [Fix](nereids) Fix deletestmt getting catalog (#32701) 2024-03-26 20:29:03 +08:00
820bf7e590 [fix](mtmv) use min value to check the first partition (#32765) 2024-03-26 20:28:52 +08:00
3658dfd500 [enhance](auth)node priv can show proc (#32751) 2024-03-26 20:28:00 +08:00
1b6b92a19d [improvement](mtmv) Support hll function roll up when query rewrite by materialized view (#32431)
Support hll roll up, the hll fucntion supportd is as following:

+-----------------------------------------------------------------------------------------------------------------------------------------------------+
|                      in query                    |                          in materialized view                           |        rolluped        |
+ ------------------------------------------------ + ----------------------------------------------------------------------- + ---------------------- +
| HLL_UNION_AGG(hll column)                        | hll_union(column) or hll_raw_agg(column) as column1                     | HLL_UNION_AGG(column1) |
| HLL_RAW_AGG(hll column) or HLL_UNION(hll column) |                                                                         | HLL_UNION(column)      |
| approx_count_distinct(not hll column)            | hll_union(HLL_HASH(column)) or hll_raw_agg(HLL_HASH(column)) as column1 | HLL_UNION_AGG(column1) |
| HLL_UNION_AGG(HLL_HASH(column))                  |                                                                         | HLL_UNION_AGG(column)  |
| hll_cardinality(hll_union(HLL_HASH(column)))     | hll_union(HLL_HASH(column)) or hll_raw_agg(HLL_HASH(column)) as column1 |                        |
| hll_cardinality(hll_raw_agg(HLL_HASH(column)))   | hll_union(HLL_HASH(column)) or hll_raw_agg(HLL_HASH(column)) as column1 |                        |
| HLL_RAW_AGG(HLL_HASH(column))                    | hll_union(HLL_HASH(column)) or hll_raw_agg(HLL_HASH(column)) as column1 | HLL_RAW_AGG(column1)   |
+-----------------------------------------------------------------------------------------------------------------------------------------------------+
2024-03-26 20:26:16 +08:00
0655d49a21 [enhancement](nereids) only push having as agg's parent if having just use slots from agg's output (#32414)
1. only push having as agg's parent if having just use slots from agg's output
2. show user friendly error message when item in select list but not in aggregate node's output
2024-03-26 20:26:04 +08:00
60c3372d8e [fix](Nereids): fix elimiate join by pkfk when there are multi joins (#32703) 2024-03-26 20:24:39 +08:00
2d398dfe1f [fix](planner)the decimal type of's precision and scale setope ration codn is wrong (#32787) 2024-03-26 20:22:29 +08:00
Pxl
fdf6b8fe8d [Bug](repeat) fix core dump coz output slot'order on repeat node not match with pre repeat exprs (#32662)
fix core dump coz output slot'order on repeat node not match with pre repeat exprs
2024-03-26 20:22:20 +08:00
efe684572e [Enhancement](Load) Nereids supports http_stream and group_commit with stream load (#31259) 2024-03-26 17:22:42 +08:00
34cb83fb6e [feature](merge-cloud) Add init CloudEnv and CloudInternalCatalog (#29962) 2024-03-26 17:11:05 +08:00
f9ae03ac3c [feature](Nereids) support data masking policy (#32526)
support data masking policy

note:
if a user send the query
```sql
select name from tbl limit 1
```
and the user have row policy on `tbl.name` with the filter `name = 'Beijing'`, and have data masking policy on `tbl.name` with the masking `concat(substring(name, 1, 4), '****')`, we will rewrite the query to
```sql
select concat(substring(name, 1, 4), '****') as name
from tbl
where name = 'Beijing' -- note that this name is from tbl, not from the alias in the select list
limit 1
```

the result would be `Beij****`
2024-03-26 15:31:08 +08:00
0a2d7379fc [enhance](auth)row policy support catalog and match name instead id (#32310)
Follow up #32137

storage name instead id to meta,Prevent table deletion and reconstruction and causing ID changes
2024-03-26 15:31:08 +08:00
c0d7a5660e [fix](paimon) support paimon with hive2 (#32455)
In order to support paimon with hive2, we need to modify the origin HiveMetastoreClient.java
to let it compatible with both hive2 and hive3.
And this modified HiveMetastoreClient should be at the front of the CLASSPATH, so that
it can overwrite the HiveMetastoreClient in hadoop jar.

This PR mainly changes:

1. Copy HiveMetastoreClient.java in FE to BE's preload jar.

2. Split the origin `preload-extensions-jar-with-dependencies.jar` into 2 jars
    1. `preload-extensions-project.jar`, which contains the modified HiveMetastoreClient.
    2. `preload-extensions-jar-with-dependencies.jar`, which contains other dependency jars.

3. Modify the `start_be.sh`, to let `preload-extensions-project.jar` be loaded first.

4. Change the way the assemble the jni scanner jar
    Only need to assemble the project jar, without other dependencies.
    Because actually we only use classed under `org.apache.doris` package.
    So remove other unused dependency jars can also reduce the output size of BE.

5. fix bug that the prefix of paimon properties should be `paimon.`, not `paimon`

6. Support paimon with hive2
    User can set `hive.version` in paimon catalog properties to specify the hive version.
2024-03-26 15:31:07 +08:00
37c8cc040d [feature-wip](ranger)support datamask and row filter (#32137)
doris ranger support datamask and row filter

hive ranger support row filter
2024-03-26 15:31:07 +08:00
ec43f65235 [feature](hudi) support hudi incremental read (#32052)
* [feature](hudi) support incremental read for hudi table

* fix jdk17 java options
2024-03-26 15:31:07 +08:00
8714dde34f [monir] remove unused cluster code (#31360)
* [monir] remove unused cluster code

* 2
2024-03-26 15:31:07 +08:00
983e5df812 Fix compile (#32818)
[fix](compile) fix code style (#32819)

* Fix compile

* fix style
2024-03-26 15:02:46 +08:00
6f47055f5a [opt](profile) Disable show query/load profile stmt (#32467) (#32813) 2024-03-26 13:56:46 +08:00
6457a9a642 [fix](Nereids) system default decimalv3 scale should be 9 (#32754)
select round('1.1234', 2) should return 1.12, not 1
2024-03-26 10:43:49 +08:00
552bf5b41a [opt](jdbc catalog) close when jdbcClient is not empty (#32747) 2024-03-25 22:33:33 +08:00
0eb9256274 [Fix](TransientTask)Export tasks should only be run on the master node (#32700)
* [Fix](TransientTask)Export tasks should only be run on the master node
Add thread name

Export Task runs only on the master node, so it is necessary to explicitly start the corresponding resources. At the same time, refactor some code to avoid circular dependencies.

* TransientTaskManager is initialized twice. Therefore, the second initialization needs to be deleted.
2024-03-25 22:33:02 +08:00
0f5e13e17c [fix](Nereids) IGNORE_STORAGE_DATA_DISTRIBUTION should not block generating filter for nested loop join (#32653) 2024-03-25 22:33:02 +08:00
97a48ca6b7 [fix](mtmv)fix mysql MTMV do not automatically refresh even if the refresh method is COMPLETE (#32683) 2024-03-25 22:32:18 +08:00
b9ac5b3d5b [bugfix](hive)use originHiveKeys for hive partitionvalue (#32664) 2024-03-25 22:31:38 +08:00
1b0cd4a4db [branch-2.1](routine-load) self-adaption backoff timeout (#32734)
* [opt](routine-load) self-adaption backoff timeout (#32227)

* [fix](routine-load) fix timeout backoff can not work (#32661)
2024-03-24 18:39:58 +08:00
b9788e5e37 [fix] (Nereids) fix date function rewrite on datetimev1 column bug (#32569) 2024-03-24 08:07:01 +08:00
5c3fc818bb [Fix](Export) fix variable name of code #32637 2024-03-24 08:07:01 +08:00
5077f7dd9d [conf](mysql) opt mysql network timeout to 600s #32545 2024-03-24 08:07:01 +08:00
1d4e5a1c58 [enhance](auth)enable col auth (#32659) 2024-03-24 08:07:01 +08:00
bd2e7d0ec8 [feature](hive)support insert overwrite (#32610)
support insert overwrite for unpartitioned table and partitioned table.

issue: #31442
2024-03-24 08:06:13 +08:00
ac8ba43d8d [fix](multi-catalog)resolve hive meta store compatibility for different version issues (#32551)
Fix hive list partition at different version.
Only Hive3 uses the prependCatalogToDbName() to wrap db_name.
2024-03-24 08:06:13 +08:00