Skip to content

Commit 8959080

Browse files
committed
Fixup
1 parent 07f92d7 commit 8959080

File tree

6 files changed

+43
-6
lines changed

6 files changed

+43
-6
lines changed

x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/predicate/operator/comparison/Equals.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ public Query asQuery(LucenePushdownPredicates pushdownPredicates, TranslatorHand
152152
if (right() instanceof Literal rhs && left().dataType() == DataType.TEXT && left() instanceof FieldAttribute lhs) {
153153
return asQueryText(pushdownPredicates, handler, lhs, ((BytesRef) rhs.value()).utf8ToString());
154154
}
155-
return super.asQuery(pushdownPredicates, handler);
155+
return handler.forceToSingleValueQuery(left(), super.asQuery(pushdownPredicates, handler));
156156
}
157157

158158
private Query asQueryText(LucenePushdownPredicates pushdownPredicates, TranslatorHandler handler, FieldAttribute lhs, String rhs) {

x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/predicate/operator/comparison/GreaterThan.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import org.elasticsearch.common.io.stream.NamedWriteableRegistry;
1111
import org.elasticsearch.common.time.DateUtils;
1212
import org.elasticsearch.compute.ann.Evaluator;
13+
import org.elasticsearch.xpack.esql.capabilities.TranslationAware;
1314
import org.elasticsearch.xpack.esql.core.expression.Expression;
1415
import org.elasticsearch.xpack.esql.core.expression.predicate.Negatable;
1516
import org.elasticsearch.xpack.esql.core.tree.NodeInfo;
@@ -22,7 +23,10 @@
2223
import java.time.ZoneId;
2324
import java.util.Map;
2425

25-
public class GreaterThan extends EsqlBinaryComparison implements Negatable<EsqlBinaryComparison> {
26+
public class GreaterThan extends EsqlBinaryComparison
27+
implements
28+
Negatable<EsqlBinaryComparison>,
29+
TranslationAware.SingleValueTranslationAware {
2630
public static final NamedWriteableRegistry.Entry ENTRY = new NamedWriteableRegistry.Entry(
2731
Expression.class,
2832
"GreaterThan",
@@ -117,6 +121,11 @@ public EsqlBinaryComparison reverse() {
117121
return new LessThan(source(), left(), right(), zoneId());
118122
}
119123

124+
@Override
125+
public Expression singleValueField() {
126+
return left();
127+
}
128+
120129
@Evaluator(extraName = "Ints")
121130
static boolean processInts(int lhs, int rhs) {
122131
return lhs > rhs;

x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/predicate/operator/comparison/GreaterThanOrEqual.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import org.elasticsearch.common.io.stream.NamedWriteableRegistry;
1111
import org.elasticsearch.common.time.DateUtils;
1212
import org.elasticsearch.compute.ann.Evaluator;
13+
import org.elasticsearch.xpack.esql.capabilities.TranslationAware;
1314
import org.elasticsearch.xpack.esql.core.expression.Expression;
1415
import org.elasticsearch.xpack.esql.core.expression.predicate.Negatable;
1516
import org.elasticsearch.xpack.esql.core.tree.NodeInfo;
@@ -22,7 +23,8 @@
2223
import java.time.ZoneId;
2324
import java.util.Map;
2425

25-
public class GreaterThanOrEqual extends EsqlBinaryComparison implements Negatable<EsqlBinaryComparison> {
26+
public class GreaterThanOrEqual extends EsqlBinaryComparison implements Negatable<EsqlBinaryComparison>,
27+
TranslationAware.SingleValueTranslationAware {
2628
public static final NamedWriteableRegistry.Entry ENTRY = new NamedWriteableRegistry.Entry(
2729
Expression.class,
2830
"GreaterThanOrEqual",
@@ -112,6 +114,11 @@ public LessThan negate() {
112114
return new LessThan(source(), left(), right(), zoneId());
113115
}
114116

117+
@Override
118+
public Expression singleValueField() {
119+
return left();
120+
}
121+
115122
@Override
116123
public EsqlBinaryComparison reverse() {
117124
return new LessThanOrEqual(source(), left(), right(), zoneId());

x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/predicate/operator/comparison/LessThan.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import org.elasticsearch.common.io.stream.NamedWriteableRegistry;
1111
import org.elasticsearch.common.time.DateUtils;
1212
import org.elasticsearch.compute.ann.Evaluator;
13+
import org.elasticsearch.xpack.esql.capabilities.TranslationAware;
1314
import org.elasticsearch.xpack.esql.core.expression.Expression;
1415
import org.elasticsearch.xpack.esql.core.expression.predicate.Negatable;
1516
import org.elasticsearch.xpack.esql.core.tree.NodeInfo;
@@ -22,7 +23,8 @@
2223
import java.time.ZoneId;
2324
import java.util.Map;
2425

25-
public class LessThan extends EsqlBinaryComparison implements Negatable<EsqlBinaryComparison> {
26+
public class LessThan extends EsqlBinaryComparison implements Negatable<EsqlBinaryComparison>,
27+
TranslationAware.SingleValueTranslationAware {
2628
public static final NamedWriteableRegistry.Entry ENTRY = new NamedWriteableRegistry.Entry(
2729
Expression.class,
2830
"LessThan",
@@ -109,6 +111,11 @@ public EsqlBinaryComparison reverse() {
109111
return new GreaterThan(source(), left(), right(), zoneId());
110112
}
111113

114+
@Override
115+
public Expression singleValueField() {
116+
return left();
117+
}
118+
112119
@Evaluator(extraName = "Ints")
113120
static boolean processInts(int lhs, int rhs) {
114121
return lhs < rhs;

x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/predicate/operator/comparison/LessThanOrEqual.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import org.elasticsearch.common.io.stream.NamedWriteableRegistry;
1111
import org.elasticsearch.common.time.DateUtils;
1212
import org.elasticsearch.compute.ann.Evaluator;
13+
import org.elasticsearch.xpack.esql.capabilities.TranslationAware;
1314
import org.elasticsearch.xpack.esql.core.expression.Expression;
1415
import org.elasticsearch.xpack.esql.core.expression.predicate.Negatable;
1516
import org.elasticsearch.xpack.esql.core.tree.NodeInfo;
@@ -22,7 +23,8 @@
2223
import java.time.ZoneId;
2324
import java.util.Map;
2425

25-
public class LessThanOrEqual extends EsqlBinaryComparison implements Negatable<EsqlBinaryComparison> {
26+
public class LessThanOrEqual extends EsqlBinaryComparison implements Negatable<EsqlBinaryComparison>,
27+
TranslationAware.SingleValueTranslationAware {
2628
public static final NamedWriteableRegistry.Entry ENTRY = new NamedWriteableRegistry.Entry(
2729
Expression.class,
2830
"LessThanOrEqual",
@@ -109,6 +111,11 @@ public EsqlBinaryComparison reverse() {
109111
return new GreaterThanOrEqual(source(), left(), right(), zoneId());
110112
}
111113

114+
@Override
115+
public Expression singleValueField() {
116+
return left();
117+
}
118+
112119
@Evaluator(extraName = "Ints")
113120
static boolean processInts(int lhs, int rhs) {
114121
return lhs <= rhs;

x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/predicate/operator/comparison/NotEquals.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import org.elasticsearch.common.io.stream.NamedWriteableRegistry;
1111
import org.elasticsearch.common.time.DateUtils;
1212
import org.elasticsearch.compute.ann.Evaluator;
13+
import org.elasticsearch.xpack.esql.capabilities.TranslationAware;
1314
import org.elasticsearch.xpack.esql.core.expression.Expression;
1415
import org.elasticsearch.xpack.esql.core.expression.predicate.Negatable;
1516
import org.elasticsearch.xpack.esql.core.tree.NodeInfo;
@@ -22,7 +23,8 @@
2223
import java.time.ZoneId;
2324
import java.util.Map;
2425

25-
public class NotEquals extends EsqlBinaryComparison implements Negatable<EsqlBinaryComparison> {
26+
public class NotEquals extends EsqlBinaryComparison implements Negatable<EsqlBinaryComparison>,
27+
TranslationAware.SingleValueTranslationAware {
2628
public static final NamedWriteableRegistry.Entry ENTRY = new NamedWriteableRegistry.Entry(
2729
Expression.class,
2830
"NotEquals",
@@ -189,4 +191,9 @@ public NotEquals swapLeftAndRight() {
189191
public EsqlBinaryComparison negate() {
190192
return new Equals(source(), left(), right(), zoneId());
191193
}
194+
195+
@Override
196+
public Expression singleValueField() {
197+
return left();
198+
}
192199
}

0 commit comments

Comments
 (0)