ADQL-2.0 Erratum 1: White space clarification
Author: Dave Morris
Date last changed: 2018-02-23
Date accepted: 2018-02-22
Rationale
The BNF grammar for the
ADQL-2.0 language is listed in Appendix A of the recommendation. In this grammar a
separator
rule is present, with the following definition:
<separator> ::= { <comment> | <space> | <newline> }...
However this nonterminal token is only referenced in the rule for the
character_string_literal
, i.e.
<character_string_literal> ::=
<quote> [ <character_representation>... ] <quote>
[ { <separator>... <quote>
[ <character_representation>... ] <quote> }... ]
It is uncontroversial that the intent is to allow comments and white-space wherever SQL-92 allows them. The ADQL standard however says differently, and there should be a clarification. Between two alternatives, adding a clarifying subsection to the ADQL-2.0 standard or removing the
separator
.
Erratum Content
In section 2 of the
ADQL 2.0 Recommendation, add a section 2.1.4 with the following content:
1.1.4 Whitespace and Comments
The rules on where whitespace is allowed and required are as in SQL92;
essentially, any <token> may be followed by a <separator>.
Impact Assessment
The change introduced by this erratum has no other impact on the current
ADQL grammar and language apart from what already described in the previous sections of this note. Current implementations and parsers of
ADQL query strings shouldn't be affected at all by this change. Moreover, current BNF grammar in ADQL-2.0 needs changes to be machine readable and validated and one of the issues in BNF is exactly how to deal with optional or required white spaces.
Note
This Erratum was previously part of the
ADQL2Err1 Errata Note (PDF former version).
Erratum approved on 2018-02-22 by TCG, but last changes made as action deriving from that TCG tconf: removing unstable SVN reference and added formal author. --
MarcoMolinaro - 2018-02-23