[
https://issues.apache.org/jira/browse/FLINK-21532?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jark Wu reassigned FLINK-21532:
-------------------------------
Assignee: Lsw_aka_laplace
> Make CatalogTableImpl#toProperties and CatalogTableImpl#fromProperties case
> sensitive
> -------------------------------------------------------------------------------------
>
> Key: FLINK-21532
> URL: https://issues.apache.org/jira/browse/FLINK-21532
> Project: Flink
> Issue Type: Improvement
> Components: Table SQL / API
> Reporter: Lsw_aka_laplace
> Assignee: Lsw_aka_laplace
> Priority: Major
>
> For now, both legacy Table/SQL API and implementation and current Table/SQL
> API and implementation are case sensitive when it comes to the key of table
> properties. Though it is highly recommended to be full of low case, key in
> upper case still works well.
> But the following case upon current code seems a little misleading..
> Given a Ddl sql:
> """
> create table a (f string) with ('K1' = 'xxx')
> """
> The property of corresponding `CatalogTableImpl` is Map(K1->xxx).
> After calling `CatalogTableImpl#toProperties` and then
> `CatalogTableImpl#fromProperties`, there comes a `CatalogTableImpl` with
> properity:Map(k1->xxx). The letter in upper case has been converted into low
> case.
>
> After reading code, the reason seems that the two method mentioned above
> normalize key by default and can not be configured.
>
> As far as I'm concerned, There is an easy way that just `
> DescriptorProperties descriptorProperties = new DescriptorProperties(false)`,
> when means not to normalize key to low case.
>
> While, for the fear that this should break some underlying rules and cause
> some unexpected incompatibility. This part shall be under well discussed.
> What's more, a better alternate way is welcomed~
>
>
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)