PR-TAP-1.1 - Some comments
Mark Taylor
m.b.taylor at bristol.ac.uk
Fri Sep 8 12:42:49 CEST 2017
On Fri, 8 Sep 2017, Markus Demleitner wrote:
> Dear DAL,
>
> I'd like to chime in on two of the issues raised by Gregory:
>
> On Thu, Sep 07, 2017 at 11:36:20AM +0200, Grégory Mantelet wrote:
> > - Section 4.2-Tables:
> > 1. The column 'table_index' is declared with the datatype 'int' and
> > the
> > arraysize '1'.
> > => Does it mean that it is an array of only one item?
> > I don't think so. Then, would not it better if arraysize
> > stays
> > 'null'?
>
> I suppose that's more of a VOTable thing, but I think it would be
> great if we could clearly state somewhere that
>
> datatype="X" arraysize="1"
>
> is not (or is?) the same as
>
> datatype="X"
>
> There are services out there that attach arraysize="1" to any scalar,
> which of course leads to interoperability problems. TAP should then
> just say "do it like VOTable does it".
I always thought that in VOTable (following FITS practice),
setting the arraysize attribute to "1" has an identical meaning
to omitting it, i.e. that VOTable makes no distinction between
a scalar and a single-element array. However now that I look
I can't find that confirmed (or denied) in the VOTable specification.
But in any case, the intention of listing arraysize values of 1
in the tables in section 4 is presumably just to indicate
that these are scalar values.
But as I commented in my email discussing TAP-1.1-20170707-WD
(http://mail.ivoa.net/pipermail/dal/2017-July/007769.html):
On Wed, 19 Jul 2017, Mark Taylor wrote:
> In general I think all of the TAP_SCHEMA table columns
> defined in sections 4.1-4.4 should be described using the
> generic terms either "integer" or "string" (or "character array").
> Mandating VOTable datatype and arraysize attributes looks
> to me like introducing more problems than it solves.
I think that listing the VOTable-specific attributes datatype,
arraysize and xtype in these tables is unnecessarily confusing.
What's being discussed here is not the serialization but the
content of the database, which is not intrinsically based on
VOTable syntax, and for which TAP 1.1 does not specify a
type system.
So instead of
column name datatype arraysize xtype not-null
----------- -------- --------- ----- --------
table_name char * null true
...
table_index int 1 null false
along with a paragraph in the sec 4 introduction explaining
that char doesn't necessarily mean char, * doesn't necessarily
mean *, and int doesn't necessarily mean int ("The arraysize
values specified ... consistent with the recommended types")
why not just write
column name type not-null
----------- ---- --------
table_name string true
...
table_index integer false
? The only datatype/arraysize/xtype combinations that appear
in these tables are char/*/null and int/1/null, so the
additional detail in the current text is not providing much value.
Mark
--
Mark Taylor Astronomical Programmer Physics, Bristol University, UK
m.b.taylor at bris.ac.uk +44-117-9288776 http://www.star.bris.ac.uk/~mbt/
More information about the dal
mailing list