Project

Profile

Help

Bug #3313

closed

Streaming for-each-group with test="not(current-group()[2])"

Added by Michael Kay about 7 years ago. Updated about 7 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Streaming
Sprint/Milestone:
-
Start date:
2017-06-26
Due date:
% Done:

100%

Estimated time:
Legacy ID:
Applies to branch:
9.8
Fix Committed on Branch:
9.8
Fixed in Maintenance Release:
Platforms:

Description

See https://saxonica.plan.io/boards/3/topics/6833?pn=1

Test case si-group-057 created.

Currently failing with:

@Error on line 4 column 16 of si-group-057.xml:

No watch found for current-group()[2]@

Actions #1

Updated by Michael Kay about 7 years ago

Completely empirically, if we remove the test

&& !forGrouping

at TransmissionAdjunct#33

then the test works (all varieties). Moreover, the change seems to have no adverse effects.

I've no idea what the purpose of this condition is or was.

Actions #2

Updated by Michael Kay about 7 years ago

  • Status changed from New to Resolved
  • Applies to branch 9.8 added
  • Fix Committed on Branch 9.8 added

The actual condition is

posture.isIncremental() && !forGrouping

and I have established that there are no other tests where posture.isIncremental() is true and forGrouping is also true, so the change seems safe enough. But why the condition was there in the first place eludes me. The code was present in 9.6, and streamed grouping has come on a long way since then, so I think it's just a left-over that's no longer appropriate.

I tried making the same change on 9.7 and it doesn't help us pass more tests, so I won't attempt it there.

Actions #3

Updated by O'Neil Delpratt about 7 years ago

  • % Done changed from 0 to 100
  • Fixed in Maintenance Release 9.8.0.3 added

Bug fix applied in the Saxon 9.8.0.3 maintenance release.

Actions #4

Updated by O'Neil Delpratt about 7 years ago

  • Status changed from Resolved to Closed

Please register to edit this issue

Also available in: Atom PDF