[ https://issues.apache.org/jira/browse/HIVE-6189?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Bill Wailliam updated HIVE-6189: -------------------------------- Description: I've always wondered why union all has to be in subqueries in hive. After looking at it, problems are: - Hive Parser: - Union happens at the wrong place (insert ... select ... union all select ...) is parsed as (insert select) union select. - There are many rewrite rules in the parser to force any query into the a from - insert -select form. No doubt for historical reasons. - Plan generation/semantic analysis assumes top level "TOK_QUERY" and not top level "TOK_UNION". The rewrite rules don't work when we move the "UNION ALL" into the select statements. However, it's not hard to do that in code. was: I've always wondered why union all has to be in subqueries in hive. After looking at it, problems are: - Hive Parser: - Union happens at the wrong place (insert ... select ... union all select ...) is parsed as (insert select) union select. - There are many rewrite rules in the parser to force any query into the a from - insert -select form. No doubt for historical reasons. - Plan generation/semantic analysis assumes top level "TOK_QUERY" and not top level "TOK_UNION". The rewrite rules don't work when we move the "UNION ALL" recursion into the select statements. However, it's not hard to do that in code. > Support top level union all statements > -------------------------------------- > > Key: HIVE-6189 > URL: https://issues.apache.org/jira/browse/HIVE-6189 > Project: Hive > Issue Type: Bug > Reporter: Gunther Hagleitner > Assignee: Gunther Hagleitner > Fix For: 0.13.0 > > Attachments: HIVE-6189.1.patch, HIVE-6189.2.patch, HIVE-6189.3.patch > > > I've always wondered why union all has to be in subqueries in hive. > After looking at it, problems are: > - Hive Parser: > - Union happens at the wrong place (insert ... select ... union all select > ...) is parsed as (insert select) union select. > - There are many rewrite rules in the parser to force any query into the a > from - insert -select form. No doubt for historical reasons. > - Plan generation/semantic analysis assumes top level "TOK_QUERY" and not top > level "TOK_UNION". > The rewrite rules don't work when we move the "UNION ALL" into the select > statements. However, it's not hard to do that in code. -- This message was sent by Atlassian JIRA (v6.3.4#6332)