A mild syntactical glitch in ADQL

From: Jeff Lusted <jl99-at-star.le.ac.uk>
Date: Wed, 28 May 2008 12:32:02 +0100


Hi Colleagues!

I've a point on the region syntax that I'm sure will come up as a criticism sooner or later. Consider the two queries below...

select *
from cata
where contains( circle( 'ICRS', ra, dec, 0.001 ), pnt ) = 1 ;

select *
from cata
where contains( circle( "ICRS", ra, dec, 0.001 ), pnt ) = 1 ;

Both are syntactically correct, but the latter is unlikely to work unless there is a coord-sys column which happens to be named "ICRS". The user has chosen by mistake to use the escape sequence for identifiers rather than the accepted way of defining a literal!

I think it is acceptable providing clients or parsers do a little more, like checking the existence of columns within a table, which would certainly flag the error before submission.

Regards
Jeff

-- 
Jeff Lusted               tel: +44 (0)116 252 3581
Astrogrid Project         mob: +44 (0)7973 492290
Dept Physics & Astronomy  email: jl99-at-star.le.ac.uk
University of Leicester   web: http://www.astrogrid.org
Received on 2008-05-28Z13:32:20