Skip to content

Commit 212a4f5

Browse files
committed
add capability check
1 parent a91f2cc commit 212a4f5

File tree

2 files changed

+28
-0
lines changed

2 files changed

+28
-0
lines changed

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

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,7 @@ millis:date | nanos:date_nanos | num:long
219219
date nanos greater than, no mv min
220220
required_capability: to_date_nanos
221221
required_capability: date_nanos_binary_comparison
222+
required_capability: fix_date_nanos_lucene_pushdown_bug
222223

223224
FROM date_nanos | WHERE nanos > TO_DATE_NANOS("2023-10-23T12:27:28.948000000Z") | SORT nanos DESC;
224225
warningRegex:Line 1:25: evaluation of \[nanos > TO_DATE_NANOS\(\\\"2023-10-23T12:27:28\.948000000Z\\\"\)\] failed, treating result as null\. Only first 20 failures recorded\.
@@ -255,6 +256,7 @@ millis:date | nanos:date_nanos
255256
implicit casting to nanos, date only, no mv min
256257
required_capability: date_nanos_type
257258
required_capability: date_nanos_implicit_casting
259+
required_capability: fix_date_nanos_lucene_pushdown_bug
258260

259261
FROM date_nanos
260262
| WHERE nanos > "2023-10-23"
@@ -289,6 +291,7 @@ millis:date | nanos:date_nanos
289291
implicit casting to nanos, date only, equality test, no mv min
290292
required_capability: date_nanos_type
291293
required_capability: date_nanos_implicit_casting
294+
required_capability: fix_date_nanos_lucene_pushdown_bug
292295

293296
FROM date_nanos
294297
| WHERE nanos == "2023-10-23"
@@ -324,6 +327,7 @@ millis:date | nanos:date_nanos
324327
implicit casting to nanos, date plus time to seconds, no mv min
325328
required_capability: date_nanos_type
326329
required_capability: date_nanos_implicit_casting
330+
required_capability: fix_date_nanos_lucene_pushdown_bug
327331

328332
FROM date_nanos
329333
| WHERE nanos > "2023-10-23T00:00:00"
@@ -358,6 +362,7 @@ millis:date | nanos:date_nanos
358362
implicit casting to nanos, date plus time to seconds, equality test, no mv min
359363
required_capability: date_nanos_type
360364
required_capability: date_nanos_implicit_casting
365+
required_capability: fix_date_nanos_lucene_pushdown_bug
361366

362367
FROM date_nanos
363368
| WHERE nanos == "2023-10-23T12:27:28"
@@ -392,6 +397,7 @@ millis:date | nanos:date_nanos
392397
implicit casting to nanos, date plus time to millis, no mv min
393398
required_capability: date_nanos_type
394399
required_capability: date_nanos_implicit_casting
400+
required_capability: fix_date_nanos_lucene_pushdown_bug
395401

396402
FROM date_nanos
397403
| WHERE nanos > "2023-10-23T00:00:00.000"
@@ -427,6 +433,7 @@ millis:date | nanos:date_nanos
427433
implicit casting to nanos, date plus time to millis, equality test, no mv min
428434
required_capability: date_nanos_type
429435
required_capability: date_nanos_implicit_casting
436+
required_capability: fix_date_nanos_lucene_pushdown_bug
430437

431438
FROM date_nanos
432439
| WHERE nanos == "2023-10-23T12:27:28.948"
@@ -462,6 +469,7 @@ millis:date | nanos:date_nanos
462469
implicit casting to nanos, date plus time to nanos, no mv min
463470
required_capability: date_nanos_type
464471
required_capability: date_nanos_implicit_casting
472+
required_capability: fix_date_nanos_lucene_pushdown_bug
465473

466474
FROM date_nanos
467475
| WHERE nanos > "2023-10-23T00:00:00.000000000"
@@ -497,6 +505,7 @@ millis:date | nanos:date_nanos
497505
implicit casting to nanos, date plus time to nanos, equality test, no mv min
498506
required_capability: date_nanos_type
499507
required_capability: date_nanos_implicit_casting
508+
required_capability: fix_date_nanos_lucene_pushdown_bug
500509

501510
FROM date_nanos
502511
| WHERE nanos == "2023-10-23T12:27:28.948000000"
@@ -526,6 +535,7 @@ millis:date | nanos:date_nanos | num:long
526535
date nanos greater than millis, no mv min
527536
required_capability: date_nanos_type
528537
required_capability: date_nanos_compare_to_millis
538+
required_capability: fix_date_nanos_lucene_pushdown_bug
529539

530540
FROM date_nanos | WHERE nanos > TO_DATETIME("2023-10-23T12:27:28.948Z") | SORT nanos DESC;
531541
warningRegex:Line 1:25: evaluation of \[nanos > TO_DATETIME\(\\\"2023-10-23T12:27:28\.948Z\\\"\)\] failed, treating result as null\. Only first 20 failures recorded\.
@@ -557,6 +567,7 @@ millis:date | nanos:date_nanos | num:long
557567
date nanos greater than or equal, no mv min
558568
required_capability: to_date_nanos
559569
required_capability: date_nanos_binary_comparison
570+
required_capability: fix_date_nanos_lucene_pushdown_bug
560571

561572
FROM date_nanos | WHERE nanos >= TO_DATE_NANOS("2023-10-23T12:27:28.948Z") | SORT nanos DESC;
562573
warningRegex:Line 1:25: evaluation of \[nanos >= TO_DATE_NANOS\(\\\"2023-10-23T12:27:28\.948Z\\\"\)\] failed, treating result as null\. Only first 20 failures recorded\.
@@ -589,6 +600,7 @@ millis:date | nanos:date_nanos | num:long
589600
date nanos greater than or equal millis, no mv min
590601
required_capability: date_nanos_type
591602
required_capability: date_nanos_compare_to_millis
603+
required_capability: fix_date_nanos_lucene_pushdown_bug
592604

593605
FROM date_nanos | WHERE nanos >= TO_DATETIME("2023-10-23T12:27:28.948Z") | SORT nanos DESC;
594606
warningRegex:Line 1:25: evaluation of \[nanos >= TO_DATETIME\(\\\"2023-10-23T12:27:28\.948Z\\\"\)\] failed, treating result as null\. Only first 20 failures recorded\.
@@ -625,6 +637,7 @@ millis:date | nanos:date_nanos | num:long
625637
date nanos less than, no mv min
626638
required_capability: to_date_nanos
627639
required_capability: date_nanos_binary_comparison
640+
required_capability: fix_date_nanos_lucene_pushdown_bug
628641

629642
FROM date_nanos | WHERE nanos < TO_DATE_NANOS("2023-10-23T12:27:28.948Z") AND millis > "2000-01-01" | SORT nanos DESC;
630643
warningRegex:Line 1:25: evaluation of \[nanos < TO_DATE_NANOS\(\\\"2023-10-23T12:27:28\.948Z\\\"\)\] failed, treating result as null\. Only first 20 failures recorded\.
@@ -648,6 +661,7 @@ millis:date | nanos:date_nanos | num:long
648661
date nanos less than millis, no mv min
649662
required_capability: date_nanos_type
650663
required_capability: date_nanos_compare_to_millis
664+
required_capability: fix_date_nanos_lucene_pushdown_bug
651665

652666
FROM date_nanos | WHERE nanos < TO_DATETIME("2023-10-23T12:27:28.948Z") AND millis > "2000-01-01" | SORT nanos DESC;
653667
warningRegex:Line 1:25: evaluation of \[nanos < TO_DATETIME\(\\\"2023-10-23T12:27:28\.948Z\\\"\)\] failed, treating result as null\. Only first 20 failures recorded\.
@@ -673,6 +687,7 @@ millis:date | nanos:date_nanos | num:long
673687
date nanos less than equal, no mv min
674688
required_capability: to_date_nanos
675689
required_capability: date_nanos_binary_comparison
690+
required_capability: fix_date_nanos_lucene_pushdown_bug
676691

677692
FROM date_nanos | WHERE nanos <= TO_DATE_NANOS("2023-10-23T12:27:28.948Z") AND millis > "2000-01-01" | SORT nanos DESC;
678693
warningRegex:Line 1:25: evaluation of \[nanos <= TO_DATE_NANOS\(\\\"2023-10-23T12:27:28\.948Z\\\"\)\] failed, treating result as null\. Only first 20 failures recorded\.
@@ -699,6 +714,7 @@ millis:date | nanos:date_nanos | num:long
699714
date nanos less than equal millis, no mv min
700715
required_capability: date_nanos_type
701716
required_capability: date_nanos_compare_to_millis
717+
required_capability: fix_date_nanos_lucene_pushdown_bug
702718

703719
FROM date_nanos | WHERE nanos <= TO_DATETIME("2023-10-23T12:27:28.948Z") AND millis > "2000-01-01" | SORT nanos DESC;
704720
warningRegex:Line 1:25: evaluation of \[nanos <= TO_DATETIME\(\\\"2023-10-23T12:27:28\.948Z\\\"\)\] failed, treating result as null\. Only first 20 failures recorded\.
@@ -723,6 +739,7 @@ millis:date | nanos:date_nanos | num:long
723739
date nanos equals, no mv min
724740
required_capability: to_date_nanos
725741
required_capability: date_nanos_binary_comparison
742+
required_capability: fix_date_nanos_lucene_pushdown_bug
726743

727744
FROM date_nanos | WHERE nanos == TO_DATE_NANOS("2023-10-23T12:27:28.948000000Z");
728745
warningRegex:Line 1:25: evaluation of \[nanos == TO_DATE_NANOS\(\\\"2023-10-23T12:27:28\.948000000Z\\\"\)\] failed, treating result as null\. Only first 20 failures recorded\.
@@ -745,6 +762,7 @@ millis:date | nanos:date_nanos | num:long
745762
date nanos equals millis exact match, no mv min
746763
required_capability: date_nanos_type
747764
required_capability: date_nanos_compare_to_millis
765+
required_capability: fix_date_nanos_lucene_pushdown_bug
748766

749767
FROM date_nanos | WHERE nanos == TO_DATETIME("2023-10-23T12:27:28.948Z");
750768
warningRegex:Line 1:25: evaluation of \[nanos == TO_DATETIME\(\\\"2023-10-23T12:27:28\.948Z\\\"\)\] failed, treating result as null\. Only first 20 failures recorded\.
@@ -766,6 +784,7 @@ millis:date | nanos:date_nanos | num:long
766784
date nanos equals millis without exact match, no mv min
767785
required_capability: date_nanos_type
768786
required_capability: date_nanos_compare_to_millis
787+
required_capability: fix_date_nanos_lucene_pushdown_bug
769788

770789
FROM date_nanos | WHERE nanos == TO_DATETIME("2023-10-23T13:33:34.937");
771790
warningRegex:Line 1:25: evaluation of \[nanos == TO_DATETIME\(\\\"2023-10-23T13:33:34\.937\\\"\)\] failed, treating result as null\. Only first 20 failures recorded\.
@@ -793,6 +812,7 @@ millis:date | nanos:date_nanos | num:long
793812
date nanos not equals, no mv min
794813
required_capability: to_date_nanos
795814
required_capability: date_nanos_binary_comparison
815+
required_capability: fix_date_nanos_lucene_pushdown_bug
796816

797817
FROM date_nanos | WHERE nanos != TO_DATE_NANOS("2023-10-23T12:27:28.948000000Z") AND millis > "2000-01-01" | SORT nanos DESC;
798818
warningRegex:Line 1:25: evaluation of \[nanos != TO_DATE_NANOS\(\\\"2023-10-23T12:27:28\.948000000Z\\\"\)\] failed, treating result as null\. Only first 20 failures recorded\.
@@ -827,6 +847,7 @@ millis:date | nanos:date_nanos | num:long
827847
date nanos not equals millis, no mv min
828848
required_capability: date_nanos_type
829849
required_capability: date_nanos_compare_to_millis
850+
required_capability: fix_date_nanos_lucene_pushdown_bug
830851

831852
FROM date_nanos | WHERE nanos != TO_DATETIME("2023-10-23T12:27:28.948Z") AND millis > "2000-01-01" | SORT nanos DESC;
832853
warningRegex:Line 1:25: evaluation of \[nanos != TO_DATETIME\(\\\"2023-10-23T12:27:28\.948Z\\\"\)\] failed, treating result as null\. Only first 20 failures recorded\.
@@ -1571,6 +1592,7 @@ millis:date | nanos:date_nanos | num:long
15711592
Date Nanos IN constant date nanos, no mv first
15721593
required_capability: date_nanos_in_operator
15731594
required_capability: to_date_nanos
1595+
required_capability: fix_date_nanos_lucene_pushdown_bug
15741596

15751597
FROM date_nanos
15761598
| WHERE nanos IN (TO_DATE_NANOS("2023-10-23T13:55:01.543123456Z"), TO_DATE_NANOS("2023-10-23T12:27:28.948Z"), TO_DATE_NANOS("2017-10-23T13:53:55.832987654Z"));
@@ -1601,6 +1623,7 @@ Date Nanos IN constant date nanos, implicit casting, no mv function
16011623
required_capability: date_nanos_in_operator
16021624
required_capability: to_date_nanos
16031625
required_capability: date_nanos_implicit_casting
1626+
required_capability: fix_date_nanos_lucene_pushdown_bug
16041627

16051628
FROM date_nanos
16061629
| WHERE nanos IN ("2023-10-23T13:55:01.543123456Z", "2023-10-23T12:27:28.948Z", "2017-10-23T13:53:55.832987654Z");
@@ -1629,6 +1652,7 @@ Date Nanos IN date nanos field, implicit casting, no mv function
16291652
required_capability: date_nanos_in_operator
16301653
required_capability: to_date_nanos
16311654
required_capability: date_nanos_implicit_casting
1655+
required_capability: fix_date_nanos_lucene_pushdown_bug
16321656

16331657
FROM date_nanos
16341658
| WHERE "2023-10-23T13:55:01.543123456Z" IN (nanos);

x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/action/EsqlCapabilities.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -550,6 +550,10 @@ public enum Cap {
550550
* support date diff function on date nanos type, and mixed nanos/millis
551551
*/
552552
DATE_NANOS_DATE_DIFF(),
553+
/**
554+
* Indicates that https://github.com/elastic/elasticsearch/issues/125439 is fixed
555+
*/
556+
FIX_DATE_NANOS_LUCENE_PUSHDOWN_BUG(),
553557
/**
554558
* DATE_PARSE supports reading timezones
555559
*/

0 commit comments

Comments
 (0)