[ 
https://issues.apache.org/jira/browse/CALCITE-5624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17707479#comment-17707479
 ] 

Guillaume Massé commented on CALCITE-5624:
------------------------------------------

Thanks for your feedback, I will make the corrections.

 

1) Description of the problem:

I updated the description regarding the problem. It's indeed a valid Spark 
query, but not valid in Calcite's parser.

 

2) Drill a hole:

Regarding the implementation strategy + tests, It looks like `SqlConformance` 
is the right place to implement this. I will add `isArrayConstructorAllowed` 
and `isMapConstructorAllowed` (for 
https://issues.apache.org/jira/browse/CALCITE-5628) and set them accordingly. 
This will allow me to add tests.

> Cannot parse array function for Spark Dialect
> ---------------------------------------------
>
>                 Key: CALCITE-5624
>                 URL: https://issues.apache.org/jira/browse/CALCITE-5624
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 1.34.0
>            Reporter: Guillaume Massé
>            Priority: Minor
>              Labels: pull-request-available
>          Time Spent: 50m
>  Remaining Estimate: 0h
>
> The following query is valid in Apache Spark.
> {code:java}
> spark-shell
> scala> spark.sql("""select array(1, 2, 3)""")
> res1: org.apache.spark.sql.DataFrame = [array(1, 2, 3): array<int>]{code}
> However, it would fail to parse in Apache Calcite
>  
> AtomicRowExpression should not have ArrayConstructor for Apache Spark. Arrays 
> are constructed by calling the array function 
> ([https://spark.apache.org/docs/latest/api/sql/index.html#array]).
>  
> {code:java}
> array()
> array(1)
> array(1, 2, 3){code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to