Commit Graph

8276 Commits

Author SHA1 Message Date
eab8382b4a [feature-wip](unique-key-merge-on-write) add the implementation of primary key index update, DSIP-018 (#11057) 2022-07-27 14:17:56 +08:00
b74f36e009 [improvement]Use phmap for aggregation with integer keys (#11175) 2022-07-27 13:58:20 +08:00
9fc5ec48b4 [Improvement] remove UT for unused method (#11241)
* [Improvement] remove UT for unused method
2022-07-27 13:55:36 +08:00
0cdd70e9c9 [feature](nereids) support cast and extract date for TPC-H (#10999)
support cast and extract date for TPC-H, for example:

select cast(a as datetime) as d from test;
select extract(year from datetime_column) as y from test
2022-07-27 12:38:56 +08:00
6933f5e328 [fix] need materialize condition conlumn in if function (#11229) 2022-07-27 12:24:41 +08:00
4f3b4c7efc [Improvement] information_schema.columns support COLUMN KEY (#11228) 2022-07-27 12:22:17 +08:00
2ed46eee64 [bugfix] fix coredump caused by nullable const column compare to non-nullable const column (#11227) 2022-07-27 12:00:26 +08:00
05b840fcb9 [improvement] support show query stmt in show processlist (#11232) 2022-07-27 11:40:47 +08:00
e210db426c [opt] stop script opt (#11183) 2022-07-27 11:32:26 +08:00
d663497230 [refactor] (Nereids) Memo.copyIn() return a pair<newly, GroupExpression> (#10891)
When we copy a plan into memo, we will check if this plan is already in memo or it is a new plan.
In the new version of Memo.copyIn(), we encapsulate is_new and the plan's corresponding group-expression.

The is_new is used to avoid repeatedly apply rules against the same plan, and hence save optimize efforts.

Describe the overview of changes.

change Memo.copyIn() and related function interfaces
every time Memo.copyIn() is invoked, we check if the plan is already recorded by memo or not. if plan is not new, we do not put its group into stack for further optimization.
2022-07-27 10:33:25 +08:00
4d95bb4888 [regression-test]Add order-by to qt_groupby in correctness/table_valued_function (#11219) 2022-07-27 10:07:34 +08:00
eac5697b21 [Bug] Total capacity metrics was not updated after extending filesystem partition online (#11055) 2022-07-27 09:23:23 +08:00
352a3819bf [regression test]grade datatype cases to p0 to test p0 pipeline (#11208) 2022-07-27 08:21:23 +08:00
c6b0df5cbe [fix](ut) fix FE ut (#11215) 2022-07-27 08:18:31 +08:00
d67029c830 [feature-wip] (datetimev2) support cast between datetimev2 with different scales (#11198)
* [feature-wip] (datetimev2) support `cast` between datetimev2 with different scale
2022-07-26 22:36:13 +08:00
166b4a18ae [fix](image) fix bug that latestValidatedImageSeq may not be the second largest image id (#11201)
* [fix](image) fix bug that latestValidatedImageSeq may not be the second largest image id

When traversing the image files in the meta directory,
it cannot be guaranteed to be traversed in the order of imageid size

For example, if it traverses the image file with orders like: 3,5,4,1,
then latestImageSeq is 5, but latestValidatedImageSeq is 3, which is wrong.
2022-07-26 22:35:31 +08:00
8a6c9d870e [enhancement](nereids) Fix the wrong order of arguments of Assert.assertEquals (#11207) 2022-07-26 20:33:32 +08:00
2e210fb363 [bugfix]fix constant argument coredump (#11200) 2022-07-26 19:30:06 +08:00
fcdb543e17 [refactor] (Nereids) add equals for OrderKey (#11192)
LogicalSort.equals() method depends on OrderKey.equals(), which is not defined correctly.
This pr defines OrderKey.equals() to enable correctly comparing LogicalSort.
2022-07-26 18:55:27 +08:00
e99f617b21 [Refactor](Nereids) Move analysis logic to dedicated class NereidsAnalyzer. (#11171)
This PR proposes to move the analysis logic to the dedicated class NereidsAnalyzer, which has the following benefits:

Unify the analysis logic in production and test files.
Facilitate analyzing subquery plans within different scopes.
2022-07-26 18:32:07 +08:00
f5479fa80e [Sample] Add Flink Connector Sample Code (#11120)
Co-authored-by: wudi <>
2022-07-26 18:00:51 +08:00
03d466febe [UDAF](sample) impl rpc avg udaf (#11132) 2022-07-26 18:00:13 +08:00
a1ad978960 [Bug]Fix select command denied for user for specified table 2022-07-26 17:59:28 +08:00
2c34b6cf2b optimization the result check for test_json_load (#11160)
Co-authored-by: hucheng01 <hucheng01@baidu.com>
2022-07-26 17:58:30 +08:00
0f6ec629ab [Bug](fe-ut) Fix UT when test cases in package (#11177) 2022-07-26 17:57:42 +08:00
f46a801b1b [FIX]string pad function should be always nullable for both string and varchar type (#11196) 2022-07-26 17:55:06 +08:00
61fb39a5ca [Enhancement](Nereids) add some basic data structure definitions. (#10981)
add decimal 、date、datetime type
add DateLiteral
add Interval for timestamp calculation
2022-07-26 17:51:59 +08:00
823088a9eb [FOLLOW-UP] (datetimev2) complete date function ut and built-in function declaration (#11154) 2022-07-26 17:48:57 +08:00
8551ceaa1b [Bug][Vectorized] Fix use-after-free bug of memtable shrink (#11197)
Co-authored-by: lihaopeng <lihaopeng@baidu.com>
2022-07-26 16:10:44 +08:00
09224d7c74 [refactor] Rename Catalog to Env (#10702) 2022-07-26 15:49:08 +08:00
846716ac10 [feature](nereids): join reorder (#10479)
Enhance join reorder.

Add LAsscom (include with project).
Add Commute.
Add UT for join reorder
2022-07-26 15:35:00 +08:00
a3df2e5982 [enhance](*): improve code about optional (#11153)
improve code about optional
2022-07-26 15:32:42 +08:00
58795771f2 [feature](nereids) Add subquery expression and In expression and TPCH… (#11129)
1. Increase the expression of subquery and in.
2. Added tpch creation table and sql query, including original sql query and query rewritten by doris
3. Adjust the position of checkAnalyze
4. add exists subquery
2022-07-26 12:30:12 +08:00
8fc79e3ee4 rename aggregate properties (#11117)
1. Unify and refine property names in LogicalAggregate and PhysicalAggregate
2. Remove partitionExpressions in LogicalAggregate since it's a physical property, and should not appear in the logical plan. It should be generated when converting logical aggregate to physical aggregate or in enforcing rules.
2022-07-26 12:26:02 +08:00
e54b57107a [bug](FE): Fix show alter column return incorrect job progress (#11184)
bugfix:now show altr table return correct job progress
2022-07-26 11:49:14 +08:00
6a53cf8efa [dependency](be) Add vectorscan for support hypserscan on ARM (#11102)
hyperscan is a high-performance regular expression matching library, but can not be used on ARM.
vectorscan is an ARM port for hyperscan, it can be used as a drop in replacement.

Since hyperscan is original created by Intel and is popular and mature on x86, so we just use vectorscan
only for aarch64 when build thirdparty.
2022-07-26 11:28:25 +08:00
3e3b2d15d4 [bug]string pad functions should always be nullable (#11140)
* string pad functions should always be nullable
2022-07-26 10:20:11 +08:00
1788e2fe6c [fix](fe-ut) Ignore invalid datetimev2 partition value in UT (#11178) 2022-07-26 09:00:38 +08:00
9ec8e732ae [regression-test]Add order-by to test_bitmap_function (#11174) 2022-07-25 18:24:40 +08:00
bbe08b34ba [Bug](be-ut) Fix the timezone dependency in UT (#11148) 2022-07-25 18:15:05 +08:00
37dff975a7 [bugfix] fix ASAN error alloc-dealloc-mismatch (#11168) 2022-07-25 18:14:20 +08:00
a9fc078b55 [RegressionTest][Array] Fix the bug of regression of array test: (#11173)
1. [] do not have a proper array nested type, cause BE coredump
2. [abc] or ['abc'] load by vectorized load get error result

Co-authored-by: lihaopeng <lihaopeng@baidu.com>
2022-07-25 18:13:49 +08:00
00e2944102 [bugfix] fix coredump caused by wrong type cast of OlapScanNode (#11165) 2022-07-25 17:57:53 +08:00
0d50a658f5 [fix](config) Fix uninitialized config validator (#11022)
* [fix](config) Fix uninitialized config validator

If we don't set any validator, the original implementation will cause
seg-fault due to nullptr of `RegisterConfValidator::_s_field_validator`,
which initial value relies on the first config validator definition.

We need to skip finding validator from
uninitialized `RegisterConfValidator::_s_field_validator`.
2022-07-25 15:10:55 +08:00
c641de4629 [fix](fe-ut) Fix FE UT failures (#11155) 2022-07-25 14:09:20 +08:00
93cb80c9cb [test] use suffix of directory as group name and use directory as dbname (#11142)
* use suffix of directory as group name and use directory as dbname

We can rename tpcds_sf1 to tpcds_sf1_p1, then tpcds_sf1 will be in group
p1.  We will group cases to p0, p1, p2, p3 in the future.

p0: function cases running in seconds.
p1: cases with expected out running in minutes, like tpcds_sf1
p2: cases with expected out running in hours, like tpcds_sf10 tpcds_sf100
p3: cases without without expected out to test core dump.
2022-07-25 12:10:31 +08:00
54f878b781 [feature-wip](multi-catalog) Support orc format file split for file scan node (#11046) 2022-07-25 11:41:46 +08:00
d2457ce8f9 [Feature](Nereids) Add an annotation @Developing (#11077)
Currently, the new optimizer is under development. We want to merge not fully developed features into the code, but not be used in the main code path.

Added an annotation @Developing to mark these features.
2022-07-25 11:24:26 +08:00
84ce7eddf6 [feature-wip](parquet-reader) add thrift file for new parquet reader (#11150) 2022-07-25 10:11:15 +08:00
d9066440f6 [fix](fe_plugins) update fe plugins' dependency to fe 1.0-SNAPSHOT (#11141) 2022-07-25 09:13:15 +08:00