Skip to content

Commit 741461d

Browse files
committed
Added esql scalb function.
1 parent 675bc9d commit 741461d

File tree

19 files changed

+1251
-2
lines changed

19 files changed

+1251
-2
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: 97 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,99 @@ 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+
scalbWithNonFoldableArgs
614+
required_capability: fn_scalb
615+
616+
from employees
617+
| eval s = scalb(mv_min(salary_change), emp_no / 1000)
618+
| keep s
619+
| limit 3;
620+
621+
s:double
622+
1218.56
623+
-7403.52
624+
13127.68
625+
;
626+
627+
scalbWithEvalAndSort
628+
required_capability: fn_scalb
629+
from employees
630+
| eval s = scalb(mv_min(salary_change), 5)
631+
| where scalb(mv_max(salary_change), 5) > 100
632+
| keep s, emp_no, salary, salary_change
633+
| sort s, emp_no
634+
| limit 3;
635+
636+
s:double | emp_no:integer | salary:integer | salary_change:double
637+
-313.92 | 10065 | 50249 | [-9.81, -1.47, 14.44]
638+
-296.96 | 10042 | 30404 | [-9.28, 9.42]
639+
-295.36 | 10091 | 38645 | [-9.23, 5.19, 5.85, 7.5]
640+
;
641+
642+
scalbWithHugeScaleFactor
643+
required_capability: fn_scalb
644+
645+
from employees
646+
| eval s = scalb(abs(mv_min(salary_change)), 2147483648 + emp_no)
647+
| keep s
648+
| limit 3
649+
;
650+
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.
651+
warning: Line 2:12: java.lang.ArithmeticException: integer overflow
652+
653+
s:double
654+
null
655+
null
656+
null
657+
;
658+
scalbWithHugeConstantScaleFactor
659+
required_capability: fn_scalb
660+
661+
from employees
662+
| eval s = scalb(abs(mv_min(salary_change)), 2147483648)
663+
| keep s
664+
| limit 3
665+
;
666+
warning: Line 2:12: evaluation of [scalb(abs(mv_min(salary_change)), 2147483648)] failed, treating result as null. Only first 20 failures recorded.
667+
warning: Line 2:12: java.lang.ArithmeticException: integer overflow
668+
669+
s:double
670+
null
671+
null
672+
null
673+
;
674+
675+
scalbWithHugeconstantFirstArgument
676+
required_capability: fn_scalb
677+
678+
from employees
679+
| eval s = scalb(2147483648, emp_no)
680+
| keep s
681+
| limit 3
682+
;
683+
warning: Line 2:12: evaluation of [scalb(2147483648, emp_no)] failed, treating result as null. Only first 20 failures recorded.
684+
warning: Line 2:12: java.lang.ArithmeticException: not a finite double number: Infinity
685+
686+
s:double
687+
null
688+
null
689+
null
690+
;

0 commit comments

Comments
 (0)