From d883fa1f9fff36baf7231e6e9f8958017a705657 Mon Sep 17 00:00:00 2001 From: Arne Juul Date: Thu, 16 Mar 2023 11:00:36 +0000 Subject: * make InputRecorder handle slice with embedded expressions * special handling for Generate and Slice in BindingExtractor --- .../java/com/yahoo/schema/expressiontransforms/InputRecorder.java | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'config-model/src/main/java') diff --git a/config-model/src/main/java/com/yahoo/schema/expressiontransforms/InputRecorder.java b/config-model/src/main/java/com/yahoo/schema/expressiontransforms/InputRecorder.java index 6e7787c2dd1..993a2442fdb 100644 --- a/config-model/src/main/java/com/yahoo/schema/expressiontransforms/InputRecorder.java +++ b/config-model/src/main/java/com/yahoo/schema/expressiontransforms/InputRecorder.java @@ -13,6 +13,7 @@ import com.yahoo.searchlib.rankingexpression.rule.ReferenceNode; import com.yahoo.searchlib.rankingexpression.rule.TensorFunctionNode; import com.yahoo.searchlib.rankingexpression.transform.ExpressionTransformer; import com.yahoo.tensor.functions.Generate; +import com.yahoo.tensor.functions.Slice; import java.io.StringReader; import java.util.HashSet; @@ -53,6 +54,13 @@ public class InputRecorder extends ExpressionTransformer { } return transformChildren(t, childContext); } + if (f instanceof Slice s) { + for (var tf : s.selectorFunctions()) { + if (tf instanceof TensorFunctionNode.ExpressionTensorFunction expr) { + transform(expr.wrappedExpression(), context); + } + } + } } if (node instanceof CompositeNode c) return transformChildren(c, context); -- cgit v1.2.3