- From: Dimitre Novatchev <dnovatchev@yahoo.com>
- Date: Mon, 23 Jun 2003 21:25:47 -0700 (PDT)
- To: Michael Rys <mrys@microsoft.com>, public-qt-comments@w3.org
--- Michael Rys <mrys@microsoft.com> wrote: > Being able to have fn:distinct-values return the values > implementation-dependent provides for better performance for this often > performance critical operation. Thus I would be strongly against > mandating an order. Right now, because of ensuring this possibility for better performance, it has become problematic to provide a correct example what this function really returns. The example in the document says: "fn:distinct-values(1, 2.0, 3, 2) returns (1, 3, 2.0)" Actually: fn:distinct-values(1, 2.0, 3, 2) *might return* (1, 3, 2.0) At least this needs to be corrected in the document. Your reply does not mention the issue with the example. > > If you need to preserve order you have the following options: > > - Write your own function that does so > - Lobby your favorite vendor to provide the functionality > - Lobby for the next version of XQuery/XPath to provide this > functionality. > > In order to do any of the last two, you would need to provide some > compelling use cases. I have an use case ready: The sequence is a sequence of random numbers. I want to get rid of the duplicates, but otherwise preserve the order. This is essential, because a random sequence: "3 1 5 2 4 9 6 5 8 10 7" transformed always to: "1 2 3 4 5 6 7 8 9 10" is really useless. Best regards, Dimitre Novatchev. > > Best regards > Michael > > > -----Original Message----- > > From: public-qt-comments-request@w3.org [mailto:public-qt-comments- > > request@w3.org] On Behalf Of Dimitre Novatchev > > Sent: Monday, June 23, 2003 10:59 AM > > To: public-qt-comments@w3.org > > Subject: DN-FO-09: 15.1.11 fn:distinct-values > > > > > > DN-FO-09: 15.1.11 fn:distinct-values > > > > There are two issues with this function: > > > > 1. This function is of little use because "The order of the values > > returned > > is implementation dependent". > > The programmer will not be able to find the answer to the following > two > > questions: > > > > * Which values and in what order are exactly returned? > > * What should we do if we need to preserve order in the result? > > > > > > 2. The example is wrong: > > "fn:distinct-values(1, 2.0, 3, 2) returns (1, 3, 2.0)" > > Actually: > > fn:distinct-values(1, 2.0, 3, 2) might return (1, 3, 2.0) > > > > because the order in which the values are returned is > implementation > > dependent. > > > > Suggested solution: > > Change the semantics of the function to return each first in > > sequence order > > distinct value. > > > > Dimitre Novatchev. > > > __________________________________ Do you Yahoo!? SBC Yahoo! DSL - Now only $29.95 per month! http://sbc.yahoo.com
Received on Tuesday, 24 June 2003 00:25:53 UTC