Skip to content

Commit 9ea71bc

Browse files
committed
Nits
1 parent 7b7b248 commit 9ea71bc

5 files changed

Lines changed: 9 additions & 4 deletions

File tree

x-pack/plugin/esql/qa/server/src/main/java/org/elasticsearch/xpack/esql/qa/rest/generative/GenerativeApproximationRestTest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import java.util.Map;
1818

1919
import static org.elasticsearch.xpack.esql.action.EsqlCapabilities.Cap.APPROXIMATION_V6;
20+
import static org.elasticsearch.xpack.esql.action.EsqlCapabilities.Cap.FIX_SUM_AGG_LONG_OVERFLOW;
2021

2122
/**
2223
* Tests for query approximation generated from existing CSV tests.
@@ -73,6 +74,10 @@ protected void assertResults(
7374
protected void shouldSkipTest(String testName) throws IOException {
7475
super.shouldSkipTest(testName);
7576
assumeFalse("No approximation tests", testCase.requiredCapabilities.contains(APPROXIMATION_V6.capabilityName()));
77+
assumeFalse(
78+
"Approximation casts integer SUM to double, preventing long overflow",
79+
testCase.requiredCapabilities.contains(FIX_SUM_AGG_LONG_OVERFLOW.capabilityName())
80+
);
7681
assumeTrue("Test must contain STATS to be included in approximation tests", testCase.query.toLowerCase().contains("stats"));
7782
}
7883
}

x-pack/plugin/esql/src/test/resources/org/elasticsearch/xpack/esql/optimizer/rules/physical/local/golden_tests/ForkGoldenTests/testHybridSearch/analysis.expected

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Limit[10000[INTEGER],false,false]
22
\_OrderBy[[Order[_score{r}#0,DESC,FIRST]]]
3-
\_Aggregate[[_id{r}#1, _index{r}#2],[SUM(_score{r}#3,true[BOOLEAN],PT0S[TIME_DURATION],compensated[KEYWORD]) AS _score#0, VALUES(author{r}#4,true[BOOLEAN],PT0S[TIME_DURATION]) AS author#5, VALUES(author.keyword{r}#6,true[BOOLEAN],PT0S[TIME_DURATION]) AS author.keyword#7, VALUES(book_no{r}#8,true[BOOLEAN],PT0S[TIME_DURATION]) AS book_no#9, VALUES(collection{r}#10,true[BOOLEAN],PT0S[TIME_DURATION]) AS collection#11, VALUES(description{r}#12,true[BOOLEAN],PT0S[TIME_DURATION]) AS description#13, VALUES(publisher{r}#14,true[BOOLEAN],PT0S[TIME_DURATION]) AS publisher#15, VALUES(ratings{r}#16,true[BOOLEAN],PT0S[TIME_DURATION]) AS ratings#17, VALUES(title{r}#18,true[BOOLEAN],PT0S[TIME_DURATION]) AS title#19, VALUES(year{r}#20,true[BOOLEAN],PT0S[TIME_DURATION]) AS year#21, VALUES(_id{r}#1,true[BOOLEAN],PT0S[TIME_DURATION]) AS _id#22, VALUES(_index{r}#2,true[BOOLEAN],PT0S[TIME_DURATION]) AS _index#23, VALUES(_fork{r}#24,true[BOOLEAN],PT0S[TIME_DURATION]) AS _fork#25]]
3+
\_Aggregate[[_id{r}#1, _index{r}#2],[SUM(_score{r}#3,true[BOOLEAN],PT0S[TIME_DURATION],compensated[KEYWORD],long_overflow_throw[KEYWORD]) AS _score#0, VALUES(author{r}#4,true[BOOLEAN],PT0S[TIME_DURATION]) AS author#5, VALUES(author.keyword{r}#6,true[BOOLEAN],PT0S[TIME_DURATION]) AS author.keyword#7, VALUES(book_no{r}#8,true[BOOLEAN],PT0S[TIME_DURATION]) AS book_no#9, VALUES(collection{r}#10,true[BOOLEAN],PT0S[TIME_DURATION]) AS collection#11, VALUES(description{r}#12,true[BOOLEAN],PT0S[TIME_DURATION]) AS description#13, VALUES(publisher{r}#14,true[BOOLEAN],PT0S[TIME_DURATION]) AS publisher#15, VALUES(ratings{r}#16,true[BOOLEAN],PT0S[TIME_DURATION]) AS ratings#17, VALUES(title{r}#18,true[BOOLEAN],PT0S[TIME_DURATION]) AS title#19, VALUES(year{r}#20,true[BOOLEAN],PT0S[TIME_DURATION]) AS year#21, VALUES(_id{r}#1,true[BOOLEAN],PT0S[TIME_DURATION]) AS _id#22, VALUES(_index{r}#2,true[BOOLEAN],PT0S[TIME_DURATION]) AS _index#23, VALUES(_fork{r}#24,true[BOOLEAN],PT0S[TIME_DURATION]) AS _fork#25]]
44
\_FuseScoreEval[_score{r}#3,_fork{r}#24,RRF,null]
55
\_Fork[[author{r}#4, author.keyword{r}#6, book_no{r}#8, collection{r}#10, description{r}#12, publisher{r}#14, ratings{r}#16, title{r}#18, year{r}#20, _id{r}#1, _index{r}#2, _score{r}#3, _fork{r}#24]]
66
|_Limit[10000[INTEGER],false,false]

x-pack/plugin/esql/src/test/resources/org/elasticsearch/xpack/esql/optimizer/rules/physical/local/golden_tests/ForkGoldenTests/testHybridSearch/local_physical_optimization.expected

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
TopNExec[[Order[_score{r}#0,DESC,FIRST]],10000[INTEGER],null]
2-
\_AggregateExec[[_id{r}#1, _index{r}#2],[SUM(_score{r}#3,true[BOOLEAN],PT0S[TIME_DURATION],compensated[KEYWORD]) AS _score#0, VALUES(author{r}#4,true[BOOLEAN],PT0S[TIME_DURATION]) AS author#5, VALUES(author.keyword{r}#6,true[BOOLEAN],PT0S[TIME_DURATION]) AS author.keyword#7, VALUES(book_no{r}#8,true[BOOLEAN],PT0S[TIME_DURATION]) AS book_no#9, VALUES(collection{r}#10,true[BOOLEAN],PT0S[TIME_DURATION]) AS collection#11, VALUES(description{r}#12,true[BOOLEAN],PT0S[TIME_DURATION]) AS description#13, VALUES(publisher{r}#14,true[BOOLEAN],PT0S[TIME_DURATION]) AS publisher#15, VALUES(ratings{r}#16,true[BOOLEAN],PT0S[TIME_DURATION]) AS ratings#17, VALUES(title{r}#18,true[BOOLEAN],PT0S[TIME_DURATION]) AS title#19, VALUES(year{r}#20,true[BOOLEAN],PT0S[TIME_DURATION]) AS year#21, VALUES(_id{r}#1,true[BOOLEAN],PT0S[TIME_DURATION]) AS _id#22, VALUES(_index{r}#2,true[BOOLEAN],PT0S[TIME_DURATION]) AS _index#23, VALUES(_fork{r}#24,true[BOOLEAN],PT0S[TIME_DURATION]) AS _fork#25],SINGLE,[_id{r}#1, _index{r}#2, $$_score$value{r}#26, $$_score$delta{r}#27, $$_score$seen{r}#28, $$author$values{r}#29, $$author.keyword$values{r}#30, $$book_no$values{r}#31, $$collection$values{r}#32, $$description$values{r}#33, $$publisher$values{r}#34, $$ratings$values{r}#35, $$title$values{r}#36, $$year$values{r}#37, $$_id$values{r}#38, $$_index$values{r}#39, $$_fork$values{r}#40],null]
2+
\_AggregateExec[[_id{r}#1, _index{r}#2],[SUM(_score{r}#3,true[BOOLEAN],PT0S[TIME_DURATION],compensated[KEYWORD],long_overflow_throw[KEYWORD]) AS _score#0, VALUES(author{r}#4,true[BOOLEAN],PT0S[TIME_DURATION]) AS author#5, VALUES(author.keyword{r}#6,true[BOOLEAN],PT0S[TIME_DURATION]) AS author.keyword#7, VALUES(book_no{r}#8,true[BOOLEAN],PT0S[TIME_DURATION]) AS book_no#9, VALUES(collection{r}#10,true[BOOLEAN],PT0S[TIME_DURATION]) AS collection#11, VALUES(description{r}#12,true[BOOLEAN],PT0S[TIME_DURATION]) AS description#13, VALUES(publisher{r}#14,true[BOOLEAN],PT0S[TIME_DURATION]) AS publisher#15, VALUES(ratings{r}#16,true[BOOLEAN],PT0S[TIME_DURATION]) AS ratings#17, VALUES(title{r}#18,true[BOOLEAN],PT0S[TIME_DURATION]) AS title#19, VALUES(year{r}#20,true[BOOLEAN],PT0S[TIME_DURATION]) AS year#21, VALUES(_id{r}#1,true[BOOLEAN],PT0S[TIME_DURATION]) AS _id#22, VALUES(_index{r}#2,true[BOOLEAN],PT0S[TIME_DURATION]) AS _index#23, VALUES(_fork{r}#24,true[BOOLEAN],PT0S[TIME_DURATION]) AS _fork#25],SINGLE,[_id{r}#1, _index{r}#2, $$_score$value{r}#26, $$_score$delta{r}#27, $$_score$seen{r}#28, $$author$values{r}#29, $$author.keyword$values{r}#30, $$book_no$values{r}#31, $$collection$values{r}#32, $$description$values{r}#33, $$publisher$values{r}#34, $$ratings$values{r}#35, $$title$values{r}#36, $$year$values{r}#37, $$_id$values{r}#38, $$_index$values{r}#39, $$_fork$values{r}#40],null]
33
\_FuseScoreEvalExec[_score{r}#3,_fork{r}#24,RrfConfig[rankConstant=60.0, weights={}]]
44
\_MergeExec[[author{r}#4, author.keyword{r}#6, book_no{r}#8, collection{r}#10, description{r}#12, publisher{r}#14, ratings{r}#16, title{r}#18, year{r}#20, _id{r}#1, _index{r}#2, _score{r}#3, _fork{r}#24]]
55
|_ProjectExec[[author{f}#41, author.keyword{f}#42, book_no{f}#43, collection{f}#44, description{f}#45, publisher{f}#46, ratings{f}#47, title{f}#48, year{f}#49, _id{m}#50, _index{m}#51, _score{m}#52, _fork{r}#53]]

x-pack/plugin/esql/src/test/resources/org/elasticsearch/xpack/esql/optimizer/rules/physical/local/golden_tests/ForkGoldenTests/testHybridSearch/logical_optimization.expected

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
TopN[[Order[_score{r}#0,DESC,FIRST]],10000[INTEGER],false]
2-
\_Aggregate[[_id{r}#1, _index{r}#2],[SUM(_score{r}#3,true[BOOLEAN],PT0S[TIME_DURATION],compensated[KEYWORD]) AS _score#0, VALUES(author{r}#4,true[BOOLEAN],PT0S[TIME_DURATION]) AS author#5, VALUES(author.keyword{r}#6,true[BOOLEAN],PT0S[TIME_DURATION]) AS author.keyword#7, VALUES(book_no{r}#8,true[BOOLEAN],PT0S[TIME_DURATION]) AS book_no#9, VALUES(collection{r}#10,true[BOOLEAN],PT0S[TIME_DURATION]) AS collection#11, VALUES(description{r}#12,true[BOOLEAN],PT0S[TIME_DURATION]) AS description#13, VALUES(publisher{r}#14,true[BOOLEAN],PT0S[TIME_DURATION]) AS publisher#15, VALUES(ratings{r}#16,true[BOOLEAN],PT0S[TIME_DURATION]) AS ratings#17, VALUES(title{r}#18,true[BOOLEAN],PT0S[TIME_DURATION]) AS title#19, VALUES(year{r}#20,true[BOOLEAN],PT0S[TIME_DURATION]) AS year#21, VALUES(_id{r}#1,true[BOOLEAN],PT0S[TIME_DURATION]) AS _id#22, VALUES(_index{r}#2,true[BOOLEAN],PT0S[TIME_DURATION]) AS _index#23, VALUES(_fork{r}#24,true[BOOLEAN],PT0S[TIME_DURATION]) AS _fork#25]]
2+
\_Aggregate[[_id{r}#1, _index{r}#2],[SUM(_score{r}#3,true[BOOLEAN],PT0S[TIME_DURATION],compensated[KEYWORD],long_overflow_throw[KEYWORD]) AS _score#0, VALUES(author{r}#4,true[BOOLEAN],PT0S[TIME_DURATION]) AS author#5, VALUES(author.keyword{r}#6,true[BOOLEAN],PT0S[TIME_DURATION]) AS author.keyword#7, VALUES(book_no{r}#8,true[BOOLEAN],PT0S[TIME_DURATION]) AS book_no#9, VALUES(collection{r}#10,true[BOOLEAN],PT0S[TIME_DURATION]) AS collection#11, VALUES(description{r}#12,true[BOOLEAN],PT0S[TIME_DURATION]) AS description#13, VALUES(publisher{r}#14,true[BOOLEAN],PT0S[TIME_DURATION]) AS publisher#15, VALUES(ratings{r}#16,true[BOOLEAN],PT0S[TIME_DURATION]) AS ratings#17, VALUES(title{r}#18,true[BOOLEAN],PT0S[TIME_DURATION]) AS title#19, VALUES(year{r}#20,true[BOOLEAN],PT0S[TIME_DURATION]) AS year#21, VALUES(_id{r}#1,true[BOOLEAN],PT0S[TIME_DURATION]) AS _id#22, VALUES(_index{r}#2,true[BOOLEAN],PT0S[TIME_DURATION]) AS _index#23, VALUES(_fork{r}#24,true[BOOLEAN],PT0S[TIME_DURATION]) AS _fork#25]]
33
\_FuseScoreEval[_score{r}#3,_fork{r}#24,RRF,null]
44
\_Fork[[author{r}#4, author.keyword{r}#6, book_no{r}#8, collection{r}#10, description{r}#12, publisher{r}#14, ratings{r}#16, title{r}#18, year{r}#20, _id{r}#1, _index{r}#2, _score{r}#3, _fork{r}#24]]
55
|_Project[[author{f}#26, author.keyword{f}#27, book_no{f}#28, collection{f}#29, description{f}#30, publisher{f}#31, ratings{f}#32, title{f}#33, year{f}#34, _id{m}#35, _index{m}#36, _score{m}#37, _fork{r}#38]]

x-pack/plugin/esql/src/test/resources/org/elasticsearch/xpack/esql/optimizer/rules/physical/local/golden_tests/ForkGoldenTests/testHybridSearch/physical_optimization.expected

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
TopNExec[[Order[_score{r}#0,DESC,FIRST]],10000[INTEGER],null]
2-
\_AggregateExec[[_id{r}#1, _index{r}#2],[SUM(_score{r}#3,true[BOOLEAN],PT0S[TIME_DURATION],compensated[KEYWORD]) AS _score#0, VALUES(author{r}#4,true[BOOLEAN],PT0S[TIME_DURATION]) AS author#5, VALUES(author.keyword{r}#6,true[BOOLEAN],PT0S[TIME_DURATION]) AS author.keyword#7, VALUES(book_no{r}#8,true[BOOLEAN],PT0S[TIME_DURATION]) AS book_no#9, VALUES(collection{r}#10,true[BOOLEAN],PT0S[TIME_DURATION]) AS collection#11, VALUES(description{r}#12,true[BOOLEAN],PT0S[TIME_DURATION]) AS description#13, VALUES(publisher{r}#14,true[BOOLEAN],PT0S[TIME_DURATION]) AS publisher#15, VALUES(ratings{r}#16,true[BOOLEAN],PT0S[TIME_DURATION]) AS ratings#17, VALUES(title{r}#18,true[BOOLEAN],PT0S[TIME_DURATION]) AS title#19, VALUES(year{r}#20,true[BOOLEAN],PT0S[TIME_DURATION]) AS year#21, VALUES(_id{r}#1,true[BOOLEAN],PT0S[TIME_DURATION]) AS _id#22, VALUES(_index{r}#2,true[BOOLEAN],PT0S[TIME_DURATION]) AS _index#23, VALUES(_fork{r}#24,true[BOOLEAN],PT0S[TIME_DURATION]) AS _fork#25],SINGLE,[_id{r}#1, _index{r}#2, $$_score$value{r}#26, $$_score$delta{r}#27, $$_score$seen{r}#28, $$author$values{r}#29, $$author.keyword$values{r}#30, $$book_no$values{r}#31, $$collection$values{r}#32, $$description$values{r}#33, $$publisher$values{r}#34, $$ratings$values{r}#35, $$title$values{r}#36, $$year$values{r}#37, $$_id$values{r}#38, $$_index$values{r}#39, $$_fork$values{r}#40],null]
2+
\_AggregateExec[[_id{r}#1, _index{r}#2],[SUM(_score{r}#3,true[BOOLEAN],PT0S[TIME_DURATION],compensated[KEYWORD],long_overflow_throw[KEYWORD]) AS _score#0, VALUES(author{r}#4,true[BOOLEAN],PT0S[TIME_DURATION]) AS author#5, VALUES(author.keyword{r}#6,true[BOOLEAN],PT0S[TIME_DURATION]) AS author.keyword#7, VALUES(book_no{r}#8,true[BOOLEAN],PT0S[TIME_DURATION]) AS book_no#9, VALUES(collection{r}#10,true[BOOLEAN],PT0S[TIME_DURATION]) AS collection#11, VALUES(description{r}#12,true[BOOLEAN],PT0S[TIME_DURATION]) AS description#13, VALUES(publisher{r}#14,true[BOOLEAN],PT0S[TIME_DURATION]) AS publisher#15, VALUES(ratings{r}#16,true[BOOLEAN],PT0S[TIME_DURATION]) AS ratings#17, VALUES(title{r}#18,true[BOOLEAN],PT0S[TIME_DURATION]) AS title#19, VALUES(year{r}#20,true[BOOLEAN],PT0S[TIME_DURATION]) AS year#21, VALUES(_id{r}#1,true[BOOLEAN],PT0S[TIME_DURATION]) AS _id#22, VALUES(_index{r}#2,true[BOOLEAN],PT0S[TIME_DURATION]) AS _index#23, VALUES(_fork{r}#24,true[BOOLEAN],PT0S[TIME_DURATION]) AS _fork#25],SINGLE,[_id{r}#1, _index{r}#2, $$_score$value{r}#26, $$_score$delta{r}#27, $$_score$seen{r}#28, $$author$values{r}#29, $$author.keyword$values{r}#30, $$book_no$values{r}#31, $$collection$values{r}#32, $$description$values{r}#33, $$publisher$values{r}#34, $$ratings$values{r}#35, $$title$values{r}#36, $$year$values{r}#37, $$_id$values{r}#38, $$_index$values{r}#39, $$_fork$values{r}#40],null]
33
\_FuseScoreEvalExec[_score{r}#3,_fork{r}#24,RrfConfig[rankConstant=60.0, weights={}]]
44
\_MergeExec[[author{r}#4, author.keyword{r}#6, book_no{r}#8, collection{r}#10, description{r}#12, publisher{r}#14, ratings{r}#16, title{r}#18, year{r}#20, _id{r}#1, _index{r}#2, _score{r}#3, _fork{r}#24]]
55
|_ProjectExec[[author{f}#41, author.keyword{f}#42, book_no{f}#43, collection{f}#44, description{f}#45, publisher{f}#46, ratings{f}#47, title{f}#48, year{f}#49, _id{m}#50, _index{m}#51, _score{m}#52, _fork{r}#53]]

0 commit comments

Comments
 (0)