Skip to content

Commit c0560ef

Browse files
authored
ESQL: Snapshot only tests for inlinestats with filters (#133663)
1 parent 0814e2f commit c0560ef

File tree

2 files changed

+62
-26
lines changed

2 files changed

+62
-26
lines changed

x-pack/plugin/esql/src/test/java/org/elasticsearch/xpack/esql/optimizer/LogicalPlanOptimizerTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5750,7 +5750,7 @@ public void testInlinestatsNestedExpressionsInGroups() {
57505750
var stub = as(agg.child(), StubRelation.class);
57515751
}
57525752

5753-
private static boolean releaseBuildForInlinestats(String query) {
5753+
public static boolean releaseBuildForInlinestats(String query) {
57545754
if (Build.current().isSnapshot() == false) {
57555755
var e = expectThrows(ParsingException.class, () -> analyze(query));
57565756
assertThat(e.getMessage(), containsString("mismatched input 'INLINESTATS' expecting"));

x-pack/plugin/esql/src/test/java/org/elasticsearch/xpack/esql/optimizer/rules/logical/ReplaceStatsFilteredAggWithEvalTests.java

Lines changed: 61 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import static org.elasticsearch.xpack.esql.EsqlTestUtils.as;
3333
import static org.elasticsearch.xpack.esql.core.type.DataType.INTEGER;
3434
import static org.elasticsearch.xpack.esql.core.type.DataType.LONG;
35+
import static org.elasticsearch.xpack.esql.optimizer.LogicalPlanOptimizerTests.releaseBuildForInlinestats;
3536
import static org.hamcrest.Matchers.contains;
3637
import static org.hamcrest.Matchers.containsString;
3738
import static org.hamcrest.Matchers.is;
@@ -391,11 +392,14 @@ public void testReplaceStatsFilteredAggWithEvalSingleAggWithGroup() {
391392
* \_EsRelation[test][_meta_field{f}#10, emp_no{f}#4, first_name{f}#5, ge..]
392393
*/
393394
public void testReplaceInlinestatsFilteredAggWithEvalSingleAgg() {
394-
var plan = plan("""
395+
var query = """
395396
from test
396397
| inlinestats sum(salary) where false
397-
""");
398-
398+
""";
399+
if (releaseBuildForInlinestats(query)) {
400+
return;
401+
}
402+
var plan = plan(query);
399403
var project = as(plan, Project.class);
400404
assertMap(
401405
Expressions.names(project.projections()).stream().map(Object::toString).toList(),
@@ -431,11 +435,14 @@ public void testReplaceInlinestatsFilteredAggWithEvalSingleAgg() {
431435
* \_EsRelation[test][_meta_field{f}#10, emp_no{f}#4, first_name{f}#5, ge..]
432436
*/
433437
public void testReplaceInlinestatsFilteredAggWithEvalSingleAggWithExpression() {
434-
var plan = plan("""
438+
var query = """
435439
from test
436440
| inlinestats sum(salary) + 1 where false
437-
""");
438-
441+
""";
442+
if (releaseBuildForInlinestats(query)) {
443+
return;
444+
}
445+
var plan = plan(query);
439446
var project = as(plan, Project.class);
440447
assertMap(
441448
Expressions.names(project.projections()).stream().map(Object::toString).toList(),
@@ -475,14 +482,17 @@ public void testReplaceInlinestatsFilteredAggWithEvalSingleAggWithExpression() {
475482
* \_StubRelation[[salary{f}#14, emp_no{f}#9]]
476483
*/
477484
public void testReplaceInlinestatsFilteredAggWithEvalMixedFilterAndNoFilter() {
478-
var plan = plan("""
485+
var query = """
479486
from test
480487
| keep salary, emp_no
481488
| inlinestats sum(salary) + 1 where false,
482489
sum(salary) + 2
483490
by emp_no
484-
""");
485-
491+
""";
492+
if (releaseBuildForInlinestats(query)) {
493+
return;
494+
}
495+
var plan = plan(query);
486496
var limit = as(plan, Limit.class);
487497
var ij = as(limit.child(), InlineJoin.class);
488498
var left = as(ij.left(), EsqlProject.class);
@@ -528,14 +538,18 @@ public void testReplaceInlinestatsFilteredAggWithEvalMixedFilterAndNoFilter() {
528538
* \_StubRelation[[salary{f}#16]]
529539
*/
530540
public void testReplaceInlinestatsFilteredAggWithEvalFilterFalseAndNull() {
531-
var plan = plan("""
541+
var query = """
532542
from test
533543
| keep salary
534544
| inlinestats sum(salary) + 1 where false,
535545
sum(salary) + 3,
536546
sum(salary) + 2 where null,
537547
sum(salary) + 4 where not true
538-
""");
548+
""";
549+
if (releaseBuildForInlinestats(query)) {
550+
return;
551+
}
552+
var plan = plan(query);
539553
var limit = as(plan, Limit.class);
540554
var ij = as(limit.child(), InlineJoin.class);
541555

@@ -578,12 +592,15 @@ public void testReplaceInlinestatsFilteredAggWithEvalFilterFalseAndNull() {
578592
* \_EsRelation[test][_meta_field{f}#12, emp_no{f}#6, first_name{f}#7, ge..]
579593
*/
580594
public void testReplaceInlinestatsFilteredAggWithEvalNotTrue() {
581-
var plan = plan("""
595+
var query = """
582596
from test
583597
| keep emp_no, salary
584598
| inlinestats count(salary) where not true
585-
""");
586-
599+
""";
600+
if (releaseBuildForInlinestats(query)) {
601+
return;
602+
}
603+
var plan = plan(query);
587604
var project = as(plan, EsqlProject.class);
588605
assertThat(Expressions.names(project.projections()), contains("emp_no", "salary", "count(salary) where not true"));
589606

@@ -608,11 +625,15 @@ public void testReplaceInlinestatsFilteredAggWithEvalNotTrue() {
608625
* \_StubRelation[[emp_no{f}#8, salary{f}#13, gender{f}#10]]
609626
*/
610627
public void testReplaceInlinestatsFilteredAggWithEvalNotFalse() {
611-
var plan = plan("""
628+
var query = """
612629
from test
613630
| keep emp_no, salary, gender
614631
| inlinestats m1 = count(salary) where not false
615-
""");
632+
""";
633+
if (releaseBuildForInlinestats(query)) {
634+
return;
635+
}
636+
var plan = plan(query);
616637
var limit = as(plan, Limit.class);
617638
var ij = as(limit.child(), InlineJoin.class);
618639

@@ -638,11 +659,15 @@ public void testReplaceInlinestatsFilteredAggWithEvalNotFalse() {
638659
* \_EsRelation[test][_meta_field{f}#11, emp_no{f}#5, first_name{f}#6, ge..]
639660
*/
640661
public void testReplaceInlinestatsFilteredAggWithEvalCount() {
641-
var plan = plan("""
662+
var query = """
642663
from test
643664
| keep salary
644665
| inlinestats count(salary) where false
645-
""");
666+
""";
667+
if (releaseBuildForInlinestats(query)) {
668+
return;
669+
}
670+
var plan = plan(query);
646671
var project = as(plan, EsqlProject.class);
647672
assertThat(Expressions.names(project.projections()), contains("salary", "count(salary) where false"));
648673

@@ -664,11 +689,15 @@ public void testReplaceInlinestatsFilteredAggWithEvalCount() {
664689
* \_EsRelation[test][_meta_field{f}#11, emp_no{f}#5, first_name{f}#6, ge..]
665690
*/
666691
public void testReplaceInlinestatsFilteredAggWithEvalCountDistinctInExpression() {
667-
var plan = plan("""
692+
var query = """
668693
from test
669694
| keep salary
670695
| inlinestats count_distinct(salary + 2) + 3 where false
671-
""");
696+
""";
697+
if (releaseBuildForInlinestats(query)) {
698+
return;
699+
}
700+
var plan = plan(query);
672701
var project = as(plan, EsqlProject.class);
673702
assertThat(Expressions.names(project.projections()), contains("salary", "count_distinct(salary + 2) + 3 where false"));
674703

@@ -695,14 +724,18 @@ public void testReplaceInlinestatsFilteredAggWithEvalCountDistinctInExpression()
695724
* \_StubRelation[[emp_no{f}#17, salary{f}#22]]
696725
*/
697726
public void testReplaceInlinestatsFilteredAggWithEvalSameAggWithAndWithoutFilter() {
698-
var plan = plan("""
727+
var query = """
699728
from test
700729
| keep emp_no, salary
701730
| inlinestats max = max(salary), max_a = max(salary) where null,
702731
min = min(salary),
703732
min_a = min(salary) where to_string(null) == "abc"
704733
by emp_no
705-
""");
734+
""";
735+
if (releaseBuildForInlinestats(query)) {
736+
return;
737+
}
738+
var plan = plan(query);
706739
var limit = as(plan, Limit.class);
707740
var ij = as(limit.child(), InlineJoin.class);
708741

@@ -743,15 +776,18 @@ public void testReplaceInlinestatsFilteredAggWithEvalSameAggWithAndWithoutFilter
743776
* \_EsRelation[test][_meta_field{f}#15, emp_no{f}#9, first_name{f}#10, g..]
744777
*/
745778
public void testReplaceTwoConsecutiveInlinestats_WithFalseFilters() {
746-
var plan = plan("""
779+
var query = """
747780
from test
748781
| keep emp_no
749782
| sort emp_no
750783
| limit 3
751784
| inlinestats count = count(*) where false
752785
| inlinestats cc = count_distinct(emp_no) where false
753-
""");
754-
786+
""";
787+
if (releaseBuildForInlinestats(query)) {
788+
return;
789+
}
790+
var plan = plan(query);
755791
var project = as(plan, EsqlProject.class);
756792
assertThat(Expressions.names(project.projections()), contains("emp_no", "count", "cc"));
757793

0 commit comments

Comments
 (0)