[ 
https://issues.apache.org/jira/browse/FLINK-24413?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17427681#comment-17427681
 ] 

Timo Walther commented on FLINK-24413:
--------------------------------------

I'm fine with being strict. Everything else is rather confusing for users.

My fear is mostly that we commit to something that we cannot fulfill. For CAST 
we could, but at other locations (e.g. {{DataStructureConverter}}) we let 
strings in without checking their length. And for other functions such as the 
recently added JSON_OBJECT even Calcite returns VARCHAR(2000) which is clearly 
wrong.

> Casting to a CHAR() and VARCHAR() doesn't trim the string to the specified 
> precision
> ------------------------------------------------------------------------------------
>
>                 Key: FLINK-24413
>                 URL: https://issues.apache.org/jira/browse/FLINK-24413
>             Project: Flink
>          Issue Type: Sub-task
>          Components: Table SQL / API
>            Reporter: Marios Trivyzas
>            Priority: Major
>
> *CAST**('abcdfe' AS CHAR(3))* should trim the string to 3 chars but currently 
> returns the whole string *'abcdfe'*.
>  
> PostgreSQL and Oracle for example behave as such:
> postgres=# select '123456afas'::char(4);
>  bpchar 
>  --------
>  1234
>  (1 row)
> postgres=# select '123456afas'::varchar(5);
>  varchar 
>  ---------
>  12345
>  (1 row)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to