ADQL-2.1 internal draft

Walter Landry wlandry at caltech.edu
Fri Jun 12 20:42:57 CEST 2015


Marco Molinaro <molinaro at oats.inaf.it> wrote:
> 2015-06-11 0:05 GMT+02:00 Walter Landry <wlandry at caltech.edu>:
>> I am not suggesting removing the 2.0 version with a coordinate system.
>> I am suggesting adding an overload and not having an implicit meaning
>> for an empty string.  That would retain the property of the current
>> proposal that all 2.0 queries are valid in 2.1, but not all 2.1
>> queries are valid in 2.0.
> 
> but while function overload is managed by postgresql, it's not in
> MySQL -e.g.-.

The guy down the hall from me who hacks on MySQL says he does this
exact thing all the time.  This link

  https://dev.mysql.com/doc/refman/5.1/en/udf-arguments.html

makes it seem that the arity of the function can vary.  So I am
confused by what you are saying.  I think overloading is a much better
way to solve this problem.

>>> Pasting here also the other two points you made, i.e. LOWER/UPPER and ILIKE.
>>> Probably there was not full discussion on them.
>>>
>>> LOWER/UPPER Initially they were set as optional for this revision, but
>>> there was also the point made that it would be better to have them
>>> mandatory...and also to have only one of them to help with tables
>>> indexing.
>>> Probably this is something to discuss.
>>
>> If anything we should be normalizing to upper case.  There are some
>> letters that do not round trip properly through lower case.
> 
> <cut>
> 
> it can be true also the other way around (scharfes S, e.g., even if
> unicode has an uppercase letter for it), but again I don't think the
> intent in adding these functions was to support all encodings and
> character sets, it pointed to correctly manage comparison for things
> like UCDs and Utypes.
> That's why ASCII was considered to be enough.

Looking at the Unicode spec, despite the example I gave before with ϱ,
it recommends case folding by lower casing everything.  Weird.  In any
case, if I implemented LOWER(), then implementing UPPER() would be
trivial.  In general, I do not like this idea of restricting the usage
of case-insensitivity functions to UCD's and Utypes.  We should put
them in for general use or not put them in at all.

Cheers,
Walter Landry


More information about the dal mailing list