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..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,25 +105,31 @@ 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;