2c888667ed
[improvement](function) standardize some ip functions' signatures #29614
...
The signatures of functions in these PRs should be more standard:
#27342 ,
#25510 ,
#20936 ,
including the following:
ipv4numtostring,
ipv4stringtonum,
ipv4stringtonumordefault,
ipv4stringtonumornull,
ipv6numtostring.
This PR will add necessary underscores between the words of each of them,
like changing ipv4numtostring to ipv4_num_to_string.
2024-01-06 16:16:38 +08:00
7402fee1fc
[feature](function) support ip function ipv6_string_to_num(_or_default, _or_null), inet6_aton ( #28361 )
2024-01-05 19:24:45 +08:00
9715db61d4
[FIX](complextype)fix count func with complex type ( #28873 )
2023-12-27 20:38:44 +08:00
13ccfa06a7
[Feature](Variant) Implement variant new sub column access method ( #28484 )
...
* [Feature](Variant) Implement variant new sub column access method
The query SELECT v["a"]["b"] from simple_var WHERE cast(v["a"]["b"] as int) = 1 encompasses three primary testing scenarios:
```
1. A basic test involving the variant data type.
2. A scenario dealing with GitHub event data in the context of a variant.
3. A case related to the TPC-H benchmark using a variant.
```
2023-12-22 11:59:37 +08:00
e9848066c9
[FIX](type) fix matchExactType for complex type ( #28233 )
...
fe matchExactType function should call type.matchTypes for its own logic, do not switch case to do special logic otherwise we may meet core in be like this.
```
F20231208 18:54:39.359673 680131 block.h:535] Check failed: _data_types[i]->is_nullable() target type: Struct(l_info:Nullable(Array(Nullable(String)))) src type: Struct(col:Nullable(Array(Nullable(UInt8))))
*** Check failure stack trace: ***
@ 0x5584e952b926 google::LogMessage::SendToLog()
@ 0x5584e9527ef0 google::LogMessage::Flush()
@ 0x5584e952c169 google::LogMessageFatal::~LogMessageFatal()
@ 0x5584cf17201e doris::vectorized::MutableBlock::merge_impl<>()
@ 0x5584ceac4b1d doris::vectorized::MutableBlock::merge<>()
@ 0x5584d4dd7de3 doris::vectorized::VUnionNode::get_next_const()
@ 0x5584d4dd9a45 doris::vectorized::VUnionNode::get_next()
@ 0x5584bce469bd std::__invoke_impl<>()
@ 0x5584bce466d0 std::__invoke<>()
@ 0x5584bce465c7 _ZNSt5_BindIFMN5doris8ExecNodeEFNS0_6StatusEPNS0_12RuntimeStateEPNS0_10vectorized5BlockEPbEPS1_St12_PlaceholderILi1EESC_ILi2EESC_ILi3EEEE6__callIS2_JOS4_OS7_OS8_EJLm0ELm1ELm2ELm3EEEET_OSt5tupleIJDpT0_EESt12_Index_tupleIJXspT1_EEE
@ 0x5584bce46358 std::_Bind<>::operator()<>()
@ 0x5584bce46208 std::__invoke_impl<>()
@ 0x5584bce46178 _ZSt10__invoke_rIN5doris6StatusERSt5_BindIFMNS0_8ExecNodeEFS1_PNS0_12RuntimeStateEPNS0_10vectorized5BlockEPbEPS3_St12_PlaceholderILi1EESD_ILi2EESD_ILi3EEEEJS5_S8_S9_EENSt9enable_ifIX16is_invocable_r_vIT_T0_DpT1_EESL_E4typeEOSM_DpOSN_
@ 0x5584bce45c18 std::_Function_handler<>::_M_invoke()
@ 0x5584bce6412f std::function<>::operator()()
@ 0x5584bce56382 doris::ExecNode::get_next_after_projects()
@ 0x5584bce26218 doris::PlanFragmentExecutor::get_vectorized_internal()
@ 0x5584bce2431b doris::PlanFragmentExecutor::open_vectorized_internal()
@ 0x5584bce22a96 doris::PlanFragmentExecutor::open()
@ 0x5584bce27c9d doris::PlanFragmentExecutor::execute()
@ 0x5584bcbdb3f8 doris::FragmentMgr::_exec_actual()
@ 0x5584bcbf982f doris::FragmentMgr::exec_plan_fragment()::$_0::operator()()
@ 0x5584bcbf9715 std::__invoke_impl<>()
@ 0x5584bcbf96b5 _ZSt10__invoke_rIvRZN5doris11FragmentMgr18exec_plan_fragmentERKNS0_23TExecPlanFragmentParamsERKSt8functionIFvPNS0_12RuntimeStateEPNS0_6StatusEEEE3$_0JEENSt9enable_ifIX16is_invocable_r_vIT_T0_DpT1_EESH_E4typeEOSI_DpOSJ_
@ 0x5584bcbf942d std::_Function_handler<>::_M_invoke()
@ 0x5584b9dfd883 std::function<>::operator()()
@ 0x5584bd6e3929 doris::FunctionRunnable::run()
@ 0x5584bd6cf8ce doris::ThreadPool::dispatch_thread()
```
2023-12-21 11:49:05 +08:00
15553e6335
[Bug](fold-constant) fix result error with fold constant on BE ( #28194 )
2023-12-12 21:24:29 +08:00
25b90eb782
[Feature](function) support random int from specific range ( #28076 )
...
mysql> select rand(-20, -10);
+------------------+
| random(-20, -10) |
+------------------+
| -13 |
+------------------+
1 row in set (0.10 sec)
2023-12-08 10:15:25 +08:00
c98b80ae6a
[Feature](functions) support ignore and nullable functions ( #27848 )
...
support ignore and nullable functions
2023-12-05 14:09:32 +08:00
2e1ce758f1
[feature](function) support ip function ipv6numtostring(alias inet6_ntoa) ( #27342 )
2023-12-02 11:48:19 +08:00
baadc14e60
[Enhancement](function) support unix_timestamp with float ( #26827 )
...
---------
Co-authored-by: YangWithU <plzw8@outlook.com >
2023-11-27 09:58:53 +08:00
699798eaa7
[fix](function) make TIMESTAMP function DEPEND_ON_ARGUMENT ( #27343 )
...
* fix
* fix nullable
* remove null
* add case
2023-11-23 14:26:19 +08:00
334260dff7
[feature](function) support ip function ipv4stringtonum(ordefault, ornull), inet_aton ( #25510 )
2023-11-17 10:27:07 +08:00
0449a240f4
[Fix](from_unixtime) Keep consistent with MySQL & bug fix ( #25966 )
...
Bug fix: implicit convert from int32 -> int64 makes negative time stamp valid, so change signature to int64
Consistent: keep consistent with mysql.
2023-10-31 14:31:24 +08:00
3a954cd1aa
[fix](function)return NULL rather than 'null' if path not found ( #25880 )
...
fix json_extract not return NULL but null
2023-10-30 14:26:44 +08:00
dc47087560
[fix](function) fix str_to_date default return type scale for nereids ( #24932 )
...
fix str_to_date default return type scale for nereids
2023-10-20 12:55:49 +08:00
f9df3bae61
[Enhancement](functions) change some nullable mode and clear some smooth upgrade ( #25334 )
2023-10-16 19:50:17 +08:00
dfc7d04626
[fix](functions) add quantile_state_empty function signature ( #25306 )
2023-10-16 11:05:48 +08:00
42f8b253aa
[function](nereids) support array_apply/array_repeat/group_uniq_array/ipv4numtostring ( #25249 )
...
nereids support functions: array_apply/array_repeat/group_uniq_array/ipv4numtostring
2023-10-12 11:08:42 +08:00
68087f6c82
[fix](json function) Fix the slow performance of get_json_path when processing JSONB ( #24631 )
...
When processing JSONB, automatically convert to jsonb_extract_string
2023-09-27 21:17:39 +08:00
5d138b6928
[remove](function) make execute_impl const and remove running_difference function ( #24935 )
2023-09-27 18:17:28 +08:00
1b95ce1d93
[feature](json-function) add json_insert, json_replace, json_set functions ( #24384 )
...
[feature](json-function) add three json funcitons
2023-09-25 12:52:29 +08:00
22616d125d
[function](bitmap) add function alias bitmap_andnot and bitmap_andnot_count ( #24771 )
2023-09-22 12:18:31 +08:00
61578f92e6
[chore](function name order) reorder math functions in doris_builtins_functions #24716
2023-09-21 15:07:50 +08:00
81e65f4a12
[feature](function) Support SHA family functions ( #24342 )
2023-09-20 17:21:45 +08:00
e9435c14f8
[Improve](array-func)improve array union support multi params ( #24327 )
2023-09-20 14:29:48 +08:00
14bd290aec
[feature](jsonb)support json_length and json_contains function ( #24332 )
2023-09-20 10:40:44 +08:00
e59aa49f28
[feature](datetime-func)support milliseconds_add/sub/diff and microseconds_diff ( #24114 )
2023-09-20 10:38:56 +08:00
990d6c02ec
[Feature](new function) Add a uuid-numeric function, returns uuid in largerint type, 20x faster than uuid ( #24395 )
2023-09-16 18:26:13 +08:00
4ad5845dcc
[fix](planner) add if function signature for jsonb data type ( #24436 )
2023-09-15 17:50:51 +08:00
4fbb25bc55
[Enhancement](function) Support date_trunc(date) and use it in auto partition ( #24341 )
...
Support date_trunc(date) and use it in auto partition
2023-09-14 16:53:09 +08:00
4bb9a12038
[function](bitmap) support bitmap_remove ( #24190 )
2023-09-12 14:52:04 +08:00
20b3e5eafe
[feature](Datetime) add from_microsecond / from_millisecond function ( #23902 )
2023-09-07 19:03:49 +08:00
a96adc01aa
[Chore](function) refactor of quantile_state ( #23862 )
...
refactor of quantile_state
2023-09-06 15:39:19 +08:00
bb3fadc5d3
[Bug](materialized-view) fix mv not match because cast and alias name ( #23580 )
...
fix mv not match because cast and alias name
2023-09-04 12:46:33 +08:00
75e2bc8a25
[function](bitmap) support bitmap_to_base64 and bitmap_from_base64 ( #23759 )
2023-09-02 00:58:48 +08:00
3a34ec95af
[FE](fucntion) add date_floor/ceil in FE function ( #23539 )
2023-08-31 19:26:47 +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
8ef6b4d996
[fix](json) fix json int128 overflow ( #22917 )
...
* support int128 in jsonb
* fix jsonb int128 write
* fix jsonb to json int128
* fix json functions for int128
* add nereids function jsonb_extract_largeint
* add testcase for json int128
* change docs for json int128
* add nereids function jsonb_extract_largeint
* clang format
* fix check style
* using int128_t = __int128_t for all int128
* use fmt::format_to instead of snprintf digit by digit for int128
* clang format
* delete useless check
* add warn log
* clang format
2023-08-25 11:40:30 +08:00
51ac92f65c
Revert "[fix](function) to_bitmap parameter parsing failure returns null instead of bitmap_empty ( #21236 )" ( #23368 )
...
This reverts commit 1c3cc77a54938ed948ad8186b8dea8385977d23c.
2023-08-23 18:27:35 +08:00
22e373a799
[feature](vector-search) add 4 distance functions to support vector search ( #23129 )
2023-08-23 15:51:15 +08:00
1c3cc77a54
[fix](function) to_bitmap parameter parsing failure returns null instead of bitmap_empty ( #21236 )
...
* [fix](function) to_bitmap parameter parsing failure returns null instead of bitmap_empty
* add ut
* fix nereids
* fix regression-test
2023-08-18 14:37:49 +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
c2155678ca
[fix](functions) fix now(null) crash ( #22321 )
...
before: BE crash
now:
mysql [test]>select now(null);
+-----------+
| now(NULL) |
+-----------+
| NULL |
+-----------+
1 row in set (0.06 sec)
2023-07-28 14:07:56 +08:00
341c45974c
[round](decimalv2) round precise decimalv2 value ( #22258 )
2023-07-27 10:00:36 +08:00
fc2b9db0ad
[Feature](inverted index) add tokenize function for inverted index ( #21813 )
...
In this PR, we introduce TOKENIZE function for inverted index, it is used as following:
```
SELECT TOKENIZE('I love my country', 'english');
```
It has two arguments, first is text which has to be tokenized, the second is parser type which can be **english**, **chinese** or **unicode**.
It also can be used with existing table, like this:
```
mysql> SELECT TOKENIZE(c,"chinese") FROM chinese_analyzer_test;
+---------------------------------------+
| tokenize(`c`, 'chinese') |
+---------------------------------------+
| ["来到", "北京", "清华大学"] |
| ["我爱你", "中国"] |
| ["人民", "得到", "更", "实惠"] |
+---------------------------------------+
```
2023-07-25 15:05:35 +08:00
a0463ea047
[round](decimalv2) round decimalv2 to precision value ( #22138 )
...
* [round](decimalv2) round decimalv2 to precision value
* update
* update`
2023-07-25 03:29:48 +08:00
845cf94a7a
[feature](function) support time_to_sec ( #21722 )
...
mysql >select sec_to_time(time_to_sec(cast('16:32:18' as time)));
+----------------------------------------------------+
| sec_to_time(time_to_sec(CAST('16:32:18' AS TIME))) |
+----------------------------------------------------+
| 16:32:18 |
+----------------------------------------------------+
1 row in set (0.53 sec)
mysql [test]>select sec_to_time(59538);
+--------------------+
| sec_to_time(59538) |
+--------------------+
| 16:32:18 |
+--------------------+
1 row in set (0.03 sec)
2023-07-19 01:09:48 +08:00
be55cb8dfc
[Improve](jsonb_extract) support jsonb_extract multi parse path ( #21555 )
...
support jsonb_extract multi parse path
2023-07-12 21:37:36 +08:00
e0b20f0437
[feature](function) add ip function ipv4numtostring (alias inet_ntoa) ( #20936 )
2023-06-27 10:17:40 +08:00
824bc02603
[Function] Support date function: microsecond() ( #20044 )
2023-06-20 10:32:54 +08:00