eb7eaee386
[fix](function) money format ( #34680 )
2024-05-18 18:35:29 +08:00
d5ab2787ba
[Fix](function) fix pad functions behaviour of empty pad string ( #34796 )
...
fix pad functions behaviour of empty pad string
2024-05-15 10:28:09 +08:00
26d9082b9a
[Feature](function) Add function strcmp ( #33272 )
2024-04-12 15:09:25 +08:00
7486e96b12
[improve](function) add error msg if exceeded maximum default value in repeat function ( #32219 )
...
add some error msg from repeat function, so the user could know the count is greater than default value.
2024-03-21 14:07:49 +08:00
7422f185da
[Fix](smooth-upgrade) Fix incompatibility when upgrade from 2.0 to 2.1 ( #32444 )
2024-03-21 14:07:24 +08:00
e3bb499cc6
[fix](function)revert function REPEAT nullable mode #32226
2024-03-15 18:06:28 +08:00
6ef4ab631d
[Opt](func) reduce the useless mem alloc and const opt the concat code ( #31983 )
2024-03-09 19:45:46 +08:00
21ce85dc14
[fix](money_format) fix money_format #31883
2024-03-07 16:53:19 +08:00
9c4708ee74
[function](random_bytes)add random_bytes function ( #31547 )
...
SELECT random_bytes(10);
random_bytes(10) |
----------------------+
0x9b8ea00b7d1084bc5b26|
2024-02-29 16:44:39 +08:00
1ed24117ac
[function](url_decode)add url_decode function ( #30667 )
2024-02-05 22:23:00 +08:00
48aaaa8005
[Enhancement](fuction) change function REPEAT nullable mode ( #30743 )
2024-02-04 22:21:36 +08:00
94eedd8ea4
[Enhancement](function)make SUBSTRING_INDEX function DEPEND_ON_ARGUMENT ( #30392 )
2024-02-02 13:31:47 +08:00
ca5a314765
[fix](function) make STRLEFT and STRRIGHT and SUBSTR function DEPEND_ON_ARGUMENT ( #28352 )
...
make STRLEFT and STRRIGHT function DEPEND_ON_ARGUMENT
2024-01-25 13:23:59 +08:00
e894911cda
[function](char) change char function behaviour same with mysql ( #30034 )
...
select char(0) = '\0';
should return true;
2024-01-18 10:04:21 +08:00
e417128fb9
[bug](bitmap) should return error status when execute failed ( #29841 )
2024-01-16 18:30:23 +08:00
068367063f
[Improvement](function) optimization for substr with ascii string ( #29799 )
2024-01-12 11:59:52 +08:00
a525d5c5a3
[refactor](decimal) change type name Decimal128 to Decimal128V2, Decimal128I to Decimal128V3 to avoid confusion ( #29265 )
...
change type name Decimal128 to Decimal128V2, Decimal128I to Decimal128V3 to avoid confusion
2023-12-29 10:11:44 +08:00
1a46cf6fb5
[fix](split_by_string) Fix split by string core on column string ( #28030 )
2023-12-07 16:36:13 +08:00
2b715924c5
[Chore](function) set normal function use_default_implementation_for_constants to default ( #27891 )
...
set normal function use_default_implementation_for_constants to default
2023-12-04 14:19:25 +08:00
a5565f68b2
[Refactor](opentelemetry) Remove opentelemetry ( #26605 )
2023-11-09 18:05:34 +08:00
693982fd1a
[feature](decimal) support decimal256 ( #25386 )
2023-10-25 15:47:51 +08:00
f9df3bae61
[Enhancement](functions) change some nullable mode and clear some smooth upgrade ( #25334 )
2023-10-16 19:50:17 +08:00
642e5cdb69
[Fix](Status) Make Status [[nodiscard]] and handle returned Status correctly ( #23395 )
2023-09-29 22:38:52 +08:00
5d138b6928
[remove](function) make execute_impl const and remove running_difference function ( #24935 )
2023-09-27 18:17:28 +08:00
81e65f4a12
[feature](function) Support SHA family functions ( #24342 )
2023-09-20 17:21:45 +08:00
b122f9b80c
[fix](concat) ColumnString::chars is resized with wrong size ( #22610 )
...
FunctionStringConcat::execute_impl resized with size that include string null terminator, which causes ColumnString::chars.size() does not match with ColumnString::offsets.back, this will cause problems for some string functions, e.g. like and regexp.
2023-08-04 19:13:35 +08:00
181dad4181
[fix](executor) make elt / repeat smooth upgrade. ( #21493 )
...
BE : 2.0,FE : 1.2
before
mysql [(none)]>select elt(1, 'aaa', 'bbb');
ERROR 1105 (HY000): errCode = 2, detailMessage = (127.0.0.1)[INTERNAL_ERROR]Function elt get failed, expr is VectorizedFnCall[elt](arguments=,return=String) and return type is String.
mysql [test]> INSERT INTO tbb VALUES (1, repeat("test1111", 8192))(2, repeat("test1111", 131072));
mysql [test]>select k1, md5(v1), length(v1) from tbb;
+------+----------------------------------+--------------+
| k1 | md5(`v1`) | length(`v1`) |
+------+----------------------------------+--------------+
| 1 | d41d8cd98f00b204e9800998ecf8427e | 0 |
| 2 | d41d8cd98f00b204e9800998ecf8427e | 0 |
+------+----------------------------------+--------------+
now
mysql [test]>select elt(1, 'aaa', 'bbb');
+----------------------+
| elt(1, 'aaa', 'bbb') |
+----------------------+
| aaa |
+----------------------+
mysql [test]>select k1, md5(v1), length(v1) from tbb;
+------+----------------------------------+--------------+
| k1 | md5(`v1`) | length(`v1`) |
+------+----------------------------------+--------------+
| 1 | 1f44fb91f47cab16f711973af06294a0 | 65536 |
| 2 | 3c514d3b89e26e2f983b7bd4cbb82055 | 1048576 |
+------+----------------------------------+--------------+
2023-07-06 19:15:06 +08:00
ab7ac31d89
[Chore](case) fix failed on test_big_pad when enable pipeline engine #20644
2023-06-12 09:15:55 +08:00
90d710e83d
[Enchancement](function) optimize for padding function && add string length check on string op ( #20363 )
2023-06-02 21:24:41 +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
56809230d1
[Improvement](string function) optimize substring and in string set ( #19257 )
...
* [Improvement](string function) optimize substring and in string set
* update
2023-05-17 14:09:52 +08:00
6626f26506
[optimize](string) optimize char_length function by SIMD ( #18925 )
...
Optimize char_length function by SIMD
(1) optimize utf8_len compute
(2) 840% up
2023-04-28 17:22:35 +08:00
b75f4c97f3
[function](string) support char function ( #18878 )
...
* [function](string) support char function
* fix
2023-04-22 08:36:48 +08:00
ab9500bfa6
[optimize](string) optimize instr and locate function for constant arguments ( #18692 )
...
Optimize instr and locate function for constant arguments.
instr and locate function constant arguments has 58%~200% performance improvement.
refactor locate(substr, str, pos) as standardized arguments processing.
2023-04-20 10:40:19 +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
0b074ade02
[fix](const column) fix coredump caused by const column for some functions ( #18737 )
2023-04-18 13:57:55 +08:00
43392918cd
[Optimization](functions)Optimize function call for const columns. ( #18310 )
2023-04-12 11:11:01 +08:00
0c5e3df4a3
[optimize](string) optimize split_by_string and substring_index function ( #18496 )
...
Use SIMD stringsearcher and SIMD memcmp optimze split_by_string and substring_index function.
split_by_string function has 32%~540% up
substring_index function has 22%~46% up
Performance difference depends on the needle size and whether the needle is constant param. And the longer the needle, the more performance improvement
2023-04-11 15:49:03 +08:00
fb50626075
[optimize](string) optimize concat function by SIMD memcpy ( #18458 )
...
Optimize concat function 29% up by memcpy_small_allow_read_write_overflow15.
Optimize string functions list: concat, convert_to, mask, initcap, lower, upper.
concat function has 29% up:
2023-04-08 17:05:34 +08:00
f84481886b
[feature](string_functions) The 'split_part' function supports non-constant parameters ( #18029 )
2023-03-25 12:03:11 +08:00
b95cd7eca2
[Refactor](function) Reconstruct default logic for const args. ( #17830 )
2023-03-17 11:13:13 +08:00
77ab2fac20
[refactor](functioncontext) remove function context impl class ( #17715 )
...
* [refactor](functioncontext) remove function context impl class
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
---------
Co-authored-by: yiguolei <yiguolei@gmail.com >
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-03-14 11:21:45 +08:00
16fc3a0e22
[Chore](compile) remove some unused static on inline function to reduce compile time ( #17603 )
...
remove some unused static on inline function to reduce compile time
2023-03-13 11:11:59 +08:00
4692d6764c
[refactor](remove string val) remove string val structure, it is same with string ref ( #17461 )
...
remove stringval, decimalv2val, bigintval
2023-03-08 10:42:20 +08:00
17f4990bd3
[enhancement](functioncontext) function context should use shared ptr and simply function context ( #17311 )
...
Co-authored-by: yiguolei <yiguolei@gmail.com >
2023-03-02 16:23:54 +08:00
3e40467ce6
[Bug](vec) Fix chinese pinyin order by ( #17152 )
...
bug: some chinese word not sort by pinyin in GBK coding
CREATE TABLE `test_convert` (
`a` varchar(100) NULL
) ENGINE=OLAP
DUPLICATE KEY(`a`)
DISTRIBUTED BY HASH(`a`) BUCKETS 3
PROPERTIES (
"replication_allocation" = "tag.location.default: 1"
);
insert into test_convert values("b"), ("a"), ("c"), ("睿"), ("多"), ("丝");
Query OK, 6 rows affected (0.03 sec)
{'label':'insert_ca73a6acc2194d5b_888218a3949355a6', 'status':'VISIBLE', 'txnId':'18068'}
mysql [test]>select * from test_convert;
+------+
| a |
+------+
| a |
| c |
| 丝 |
| b |
| 多 |
| 睿 |
+------+
6 rows in set (0.01 sec)
mysql [test]>select * from test_convert order by convert(a using gbk);
+------+
| a |
+------+
| a |
| b |
| c |
| 多 |
| 丝 |
| 睿 |
+------+
6 rows in set (0.01 sec)
2023-02-28 14:29:56 +08:00
883f575cfe
[fix](string function) fix wrong usage of iconv_open ( #17048 )
...
* [fix](string function) fix wrong usage of iconv_open
Also add test case for function convert
* fix test case
2023-02-24 09:13:10 +08:00
e04c13b7a6
[enhancement](exception safe) make function state exception safe ( #16771 )
2023-02-20 23:01:45 +08:00
7d5a10e1af
[bug](function) fix mask_first_n function can't handle const value ( #16308 )
2023-02-03 10:32:42 +08:00
95d7c2de26
[Refactor](function) Rewrite the function elt ( #16287 )
2023-02-01 11:17:06 +08:00