Skip to content

Commit f499025

Browse files
committed
Fix tests
1 parent 952a7c9 commit f499025

File tree

1 file changed

+14
-12
lines changed

1 file changed

+14
-12
lines changed

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

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8439,7 +8439,7 @@ public void testPushDownConjunctionsToKnnPrefilter() {
84398439

84408440
var query = """
84418441
from test
8442-
| where knn(dense_vector, [0, 1, 2], 10) and integer > 10
8442+
| where knn(dense_vector, [0, 1, 2]) and integer > 10
84438443
""";
84448444
var optimized = planTypes(query);
84458445

@@ -8459,7 +8459,7 @@ public void testPushDownMultipleFiltersToKnnPrefilter() {
84598459

84608460
var query = """
84618461
from test
8462-
| where knn(dense_vector, [0, 1, 2], 10)
8462+
| where knn(dense_vector, [0, 1, 2])
84638463
| where integer > 10
84648464
| where keyword == "test"
84658465
""";
@@ -8482,7 +8482,7 @@ public void testNotPushDownDisjunctionsToKnnPrefilter() {
84828482

84838483
var query = """
84848484
from test
8485-
| where knn(dense_vector, [0, 1, 2], 10) or integer > 10
8485+
| where knn(dense_vector, [0, 1, 2]) or integer > 10
84868486
""";
84878487
var optimized = planTypes(query);
84888488

@@ -8512,7 +8512,7 @@ public void testPushDownConjunctionsAndNotDisjunctionsToKnnPrefilter() {
85128512
var query = """
85138513
from test
85148514
| where
8515-
((knn(dense_vector, [0, 1, 2], 10) or integer > 10) and keyword == "test") and ((short < 5) or (double > 5.0))
8515+
((knn(dense_vector, [0, 1, 2]) or integer > 10) and keyword == "test") and ((short < 5) or (double > 5.0))
85168516
""";
85178517
var optimized = planTypes(query);
85188518

@@ -8547,7 +8547,7 @@ public void testMorePushDownConjunctionsAndNotDisjunctionsToKnnPrefilter() {
85478547
var query = """
85488548
from test
85498549
| where
8550-
((knn(dense_vector, [0, 1, 2], 10) and integer > 10) or keyword == "test") or ((short < 5) and (double > 5.0))
8550+
((knn(dense_vector, [0, 1, 2]) and integer > 10) or keyword == "test") or ((short < 5) and (double > 5.0))
85518551
""";
85528552
var optimized = planTypes(query);
85538553

@@ -8575,7 +8575,7 @@ public void testMultipleKnnQueriesInPrefilters() {
85758575
*/
85768576
var query = """
85778577
from test
8578-
| where ((knn(dense_vector, [0, 1, 2], 10) or integer > 10) and ((keyword == "test") or knn(dense_vector, [4, 5, 6], 10)))
8578+
| where ((knn(dense_vector, [0, 1, 2]) or integer > 10) and ((keyword == "test") or knn(dense_vector, [4, 5, 6])))
85798579
""";
85808580
var optimized = planTypes(query);
85818581

@@ -8662,18 +8662,20 @@ public void testKnnWithMultipleClauses() {
86628662
from test metadata _score
86638663
| where knn(dense_vector, [0, 1, 2]) and match(keyword, "test")
86648664
| where knn(dense_vector, [1, 2, 3])
8665-
| limit 30
8666-
| sort _score desc
8665+
| sort _score
86678666
| limit 10
86688667
""";
86698668
var optimized = planTypes(query);
86708669

86718670
var topN = as(optimized, TopN.class);
86728671
assertThat(topN.limit().fold(FoldContext.small()), equalTo(10));
8673-
var limit = as(topN.child(), Limit.class);
8674-
var filter = as(limit.child(), Filter.class);
8675-
var knn = as(filter.condition(), Knn.class);
8676-
assertThat(knn.k(), equalTo(20));
8672+
var filter = as(topN.child(), Filter.class);
8673+
var firstAnd = as(filter.condition(), And.class);
8674+
var fistKnn = as(firstAnd.right(), Knn.class);
8675+
assertThat(((Literal) fistKnn.query()).value(), is(List.of(1.0f, 2.0f, 3.0f)));
8676+
var secondAnd = as(firstAnd.left(), And.class);
8677+
var secondKnn = as(secondAnd.left(), Knn.class);
8678+
assertThat(((Literal) secondKnn.query()).value(), is(List.of(0.0f, 1.0f, 2.0f)));
86778679
}
86788680

86798681
private LogicalPlanOptimizer getCustomRulesLogicalPlanOptimizer(List<RuleExecutor.Batch<LogicalPlan>> batches) {

0 commit comments

Comments
 (0)