[Bug 20310] New: [XQ 3.0] Limits

https://www.w3.org/Bugs/Public/show_bug.cgi?id=20310

            Bug ID: 20310
           Summary: [XQ 3.0] Limits
    Classification: Unclassified
           Product: XPath / XQuery / XSLT
           Version: Last Call drafts
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: XQuery 3.0
          Assignee: jonathan.robie@gmail.com
          Reporter: mike@saxonica.com
        QA Contact: public-qt-comments@w3.org

One of the tests in QT3 (cbcl-subsequence-010) does this:

count(subsequence(1 to 3000000000, -2147483648, 2147483647))

Now, I think we would probably agree that we don't require implementations to
support sequences as long as 3,000,000,000 items, and that it's acceptable for
implementations to fail to process this query.

XDM says nothing about limits. I guess we traditionally think of limits (for
some reason I don't fully understand) as a conformance issue, and conformance
issues are (again by tradition) tackled only the XSLT and XQuery
specifications. Fair enough.

XSLT and XQuery both have sections on limits. For some reason the XSLT
specification includes the statement "For sequences, the maximum number of
items in a sequence [is implementation-defined" whereas the XQuery limits
section says nothing on the subject.

Neither specification says anything about what should happen if a limit is
exceeded. There's no error code defined. That makes it difficult to make any
assertion about the outcome of the test cited above. Do we want to impose a
requirement that it either delivers a well-defined answer (the test as written
expects the answer 0) or an error? Or do we want to allow it to return, say,
42?

I think my preference would be to say that "wrong answers" are not an
acceptable outcome when limits are exceeded. This is what we say for integer
arithmetic, for example (or at any rate, we require implementations at least to
provide a mechanism which allows users to select this behaviour). I would like
to say that exceeding the implementation-defined limit on the length of a
sequence results in an error, and I would like to allocate an error code so
that the above test can be given two alternative outcomes: the value zero, or a
defined error code.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.

Received on Saturday, 8 December 2012 17:37:09 UTC