[ 
https://issues.apache.org/jira/browse/FLINK-21572?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jark Wu closed FLINK-21572.
---------------------------
    Resolution: Duplicate

> USE DATABASE & USE CATALOG fails with quoted identifiers containing 
> characters to be escaped in Flink SQL client. 
> ------------------------------------------------------------------------------------------------------------------
>
>                 Key: FLINK-21572
>                 URL: https://issues.apache.org/jira/browse/FLINK-21572
>             Project: Flink
>          Issue Type: Bug
>          Components: Table SQL / Client
>    Affects Versions: 1.12.0, 1.12.1
>            Reporter: Xiaoguang Sun
>            Priority: Minor
>         Attachments: image-2021-03-03-10-38-27-341.png, 
> image-2021-03-03-10-38-59-521.png
>
>
> SQL Client fails when catalog name or database name are quoted and contains 
> characters that must be escaped, for example pulsar-flink connector uses 
> `tenant/namespace` as database name. 
> It was introduced with [PR Flink 
> 18621|https://github.com/apache/flink/pull/12923]. The reason is that sql 
> statements restored from parsed sql operation were not quote even if user 
> actually used it. It can be easily fixed by escaping database name and 
> catalog name before using it. Like these
> {code:java}
> // code java
>  public class SqlUseCatalog extends SqlCall {
>  
> @@ -63,6 +65,6 @@ public class SqlUseCatalog extends SqlCall {
>      }
>  
>      public String catalogName() {
> -        return catalogName.getSimple();
> +        return escapeIdentifier(catalogName.getSimple());
>      }
>  }
> @@ -57,7 +59,9 @@ public class SqlUseDatabase extends SqlCall {
>      }
>  
>      public String[] fullDatabaseName() {
> -        return databaseName.names.toArray(new String[0]);
> +        return databaseName.names.stream()
> +                .map(EncodingUtils::escapeIdentifier)
> +                .toArray(String[]::new);
>      }{code}
> !image-2021-03-03-10-38-59-521.png!



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

Reply via email to