Skip to content

Commit 84a31a9

Browse files
authored
[ES|QL] Compare query builders using identity (#139080) (#139136)
(cherry picked from commit afa1ea9) # Conflicts: # x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/function/fulltext/SingleFieldFullTextFunction.java
1 parent be7d752 commit 84a31a9

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

docs/changelog/139080.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
pr: 139080
2+
summary: "[ES|QL] Compare query builders using identity"
3+
area: "ES|QL"
4+
type: bug
5+
issues: []

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ public String functionType() {
149149

150150
@Override
151151
public int hashCode() {
152-
return Objects.hash(super.hashCode(), query, queryBuilder);
152+
return Objects.hash(super.hashCode(), query, System.identityHashCode(queryBuilder));
153153
}
154154

155155
@Override
@@ -158,7 +158,9 @@ public boolean equals(Object obj) {
158158
return false;
159159
}
160160

161-
return Objects.equals(queryBuilder, ((FullTextFunction) obj).queryBuilder) && Objects.equals(query, ((FullTextFunction) obj).query);
161+
// Compare query builders using identity because that's how they are compared during query rewriting
162+
FullTextFunction other = (FullTextFunction) obj;
163+
return queryBuilder == other.queryBuilder && Objects.equals(query, other.query);
162164
}
163165

164166
@Override

0 commit comments

Comments
 (0)