diff --git a/lucene/expressions/src/java/org/apache/lucene/expressions/ExpressionFunctionValues.java b/lucene/expressions/src/java/org/apache/lucene/expressions/ExpressionFunctionValues.java index 3b369afa0f0..01d2a6526bb 100644 --- a/lucene/expressions/src/java/org/apache/lucene/expressions/ExpressionFunctionValues.java +++ b/lucene/expressions/src/java/org/apache/lucene/expressions/ExpressionFunctionValues.java @@ -39,21 +39,21 @@ class ExpressionFunctionValues extends DoubleValues { } @Override - public boolean advanceExact(int doc) throws IOException { + public boolean advanceExact(int doc) { if (currentDoc == doc) { return true; } - for (DoubleValues v : functionValues) { - v.advanceExact(doc); - } currentDoc = doc; computed = false; return true; } @Override - public double doubleValue() { + public double doubleValue() throws IOException { if (computed == false) { + for (DoubleValues v : functionValues) { + v.advanceExact(currentDoc); + } currentValue = expression.evaluate(functionValues); computed = true; }