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

David Mollitor updated HIVE-23128:
----------------------------------
    Description: 
{code:sql}
show create table `sample_07`;
show create table `default`.`sample_07`;
show create table `default.sample_07`;
{code}
{code:none|title=Results}
CREATE TABLE `sample_07`(...)
CREATE TABLE `default.sample_07`(...)
CREATE TABLE `default.sample_07`(...);
{code}
All three {{show create table}} statements complete in Hive 2.x and 3.x and 
generate {{CREATE TABLE}} statements as show above. The first result is correct 
because it does not include the database name, however, the subsequent two 
results are invalid: each field must be quoted individually.  This causes a 
failure in recent versions of Hive because "SemanticException Table or database 
name may not contain dot(.) character."
{quote}If any components of a multiple-part name require quoting, quote them 
individually rather than quoting the name as a whole. For example, write 
`my-table`.`my-column`, not `my-table.my-column`.
 * [https://dev.mysql.com/doc/refman/8.0/en/identifier-qualifiers.html]{quote}

  was:
{code:sql}
show create table `sample_07`;
show create table `default`.`sample_07`;
show create table `default.sample_07`;
{code}

{code:none|title=Results}
CREATE TABLE `sample_07`(...)
CREATE TABLE `default.sample_07`(...)
CREATE TABLE `default.sample_07`(...);
{code}

All three queries complete in Hive 2.x (not sure about 3.x) but the results are 
consistent in both versions.  The first result is correct because it does not 
include the database name, however, the subsequent two results are invalid: 
each field must be quoted individually.

{quote}
If any components of a multiple-part name require quoting, quote them 
individually rather than quoting the name as a whole. For example, write 
`my-table`.`my-column`, not `my-table.my-column`.
* https://dev.mysql.com/doc/refman/8.0/en/identifier-qualifiers.html
{quote}


> SHOW CREATE TABLE Creates Incorrect Syntax When Database Specified
> ------------------------------------------------------------------
>
>                 Key: HIVE-23128
>                 URL: https://issues.apache.org/jira/browse/HIVE-23128
>             Project: Hive
>          Issue Type: Bug
>    Affects Versions: 2.4.0, 3.1.2
>            Reporter: David Mollitor
>            Assignee: David Mollitor
>            Priority: Major
>         Attachments: HIVE-23128.1.patch
>
>
> {code:sql}
> show create table `sample_07`;
> show create table `default`.`sample_07`;
> show create table `default.sample_07`;
> {code}
> {code:none|title=Results}
> CREATE TABLE `sample_07`(...)
> CREATE TABLE `default.sample_07`(...)
> CREATE TABLE `default.sample_07`(...);
> {code}
> All three {{show create table}} statements complete in Hive 2.x and 3.x and 
> generate {{CREATE TABLE}} statements as show above. The first result is 
> correct because it does not include the database name, however, the 
> subsequent two results are invalid: each field must be quoted individually.  
> This causes a failure in recent versions of Hive because "SemanticException 
> Table or database name may not contain dot(.) character."
> {quote}If any components of a multiple-part name require quoting, quote them 
> individually rather than quoting the name as a whole. For example, write 
> `my-table`.`my-column`, not `my-table.my-column`.
>  * [https://dev.mysql.com/doc/refman/8.0/en/identifier-qualifiers.html]{quote}



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

Reply via email to