Project

Profile

Help

Bug #3943

closed

fn:innermost() optimization not working

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

Status:
Closed
Priority:
Normal
Assignee:
Category:
Performance
Sprint/Milestone:
-
Start date:
2018-10-03
Due date:
% Done:

100%

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

Description

The implementation of the fn:innermost function is designed to avoid sorting the argument sequence into document order if it's statically known to be already sorted. However (in 9.8 and 9.9) this optimization isn't working: the "presorted" flag is never set (except when loading from a SEF on which it is already set), and the sort into document order always takes place.


Related issues

Related to SaxonJS - Bug #3944: fn:innermost() expects input sequence to be in document orderClosedDebbie Lockett2018-10-03

Actions
Actions #1

Updated by Michael Kay about 6 years ago

  • Status changed from New to Resolved
  • Fix Committed on Branch 9.8, 9.9 added

Fixed on 9.8 and 9.9 by adding method Innermost#makeOptimizedFunctionCall()

Also added the logic that innermost() is a no-op if the argument is a peer node-set, e.g. innermost(child::node()).

Actions #2

Updated by Debbie Lockett about 6 years ago

  • Related to Bug #3944: fn:innermost() expects input sequence to be in document order added
Actions #3

Updated by O'Neil Delpratt about 6 years ago

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

Bug fix applied in the Saxon 9.8.0.15 maintenance release. Leave open to the Saxon 9.9 maintenance release.

Actions #4

Updated by O'Neil Delpratt about 6 years ago

  • Status changed from Resolved to Closed
  • Fixed in Maintenance Release 9.9.0.2 added

Bug fix applied in the Saxon 9.9.0.2 maintenance release.

Please register to edit this issue

Also available in: Atom PDF