Skip to content

Commit de99eae

Browse files
[MOD] XQuery, map operator: minor optimization
1 parent b4e7835 commit de99eae

File tree

1 file changed

+7
-9
lines changed

1 file changed

+7
-9
lines changed

basex-core/src/main/java/org/basex/query/expr/DualMap.java

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -75,19 +75,17 @@ public long size() {
7575
public Value value(final QueryContext qc) throws QueryException {
7676
final QueryFocus qf = qc.focus;
7777
final Value qv = qf.value;
78-
try {
79-
final ValueBuilder vb = new ValueBuilder(qc, size());
80-
final Iter iter = exprs[0].iter(qc);
81-
for(Item item; (item = qc.next(iter)) != null;) {
78+
final ValueBuilder vb = new ValueBuilder(qc, size());
79+
final Iter iter = exprs[0].iter(qc);
80+
for(Item item; (item = qc.next(iter)) != null;) {
81+
try {
8282
qf.value = item;
83-
item = exprs[1].item(qc, info);
84-
if(!item.isEmpty()) vb.add(item);
83+
vb.add(exprs[1].item(qc, info));
84+
} finally {
8585
qf.value = qv;
8686
}
87-
return vb.value(this);
88-
} finally {
89-
qf.value = qv;
9087
}
88+
return vb.value(this);
9189
}
9290

9391
@Override

0 commit comments

Comments
 (0)