ADQL-2.0 Erratum 1: Remove Nonterminal SeparatorAuthor: DAL WG Date last changed: 2017-05-26RationaleThe BNF grammar for the ADQL-2.0 language is listed in Appendix A of the recommendation. In this grammar aseparator rule is present, with the following definition:
<separator> ::= { <comment> | <space> | <newline> }... | ||||||||
Added: | ||||||||
> > | ||||||||
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> }... ] | ||||||||
Deleted: | ||||||||
< < | 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 , the second seems more attractive and has been considered suitable for a simple erratum to the current recommendation. | |||||||
Added: | ||||||||
> > | 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 , the second seems more attractive and has been considered suitable for a simple erratum to the current recommendation. | |||||||
Erratum ContentThe definition for the nonterminalseparator in the ADQL-2.0 specification is not clear. It suggests, with its only reference in the character_string_literal that any ADQL language token may be followed by a separator and that nondelimiter tokens shall be followed by a delimiter token or a separator. The intention, however, was probably to let white-space and comments occur wherever they are allowed in SQL-92.
This Erratum updates the ADQL-2.0 recommendation removing the separator token rule from the ADQL grammar in its Appendix A. This, consequently, modifies the rule for character_string_literal to
<character_string_literal> ::= <quote> [ <character_representation>... ] <quote> | ||||||||
Added: | ||||||||
> > | ||||||||
omitting the final
[ { <separator>... <quote> [ <character_representation>... ] <quote> }... ] | ||||||||
Added: | ||||||||
> > | ||||||||
These changes won't affect in any other way the ADQL grammar.
Impact AssessmentThe 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.NoteThis 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. | ||||||||
Added: | ||||||||
> > |
DiscussionProposal for an alternative Erratum contentIn 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>.-- MarkusDemleitner - 2017-10-10 | |||||||
<--
|
ADQL-2.0 Erratum 1: Remove Nonterminal SeparatorAuthor: DAL WG Date last changed: 2017-05-26RationaleThe BNF grammar for the ADQL-2.0 language is listed in Appendix A of the recommendation. In this grammar aseparator 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 , the second seems more attractive and has been considered suitable for a simple erratum to the current recommendation.
Erratum ContentThe definition for the nonterminalseparator in the ADQL-2.0 specification is not clear. It suggests, with its only reference in the character_string_literal that any ADQL language token may be followed by a separator and that nondelimiter tokens shall be followed by a delimiter token or a separator. The intention, however, was probably to let white-space and comments occur wherever they are allowed in SQL-92.
This Erratum updates the ADQL-2.0 recommendation removing the separator token rule from the ADQL grammar in its Appendix A. This, consequently, modifies the rule for character_string_literal to
<character_string_literal> ::= <quote> [ <character_representation>... ] <quote>omitting the final [ { <separator>... <quote> [ <character_representation>... ] <quote> }... ]These changes won't affect in any other way the ADQL grammar. Impact AssessmentThe 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.NoteThis 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.<--
|