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