ADQL-2.0 Erratum 1: Remove Nonterminal Separator

Author: DAL WG

Date last changed: 2018-02-14

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 Note still available on volute. The content makes some small changes with respect to that Note at svn revision 2802.

-- MarkusDemleitner - 2017-10-10

Edit | Attach | Watch | Print version | History: r5 < r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r3 - 2018-02-14 - 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