TAP-1.0 Erratum 3: Database Column Type in VOTable
Author: DAL WG
Date last changed: 2014-12-22
Date accepted: 2017-05-14
Rationale
The
ADQL-2.0 specification does not explicitly talk about types. The
TAP-1.0 specification, using the ADQL-2.0 as the mandatory query language, needed to cover this normative lack to map VOTable datatypes with server side database datatypes. This is the meaning of the table in $2.5 (page 19) of TAP-1.0.
However, this table, especially the last column (
database column type), due to the missing ADQL normative on types, cannot be taken as conformance criteria and needs a better description of its meaning.
Erratum Content
The datatype mapping between VOTable serialization and database objects is delegated to the table at page 19 (§2.5) of the TAP-1.0 specification. Due to the normative lack of ADQL-2.0 with respect to datatypes this mapping cannot be considered a normative part of the TAP recommendation.
This Erratum sanitizes this situation adding the following text before §2.5.1 of TAP-1.0 document:
- Note that the last column of datatype mapping table in this section is not normative. Implementations SHOULD try to make sure that the actual types chosen are at least signature-compatible with the recommended types (i.e., integers should remain integers, floating-point values floating-point values, etc.), such that clients can reliably write queries against uploaded tables.
For columns with
xtype adql:REGION
, this is particularly critical, since databases typically use different types to represent various STC-S objects. Clients are advised to assume that such columns will be approximated with polygons in the actual database table.
Impact Assessment
Erratum changes to TAP-1.0 shouldn't impact server side or client side TAP implementations given that actual mapping usage already should have taken into account the missing normative about types.
Moreover, considering the fact that it is clear that for a predictable behaviour across individual ADQL implementations, ADQL should talk about types, a Type System will be provided within the next revision of the current ADQL specification.
Note
This Erratum was previously part of the TAP1Err1 Note still available on
volute. The content reflects §4 of that Note at svn revision 2800.