[ 
https://issues.apache.org/jira/browse/HIVE-19186?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16436272#comment-16436272
 ] 

Steve Yeom commented on HIVE-19186:
-----------------------------------

One idea used for this jira to verify the results of a multi table insert 
statements query is 
to partition a multi table insert query into queries with single insert 
statement. 
E.g., 
for the above, for example, this query 
"
from intermediate
insert into table multi_partitioned partition(p=2) select p, key
insert overwrite table multi_partitioned partition(p=1) select key, p;
" 
can be partitioned into two queries:
"from intermediate insert into table multi_partitioned partition(p=2) select p, 
key" and
"from intermediate insert overwrite table multi_partitioned partition(p=1) 
select key, p;". 

The final results of these two commands should be equivalent to the one multi 
insert query.

> Multi Table INSERT statements query has a flaw for partitioned table when 
> INSERT INTO and INSERT OVERWRITE are used
> -------------------------------------------------------------------------------------------------------------------
>
>                 Key: HIVE-19186
>                 URL: https://issues.apache.org/jira/browse/HIVE-19186
>             Project: Hive
>          Issue Type: Bug
>          Components: Query Planning
>    Affects Versions: 3.0.0
>            Reporter: Steve Yeom
>            Assignee: Steve Yeom
>            Priority: Major
>             Fix For: 3.0.0
>
>         Attachments: HIVE-19186.01.patch
>
>
> One problem test case is: 
> create table intermediate(key int) partitioned by (p int) stored as orc;
> insert into table intermediate partition(p='455') select distinct key from 
> src where key >= 0 order by key desc limit 2;
> insert into table intermediate partition(p='456') select distinct key from 
> src where key is not null order by key asc limit 2;
> insert into table intermediate partition(p='457') select distinct key from 
> src where key >= 100 order by key asc limit 2;
> create table multi_partitioned (key int, key2 int) partitioned by (p int);
> from intermediate
> insert into table multi_partitioned partition(p=2) select p, key
> insert overwrite table multi_partitioned partition(p=1) select key, p;



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

Reply via email to