gmantele / vollt

Java libraries implementing the IVOA protocol: ADQL, UWS and TAP
http://cdsportal.u-strasbg.fr/taptuto/
29 stars 28 forks source link

ADQL Parser failing on s_region declared as per TAP1.1 (via xtype) #125

Open almicol opened 3 years ago

almicol commented 3 years ago

According to TAP1.1, I set the ivoa.ObsCore s_region field in TAP_SCHEMA.columns as follows:

When querying with a constraint like: INTERSECTS(s_region,...)=1 , the ADQL Parser returns the error: Type mismatch! A geometry was expected instead of "s_region"

Also, when using a UDF with 2 region arguments (ESO_INTERSECTION(region1, region2)), an error is raised because the parser expects ESO_INTERSECTION(string, string).

Am I doing something wrong?

Thanks!

gmantele commented 3 years ago

Currently, TAPLib is not fully TAP-1.1 compliant. You should still consider it as TAP-1.0. Doing that, your s_region column should be defined in TAP_SCHEMA.columns as follows:

You can still keep the column xtype. It is not yet supported, but later TAPLib will ; then, it will be useful.

When finishing the TAP-1.1 implementation I will try to be smart enough to support as much as I can both specifications (i.e. both TAP-1.0 and TAP-1.1 styles).

I know it is not ideal. This datatype change in TAP-1.1 is one of the reason why I spend more time implementing TAP-1.1 in TAPLib. Currently, I am finishing the ADQL-2.1 implementation. Then I'll focus much more on a full TAP-1.1 implementation.