mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2026-01-07 13:52:59 +00:00
* refactor: rewrite some UDFs to DataFusion style (part 2) Signed-off-by: luofucong <luofc@foxmail.com> * deal with vector UDFs `(scalar, scalar)` situation, and try getting the scalar value reference everytime Signed-off-by: luofucong <luofc@foxmail.com> * reduce some vector literal parsing Signed-off-by: luofucong <luofc@foxmail.com> * fix ci Signed-off-by: luofucong <luofc@foxmail.com> --------- Signed-off-by: luofucong <luofc@foxmail.com>
161 lines
4.0 KiB
Plaintext
161 lines
4.0 KiB
Plaintext
SELECT MOD(18, 4);
|
|
|
|
+-------------------------+
|
|
| mod(Int64(18),Int64(4)) |
|
|
+-------------------------+
|
|
| 2 |
|
|
+-------------------------+
|
|
|
|
SELECT MOD(-18, 4);
|
|
|
|
+--------------------------+
|
|
| mod(Int64(-18),Int64(4)) |
|
|
+--------------------------+
|
|
| -2 |
|
|
+--------------------------+
|
|
|
|
SELECT MOD(18.0, 4.0);
|
|
|
|
+-----------------------------+
|
|
| mod(Float64(18),Float64(4)) |
|
|
+-----------------------------+
|
|
| 2.0 |
|
|
+-----------------------------+
|
|
|
|
SELECT MOD(18, 0);
|
|
|
|
Error: 3001(EngineExecuteQuery), Divide by zero error
|
|
|
|
SELECT POW (2, 5);
|
|
|
|
+--------------------------+
|
|
| power(Int64(2),Int64(5)) |
|
|
+--------------------------+
|
|
| 32 |
|
|
+--------------------------+
|
|
|
|
SELECT POW (1.01, 365);
|
|
|
|
+---------------------------------+
|
|
| power(Float64(1.01),Int64(365)) |
|
|
+---------------------------------+
|
|
| 37.78343433288728 |
|
|
+---------------------------------+
|
|
|
|
SELECT POW (0.99, 365);
|
|
|
|
+---------------------------------+
|
|
| power(Float64(0.99),Int64(365)) |
|
|
+---------------------------------+
|
|
| 0.025517964452291125 |
|
|
+---------------------------------+
|
|
|
|
SELECT CLAMP(10, 0, 1);
|
|
|
|
+------------------------------------+
|
|
| clamp(Int64(10),Int64(0),Int64(1)) |
|
|
+------------------------------------+
|
|
| 1 |
|
|
+------------------------------------+
|
|
|
|
SELECT CLAMP(-10, 0, 1);
|
|
|
|
+-------------------------------------+
|
|
| clamp(Int64(-10),Int64(0),Int64(1)) |
|
|
+-------------------------------------+
|
|
| 0 |
|
|
+-------------------------------------+
|
|
|
|
SELECT CLAMP(0.5, 0, 1);
|
|
|
|
+---------------------------------------+
|
|
| clamp(Float64(0.5),Int64(0),Int64(1)) |
|
|
+---------------------------------------+
|
|
| 0.5 |
|
|
+---------------------------------------+
|
|
|
|
SELECT CLAMP(10, 1, 0);
|
|
|
|
Error: 3001(EngineExecuteQuery), Execution error: min '1' > max '0'
|
|
|
|
SELECT CLAMP_MIN(10, 12);
|
|
|
|
+--------------------------------+
|
|
| clamp_min(Int64(10),Int64(12)) |
|
|
+--------------------------------+
|
|
| 12 |
|
|
+--------------------------------+
|
|
|
|
SELECT CLAMP_MIN(10, 8);
|
|
|
|
+-------------------------------+
|
|
| clamp_min(Int64(10),Int64(8)) |
|
|
+-------------------------------+
|
|
| 10 |
|
|
+-------------------------------+
|
|
|
|
SELECT CLAMP_MIN(10.5, 10.6);
|
|
|
|
+----------------------------------------+
|
|
| clamp_min(Float64(10.5),Float64(10.6)) |
|
|
+----------------------------------------+
|
|
| 10.6 |
|
|
+----------------------------------------+
|
|
|
|
SELECT CLAMP_MIN(10.5, 10.4);
|
|
|
|
+----------------------------------------+
|
|
| clamp_min(Float64(10.5),Float64(10.4)) |
|
|
+----------------------------------------+
|
|
| 10.5 |
|
|
+----------------------------------------+
|
|
|
|
SELECT CLAMP_MIN(-5, -3);
|
|
|
|
+--------------------------------+
|
|
| clamp_min(Int64(-5),Int64(-3)) |
|
|
+--------------------------------+
|
|
| -3 |
|
|
+--------------------------------+
|
|
|
|
SELECT CLAMP_MAX(10, 12);
|
|
|
|
+--------------------------------+
|
|
| clamp_max(Int64(10),Int64(12)) |
|
|
+--------------------------------+
|
|
| 10 |
|
|
+--------------------------------+
|
|
|
|
SELECT CLAMP_MAX(10, 8);
|
|
|
|
+-------------------------------+
|
|
| clamp_max(Int64(10),Int64(8)) |
|
|
+-------------------------------+
|
|
| 8 |
|
|
+-------------------------------+
|
|
|
|
SELECT CLAMP_MAX(10.5, 10.6);
|
|
|
|
+----------------------------------------+
|
|
| clamp_max(Float64(10.5),Float64(10.6)) |
|
|
+----------------------------------------+
|
|
| 10.5 |
|
|
+----------------------------------------+
|
|
|
|
SELECT CLAMP_MAX(10.5, 10.4);
|
|
|
|
+----------------------------------------+
|
|
| clamp_max(Float64(10.5),Float64(10.4)) |
|
|
+----------------------------------------+
|
|
| 10.4 |
|
|
+----------------------------------------+
|
|
|
|
SELECT CLAMP_MAX(-5, -7);
|
|
|
|
+--------------------------------+
|
|
| clamp_max(Int64(-5),Int64(-7)) |
|
|
+--------------------------------+
|
|
| -7 |
|
|
+--------------------------------+
|
|
|