TAP-1.0 Erratum 4: The size Column in TAP_SCHEMA.columns

Author: DAL WG

Date last changed: 2014-12-22

Date accepted: 2017-05-14

Rationale

The table TAP_SCHEMA.columns as specified in §2.6.3 of the TAP-1.0 standard has a column named size. This is unfortunate since SIZE is an ADQL-2.0 reserved word (see SQL reserved keywords on §2.1.2 of [[http://www.ivoa.net/documents/cover/ADQL-20081030.html][ADQL-2.0]), and thus must be quoted in queries. This is not stated in the TAP specification.

Erratum Content

SIZE is a SQL-92 reserved keyword adopted as a reserved keyword also in ADQL-2.0. This means that, to be used in an ADQL statement as an identifier (e.g. a column name), it must be put in double quotes to avoid collision with the reserved word meaning.

TAP-1.0 (see §2.6.3 there) specifies that the TAP_SCHEMA.columns table must have a column named size to specify the length of a variable length datatype. This means that that column must be double quoted when used in an ADQL query. However the standard doesn't report this need.

This Erratum fills this omission appending the following paragraph to the end of TAP-1.0 §2.6.3:

To use size in a query, it must be put in double quotes since it collides with an ADQL-2.0 reserved word. Since delimited identifiers are case-sensitive, for the size column both clients and servers MUST always (in particular, in the DDL for TAP_SCHEMA) use lower case exclusively.

Impact Assessment

The normative part of this Erratum does not impact any server or client side implementation of current TAP protocol because it simply states what should in any case happen in real TAP/ADQL usage. If the size column of TAP_SCHEMA.columns were not quoted, a SQL server would raise an error in response (probably a malformed statement exception).

To avoid the reserved keyword collision, in the next major version of TAP, this column will be called arraysize, in next minor revision(s) the name of the column will be kept for back-compatibility reasons.

Note

This Erratum was previously part of the TAP1Err1 Note still available on volute. The content reflects §5 of that Note at svn revision 2800.

Edit | Attach | Watch | Print version | History: r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r3 - 2017-06-06 - MarcoMolinaro
 
This site is powered by the TWiki collaboration platform Powered by Perl This site is powered by the TWiki collaboration platformCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback