mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2026-01-09 14:52:58 +00:00
* feat(vector): add sub function * chore: added check for vector length misalignment * feat(vector): add `vec_sum` & `vec_elem_sum` * chore: codefmt * update lock file Signed-off-by: Ruihang Xia <waynestxia@gmail.com> --------- Signed-off-by: Ruihang Xia <waynestxia@gmail.com> Co-authored-by: Ruihang Xia <waynestxia@gmail.com>
129 lines
5.9 KiB
Plaintext
129 lines
5.9 KiB
Plaintext
SELECT vec_to_string(parse_vec('[1.0, 2.0]'));
|
|
|
|
+----------------------------------------------+
|
|
| vec_to_string(parse_vec(Utf8("[1.0, 2.0]"))) |
|
|
+----------------------------------------------+
|
|
| [1,2] |
|
|
+----------------------------------------------+
|
|
|
|
SELECT vec_to_string(parse_vec('[1.0, 2.0, 3.0]'));
|
|
|
|
+---------------------------------------------------+
|
|
| vec_to_string(parse_vec(Utf8("[1.0, 2.0, 3.0]"))) |
|
|
+---------------------------------------------------+
|
|
| [1,2,3] |
|
|
+---------------------------------------------------+
|
|
|
|
SELECT vec_to_string(parse_vec('[]'));
|
|
|
|
+--------------------------------------+
|
|
| vec_to_string(parse_vec(Utf8("[]"))) |
|
|
+--------------------------------------+
|
|
| [] |
|
|
+--------------------------------------+
|
|
|
|
SELECT vec_to_string(vec_mul('[1.0, 2.0]', '[3.0, 4.0]'));
|
|
|
|
+---------------------------------------------------------------+
|
|
| vec_to_string(vec_mul(Utf8("[1.0, 2.0]"),Utf8("[3.0, 4.0]"))) |
|
|
+---------------------------------------------------------------+
|
|
| [3,8] |
|
|
+---------------------------------------------------------------+
|
|
|
|
SELECT vec_to_string(vec_mul(parse_vec('[1.0, 2.0]'), '[3.0, 4.0]'));
|
|
|
|
+--------------------------------------------------------------------------+
|
|
| vec_to_string(vec_mul(parse_vec(Utf8("[1.0, 2.0]")),Utf8("[3.0, 4.0]"))) |
|
|
+--------------------------------------------------------------------------+
|
|
| [3,8] |
|
|
+--------------------------------------------------------------------------+
|
|
|
|
SELECT vec_to_string(vec_mul('[1.0, 2.0]', parse_vec('[3.0, 4.0]')));
|
|
|
|
+--------------------------------------------------------------------------+
|
|
| vec_to_string(vec_mul(Utf8("[1.0, 2.0]"),parse_vec(Utf8("[3.0, 4.0]")))) |
|
|
+--------------------------------------------------------------------------+
|
|
| [3,8] |
|
|
+--------------------------------------------------------------------------+
|
|
|
|
SELECT vec_to_string(vec_sub('[1.0, 1.0]', '[1.0, 2.0]'));
|
|
|
|
+---------------------------------------------------------------+
|
|
| vec_to_string(vec_sub(Utf8("[1.0, 1.0]"),Utf8("[1.0, 2.0]"))) |
|
|
+---------------------------------------------------------------+
|
|
| [0,-1] |
|
|
+---------------------------------------------------------------+
|
|
|
|
SELECT vec_to_string(vec_sub('[-1.0, -1.0]', '[1.0, 2.0]'));
|
|
|
|
+-----------------------------------------------------------------+
|
|
| vec_to_string(vec_sub(Utf8("[-1.0, -1.0]"),Utf8("[1.0, 2.0]"))) |
|
|
+-----------------------------------------------------------------+
|
|
| [-2,-3] |
|
|
+-----------------------------------------------------------------+
|
|
|
|
SELECT vec_to_string(vec_sub('[1.0, 1.0]', parse_vec('[1.0, 2.0]')));
|
|
|
|
+--------------------------------------------------------------------------+
|
|
| vec_to_string(vec_sub(Utf8("[1.0, 1.0]"),parse_vec(Utf8("[1.0, 2.0]")))) |
|
|
+--------------------------------------------------------------------------+
|
|
| [0,-1] |
|
|
+--------------------------------------------------------------------------+
|
|
|
|
SELECT vec_to_string(vec_sub('[-1.0, -1.0]', parse_vec('[1.0, 2.0]')));
|
|
|
|
+----------------------------------------------------------------------------+
|
|
| vec_to_string(vec_sub(Utf8("[-1.0, -1.0]"),parse_vec(Utf8("[1.0, 2.0]")))) |
|
|
+----------------------------------------------------------------------------+
|
|
| [-2,-3] |
|
|
+----------------------------------------------------------------------------+
|
|
|
|
SELECT vec_to_string(vec_sub(parse_vec('[1.0, 1.0]'), '[1.0, 2.0]'));
|
|
|
|
+--------------------------------------------------------------------------+
|
|
| vec_to_string(vec_sub(parse_vec(Utf8("[1.0, 1.0]")),Utf8("[1.0, 2.0]"))) |
|
|
+--------------------------------------------------------------------------+
|
|
| [0,-1] |
|
|
+--------------------------------------------------------------------------+
|
|
|
|
SELECT vec_to_string(vec_sub(parse_vec('[-1.0, -1.0]'), '[1.0, 2.0]'));
|
|
|
|
+----------------------------------------------------------------------------+
|
|
| vec_to_string(vec_sub(parse_vec(Utf8("[-1.0, -1.0]")),Utf8("[1.0, 2.0]"))) |
|
|
+----------------------------------------------------------------------------+
|
|
| [-2,-3] |
|
|
+----------------------------------------------------------------------------+
|
|
|
|
SELECT vec_elem_sum('[1.0, 2.0, 3.0]');
|
|
|
|
+---------------------------------------+
|
|
| vec_elem_sum(Utf8("[1.0, 2.0, 3.0]")) |
|
|
+---------------------------------------+
|
|
| 6.0 |
|
|
+---------------------------------------+
|
|
|
|
SELECT vec_elem_sum('[-1.0, -2.0, -3.0]');
|
|
|
|
+------------------------------------------+
|
|
| vec_elem_sum(Utf8("[-1.0, -2.0, -3.0]")) |
|
|
+------------------------------------------+
|
|
| -6.0 |
|
|
+------------------------------------------+
|
|
|
|
SELECT vec_elem_sum(parse_vec('[1.0, 2.0, 3.0]'));
|
|
|
|
+--------------------------------------------------+
|
|
| vec_elem_sum(parse_vec(Utf8("[1.0, 2.0, 3.0]"))) |
|
|
+--------------------------------------------------+
|
|
| 6.0 |
|
|
+--------------------------------------------------+
|
|
|
|
SELECT vec_elem_sum(parse_vec('[-1.0, -2.0, -3.0]'));
|
|
|
|
+-----------------------------------------------------+
|
|
| vec_elem_sum(parse_vec(Utf8("[-1.0, -2.0, -3.0]"))) |
|
|
+-----------------------------------------------------+
|
|
| -6.0 |
|
|
+-----------------------------------------------------+
|
|
|