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

Paramvir Singh updated HIVE-29059:
----------------------------------
    Description: 
Repro scenario
1. Create an external table and insert some data into it

{code:java}
create external table if not exists mytable
(MY_COL1 string, MY_COL2 string, MY_COL3 string)
row format delimited
fields terminated by ',';

INSERT INTO TABLE mytable VALUES
  ('5', '5', '5'),
  ('6', '6', '6');
{code}

2. Use a hql file to create a view, e.g.

{code:java}
cat h.sql
create view mytable_v as select * from mytable where my_col1    = 1; --> Note 
here after my_col there is a tab character (not space character)

beeline -u "jdbc:hive2://$(hostname -f):10000/default" -n hadoop -f h.sql

{code}

3. Run SHOW CREATE VIEW. Everything after the tab character is ignored
{code:java}
0: jdbc:hive2://ip-172-31-45-90.us-west-2.com> show create table mytable_v; 
INFO  : Compiling 
command(queryId=hive_20250702091216_491b1456-84ef-4789-aad6-20d2c0161599): show 
create table mytable_v
INFO  : Semantic Analysis Completed (retrial = false)
INFO  : Created Hive schema: 
Schema(fieldSchemas:[FieldSchema(name:createtab_stmt, type:string, comment:from 
deserializer)], properties:null)
INFO  : Completed compiling 
command(queryId=hive_20250702091216_491b1456-84ef-4789-aad6-20d2c0161599); Time 
taken: 0.043 seconds
INFO  : Concurrency mode is disabled, not creating a lock manager
INFO  : Executing 
command(queryId=hive_20250702091216_491b1456-84ef-4789-aad6-20d2c0161599): show 
create table mytable_v
INFO  : Starting task [Stage-0:DDL] in serial mode
INFO  : Completed executing 
command(queryId=hive_20250702091216_491b1456-84ef-4789-aad6-20d2c0161599); Time 
taken: 0.092 seconds
+----------------------------------------------------+
|                   createtab_stmt                   |
+----------------------------------------------------+
| CREATE VIEW `mytable_v` AS select `mytable`.`my_col1`, `mytable`.`my_col2`, 
`mytable`.`my_col3` from `default`.`mytable` where `mytable`.`my_col1` |
+----------------------------------------------------+
1 row selected (0.332 seconds)

{code}

4. However querying the view still works,
{code:java}

select * from mytable_v;
+--------------------+--------------------+--------------------+
| mytable_v.my_col1  | mytable_v.my_col2  | mytable_v.my_col3  |
+--------------------+--------------------+--------------------+
| 1                  | 1                  | 1                  |
+--------------------+--------------------+--------------------+
{code}

In TBLS table in metastore, it still has the full view creation query, with 
my_col1 = 1



  was:
Repro sceanrio
1. Create an external table and insert some data into it

{code:java}
create external table if not exists mytable
(MY_COL1 string, MY_COL2 string, MY_COL3 string)
row format delimited
fields terminated by ',';

INSERT INTO TABLE mytable VALUES
  ('5', '5', '5'),
  ('6', '6', '6');
{code}

2. Use a hql file to create a view, e.g.

{code:java}
cat h.sql
create view mytable_v as select * from mytable where my_col1    = 1; --> Note 
here after my_col there is a tab character (not space character)

beeline -u "jdbc:hive2://$(hostname -f):10000/default" -n hadoop -f h.sql

{code}

3. Run SHOW CREATE VIEW. Everything after the tab character is ignored
{code:java}
0: jdbc:hive2://ip-172-31-45-90.us-west-2.com> show create table mytable_v; 
INFO  : Compiling 
command(queryId=hive_20250702091216_491b1456-84ef-4789-aad6-20d2c0161599): show 
create table mytable_v
INFO  : Semantic Analysis Completed (retrial = false)
INFO  : Created Hive schema: 
Schema(fieldSchemas:[FieldSchema(name:createtab_stmt, type:string, comment:from 
deserializer)], properties:null)
INFO  : Completed compiling 
command(queryId=hive_20250702091216_491b1456-84ef-4789-aad6-20d2c0161599); Time 
taken: 0.043 seconds
INFO  : Concurrency mode is disabled, not creating a lock manager
INFO  : Executing 
command(queryId=hive_20250702091216_491b1456-84ef-4789-aad6-20d2c0161599): show 
create table mytable_v
INFO  : Starting task [Stage-0:DDL] in serial mode
INFO  : Completed executing 
command(queryId=hive_20250702091216_491b1456-84ef-4789-aad6-20d2c0161599); Time 
taken: 0.092 seconds
+----------------------------------------------------+
|                   createtab_stmt                   |
+----------------------------------------------------+
| CREATE VIEW `mytable_v` AS select `mytable`.`my_col1`, `mytable`.`my_col2`, 
`mytable`.`my_col3` from `default`.`mytable` where `mytable`.`my_col1` |
+----------------------------------------------------+
1 row selected (0.332 seconds)

