[
https://issues.apache.org/jira/browse/BEAM-8888?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17341084#comment-17341084
]
Andrew Pilloud commented on BEAM-8888:
--------------------------------------
Yes, a bunch of things. For starters we have to map types into the Calcite type
system (SqlTypeName) which is an Enum. Each type needs a codegen implementation
for basic operations (project, cast) and then presumably you'd want to do other
things (transforms on the type). We could map the base type into SQL, but I
don't think that is what our users actually want.
We do have a list of supported types, but it looks like it is missing some of
the new ones: https://beam.apache.org/documentation/dsls/sql/calcite/data-types/
> BeamSQL does not support LogicalType
> ------------------------------------
>
> Key: BEAM-8888
> URL: https://issues.apache.org/jira/browse/BEAM-8888
> Project: Beam
> Issue Type: Improvement
> Components: dsl-sql
> Reporter: Julien Tournay
> Assignee: Robin Qiu
> Priority: P3
> Fix For: 2.22.0
>
> Time Spent: 20m
> Remaining Estimate: 0h
>
> When running a BeamSQL query in a row with a Schema that contains a logical
> type a NPE is thrown with the following cause:
> {{}}{{ Cause: java.lang.NullPointerException:}}
> {{[info] at
> org.apache.beam.repackaged.sql.org.apache.calcite.sql.type.SqlTypeFactoryImpl.createSqlType(SqlTypeFactoryImpl.java:45)}}
> {{[info] at
> org.apache.beam.sdk.extensions.sql.impl.utils.CalciteUtils.toRelDataType(CalciteUtils.java:278)}}
> {{[info] at
> org.apache.beam.sdk.extensions.sql.impl.utils.CalciteUtils.toRelDataType(CalciteUtils.java:285)}}
> {{[info] at
> org.apache.beam.sdk.extensions.sql.impl.utils.CalciteUtils.lambda$toCalciteRowType$0(CalciteUtils.java:260)}}
> {{[info] at
> java.util.stream.Streams$RangeIntSpliterator.forEachRemaining(Streams.java:110)}}
>
> This is because {{CalciteUtils.toSqlTypeName}} returns null in the general
> case if the type is Logical.
>
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)