summaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo/schema/processing/TypedTransformProvider.java
diff options
context:
space:
mode:
Diffstat (limited to 'config-model/src/main/java/com/yahoo/schema/processing/TypedTransformProvider.java')
-rw-r--r--config-model/src/main/java/com/yahoo/schema/processing/TypedTransformProvider.java14
1 files changed, 11 insertions, 3 deletions
diff --git a/config-model/src/main/java/com/yahoo/schema/processing/TypedTransformProvider.java b/config-model/src/main/java/com/yahoo/schema/processing/TypedTransformProvider.java
index 63eee474095..34dcc9139b3 100644
--- a/config-model/src/main/java/com/yahoo/schema/processing/TypedTransformProvider.java
+++ b/config-model/src/main/java/com/yahoo/schema/processing/TypedTransformProvider.java
@@ -39,9 +39,17 @@ public abstract class TypedTransformProvider extends ValueTransformProvider {
}
else if (exp instanceof SummaryExpression) {
Field field = schema.getSummaryField(fieldName);
- if (field == null)
- throw new IllegalArgumentException("Summary field '" + fieldName + "' not found.");
- fieldType = field.getDataType();
+ if (field == null) {
+ // Use document field if summary field is not found
+ var sdField = schema.getConcreteField(fieldName);
+ if (sdField != null && sdField.doesSummarying()) {
+ fieldType = sdField.getDataType();
+ } else {
+ throw new IllegalArgumentException("Summary field '" + fieldName + "' not found.");
+ }
+ } else {
+ fieldType = field.getDataType();
+ }
}
else {
throw new UnsupportedOperationException();