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

Elliot West updated HIVE-19896:
-------------------------------
    Summary: Create view stores invalid, malformed version of original SQL text 
 (was: Create view stores invalid, mutated version of original SQL text)

> Create view stores invalid, malformed version of original SQL text
> ------------------------------------------------------------------
>
>                 Key: HIVE-19896
>                 URL: https://issues.apache.org/jira/browse/HIVE-19896
>             Project: Hive
>          Issue Type: Bug
>          Components: Views
>    Affects Versions: 1.2.1, 2.3.0
>            Reporter: Elliot West
>            Priority: Major
>
> We perform additional processing on some of our view definitions and we've 
> found that in some cases Hive actually stores malformed representations of 
> the original source SQL text definition of the view. We have examples where 
> the stored original view text is in fact an unparsable statement. This 
> prevents later processing of the view (recompiling for column adjustments for 
> example) and is counter intuitive to the user.
> Specifically the failure appears to be focused on the removal of necessary 
> back-tick quoting from the original text on aliases (but possibly other 
> identifiers).
> h2. Steps to reproduce (formatted for clarity):
> Create a view that is subject to malformation:
> {code}
> hive> create view v as select * from (select 1) as `a.b`;
> OK
> {code}
> View view definition to obtain original text:
> {code}
> describe extended v;
> ...
> Detailed Table Information    Table(
>   tableName:v,
>   dbName:default,
>   viewOriginalText:select * from (select 1) as a.b,
>   viewExpandedText:select `a.b`.`_c0` from (select 1) as `a.b`,
>   tableType:VIRTUAL_VIEW)
> {code}
> Note that {{viewOriginalText}} value does not equal the text supplied on the 
> first step.
> Executing {{viewOriginalText}} value results in failure:
> {code}
> hive> select * from (select 1) as a.b;
> NoViableAltException(17@[215:51: ( KW_AS )?])
>       at org.antlr.runtime.DFA.noViableAlt(DFA.java:158)
> ...
> FAILED: ParseException line 1:29 cannot recognize input near 'as' 'a' '.' in 
> subquery source
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to