[
https://issues.apache.org/jira/browse/FLINK-11785?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Timo Walther closed FLINK-11785.
--------------------------------
Resolution: Fixed
Fix Version/s: 1.8.0
Release Note: Null literals in the Table API need to be defined with
`nullOf(type)` instead of `Null(type)` from now on. The old approach is
deprecated.
Fixed in 1.8.0: 76838678b8f4f81b187a4449bfde05d45c4fdddb
Fixed in 1.9.0: dd68edd8e6519013d2ab3bd2d4d815f1997ac0fe
> Replace case class Null(type) in Table API
> ------------------------------------------
>
> Key: FLINK-11785
> URL: https://issues.apache.org/jira/browse/FLINK-11785
> Project: Flink
> Issue Type: Improvement
> Components: API / Table SQL
> Reporter: Timo Walther
> Assignee: Timo Walther
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.8.0
>
> Time Spent: 20m
> Remaining Estimate: 0h
>
> FLINK-11449 has shown parts of the API that have not been designed properly.
> Especially, direct usages of case classes that will be only in the planner
> module should not be exposed through the API.
> Using {{null}} for representing a null literal is currently not supported in
> the Table API as a general {{NULL}} type and/or proper type inference is
> missing. Therefore, nulls must be typed using {{Null(Type.STRING)}}. However,
> this encourages users to use case classes instead of the Scala DSL.
> We could implement a implicit object for {{Null}}, however, all functions and
> literals currently start with a lower case except for this object. I would
> recommend to introduce {{nullOf(type)}} instead. This would allow us to have
> {{nullOf(type)}} and {{null}} in the future.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)