680fce8825
[chore](test) let regression test work well with nereids ( #32199 )
2024-03-15 18:02:01 +08:00
f163d56a98
[feature](function) support sequence function(alias of array_range), enhance both to handle datetimev2 ( #30823 )
2024-02-27 10:12:19 +08:00
2af920c6f8
[chore](regression) Update q03.sql ( #31063 )
...
add 'order by' of case
2024-02-20 16:24:05 +08:00
c0f63915f7
[chore](test) make configuartion of parallel scan be fuzzy ( #29356 )
2024-01-05 11:09:43 +08:00
7a4ef90110
[Improve](regresstests)add test cases for array functions ( #28492 )
2024-01-04 20:39:35 +08:00
065eb9a72b
[feature](nereids)support partition property in nereids ( #28982 )
2023-12-26 11:19:04 +08:00
51f320a606
[bug](function) fix array_apply function return wrong result ( #28133 )
2023-12-08 20:14:54 +08:00
79f6f85cf1
[FIX](serde)fix datetimev2 serde parse from string with scale ( #27965 )
2023-12-05 13:58:32 +08:00
6c4ec3cb82
[FIX](complextype)fix array/map/struct impl hashcode and equals ( #27717 )
2023-11-30 22:08:15 +08:00
87b414cdae
[Fix](query execution) Fix result sink fragment can't be cancelled in non-pipeline ( #25524 )
2023-10-24 11:30:29 +08:00
af8832389f
[feature](Nereids) add 4 array functions ( #25488 )
...
- array_concat
- array_pushback
- array_pushfront
- array_zip
2023-10-17 04:45:15 -05:00
2ed5245014
[FIX](array_function) fix array_map function with array index function without checkout arg… #25226
2023-10-11 10:23:33 +08:00
5f95e97c56
[fix](function) array distance should return null when result is nan ( #25214 )
2023-10-10 04:41:51 -05:00
e9435c14f8
[Improve](array-func)improve array union support multi params ( #24327 )
2023-09-20 14:29:48 +08:00
d326cb0c99
[fix](planner) array constructor do type coercion with decimal in wrong way ( #23630 )
...
array creator with decimal type and integer type parameters should return array<decimal>,
but the legacy planner return array<double>
2023-08-30 11:18:31 +08:00
6c5072ffc5
[FIX](array-func) fix array index func with decimal ( #23399 )
...
fix array index func with decimal
in old analyzer when sql with array_position or array_contains with decimal , may loss precision to which will make result wrong
2023-08-24 17:58:20 +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
b670dd0db7
[feature](Nereids) support array type ( #22851 )
...
FEATURE:
1. enable array type in Nereids
2. support generice on function signature
3. support array and map type in type coercion and type check
4. add element_at and element_slice syntax in Nereids parser
REFACTOR:
1. remove AbstractDataType
BUG FIX:
1. remove FROM from nonReserved keyword list
TODO:
1. support lambda expression
2. use Nereids' way do function type coercion
3. use castIfnotSame when do implict cast on BoundFunction
4. let AnyDataType type coercion do same thing as function type coercion
5. add below array function
- array_apply
- array_concat
- array_filter
- array_sortby
- array_exists
- array_first_index
- array_last_index
- array_count
- array_shuffle shuffle
- array_pushfront
- array_pushback
- array_repeat
- array_zip
- reverse
- concat_ws
- split_by_string
- explode
- bitmap_from_array
- bitmap_to_array
- multi_search_all_positions
- multi_match_any
- tokenize
2023-08-22 09:47:55 +08:00
2d96d19030
[FIX](array-func) fix array() with decimal type ( #23117 )
...
if we write sql with : select array(1.0,2.0,null, null,2.0)
here will pass arg type with uint8 to be which does not match array() func sign with deicmal, and make be core. so here should cast from be and make null tag to cast decimal type
2023-08-18 12:12:50 +08:00
c1f36639fd
[fix](sort) VSortedRunMerger does not return any rows with a large offset value ( #22191 )
2023-07-31 22:28:13 +08:00
7261845b3d
[FIX](complex-type)fix complex type nested col_const ( #22375 )
...
for array/map/struct in mysql_writer unpack_if_const only unpack self column not nested , so col_const should not used in nested column.
2023-07-31 14:53:18 +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
1f032a551d
[Improve](array-functions) support array first function ( #20397 )
...
add array_first(lambda, [1,2,3,null]) function for doris
2023-06-06 12:08:46 +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
637e083343
[regression](test) fix test case failed in pipeline mode ( #20139 )
2023-05-27 22:42:25 +08:00
ee34b6de2d
[Refact] (serde) refact mysql serde with data type ( #19543 )
...
refact mysql output (de)serialize with data type serde , avoid accoriding switch case Primitive type writed in mysqlWriter
2023-05-26 14:11:17 +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
39ec8aa64c
[refactor](complex-type) refactor array/map/struct literal to not invoke execute() function in prepare state ( #19068 )
2023-05-11 18:44:37 +08:00
834bf2eab7
[feature](array) Add array_last lambda function ( #18388 )
...
Add array_last lambda function
2023-05-11 13:15:54 +08:00
20395ce501
[feature](array_function): add support for array_cum_sum function ( #18231 )
2023-04-27 09:57:13 +08:00
17b59df8dd
[fix](function) Array_map compared offset rows one by one ( #18406 )
...
Array_map 's multi columns compare not only nested data rows to be equal,but also the offsets data must equal each other.
2023-04-25 19:12:19 +08:00
15529afed8
[minor](decimal) forbid to create table with decimal type exceeds 18 ( #18763 )
...
* [minor](decimal) forbid to create table with decimal type exceeds 18
* update
2023-04-19 11:34:27 +08:00
6b351a2818
[vectorzied](function) fix array_map function analyzed failed with order by clause ( #18676 )
...
* [vectorzied](function) fix array_map function analyzed failed with order by clause
* add test
2023-04-18 12:01:44 +08:00
5300b21db7
[Bug](DECIMALV3) report failure if a decimal value is overflow ( #18336 )
2023-04-17 13:18:14 +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
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
1b2aaab2f2
[vectorized](bug) fix some case in enable fold constant ( #17997 )
...
fix some case in enable fold constant
2023-03-31 11:41:31 +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
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
dc284b62d9
[vectorized](function) support array_filter function ( #17832 )
2023-03-20 23:18:10 +08:00
5f2b68df24
[fix](regression-test) fix unstable regression test cases found in p0 ( #17900 )
2023-03-19 10:11:57 +08:00