- From: Babich, Alan <ABabich@filenet.com>
- Date: Thu, 9 Jan 2003 10:12:55 -0800
- To: "Julian Reschke" <julian.reschke@gmx.de>, <www-webdav-dasl@w3.org>
(1) Amelia is completely correct. (2) We MUST specify a definite ordering for nulls in the collation sequence if we ever hope to extend DASL in the future to cross-repository queries that do ordering. (Trust me, customers really want that.) Despite the fact that the SQL spec. caved in to one or more vendors who didn't want to change their implementation of where nulls sort, there is only one logical choice as to where null values sort -- before all non-null values. That is because shorter strings always collate before longer strings, and zero length strings are the shortest strings of all. That is the way the DASL spec. is written. (3) The only imperfection in the spec is that, as Amelia says, the reason is inaccurate. So, to correct the imperfection, you might say something like the following: "Nulls sort low, i.e., before all non null values. That is compatible with the SQL92 and SQL99 specs., and it is essential for a future extension for cross-repository searching." Or, you could just say "That is compatible with the SQL92 and SQL99 specs." for the reason. Alan Babich 714-327-3403 -----Original Message----- From: Julian Reschke [mailto:julian.reschke@gmx.de] Sent: Thursday, January 09, 2003 8:40 AM To: www-webdav-dasl@w3.org Subject: Issue null-ordering A long time ago, Amelia Carlson wrote: In the WebDAV SEARCH spec (5.6, DAV:orderby), it says that nulls sort low, to match SQL92. However, SQL92 and SQL99 both say "Whether a sort key value that is null is considered greater or less than a non-null value is implementation-defined, but all sort key values that are null shall either be considered greater than all non-null values or be considered less than all non-null values." (words taken from SQL99, 14.1 <declare cursor> General Rule 2)c), in reference to null handling for the <order by clause>. ) I would note that in 5.5.3 WebDAV SEARCH says nulls are less than all other values in a comparison, so the DAV:orderby matches that statement, it just gives an inaccurate reason. Seems to me that if SQL databases are free to decide where to sort NULL values (as long as they are consistent), we probably need to be just as flexible in DASL (otherwise we can't directly map to a SQL query). Feedback appreciated, Julian <http://greenbytes.de/tech/webdav/draft-reschke-webdav-search-latest.htm l#rf c.issue.null-ordering> -- <green/>bytes GmbH -- http://www.greenbytes.de -- tel:+492512807760
Received on Thursday, 9 January 2003 13:13:28 UTC