Skip to content

Commit 3aaa248

Browse files
committed
Plan serialization?
1 parent bca38b2 commit 3aaa248

File tree

45 files changed

+349
-136
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+349
-136
lines changed

x-pack/plugin/esql-core/src/main/java/org/elasticsearch/xpack/esql/core/querydsl/query/BoolQuery.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,4 +100,14 @@ public Query negate(Source source) {
100100
public boolean scorable() {
101101
return true;
102102
}
103+
104+
@Override
105+
public boolean containsPlan() {
106+
for (Query q : queries) {
107+
if (q.containsPlan()) {
108+
return true;
109+
}
110+
}
111+
return false;
112+
}
103113
}

x-pack/plugin/esql-core/src/main/java/org/elasticsearch/xpack/esql/core/querydsl/query/ExistsQuery.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,9 @@ protected QueryBuilder asBuilder() {
2929
protected String innerToString() {
3030
return name;
3131
}
32+
33+
@Override
34+
public boolean containsPlan() {
35+
return false;
36+
}
3237
}

x-pack/plugin/esql-core/src/main/java/org/elasticsearch/xpack/esql/core/querydsl/query/GeoDistanceQuery.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,4 +75,9 @@ public boolean equals(Object obj) {
7575
protected String innerToString() {
7676
return field + ":" + "(" + distance + "," + "(" + lat + ", " + lon + "))";
7777
}
78+
79+
@Override
80+
public boolean containsPlan() {
81+
return false;
82+
}
7883
}

x-pack/plugin/esql-core/src/main/java/org/elasticsearch/xpack/esql/core/querydsl/query/MatchAll.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,9 @@ protected QueryBuilder asBuilder() {
2525
protected String innerToString() {
2626
return "";
2727
}
28+
29+
@Override
30+
public boolean containsPlan() {
31+
return false;
32+
}
2833
}

x-pack/plugin/esql-core/src/main/java/org/elasticsearch/xpack/esql/core/querydsl/query/NotQuery.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,4 +59,9 @@ protected String innerToString() {
5959
public Query negate(Source source) {
6060
return child;
6161
}
62+
63+
@Override
64+
public boolean containsPlan() {
65+
return child.containsPlan();
66+
}
6267
}

x-pack/plugin/esql-core/src/main/java/org/elasticsearch/xpack/esql/core/querydsl/query/PrefixQuery.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,4 +61,9 @@ public boolean equals(Object obj) {
6161
protected String innerToString() {
6262
return field + ":" + query;
6363
}
64+
65+
@Override
66+
public boolean containsPlan() {
67+
return false;
68+
}
6469
}

x-pack/plugin/esql-core/src/main/java/org/elasticsearch/xpack/esql/core/querydsl/query/Query.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,12 @@ public final QueryBuilder toQueryBuilder() {
7070
*/
7171
protected abstract String innerToString();
7272

73+
/**
74+
* Does the result of calling {@link #asBuilder()} need the plan
75+
* to serialize itself?
76+
*/
77+
public abstract boolean containsPlan();
78+
7379
@Override
7480
public boolean equals(Object obj) {
7581
if (obj == null || obj.getClass() != getClass()) {

x-pack/plugin/esql-core/src/main/java/org/elasticsearch/xpack/esql/core/querydsl/query/QueryStringQuery.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,4 +137,9 @@ protected String innerToString() {
137137
public boolean scorable() {
138138
return true;
139139
}
140+
141+
@Override
142+
public boolean containsPlan() {
143+
return false;
144+
}
140145
}

x-pack/plugin/esql-core/src/main/java/org/elasticsearch/xpack/esql/core/querydsl/query/RangeQuery.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,4 +118,9 @@ public boolean equals(Object obj) {
118118
protected String innerToString() {
119119
return field + ":" + (includeLower ? "[" : "(") + lower + ", " + upper + (includeUpper ? "]" : ")") + "@" + zoneId.getId();
120120
}
121+
122+
@Override
123+
public boolean containsPlan() {
124+
return false;
125+
}
121126
}

x-pack/plugin/esql-core/src/main/java/org/elasticsearch/xpack/esql/core/querydsl/query/RegexQuery.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,4 +69,9 @@ public boolean equals(Object obj) {
6969
protected String innerToString() {
7070
return field + "~ /" + regex + "/";
7171
}
72+
73+
@Override
74+
public boolean containsPlan() {
75+
return false;
76+
}
7277
}

0 commit comments

Comments
 (0)