diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2021-09-14 19:30:13 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-14 19:30:13 +0200 |
commit | 4a1ab13c48130dc4917e6075b5734f57d15dbcda (patch) | |
tree | 9791d07bd05c9af3ffc38d1199f402125f879969 /searchlib | |
parent | 6a7a6e1987c0de4ce9d2375473414e573d8e985f (diff) | |
parent | 08f7945e890d026f6caa6f5f74c4f24b248029b4 (diff) |
Merge pull request #19123 from vespa-engine/balder/cache-potentially-large-and-expensive-list
Cache list that is potentially hard to compute.
Diffstat (limited to 'searchlib')
-rw-r--r-- | searchlib/abi-spec.json | 1 | ||||
-rw-r--r-- | searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/FunctionReferenceContext.java | 8 |
2 files changed, 7 insertions, 2 deletions
diff --git a/searchlib/abi-spec.json b/searchlib/abi-spec.json index 65151dd6ff0..e8e3a3cb133 100644 --- a/searchlib/abi-spec.json +++ b/searchlib/abi-spec.json @@ -1424,6 +1424,7 @@ "public void <init>(java.util.Collection, java.util.Map)", "public void <init>(java.util.Map)", "public void <init>(java.util.Map, java.util.Map)", + "protected void <init>(com.google.common.collect.ImmutableMap, java.util.Map)", "public com.yahoo.searchlib.rankingexpression.ExpressionFunction getFunction(java.lang.String)", "protected com.google.common.collect.ImmutableMap functions()", "public java.lang.String getBinding(java.lang.String)", diff --git a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/FunctionReferenceContext.java b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/FunctionReferenceContext.java index 6717bec0258..506884d15b4 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/FunctionReferenceContext.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/FunctionReferenceContext.java @@ -38,12 +38,16 @@ public class FunctionReferenceContext { /** Create a context for a single serialization task */ public FunctionReferenceContext(Map<String, ExpressionFunction> functions) { - this(functions.values()); + this(functions, null); } /** Create a context for a single serialization task */ public FunctionReferenceContext(Map<String, ExpressionFunction> functions, Map<String, String> bindings) { - this.functions = ImmutableMap.copyOf(functions); + this(ImmutableMap.copyOf(functions), bindings); + } + + protected FunctionReferenceContext(ImmutableMap<String, ExpressionFunction> functions, Map<String, String> bindings) { + this.functions = functions; if (bindings != null) this.bindings.putAll(bindings); } |