Skip to content

Commit 0577ccb

Browse files
Implement equals and hashcode
1 parent 1e8291e commit 0577ccb

File tree

3 files changed

+16
-2
lines changed

3 files changed

+16
-2
lines changed

docs/reference/esql/functions/functionNamedParams/qstr.asciidoc

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/reference/esql/functions/parameters/qstr.asciidoc

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/function/fulltext/QueryString.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -392,4 +392,18 @@ protected Query translate(TranslatorHandler handler) {
392392
public Expression replaceQueryBuilder(QueryBuilder queryBuilder) {
393393
return new QueryString(source(), query(), options(), queryBuilder);
394394
}
395+
396+
@Override
397+
public boolean equals(Object o) {
398+
// QueryString does not serialize options, as they get included in the query builder. We need to override equals and hashcode to
399+
// ignore options when comparing.
400+
if (o == null || getClass() != o.getClass()) return false;
401+
var qstr = (QueryString) o;
402+
return Objects.equals(query(), qstr.query()) && Objects.equals(queryBuilder(), qstr.queryBuilder());
403+
}
404+
405+
@Override
406+
public int hashCode() {
407+
return Objects.hash(query(), queryBuilder());
408+
}
395409
}

0 commit comments

Comments
 (0)