Herman : Thanks for the explanation. That makes sense. Logged a jira :
https://issues.apache.org/jira/browse/SPARK-17741
Reynold : I am not affected by this but it felt odd while I was reading the
code.

Thanks,
Tejas

On Thu, Sep 29, 2016 at 7:24 PM, Reynold Xin <r...@databricks.com> wrote:

> Is there any harm in supporting it? Mostly curious whether we really need
> to "fix" this.
>
>
>
> On Thu, Sep 29, 2016 at 7:22 PM, Herman van Hövell tot Westerflier <
> hvanhov...@databricks.com> wrote:
>
>> Tejas,
>>
>> This is because we use the same rule to parse top level and nested data
>> fields. For example:
>>
>> create table tbl_x(
>>   id bigint,
>>   nested struct<col1:string,col2:string>
>> )
>>
>> Shows both syntaxes. We should split this rule in a top-level and nested
>> rule.
>>
>> Could you open a ticket?
>>
>> Thanks,
>> Herman
>>
>>
>>
>> On Thu, Sep 29, 2016 at 6:54 PM, Tejas Patil <tejas.patil...@gmail.com>
>> wrote:
>>
>>> Is there any reason why Spark SQL supports "<column name>" ":" "<data
>>> type>" while specifying columns ? eg. sql("CREATE TABLE t1 (column1:INT)")
>>> works fine.
>>>
>>> Here is relevant snippet in the grammar [0]:
>>>
>>> ```
>>> colType
>>>     : identifier ':'? dataType (COMMENT STRING)?
>>>     ;
>>> ```
>>>
>>> I do not see MySQL[1], Hive[2], Presto[3] and PostgreSQL [4] supporting
>>> ":" while specifying columns. They all use space as a delimiter.
>>>
>>> [0] : https://github.com/apache/spark/blob/master/sql/catalyst/src
>>> /main/antlr4/org/apache/spark/sql/catalyst/parser/SqlBase.g4#L596
>>> [1] : http://dev.mysql.com/doc/refman/5.7/en/create-table.html
>>> [2] : https://cwiki.apache.org/confluence/display/Hive/LanguageMan
>>> ual+DDL#LanguageManualDDL-CreateTable
>>> [3] : https://prestodb.io/docs/current/sql/create-table.html
>>> [4] : https://www.postgresql.org/docs/9.1/static/sql-createtable.html
>>>
>>> Thanks,
>>> Tejas
>>>
>>>
>>
>

Reply via email to