Skip to content

Commit 96896de

Browse files
committed
Added esql scalb function.
1 parent ccc3121 commit 96896de

File tree

20 files changed

+1252
-4
lines changed

20 files changed

+1252
-4
lines changed

docs/reference/query-languages/esql/_snippets/functions/description/scalb.md

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/reference/query-languages/esql/_snippets/functions/examples/scalb.md

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/reference/query-languages/esql/_snippets/functions/layout/scalb.md

Lines changed: 23 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/reference/query-languages/esql/_snippets/functions/parameters/scalb.md

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/reference/query-languages/esql/_snippets/functions/types/scalb.md

Lines changed: 15 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/reference/query-languages/esql/images/functions/scalb.svg

Lines changed: 1 addition & 0 deletions
Loading

docs/reference/query-languages/esql/kibana/definition/functions/scalb.json

Lines changed: 157 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/reference/query-languages/esql/kibana/docs/functions/scalb.md

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

x-pack/plugin/esql/qa/testFixtures/src/main/resources/floats.csv-spec

Lines changed: 96 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -530,7 +530,7 @@ required_capability: agg_values
530530
mvAppend
531531
required_capability: fn_mv_append
532532

533-
FROM employees
533+
FROM employees
534534
| WHERE emp_no == 10008 OR emp_no == 10021
535535
| EVAL d = mv_append(salary_change, salary_change),
536536
i = mv_append(salary_change.int, salary_change.int),
@@ -592,3 +592,98 @@ s:double | emp_no:integer | salary:integer | salary_change:double
592592
-1.0 | 10004 | 36174 | [-0.35, 1.13, 3.65, 13.48]
593593
-1.0 | 10005 | 63528 | [-2.14, 13.07]
594594
;
595+
596+
scalb
597+
required_capability: fn_scalb
598+
599+
row x = 3.0, y = 10 | eval z = scalb(x, y);
600+
601+
x:double | y:integer | z:double
602+
3.0 | 10 | 3072.0
603+
;
604+
605+
scalbConstant
606+
required_capability: fn_scalb
607+
row y = "foo" | eval x = scalb(3, 10) | keep x;
608+
609+
x:double
610+
3072.0
611+
;
612+
613+
scalbWithNonFoldableArgsAndWhere
614+
required_capability: fn_scalb
615+
616+
from employees
617+
| eval s = scalb(mv_min(salary_change), emp_no / 1000)
618+
| where scalb(mv_min(salary_change), 3) > 100
619+
| keep s;
620+
621+
s:double
622+
13127.68
623+
13936.64
624+
;
625+
626+
scalbWithEvalAndSort
627+
required_capability: fn_scalb
628+
from employees
629+
| eval s = scalb(mv_min(salary_change), 5)
630+
| where scalb(mv_max(salary_change), 5) > 100
631+
| keep s, emp_no, salary, salary_change
632+
| sort s, emp_no
633+
| limit 3;
634+
635+
s:double | emp_no:integer | salary:integer | salary_change:double
636+
-313.92 | 10065 | 50249 | [-9.81, -1.47, 14.44]
637+
-296.96 | 10042 | 30404 | [-9.28, 9.42]
638+
-295.36 | 10091 | 38645 | [-9.23, 5.19, 5.85, 7.5]
639+
;
640+
641+
scalbWithHugeScaleFactor
642+
required_capability: fn_scalb
643+
644+
from employees
645+
| eval s = scalb(abs(mv_min(salary_change)), 2147483648 + emp_no)
646+
| keep s
647+
| limit 3
648+
;
649+
warning: Line 2:12: evaluation of [scalb(abs(mv_min(salary_change)), 2147483648 + emp_no)] failed, treating result as null. Only first 20 failures recorded.
650+
warning: Line 2:12: java.lang.ArithmeticException: integer overflow
651+
652+
s:double
653+
null
654+
null
655+
null
656+
;
657+
scalbWithHugeConstantScaleFactor
658+
required_capability: fn_scalb
659+
660+
from employees
661+
| eval s = scalb(abs(mv_min(salary_change)), 2147483648)
662+
| keep s
663+
| limit 3
664+
;
665+
warning: Line 2:12: evaluation of [scalb(abs(mv_min(salary_change)), 2147483648)] failed, treating result as null. Only first 20 failures recorded.
666+
warning: Line 2:12: java.lang.ArithmeticException: integer overflow
667+
668+
s:double
669+
null
670+
null
671+
null
672+
;
673+
674+
scalbWithHugeconstantFirstArgument
675+
required_capability: fn_scalb
676+
677+
from employees
678+
| eval s = scalb(2147483648, emp_no)
679+
| keep s
680+
| limit 3
681+
;
682+
warning: Line 2:12: evaluation of [scalb(2147483648, emp_no)] failed, treating result as null. Only first 20 failures recorded.
683+
warning: Line 2:12: java.lang.ArithmeticException: not a finite double number: Infinity
684+
685+
s:double
686+
null
687+
null
688+
null
689+
;

0 commit comments

Comments
 (0)