Skip to content

Commit 1a4ceb4

Browse files
[8.x] Esql - Support date nanos in date extract function (elastic#120727) (elastic#120908)
* Esql - Support date nanos in date extract function (elastic#120727) Resolves elastic#110000 Add support for running the date extract function on nanosecond dates. * Fix switch error * ESQL: Fix DateExtract with nanos tests --------- Co-authored-by: Iván Cea Fontenla <[email protected]> Co-authored-by: Iván Cea Fontenla <[email protected]>
1 parent 76a4a05 commit 1a4ceb4

File tree

13 files changed

+826
-58
lines changed

13 files changed

+826
-58
lines changed

docs/changelog/120727.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
pr: 120727
2+
summary: Esql - Support date nanos in date extract function
3+
area: ES|QL
4+
type: enhancement
5+
issues:
6+
- 110000

docs/reference/esql/functions/kibana/definition/date_extract.json

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

docs/reference/esql/functions/types/date_extract.asciidoc

Lines changed: 2 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/date_nanos.csv-spec

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -500,6 +500,28 @@ millis:date | nanos:date_nanos | num:long
500500
2023-10-23T12:15:03.360Z | 2023-10-23T12:15:03.360103847Z | 1698063303360103847
501501
;
502502

503+
Date nanos date extract
504+
required_capability: date_nanos_date_extract
505+
506+
FROM date_nanos
507+
| EVAL nn = MV_MAX(nanos)
508+
| EVAL year = DATE_EXTRACT("year", nn), ns = DATE_EXTRACT("nano_of_second", nn)
509+
| KEEP nn, year, ns
510+
| SORT nn DESC;
511+
512+
nn:date_nanos | year:long | ns:long
513+
2023-10-23T13:55:01.543123456Z | 2023 | 543123456
514+
2023-10-23T13:53:55.832987654Z | 2023 | 832987654
515+
2023-10-23T13:52:55.015787878Z | 2023 | 015787878
516+
2023-10-23T13:51:54.732102837Z | 2023 | 732102837
517+
2023-10-23T13:33:34.937193000Z | 2023 | 937193000
518+
2023-10-23T12:27:28.948000000Z | 2023 | 948000000
519+
2023-10-23T12:15:03.360103847Z | 2023 | 360103847
520+
2023-10-23T12:15:03.360103847Z | 2023 | 360103847
521+
2023-03-23T12:15:03.360103847Z | 2023 | 360103847
522+
2023-03-23T12:15:03.360103847Z | 2023 | 360103847
523+
;
524+
503525
date nanos to long, index version
504526
required_capability: to_date_nanos
505527

x-pack/plugin/esql/src/main/generated/org/elasticsearch/xpack/esql/expression/function/scalar/date/DateExtractConstantMillisEvaluator.java

Lines changed: 137 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/src/main/generated/org/elasticsearch/xpack/esql/expression/function/scalar/date/DateExtractConstantNanosEvaluator.java

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

0 commit comments

Comments
 (0)