Skip to content

Commit

Permalink
HIVE-2718 NPE in union followed by join
Browse files Browse the repository at this point in the history
(He Yongqiang via namit)



git-svn-id: https://svn.apache.org/repos/asf/hive/trunk@1233127 13f79535-47bb-0310-9956-ffa450edef68
  • Loading branch information
Namit Jain committed Jan 18, 2012
1 parent 37318ca commit f73f141
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 0 deletions.
Expand Up @@ -388,6 +388,13 @@ public static void joinUnionPlan(GenMRProcContext opProcCtx,
setUnionPlan(opProcCtx, local, plan, uCtx, true);

List<Task<? extends Serializable>> parTasks = null;
if (opProcCtx.getRootTasks().contains(currentUnionTask)) {
opProcCtx.getRootTasks().remove(currentUnionTask);
if (!opProcCtx.getRootTasks().contains(existingTask)) {
opProcCtx.getRootTasks().add(existingTask);
}
}

if ((currentUnionTask != null) && (currentUnionTask.getParentTasks() != null)
&& !currentUnionTask.getParentTasks().isEmpty()) {
parTasks = new ArrayList<Task<? extends Serializable>>();
Expand Down
4 changes: 4 additions & 0 deletions ql/src/test/queries/clientpositive/union27.q
@@ -0,0 +1,4 @@
create table jackson_sev_same as select * from src;
create table dim_pho as select * from src;
create table jackson_sev_add as select * from src;
select b.* from jackson_sev_same a join (select * from dim_pho union all select * from jackson_sev_add)b on a.key=b.key and b.key=97;
41 changes: 41 additions & 0 deletions ql/src/test/results/clientpositive/union27.q.out
@@ -0,0 +1,41 @@
PREHOOK: query: create table jackson_sev_same as select * from src
PREHOOK: type: CREATETABLE_AS_SELECT
PREHOOK: Input: default@src
POSTHOOK: query: create table jackson_sev_same as select * from src
POSTHOOK: type: CREATETABLE_AS_SELECT
POSTHOOK: Input: default@src
POSTHOOK: Output: default@jackson_sev_same
PREHOOK: query: create table dim_pho as select * from src
PREHOOK: type: CREATETABLE_AS_SELECT
PREHOOK: Input: default@src
POSTHOOK: query: create table dim_pho as select * from src
POSTHOOK: type: CREATETABLE_AS_SELECT
POSTHOOK: Input: default@src
POSTHOOK: Output: default@dim_pho
PREHOOK: query: create table jackson_sev_add as select * from src
PREHOOK: type: CREATETABLE_AS_SELECT
PREHOOK: Input: default@src
POSTHOOK: query: create table jackson_sev_add as select * from src
POSTHOOK: type: CREATETABLE_AS_SELECT
POSTHOOK: Input: default@src
POSTHOOK: Output: default@jackson_sev_add
PREHOOK: query: select b.* from jackson_sev_same a join (select * from dim_pho union all select * from jackson_sev_add)b on a.key=b.key and b.key=97
PREHOOK: type: QUERY
PREHOOK: Input: default@dim_pho
PREHOOK: Input: default@jackson_sev_add
PREHOOK: Input: default@jackson_sev_same
#### A masked pattern was here ####
POSTHOOK: query: select b.* from jackson_sev_same a join (select * from dim_pho union all select * from jackson_sev_add)b on a.key=b.key and b.key=97
POSTHOOK: type: QUERY
POSTHOOK: Input: default@dim_pho
POSTHOOK: Input: default@jackson_sev_add
POSTHOOK: Input: default@jackson_sev_same
#### A masked pattern was here ####
97 val_97
97 val_97
97 val_97
97 val_97
97 val_97
97 val_97
97 val_97
97 val_97

0 comments on commit f73f141

Please sign in to comment.