[
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)