You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flink.apache.org by "kunghsu (Jira)" <ji...@apache.org> on 2021/12/31 06:07:00 UTC

[jira] [Created] (FLINK-25493) 日期类型数据为空导致SQL校验失败原因为null

kunghsu created FLINK-25493:
-------------------------------

             Summary: 日期类型数据为空导致SQL校验失败原因为null
                 Key: FLINK-25493
                 URL: https://issues.apache.org/jira/browse/FLINK-25493
             Project: Flink
          Issue Type: Improvement
          Components: Table SQL / API
    Affects Versions: 1.12.3
            Reporter: kunghsu
         Attachments: image-2021-12-31-14-03-47-795.png

日期类型数据为空导致SQL校验失败原因为null

假如数据表中date类型的数值为空,在执行sql query时,会发现异常org.apache.flink.table.api.ValidationException: SQL validation failed. null

然后在cause by下发现了一个空指针异常,如下:

!image-2021-12-31-14-03-47-795.png!

 

深入排查后发现是因为数据表中date类型的数据为NULL,导致了上面的现象。

猜测是SQL执行过程中,遇到null无法处理,没有做好非空判断,导致了空指针。

但问题的关键是,出现这种数据错误,不应该提示 SQL validation failed. null

这种报错提示很容易让人误以为SQL本身有问题,但SQL其实是正确的。

 

建议:

优化这种null数据导致的错误提示,方便定位问题

 



--
This message was sent by Atlassian Jira
(v8.20.1#820001)