This is an automated email from the ASF dual-hosted git repository. andy pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/jena.git
commit 02b955204b70206f748de486c800ceaf320f636a Author: Andy Seaborne <[email protected]> AuthorDate: Sat Aug 24 17:12:54 2024 +0100 Provide merge operation that reuses a BindingBuilder --- .../apache/jena/sparql/engine/binding/BindingLib.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/engine/binding/BindingLib.java b/jena-arq/src/main/java/org/apache/jena/sparql/engine/binding/BindingLib.java index ea77786870..82b82febeb 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/engine/binding/BindingLib.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/engine/binding/BindingLib.java @@ -54,8 +54,20 @@ public class BindingLib { /** Merge two bindings, assuming they are compatible. */ public static Binding merge(Binding bind1, Binding bind2) { - // Create binding from LHS - BindingBuilder builder = Binding.builder(bind1); + BindingBuilder builder = Binding.builder(); + Binding merge = merge(builder, bind1, bind2); + return merge; + } + + /** + * Merge two bindings, assuming they are compatible. + * + * The {@link BindingBuilder} is reused and + * left in an indeterminate state. + */ + public static Binding merge(BindingBuilder builder, Binding bind1, Binding bind2) { + builder.reset(); + builder.addAll(bind1); Iterator<Var> vIter = bind2.vars(); // Add any variables from the RHS for ( ; vIter.hasNext() ; ) {
