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

Reply via email to