diff options
author | Arne Juul <arnej@yahooinc.com> | 2023-03-16 11:00:36 +0000 |
---|---|---|
committer | Arne Juul <arnej@yahooinc.com> | 2023-03-16 11:05:35 +0000 |
commit | d883fa1f9fff36baf7231e6e9f8958017a705657 (patch) | |
tree | a99d74c943de8eb2d0b6c47746e39b612aa4c5c6 /config-model/src/main | |
parent | 9ec2f1a8888610e961ba4c6894abb096a8373850 (diff) |
* make InputRecorder handle slice with embedded expressions
* special handling for Generate and Slice in BindingExtractor
Diffstat (limited to 'config-model/src/main')
-rw-r--r-- | config-model/src/main/java/com/yahoo/schema/expressiontransforms/InputRecorder.java | 8 |
1 files changed, 8 insertions, 0 deletions
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<InputRecorderContext> { } 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); |