RE: Issue null-ordering

(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