At 09:48 PM 3/1/2005 +0000, Dr Robert Sanderson wrote:
>>>* matches zero or more characters.
>>>For any field, "*" will match anything, no matter your internal
>>>representation of the date.
>
>>Consider a server that does not support truncation at all. It _will_
>>have to do a special case in order to full this "new" requirement. But
>>it will reject all other terms with * in it. That's not elegant.
>
>As opposed to a relation modifier, which may or may not be supported, with
>special cases for the index, relation and value, which is somehow more
>elegant than a not-very-special case for a term only? I beg to differ :)
I think the kind of 'operator overload' which is implied in the use of '*'
is an inherently bad idea. Much better to be explicit about what it is we
want, and to get 'matches everything' on the table as a clear, pronounced
requirement which is visible in the language. Why? Because CQL is already a
complex language, and implementors are humans, and humans are likely to
make any mistake or take any dumb shortcut you leave open to them in order
to reach deadlines. I think buggy implementations of CQL are going to be
one of the biggest threats to interoperability (once we get our SOAP
toolkits straightened out, or drop SRW :-), and the easier and more clear
we can make it, the better.
--Sebastian
--
Sebastian Hammer, Index Data <http://www.indexdata.dk/>
Ph: +45 3341 0100, Fax: +45 3341 0101
|