cd13f9e8c6
[BUG](view) fix can't create view with lambda function ( #23942 )
...
before the lambda function Expr not implement toSqlImpl() function.
so it's call parent function, which is not suit for lambda function.
and will be have error when create view.
2023-09-11 10:04:00 +08:00
0143ae8266
[fix]Add logging before _builtin_unreachable() ( #24101 )
...
Co-authored-by: 宋光璠 <songguangfan@sf.com >
2023-09-09 00:30:11 +08:00
dc28878f0e
[FIX](function) fix size function for array map ( #23920 )
...
Issue Number: close #xxx
now we use select size(map(1, 2)); which will make be core
and we can make size function handle array & map column both
2023-09-06 14:32:06 +08:00
22e373a799
[feature](vector-search) add 4 distance functions to support vector search ( #23129 )
2023-08-23 15:51:15 +08:00
8ed4045df9
[Chore](primitive-type) remove VecPrimitiveTypeTraits ( #22842 )
2023-08-23 08:37:40 +08:00
0b51e6d8e1
[refractor](FunctionArrayIndex) make the codes more simple
2023-08-22 17:48:59 +08:00
d4694167a8
[Enhancement](chore) Some Status relevant enhancement ( #23072 )
2023-08-21 14:14:38 +08:00
390c52f73a
[Improve](complex-type) update for array/map element_at with nested complex type with local tvf ( #22927 )
2023-08-16 20:47:36 +08:00
4e880288c6
[refactor]use clear concept to replace std::enable_if_t ( #22801 )
...
---------
Signed-off-by: flynn <fenglv15@mails.ucas.ac.cn >
2023-08-12 15:10:30 +08:00
b41fcbb783
[feature](agg) add the aggregation function 'mag_agg' ( #22043 )
...
New aggregation function: map_agg.
This function requires two arguments: a key and a value, which are used to build a map.
select map_agg(column1, column2) from t group by column3;
2023-07-25 11:21:03 +08:00
b35cfc5d5e
[opt](join) Opt the performance of join probe ( #21845 )
2023-07-19 01:21:22 +08:00
25b5bab22d
[fix](memory) Fix hash table buf initialize null pointer ( #21315 )
...
When compiling FunctionArrayEnumerateUniq::_execute_by_hash, AllocatorWithStackMemory::free(buf)
will be called when delete HashMapContainer. the gcc compiler will think that size > N and buf is not heap memory,
and report an error ' void free(void*)' called on unallocated object 'hash_map'
This only fails on doris docker + gcc 11.1, no problem on doris docker + clang 16.0.1,
no problem on ldb_toolchanin gcc 11.1 and clang 16.0.1.
2023-06-30 14:50:53 +08:00
99c0592157
[Feature](array-function) Support array_pushback function #17417 ( #19988 )
...
Implement array_pushback.
mysql> select array_pushback([1, 2], 3);
+--------------------------------+
| array_pushback(ARRAY(1, 2), 3) |
+--------------------------------+
| [1, 2, 3] |
+--------------------------------+
1 row in set (0.01 sec)
2023-06-12 16:51:12 +08:00
59a0f80233
[Improve](array-function)Improve array function intersect ( #20085 )
...
now we just support array function with 2 arrays , but intersect operator can support more than 2 arrays
2023-06-05 10:38:48 +08:00
d68f3f3b3d
[Feature](array-functions)improve array functions for array_last_index ( #20294 )
...
Now we just support array_first_index for lambda input , but no array_last_index
2023-06-02 13:54:03 +08:00
bb12a1cb49
[Enhance](array function) add support for DecimalV3 for array_enumerate_uniq() ( #17724 )
2023-05-30 13:09:19 +08:00
d64be9565d
[Bug](function) fix function in get wrong result when input const column ( #19791 )
...
fix function in get wrong result when input const column
2023-05-22 10:58:29 +08:00
325a1d4b28
[vectorized](function) support array_count function ( #18557 )
...
support array_count function.
array_count:Returns the number of non-zero and non-null elements in the given array.
2023-05-16 17:00:01 +08:00
20395ce501
[feature](array_function): add support for array_cum_sum function ( #18231 )
2023-04-27 09:57:13 +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
e412dd12e8
[chore](build) Use include-what-you-use to optimize includes (PART II) ( #18761 )
...
Currently, there are some useless includes in the codebase. We can use a tool named include-what-you-use to optimize these includes. By using a strict include-what-you-use policy, we can get lots of benefits from it.
2023-04-19 23:11:48 +08:00
79c446c89f
[enhancement](exception) Column filter/replicate supports exception safety ( #18503 )
2023-04-18 19:23:09 +08:00
43392918cd
[Optimization](functions)Optimize function call for const columns. ( #18310 )
2023-04-12 11:11:01 +08:00
1238f6de97
[bug](array) fix be core in array_with_constant/array_repeat function when the first argument is nullable ( #18404 )
...
fix be core in array_with_constant/array_repeat function when the first argument is nullable
2023-04-11 19:46:41 +08:00
0517616242
[vectorized](function) support array_repeat function to be compatible with hive syntax ( #18028 )
...
---------
Co-authored-by: zhangyu209 <zhangyu209@meituan.com >
2023-04-08 15:50:28 +08:00
8b85c55117
[vectorized](function) Support array_shuffle and shuffle function. ( #18116 )
...
---------
Co-authored-by: zhangyu209 <zhangyu209@meituan.com >
2023-04-04 08:53:13 +08:00
d4688620e9
[opt](array) optimize array_sortby using qsort instead of bubble sort #18311
2023-04-03 17:10:51 +08:00
94e3472050
[bug](function) fix count equal function return incorrect value ( #18200 )
...
fix count equal function return incorrect value
2023-04-03 11:20:36 +08:00
20b3bdb000
[vectorized](function) support array_first_index function ( #18175 )
...
mysql> select array_first_index(x->x+1>3, [2, 3, 4]);
+-------------------------------------------------------------------+
| array_first_index(array_map([x] -> x(0) + 1 > 3, ARRAY(2, 3, 4))) |
+-------------------------------------------------------------------+
| 2 |
+-------------------------------------------------------------------+
mysql> select array_first_index(x -> x is null, [null, 1, 2]);
+----------------------------------------------------------------------+
| array_first_index(array_map([x] -> x(0) IS NULL, ARRAY(NULL, 1, 2))) |
+----------------------------------------------------------------------+
| 1 |
+----------------------------------------------------------------------+
mysql> select array_first_index(x->power(x,2)>10, [1, 2, 3, 4]);
+---------------------------------------------------------------------------------+
| array_first_index(array_map([x] -> power(x(0), 2.0) > 10.0, ARRAY(1, 2, 3, 4))) |
+---------------------------------------------------------------------------------+
| 4 |
+---------------------------------------------------------------------------------+
2023-03-31 12:51:29 +08:00
f800ba8f4c
[Exec](opt) Optimize function call for const columns ( #18212 )
2023-03-31 11:36:21 +08:00
ea41d94582
[Improve](complex-type) Support Count(complexType) ( #17868 )
...
Support count function for ARRAY/MAP/STRUCT type
2023-03-30 15:43:32 +08:00
525f15dddf
[vectorized](function) support array_sortby function ( #18071 )
2023-03-30 11:07:49 +08:00
115e52c16c
[Opt](array) optimize_array_sort ( #18123 )
2023-03-27 22:01:24 +08:00
45ad297a1d
[Enchancement](function) change aggregate function creator to return AggregateFunctionPtr ( #18025 )
...
change creator_type to return AggregateFunctionPtr.
remove some function and use creator directly.
2023-03-26 11:41:34 +08:00
360d3050bc
[Feature](array-function) Support array_reverse_sort function ( #17754 )
...
Co-authored-by: zhangyu209 <zhangyu209@meituan.com >
2023-03-25 21:58:11 +08:00
089a91ecd5
[vectorized](function) support array_exists lambda function ( #17931 )
...
Co-authored-by: zhangyu209 <zhangyu209@meituan.com >
2023-03-23 11:11:39 +08:00
4193884a32
[feature](array_zip) Support array_zip function ( #17696 )
2023-03-21 18:44:30 +08:00
e7e13bc338
[optimize](array function) array_apply fucntion vectorized compute column_filter loop ( #17687 )
2023-03-19 10:18:09 +08:00
c302fa2564
[Feature](array-function) Support array_pushfront function ( #17584 )
2023-03-13 14:26:02 +08:00
55c42da511
[Feature](array) Support array<decimalv3> data type ( #16640 )
2023-03-13 10:48:13 +08:00
e1bf9411de
[feature](array function) add support for array_enumerate_uniq ( #17541 )
...
add support for array_enumerate_uniq()
2023-03-10 10:20:49 +08:00
06dee69174
[Refactor](map) remove using column array in map to reduce offset column ( #17330 )
...
1. remove column array in map
2. add offsets column in map
Aim to reduce duplicate offset from key-array and value-array in disk
2023-03-09 11:22:26 +08:00
65b8dfc7ff
[Enchancement](function) Inline some aggregate function && remove nullable combinator ( #17328 )
...
1. Inline some aggregate function
2. remove nullable combinator
2023-03-09 10:39:04 +08:00
4ea0d6c5fa
[feature](array_function) add support for array_popfront ( #17416 )
2023-03-08 13:57:38 +08:00
b1d65f855d
[Feature](array-function) Support array_concat function ( #17436 )
2023-03-08 13:57:16 +08:00
06468ba627
[vectorized](bug) fix array constructor function change origin column from block ( #17296 )
2023-03-07 16:42:23 +08:00
7cb6c522b0
[Enhancement](array) vectorized string equal comparasion in array_contains function
...
use StringRef instead of string_view operator == for vectorized impl for array_contains function.
- test data: 10,000,000 rows with a ARRAY<STRING> column. There are 10 elements, average length 11 chars, in the array column in each row.
- test SQL: `select count() from test_like_array where array_contains(s_arr, 'xxxxxxxx');`
- test result: 0.76 sec vs. 0.52 sec, 30% time reduced
2023-02-26 19:42:26 +08:00
c4edea5936
[Enchancement](function) refact and optimize some function register ( #16955 )
...
refact and optimize some function register
2023-02-24 10:05:11 +08:00
526a66e9fb
[Function](array-type) support array_apply ( #17020 )
...
Filter array to match specific binary condition
```
mysql> select array_apply([1000000, 1000001, 1000002], '=', 1000002);
+-------------------------------------------------------------+
| array_apply(ARRAY(1000000, 1000001, 1000002), '=', 1000002) |
+-------------------------------------------------------------+
| [1000002] |
+-------------------------------------------------------------+
```
2023-02-23 17:38:16 +08:00
2bc014d83a
[Enchancement](function) remove unused params on aggregate function ( #16886 )
...
remove unused params on aggregate function
2023-02-20 11:08:45 +08:00