Skip to content

Commit af9eea0

Browse files
[MIN] XQuery, map operator (alignments)
1 parent 8fa1edb commit af9eea0

File tree

2 files changed

+8
-9
lines changed

2 files changed

+8
-9
lines changed

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

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -64,19 +64,18 @@ public Item next() throws QueryException {
6464
public Value value(final QueryContext qc) throws QueryException {
6565
final QueryFocus qf = qc.focus;
6666
final Value qv = qf.value;
67-
try {
68-
final ValueBuilder vb = new ValueBuilder(qc, size());
69-
final Iter iter1 = exprs[0].iter(qc);
70-
for(Item item1; (item1 = qc.next(iter1)) != null;) {
71-
qf.value = item1;
67+
final ValueBuilder vb = new ValueBuilder(qc, size());
68+
final Iter iter1 = exprs[0].iter(qc);
69+
for(Item item1; (item1 = qc.next(iter1)) != null;) {
70+
qf.value = item1;
71+
try {
7272
final Iter iter2 = exprs[1].iter(qc);
7373
for(Item item2; (item2 = qc.next(iter2)) != null;) vb.add(item2);
74+
} finally {
7475
qf.value = qv;
7576
}
76-
return vb.value(this);
77-
} finally {
78-
qf.value = qv;
7977
}
78+
return vb.value(this);
8079
}
8180

8281
@Override

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,8 @@ public Value value(final QueryContext qc) throws QueryException {
7878
final ValueBuilder vb = new ValueBuilder(qc, size());
7979
final Iter iter = exprs[0].iter(qc);
8080
for(Item item; (item = qc.next(iter)) != null;) {
81+
qf.value = item;
8182
try {
82-
qf.value = item;
8383
vb.add(exprs[1].item(qc, info));
8484
} finally {
8585
qf.value = qv;

0 commit comments

Comments
 (0)