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