Skip to content

Commit 82e1496

Browse files
committed
Added intermediateStateDesc to suppliers
1 parent c594067 commit 82e1496

File tree

71 files changed

+752
-10
lines changed

Some content is hidden

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

71 files changed

+752
-10
lines changed

x-pack/plugin/esql/compute/gen/src/main/java/org/elasticsearch/compute/gen/AggregatorFunctionSupplierImplementer.java

Lines changed: 39 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131

3232
import static org.elasticsearch.compute.gen.Types.AGGREGATOR_FUNCTION_SUPPLIER;
3333
import static org.elasticsearch.compute.gen.Types.DRIVER_CONTEXT;
34+
import static org.elasticsearch.compute.gen.Types.LIST_AGG_FUNC_DESC;
3435
import static org.elasticsearch.compute.gen.Types.LIST_INTEGER;
3536
import static org.elasticsearch.compute.gen.Types.STRING;
3637
import static org.elasticsearch.compute.gen.Types.WARNINGS;
@@ -99,11 +100,9 @@ private TypeSpec type() {
99100
}
100101
createParameters.stream().forEach(p -> p.declareField(builder));
101102
builder.addMethod(ctor());
102-
if (aggregatorImplementer != null) {
103-
builder.addMethod(aggregator());
104-
} else {
105-
builder.addMethod(unsupportedNonGroupingAggregator());
106-
}
103+
builder.addMethod(nonGroupingIntermediateStateDesc());
104+
builder.addMethod(groupingIntermediateStateDesc());
105+
builder.addMethod(aggregator());
107106
builder.addMethod(groupingAggregator());
108107
builder.addMethod(describe());
109108
return builder.build();
@@ -123,19 +122,48 @@ private MethodSpec ctor() {
123122
return builder.build();
124123
}
125124

126-
private MethodSpec unsupportedNonGroupingAggregator() {
127-
MethodSpec.Builder builder = MethodSpec.methodBuilder("aggregator")
128-
.addParameter(DRIVER_CONTEXT, "driverContext")
129-
.returns(Types.AGGREGATOR_FUNCTION);
125+
private MethodSpec nonGroupingIntermediateStateDesc() {
126+
MethodSpec.Builder builder = MethodSpec.methodBuilder("nonGroupingIntermediateStateDesc");
127+
builder.addAnnotation(Override.class).addModifiers(Modifier.PUBLIC);
128+
builder.returns(LIST_AGG_FUNC_DESC);
129+
130+
if (aggregatorImplementer == null) {
131+
builder.addStatement("throw new UnsupportedOperationException($S)", "non-grouping aggregator is not supported");
132+
return builder.build();
133+
}
134+
135+
builder.addStatement(
136+
"return $T.intermediateStateDesc()",
137+
aggregatorImplementer.implementation()
138+
);
139+
140+
return builder.build();
141+
}
142+
143+
private MethodSpec groupingIntermediateStateDesc() {
144+
MethodSpec.Builder builder = MethodSpec.methodBuilder("groupingIntermediateStateDesc");
130145
builder.addAnnotation(Override.class).addModifiers(Modifier.PUBLIC);
131-
builder.addStatement("throw new UnsupportedOperationException($S)", "non-grouping aggregator is not supported");
146+
builder.returns(LIST_AGG_FUNC_DESC);
147+
148+
builder.addStatement(
149+
"return $T.intermediateStateDesc()",
150+
groupingAggregatorImplementer.implementation()
151+
);
152+
132153
return builder.build();
133154
}
134155

135156
private MethodSpec aggregator() {
136157
MethodSpec.Builder builder = MethodSpec.methodBuilder("aggregator");
137158
builder.addAnnotation(Override.class).addModifiers(Modifier.PUBLIC);
138159
builder.addParameter(DRIVER_CONTEXT, "driverContext");
160+
161+
if (aggregatorImplementer == null) {
162+
builder.returns(Types.AGGREGATOR_FUNCTION);
163+
builder.addStatement("throw new UnsupportedOperationException($S)", "non-grouping aggregator is not supported");
164+
return builder.build();
165+
}
166+
139167
builder.returns(aggregatorImplementer.implementation());
140168

141169
if (hasWarnings) {
@@ -155,6 +183,7 @@ private MethodSpec aggregator() {
155183
).collect(Collectors.joining(", "))
156184
);
157185

186+
158187
return builder.build();
159188
}
160189

x-pack/plugin/esql/compute/src/main/generated/org/elasticsearch/compute/aggregation/CountDistinctBooleanAggregatorFunctionSupplier.java

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

x-pack/plugin/esql/compute/src/main/generated/org/elasticsearch/compute/aggregation/CountDistinctBytesRefAggregatorFunctionSupplier.java

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

x-pack/plugin/esql/compute/src/main/generated/org/elasticsearch/compute/aggregation/CountDistinctDoubleAggregatorFunctionSupplier.java

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

x-pack/plugin/esql/compute/src/main/generated/org/elasticsearch/compute/aggregation/CountDistinctFloatAggregatorFunctionSupplier.java

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

x-pack/plugin/esql/compute/src/main/generated/org/elasticsearch/compute/aggregation/CountDistinctIntAggregatorFunctionSupplier.java

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

x-pack/plugin/esql/compute/src/main/generated/org/elasticsearch/compute/aggregation/CountDistinctLongAggregatorFunctionSupplier.java

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

x-pack/plugin/esql/compute/src/main/generated/org/elasticsearch/compute/aggregation/MaxBooleanAggregatorFunctionSupplier.java

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

x-pack/plugin/esql/compute/src/main/generated/org/elasticsearch/compute/aggregation/MaxBytesRefAggregatorFunctionSupplier.java

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

x-pack/plugin/esql/compute/src/main/generated/org/elasticsearch/compute/aggregation/MaxDoubleAggregatorFunctionSupplier.java

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)