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