summaryrefslogtreecommitdiffstats
path: root/document/src/main/java/com/yahoo/document/fieldpathupdate/FieldPathUpdate.java
diff options
context:
space:
mode:
Diffstat (limited to 'document/src/main/java/com/yahoo/document/fieldpathupdate/FieldPathUpdate.java')
-rw-r--r--document/src/main/java/com/yahoo/document/fieldpathupdate/FieldPathUpdate.java6
1 files changed, 4 insertions, 2 deletions
diff --git a/document/src/main/java/com/yahoo/document/fieldpathupdate/FieldPathUpdate.java b/document/src/main/java/com/yahoo/document/fieldpathupdate/FieldPathUpdate.java
index 82dea23bb85..29c876b85fe 100644
--- a/document/src/main/java/com/yahoo/document/fieldpathupdate/FieldPathUpdate.java
+++ b/document/src/main/java/com/yahoo/document/fieldpathupdate/FieldPathUpdate.java
@@ -12,6 +12,7 @@ import com.yahoo.document.select.ResultList;
import com.yahoo.document.select.parser.ParseException;
import com.yahoo.document.serialization.DocumentUpdateReader;
import com.yahoo.document.serialization.VespaDocumentSerializerHead;
+import java.util.ListIterator;
/**
* @author Thomas Gundersen
@@ -115,8 +116,9 @@ public abstract class FieldPathUpdate {
doc.iterateNested(fieldPath, 0, handler);
} else {
ResultList results = selector.getMatchingResultList(new DocumentPut(doc));
-
- for (ResultList.ResultPair rp : results.getResults()) {
+ ListIterator<ResultList.ResultPair> resultIter = results.getResults().listIterator(results.getResults().size());
+ while (resultIter.hasPrevious()) {
+ ResultList.ResultPair rp = resultIter.previous();
if (rp.getResult() == Result.TRUE) {
FieldPathIteratorHandler handler = getIteratorHandler(doc);
handler.getVariables().clear();