[
https://issues.apache.org/jira/browse/CALCITE-7293?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
ASF GitHub Bot updated CALCITE-7293:
------------------------------------
Labels: pull-request-available (was: )
> MAP constructor cannot handle VARIANT values that need casts
> ------------------------------------------------------------
>
> Key: CALCITE-7293
> URL: https://issues.apache.org/jira/browse/CALCITE-7293
> Project: Calcite
> Issue Type: Bug
> Components: core
> Affects Versions: 1.41.0
> Reporter: Mihai Budiu
> Assignee: Mihai Budiu
> Priority: Minor
> Labels: pull-request-available
> Fix For: 1.42.0
>
>
> The following test as a SqlValidatorTest fails with an exception:
> {code:java}
> expr("MAP['a', CAST('x' AS VARIANT), 'b', CAST(NULL AS VARIANT)]")
> .columnType("(CHAR(1) NOT NULL, VARIANT) MAP NOT NULL");
> {code}
> Exception:
> {code}
> java.lang.UnsupportedOperationException: Unsupported type when
> convertTypeToSpec: VARIANT
> at
> org.apache.calcite.sql.type.SqlTypeUtil.convertTypeToSpec(SqlTypeUtil.java:1368)
> at
> org.apache.calcite.sql.type.SqlTypeUtil.convertTypeToSpec(SqlTypeUtil.java:1391)
> at
> org.apache.calcite.sql.validate.SqlValidatorUtil.castTo(SqlValidatorUtil.java:1487)
> at
> org.apache.calcite.sql.validate.SqlValidatorUtil.adjustTypeForMultisetConstructor(SqlValidatorUtil.java:1468)
> at
> org.apache.calcite.sql.validate.SqlValidatorUtil.adjustTypeForMapConstructor(SqlValidatorUtil.java:1430)
> at
> org.apache.calcite.sql.fun.SqlMapValueConstructor.inferReturnType(SqlMapValueConstructor.java:56)
> at
> org.apache.calcite.sql.SqlOperator.validateOperands(SqlOperator.java:531)
> at org.apache.calcite.sql.SqlOperator.deriveType(SqlOperator.java:631)
> {code}
> The fix should be easy: add VARIANT to the list of "atomic" types.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)