{code}

4. However query the view still works,
{code:java}

select * from mytable_v;
+--------------------+--------------------+--------------------+
| mytable_v.my_col1  | mytable_v.my_col2  | mytable_v.my_col3  |
+--------------------+--------------------+--------------------+
| 1                  | 1                  | 1                  |
+--------------------+--------------------+--------------------+
{code}

In TBLS table in metastore, it still has the full view creation query, with 
my_col1 = 1




> SHOW CREATE TABLE ignores all strings after tab character
> ---------------------------------------------------------
>
>                 Key: HIVE-29059
>                 URL: https://issues.apache.org/jira/browse/HIVE-29059
>             Project: Hive
>          Issue Type: Bug
>    Affects Versions: 4.0.1
>            Reporter: Paramvir Singh
>            Priority: Major
>
> Repro scenario
> 1. Create an external table and insert some data into it
> {code:java}
> create external table if not exists mytable
> (MY_COL1 string, MY_COL2 string, MY_COL3 string)
> row format delimited
> fields terminated by ',';
> INSERT INTO TABLE mytable VALUES
>   ('5', '5', '5'),
>   ('6', '6', '6');
> {code}
> 2. Use a hql file to create a view, e.g.
> {code:java}
> cat h.sql
> create view mytable_v as select * from mytable where my_col1    = 1; --> Note 
> here after my_col there is a tab character (not space character)
> beeline -u "jdbc:hive2://$(hostname -f):10000/default" -n hadoop -f h.sql
> {code}
> 3. Run SHOW CREATE VIEW. Everything after the tab character is ignored
> {code:java}
> 0: jdbc:hive2://ip-172-31-45-90.us-west-2.com> show create table mytable_v; 
> INFO  : Compiling 
> command(queryId=hive_20250702091216_491b1456-84ef-4789-aad6-20d2c0161599): 
> show create table mytable_v
> INFO  : Semantic Analysis Completed (retrial = false)
> INFO  : Created Hive schema: 
> Schema(fieldSchemas:[FieldSchema(name:createtab_stmt, type:string, 
> comment:from deserializer)], properties:null)
> INFO  : Completed compiling 
> command(queryId=hive_20250702091216_491b1456-84ef-4789-aad6-20d2c0161599); 
> Time taken: 0.043 seconds
> INFO  : Concurrency mode is disabled, not creating a lock manager
> INFO  : Executing 
> command(queryId=hive_20250702091216_491b1456-84ef-4789-aad6-20d2c0161599): 
> show create table mytable_v
> INFO  : Starting task [Stage-0:DDL] in serial mode
> INFO  : Completed executing 
> command(queryId=hive_20250702091216_491b1456-84ef-4789-aad6-20d2c0161599); 
> Time taken: 0.092 seconds
> +----------------------------------------------------+
> |                   createtab_stmt                   |
> +----------------------------------------------------+
> | CREATE VIEW `mytable_v` AS select `mytable`.`my_col1`, `mytable`.`my_col2`, 
> `mytable`.`my_col3` from `default`.`mytable` where `mytable`.`my_col1` |
> +----------------------------------------------------+
> 1 row selected (0.332 seconds)
> {code}
> 4. However querying the view still works,
> {code:java}
> select * from mytable_v;
> +--------------------+--------------------+--------------------+
> | mytable_v.my_col1  | mytable_v.my_col2  | mytable_v.my_col3  |
> +--------------------+--------------------+--------------------+
> | 1                  | 1                  | 1                  |
> +--------------------+--------------------+--------------------+
> {code}
> In TBLS table in metastore, it still has the full view creation query, with 
> my_col1 = 1



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to