From 2a18b4b51f31b26a4c08b64bb537abffa897dbfe Mon Sep 17 00:00:00 2001 From: mjmbischoff Date: Thu, 28 Aug 2025 23:28:04 +0200 Subject: [PATCH 1/2] Remove unused `warnings` field and related logic from `NowEvaluator` and conditionally generate it in `EvaluatorImplementer`. --- .../compute/gen/EvaluatorImplementer.java | 15 +++++++++++---- .../function/scalar/date/NowEvaluator.java | 15 --------------- 2 files changed, 11 insertions(+), 19 deletions(-) diff --git a/x-pack/plugin/esql/compute/gen/src/main/java/org/elasticsearch/compute/gen/EvaluatorImplementer.java b/x-pack/plugin/esql/compute/gen/src/main/java/org/elasticsearch/compute/gen/EvaluatorImplementer.java index e5b6e4992f1a2..535d3fb4c104c 100644 --- a/x-pack/plugin/esql/compute/gen/src/main/java/org/elasticsearch/compute/gen/EvaluatorImplementer.java +++ b/x-pack/plugin/esql/compute/gen/src/main/java/org/elasticsearch/compute/gen/EvaluatorImplementer.java @@ -105,25 +105,32 @@ private TypeSpec type() { processFunction.args.forEach(a -> a.declareField(builder)); builder.addField(DRIVER_CONTEXT, "driverContext", Modifier.PRIVATE, Modifier.FINAL); - builder.addField(WARNINGS, "warnings", Modifier.PRIVATE); + var hasFixedProcessFunctionArgs = processFunction.args.stream() + .anyMatch(x -> x instanceof FixedProcessFunctionArg == false); + var usesWarnings = processFunction.warnExceptions.isEmpty() == false || hasFixedProcessFunctionArgs; + if (usesWarnings) { + builder.addField(WARNINGS, "warnings", Modifier.PRIVATE); + } builder.addMethod(ctor()); builder.addMethod(eval()); builder.addMethod(processFunction.baseRamBytesUsed()); if (processOutputsMultivalued) { - if (processFunction.args.stream().anyMatch(x -> x instanceof FixedProcessFunctionArg == false)) { + if (hasFixedProcessFunctionArgs) { builder.addMethod(realEval(true)); } } else { - if (processFunction.args.stream().anyMatch(x -> x instanceof FixedProcessFunctionArg == false)) { + if (hasFixedProcessFunctionArgs) { builder.addMethod(realEval(true)); } builder.addMethod(realEval(false)); } builder.addMethod(processFunction.toStringMethod(implementation)); builder.addMethod(processFunction.close()); - builder.addMethod(warnings()); + if (usesWarnings) { + builder.addMethod(warnings()); + } return builder.build(); } diff --git a/x-pack/plugin/esql/src/main/generated/org/elasticsearch/xpack/esql/expression/function/scalar/date/NowEvaluator.java b/x-pack/plugin/esql/src/main/generated/org/elasticsearch/xpack/esql/expression/function/scalar/date/NowEvaluator.java index a5e1ac73bcd02..3e700804976e0 100644 --- a/x-pack/plugin/esql/src/main/generated/org/elasticsearch/xpack/esql/expression/function/scalar/date/NowEvaluator.java +++ b/x-pack/plugin/esql/src/main/generated/org/elasticsearch/xpack/esql/expression/function/scalar/date/NowEvaluator.java @@ -12,7 +12,6 @@ import org.elasticsearch.compute.data.Page; import org.elasticsearch.compute.operator.DriverContext; import org.elasticsearch.compute.operator.EvalOperator; -import org.elasticsearch.compute.operator.Warnings; import org.elasticsearch.xpack.esql.core.tree.Source; /** @@ -28,8 +27,6 @@ public final class NowEvaluator implements EvalOperator.ExpressionEvaluator { private final DriverContext driverContext; - private Warnings warnings; - public NowEvaluator(Source source, long now, DriverContext driverContext) { this.source = source; this.now = now; @@ -65,18 +62,6 @@ public String toString() { public void close() { } - private Warnings warnings() { - if (warnings == null) { - this.warnings = Warnings.createWarnings( - driverContext.warningsMode(), - source.source().getLineNumber(), - source.source().getColumnNumber(), - source.text() - ); - } - return warnings; - } - static class Factory implements EvalOperator.ExpressionEvaluator.Factory { private final Source source; From 66431339e86ca502dcbbbf5340b83ca3610f2a1e Mon Sep 17 00:00:00 2001 From: elasticsearchmachine Date: Thu, 28 Aug 2025 21:49:02 +0000 Subject: [PATCH 2/2] [CI] Auto commit changes from spotless --- .../org/elasticsearch/compute/gen/EvaluatorImplementer.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/x-pack/plugin/esql/compute/gen/src/main/java/org/elasticsearch/compute/gen/EvaluatorImplementer.java b/x-pack/plugin/esql/compute/gen/src/main/java/org/elasticsearch/compute/gen/EvaluatorImplementer.java index 535d3fb4c104c..de951ddccd071 100644 --- a/x-pack/plugin/esql/compute/gen/src/main/java/org/elasticsearch/compute/gen/EvaluatorImplementer.java +++ b/x-pack/plugin/esql/compute/gen/src/main/java/org/elasticsearch/compute/gen/EvaluatorImplementer.java @@ -105,8 +105,7 @@ private TypeSpec type() { processFunction.args.forEach(a -> a.declareField(builder)); builder.addField(DRIVER_CONTEXT, "driverContext", Modifier.PRIVATE, Modifier.FINAL); - var hasFixedProcessFunctionArgs = processFunction.args.stream() - .anyMatch(x -> x instanceof FixedProcessFunctionArg == false); + var hasFixedProcessFunctionArgs = processFunction.args.stream().anyMatch(x -> x instanceof FixedProcessFunctionArg == false); var usesWarnings = processFunction.warnExceptions.isEmpty() == false || hasFixedProcessFunctionArgs; if (usesWarnings) {