TAPNotes & Mistake in ADQL grammar ?

Grégory Mantelet gmantele at ari.uni-heidelberg.de
Wed Oct 1 18:47:25 CEST 2014


Hello,

By looking the section "2.2.5 Set Operators" of "TAP Implementations 
Notes", I have discovered two possible mistakes in the ADQL grammar.

     1/ In section 2.2.5 of TAPNotes, the given grammar contains an item 
called "<query primary>" which is referenced nowhere in the given new 
rules and in the current ADQL grammar. I would say it is a copy-paste 
error, because the content of this rule is exactly the same as the new 
"<query_expression>". So, let's say it is a very minor mistake :-)

     2/ However, while looking a such rule in the current grammar (ADQL 
2.0 standard document), I discovered that it was valid, according to the 
given BNF, to have a query limited to a table name or a table join. 
Indeed, it is possible due to the following rules:

  <query_expression> ::=  <query_specification>
                                          | <joined_table>

So, a query can be either a "SELECT .... FROM ..." or just a table name 
(or a join between 2 tables), according to the following rules:

  <joined_table> ::= <qualified_join>
                                 | <left_paren> <joined_table> <right_paren>

  <qualified_join> ::= <table_reference> [ NATURAL ] [ <join_type> ] JOIN
                                   <table_reference> [ 
<join_specification> ]

Now, it is possible that it is not a mistake and it is actually 
intentionnal. However, considering the fact that all TAP implementations 
I have tested do not allow a such possibility, I would suppose that it 
is a mistake in the grammar, that TAP implementors have intuitively 
corrected.

Am I wrong? And if not, should not it be also a point that should be 
fixed in the next modification of the ADQL grammar?

Regards,
Grégory


More information about the dal mailing list