HIVE-14522 : CBO: Calcite Operator To Hive Operator(Calcite Return Path): Fix test failure for auto_join_filters (Vineet Garg via Ashutosh Chauhan)
Signed-off-by: Ashutosh Chauhan <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/hive/repo Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/e084f4d6 Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/e084f4d6 Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/e084f4d6 Branch: refs/heads/master Commit: e084f4d695dcc80cce990618fac9cc4b5f9d26bf Parents: 6d3085b Author: Vineet Garg <[email protected]> Authored: Thu Aug 18 16:05:35 2016 -0700 Committer: Ashutosh Chauhan <[email protected]> Committed: Thu Aug 18 16:24:10 2016 -0700 ---------------------------------------------------------------------- .../org/apache/hadoop/hive/conf/HiveConf.java | 2 - .../org/apache/hadoop/hive/ql/ErrorMsg.java | 2 - .../hadoop/hive/ql/parse/SemanticAnalyzer.java | 30 --- .../hadoop/hive/ql/processors/SetProcessor.java | 2 +- .../queries/clientpositive/auto_join_filters.q | 2 - .../test/queries/clientpositive/cbo_rp_join1.q | 2 - ql/src/test/queries/clientpositive/join_1to1.q | 4 - .../test/queries/clientpositive/join_filters.q | 2 - ql/src/test/queries/clientpositive/mapjoin1.q | 4 - .../clientpositive/auto_join_filters.q.out | 40 ++-- .../results/clientpositive/cbo_rp_join1.q.out | 140 +++++++------- .../test/results/clientpositive/join_1to1.q.out | 78 ++++++++ .../results/clientpositive/join_filters.q.out | 192 +++++++++++++++---- .../test/results/clientpositive/mapjoin1.q.out | 135 +++++++------ .../spark/auto_join_filters.q.out | 40 ++-- .../clientpositive/spark/join_1to1.q.out | 78 ++++++++ .../results/clientpositive/spark/mapjoin1.q.out | 143 +++++++------- .../clientpositive/tez/auto_join_filters.q.out | 40 ++-- 18 files changed, 585 insertions(+), 351 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hive/blob/e084f4d6/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java ---------------------------------------------------------------------- diff --git a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java index 2bd2eea..c89d72e 100644 --- a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java +++ b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java @@ -1892,8 +1892,6 @@ public class HiveConf extends Configuration { HIVEOPTGBYUSINGINDEX("hive.optimize.index.groupby", false, "Whether to enable optimization of group-by queries using Aggregate indexes."), - HIVEOUTERJOINSUPPORTSFILTERS("hive.outerjoin.supports.filters", true, ""), - HIVEFETCHTASKCONVERSION("hive.fetch.task.conversion", "more", new StringSet("none", "minimal", "more"), "Some select queries can be converted to single FETCH task minimizing latency.\n" + "Currently the query should be single sourced not having any subquery and should not have\n" + http://git-wip-us.apache.org/repos/asf/hive/blob/e084f4d6/ql/src/java/org/apache/hadoop/hive/ql/ErrorMsg.java ---------------------------------------------------------------------- diff --git a/ql/src/java/org/apache/hadoop/hive/ql/ErrorMsg.java b/ql/src/java/org/apache/hadoop/hive/ql/ErrorMsg.java index 6ed5b13..602b4fc 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/ErrorMsg.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/ErrorMsg.java @@ -191,8 +191,6 @@ public enum ErrorMsg { ARCHIVE_ON_TABLE(10110, "ARCHIVE can only be run on partitions"), RESERVED_PART_VAL(10111, "Partition value contains a reserved substring"), OFFLINE_TABLE_OR_PARTITION(10113, "Query against an offline table or partition"), - OUTERJOIN_USES_FILTERS(10114, "The query results could be wrong. " + - "Turn on hive.outerjoin.supports.filters"), NEED_PARTITION_SPECIFICATION(10115, "Table is partitioned and partition specification is needed"), INVALID_METADATA(10116, "The metadata file could not be parsed "), NEED_TABLE_SPECIFICATION(10117, "Table name could be determined; It should be specified "), http://git-wip-us.apache.org/repos/asf/hive/blob/e084f4d6/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java ---------------------------------------------------------------------- diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java index ae1def1..66589fe 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java @@ -2589,12 +2589,7 @@ public class SemanticAnalyzer extends BaseSemanticAnalyzer { || ((rightCondAl1.size() == 0) && (rightCondAl2.size() == 0))) { if (type.equals(JoinType.LEFTOUTER) || type.equals(JoinType.FULLOUTER)) { - if (conf.getBoolVar(HiveConf.ConfVars.HIVEOUTERJOINSUPPORTSFILTERS)) { joinTree.getFilters().get(0).add(joinCond); - } else { - LOG.warn(ErrorMsg.OUTERJOIN_USES_FILTERS.getErrorCodedMsg()); - joinTree.getFiltersForPushing().get(0).add(joinCond); - } } else { /* * If the rhs references table sources and this QBJoinTree has a leftTree; @@ -2678,12 +2673,7 @@ public class SemanticAnalyzer extends BaseSemanticAnalyzer { || ((rightCondAl1.size() == 0) && (rightCondAl2.size() == 0))) { if (type.equals(JoinType.RIGHTOUTER) || type.equals(JoinType.FULLOUTER)) { - if (conf.getBoolVar(HiveConf.ConfVars.HIVEOUTERJOINSUPPORTSFILTERS)) { joinTree.getFilters().get(1).add(joinCond); - } else { - LOG.warn(ErrorMsg.OUTERJOIN_USES_FILTERS.getErrorCodedMsg()); - joinTree.getFiltersForPushing().get(1).add(joinCond); - } } else { joinTree.getFiltersForPushing().get(1).add(joinCond); } @@ -2698,24 +2688,14 @@ public class SemanticAnalyzer extends BaseSemanticAnalyzer { } else if (rightCondAl1.size() != 0) { if (type.equals(JoinType.LEFTOUTER) || type.equals(JoinType.FULLOUTER)) { - if (conf.getBoolVar(HiveConf.ConfVars.HIVEOUTERJOINSUPPORTSFILTERS)) { joinTree.getFilters().get(0).add(joinCond); - } else { - LOG.warn(ErrorMsg.OUTERJOIN_USES_FILTERS.getErrorCodedMsg()); - joinTree.getFiltersForPushing().get(0).add(joinCond); - } } else { joinTree.getFiltersForPushing().get(0).add(joinCond); } } else { if (type.equals(JoinType.RIGHTOUTER) || type.equals(JoinType.FULLOUTER)) { - if (conf.getBoolVar(HiveConf.ConfVars.HIVEOUTERJOINSUPPORTSFILTERS)) { joinTree.getFilters().get(1).add(joinCond); - } else { - LOG.warn(ErrorMsg.OUTERJOIN_USES_FILTERS.getErrorCodedMsg()); - joinTree.getFiltersForPushing().get(1).add(joinCond); - } } else if (type.equals(JoinType.LEFTSEMI)) { joinTree.getExpressions().get(0).add(leftCondn); joinTree.getExpressions().get(1).add(rightCondn); @@ -2866,24 +2846,14 @@ public class SemanticAnalyzer extends BaseSemanticAnalyzer { if (!leftAliasNull) { if (type.equals(JoinType.LEFTOUTER) || type.equals(JoinType.FULLOUTER)) { - if (conf.getBoolVar(HiveConf.ConfVars.HIVEOUTERJOINSUPPORTSFILTERS)) { joinTree.getFilters().get(0).add(joinCond); - } else { - LOG.warn(ErrorMsg.OUTERJOIN_USES_FILTERS.getErrorCodedMsg()); - joinTree.getFiltersForPushing().get(0).add(joinCond); - } } else { joinTree.getFiltersForPushing().get(0).add(joinCond); } } else { if (type.equals(JoinType.RIGHTOUTER) || type.equals(JoinType.FULLOUTER)) { - if (conf.getBoolVar(HiveConf.ConfVars.HIVEOUTERJOINSUPPORTSFILTERS)) { joinTree.getFilters().get(1).add(joinCond); - } else { - LOG.warn(ErrorMsg.OUTERJOIN_USES_FILTERS.getErrorCodedMsg()); - joinTree.getFiltersForPushing().get(1).add(joinCond); - } } else { joinTree.getFiltersForPushing().get(1).add(joinCond); } http://git-wip-us.apache.org/repos/asf/hive/blob/e084f4d6/ql/src/java/org/apache/hadoop/hive/ql/processors/SetProcessor.java ---------------------------------------------------------------------- diff --git a/ql/src/java/org/apache/hadoop/hive/ql/processors/SetProcessor.java b/ql/src/java/org/apache/hadoop/hive/ql/processors/SetProcessor.java index a872809..2e13dab 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/processors/SetProcessor.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/processors/SetProcessor.java @@ -53,7 +53,7 @@ public class SetProcessor implements CommandProcessor { private static final Logger LOG = LoggerFactory.getLogger(SetProcessor.class); private static final String prefix = "set: "; - private static final Set<String> removedConfigs = Sets.newHashSet("hive.mapred.supports.subdirectories","hive.enforce.sorting","hive.enforce.bucketing"); + private static final Set<String> removedConfigs = Sets.newHashSet("hive.mapred.supports.subdirectories","hive.enforce.sorting","hive.enforce.bucketing", "hive.outerjoin.supports.filters"); public static boolean getBoolean(String value) { if (value.equals("on") || value.equals("true")) { http://git-wip-us.apache.org/repos/asf/hive/blob/e084f4d6/ql/src/test/queries/clientpositive/auto_join_filters.q ---------------------------------------------------------------------- diff --git a/ql/src/test/queries/clientpositive/auto_join_filters.q b/ql/src/test/queries/clientpositive/auto_join_filters.q index 2da8bae..a4d2b5c 100644 --- a/ql/src/test/queries/clientpositive/auto_join_filters.q +++ b/ql/src/test/queries/clientpositive/auto_join_filters.q @@ -48,8 +48,6 @@ SET hive.optimize.bucketmapjoin = true; SET hive.optimize.bucketmapjoin.sortedmerge = true; SET hive.input.format = org.apache.hadoop.hive.ql.io.BucketizedHiveInputFormat; -SET hive.outerjoin.supports.filters = false; - SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a JOIN myinput1 b on a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value; SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a LEFT OUTER JOIN myinput1 b on a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value; SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a RIGHT OUTER JOIN myinput1 b on a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value; http://git-wip-us.apache.org/repos/asf/hive/blob/e084f4d6/ql/src/test/queries/clientpositive/cbo_rp_join1.q ---------------------------------------------------------------------- diff --git a/ql/src/test/queries/clientpositive/cbo_rp_join1.q b/ql/src/test/queries/clientpositive/cbo_rp_join1.q index a454d02..6f637d9 100644 --- a/ql/src/test/queries/clientpositive/cbo_rp_join1.q +++ b/ql/src/test/queries/clientpositive/cbo_rp_join1.q @@ -8,8 +8,6 @@ SET hive.optimize.bucketmapjoin = true; SET hive.optimize.bucketmapjoin.sortedmerge = true; SET hive.input.format = org.apache.hadoop.hive.ql.io.BucketizedHiveInputFormat; -SET hive.outerjoin.supports.filters = false; - EXPLAIN SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b on a.key = 40 AND b.key = 40; SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b on a.key = 40 AND b.key = 40; http://git-wip-us.apache.org/repos/asf/hive/blob/e084f4d6/ql/src/test/queries/clientpositive/join_1to1.q ---------------------------------------------------------------------- diff --git a/ql/src/test/queries/clientpositive/join_1to1.q b/ql/src/test/queries/clientpositive/join_1to1.q index 998bf53..0d2e0b5 100644 --- a/ql/src/test/queries/clientpositive/join_1to1.q +++ b/ql/src/test/queries/clientpositive/join_1to1.q @@ -7,8 +7,6 @@ CREATE TABLE join_1to1_2(key1 int, key2 int, value int); LOAD DATA LOCAL INPATH '../../data/files/in6.txt' INTO TABLE join_1to1_2; -set hive.outerjoin.supports.filters=false; - set hive.join.emit.interval=5; SELECT * FROM join_1to1_1 a join join_1to1_2 b on a.key1 = b.key1; @@ -33,8 +31,6 @@ SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and -set hive.outerjoin.supports.filters=true; - set hive.join.emit.interval=5; SELECT * FROM join_1to1_1 a join join_1to1_2 b on a.key1 = b.key1; http://git-wip-us.apache.org/repos/asf/hive/blob/e084f4d6/ql/src/test/queries/clientpositive/join_filters.q ---------------------------------------------------------------------- diff --git a/ql/src/test/queries/clientpositive/join_filters.q b/ql/src/test/queries/clientpositive/join_filters.q index 027a627..0ff40b7 100644 --- a/ql/src/test/queries/clientpositive/join_filters.q +++ b/ql/src/test/queries/clientpositive/join_filters.q @@ -85,8 +85,6 @@ SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a RIGHT OUTER JOIN smb_input1 b ON a. SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a RIGHT OUTER JOIN smb_input2 b ON a.key = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value; SELECT /*+ MAPJOIN(a) */ * FROM smb_input2 a RIGHT OUTER JOIN smb_input2 b ON a.value = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value; -SET hive.outerjoin.supports.filters = false; - SELECT * FROM myinput1 a JOIN myinput1 b on a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value; SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b on a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value; SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b on a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value; http://git-wip-us.apache.org/repos/asf/hive/blob/e084f4d6/ql/src/test/queries/clientpositive/mapjoin1.q ---------------------------------------------------------------------- diff --git a/ql/src/test/queries/clientpositive/mapjoin1.q b/ql/src/test/queries/clientpositive/mapjoin1.q index 49de907..70bfe2e 100644 --- a/ql/src/test/queries/clientpositive/mapjoin1.q +++ b/ql/src/test/queries/clientpositive/mapjoin1.q @@ -2,8 +2,6 @@ SELECT /*+ MAPJOIN(b) */ sum(a.key) as sum_a FROM srcpart a JOIN src b ON a.key = b.key where a.ds is not null; -set hive.outerjoin.supports.filters=true; - -- const filter on outer join EXPLAIN SELECT /*+ MAPJOIN(a) */ * FROM src a RIGHT OUTER JOIN src b on a.key=b.key AND true limit 10; @@ -21,8 +19,6 @@ SELECT /*+ MAPJOIN(a) */ * FROM src a RIGHT OUTER JOIN SELECT /*+ MAPJOIN(a) */ * FROM src a RIGHT OUTER JOIN (select key, named_struct('key', key, 'value', value) as kv from src) b on a.key=b.key AND b.kv.key > 200 limit 10; -set hive.outerjoin.supports.filters=false; - EXPLAIN SELECT /*+ MAPJOIN(a) */ * FROM src a RIGHT OUTER JOIN src b on a.key=b.key AND true limit 10; SELECT /*+ MAPJOIN(a) */ * FROM src a RIGHT OUTER JOIN src b on a.key=b.key AND true limit 10; http://git-wip-us.apache.org/repos/asf/hive/blob/e084f4d6/ql/src/test/results/clientpositive/auto_join_filters.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/auto_join_filters.q.out b/ql/src/test/results/clientpositive/auto_join_filters.q.out index 2d4a043..e526284 100644 --- a/ql/src/test/results/clientpositive/auto_join_filters.q.out +++ b/ql/src/test/results/clientpositive/auto_join_filters.q.out @@ -310,7 +310,7 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 3078400 -Warning: Map Join MAPJOIN[21][bigTable=?] in task 'Stage-2:MAPRED' is a cross product +Warning: Map Join MAPJOIN[18][bigTable=?] in task 'Stage-2:MAPRED' is a cross product PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a LEFT OUTER JOIN myinput1 b on a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -319,8 +319,8 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a L POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 -Warning: Map Join MAPJOIN[21][bigTable=?] in task 'Stage-2:MAPRED' is a cross product +4937935 +Warning: Map Join MAPJOIN[18][bigTable=?] in task 'Stage-2:MAPRED' is a cross product PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a RIGHT OUTER JOIN myinput1 b on a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -329,8 +329,8 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a R POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 -Warning: Shuffle Join JOIN[12][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product +3080335 +Warning: Shuffle Join JOIN[6][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b on a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -339,7 +339,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a F POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4939870 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a JOIN myinput1 b ON a.key = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -384,7 +384,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a L POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4937935 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.value = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -393,7 +393,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a L POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4937935 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.key AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -402,7 +402,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a L POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4937935 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.key and a.value=b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -411,7 +411,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a L POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4937935 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -420,7 +420,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a R POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +3080335 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key = b.key AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -429,7 +429,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a R POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +3080335 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.value = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -438,7 +438,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a R POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +3080335 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key=b.key and a.value = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -447,7 +447,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a R POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +3080335 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.key = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -456,7 +456,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a F POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4939870 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.key = b.key AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -465,7 +465,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a F POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4939870 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.value = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -474,7 +474,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a F POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4939870 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.value = b.value and a.key=b.key AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -483,7 +483,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a F POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4939870 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) from myinput1 a LEFT OUTER JOIN myinput1 b ON (a.value=b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value) RIGHT OUTER JOIN myinput1 c ON (b.value=c.value AND c.key > 40 AND c.value > 50 AND c.key = c.value AND b.key > 40 AND b.value > 50 AND b.key = b.value) PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -501,7 +501,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) from myinput1 a R POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +3080335 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a LEFT OUTER JOIN myinput1 b RIGHT OUTER JOIN myinput1 c ON a.value = b.value and b.value = c.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value AND c.key > 40 AND c.value > 50 AND c.key = c.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -528,7 +528,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) from myinput1 a R POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +3080335 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a LEFT OUTER JOIN myinput1 b RIGHT OUTER JOIN myinput1 c ON a.value = b.value and b.key = c.key AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value AND c.key > 40 AND c.value > 50 AND c.key = c.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 http://git-wip-us.apache.org/repos/asf/hive/blob/e084f4d6/ql/src/test/results/clientpositive/cbo_rp_join1.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/cbo_rp_join1.q.out b/ql/src/test/results/clientpositive/cbo_rp_join1.q.out index 695c6d6..df6510c 100644 --- a/ql/src/test/results/clientpositive/cbo_rp_join1.q.out +++ b/ql/src/test/results/clientpositive/cbo_rp_join1.q.out @@ -14,7 +14,7 @@ POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/in3.txt' INTO TABLE my POSTHOOK: type: LOAD #### A masked pattern was here #### POSTHOOK: Output: default@myinput1 -Warning: Shuffle Join JOIN[8][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product +Warning: Shuffle Join JOIN[6][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product PREHOOK: query: EXPLAIN SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b on a.key = 40 AND b.key = 40 PREHOOK: type: QUERY POSTHOOK: query: EXPLAIN SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b on a.key = 40 AND b.key = 40 @@ -35,13 +35,10 @@ STAGE PLANS: expressions: key (type: int), value (type: int) outputColumnNames: _col0, _col1 Statistics: Num rows: 2 Data size: 22 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: (_col0 = 40) (type: boolean) - Statistics: Num rows: 1 Data size: 11 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: - Statistics: Num rows: 1 Data size: 11 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int), _col1 (type: int) + Reduce Output Operator + sort order: + Statistics: Num rows: 2 Data size: 22 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: int), _col1 (type: int) TableScan alias: b Statistics: Num rows: 2 Data size: 22 Basic stats: COMPLETE Column stats: NONE @@ -49,26 +46,26 @@ STAGE PLANS: expressions: key (type: int), value (type: int) outputColumnNames: _col0, _col1 Statistics: Num rows: 2 Data size: 22 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: (_col0 = 40) (type: boolean) - Statistics: Num rows: 1 Data size: 11 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: - Statistics: Num rows: 1 Data size: 11 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int), _col1 (type: int) + Reduce Output Operator + sort order: + Statistics: Num rows: 2 Data size: 22 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: int), _col1 (type: int) Reduce Operator Tree: Join Operator condition map: Outer Join 0 to 1 + filter predicates: + 0 {(VALUE._col0 = 40)} + 1 {(VALUE._col0 = 40)} keys: 0 1 outputColumnNames: _col0, _col1, _col2, _col3 - Statistics: Num rows: 1 Data size: 23 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 4 Data size: 92 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: hash(_col0,_col1,_col2,_col3) (type: int) outputColumnNames: _col0 - Statistics: Num rows: 1 Data size: 23 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 4 Data size: 92 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: sum(_col0) mode: hash @@ -109,7 +106,7 @@ STAGE PLANS: Processor Tree: ListSink -Warning: Shuffle Join JOIN[8][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product +Warning: Shuffle Join JOIN[6][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b on a.key = 40 AND b.key = 40 PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -118,8 +115,8 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a F POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL -Warning: Shuffle Join JOIN[9][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product +4939870 +Warning: Shuffle Join JOIN[6][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product PREHOOK: query: EXPLAIN SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b on a.key = 40 AND a.value = 40 AND a.key = a.value AND b.key = 40 PREHOOK: type: QUERY POSTHOOK: query: EXPLAIN SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b on a.key = 40 AND a.value = 40 AND a.key = a.value AND b.key = 40 @@ -140,13 +137,10 @@ STAGE PLANS: expressions: key (type: int), value (type: int) outputColumnNames: _col0, _col1 Statistics: Num rows: 2 Data size: 22 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: ((_col1 = 40) and (_col0 = 40)) (type: boolean) - Statistics: Num rows: 1 Data size: 11 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: - Statistics: Num rows: 1 Data size: 11 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int), _col1 (type: int) + Reduce Output Operator + sort order: + Statistics: Num rows: 2 Data size: 22 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: int), _col1 (type: int) TableScan alias: b Statistics: Num rows: 2 Data size: 22 Basic stats: COMPLETE Column stats: NONE @@ -154,26 +148,26 @@ STAGE PLANS: expressions: key (type: int), value (type: int) outputColumnNames: _col0, _col1 Statistics: Num rows: 2 Data size: 22 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: (_col0 = 40) (type: boolean) - Statistics: Num rows: 1 Data size: 11 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: - Statistics: Num rows: 1 Data size: 11 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int), _col1 (type: int) + Reduce Output Operator + sort order: + Statistics: Num rows: 2 Data size: 22 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: int), _col1 (type: int) Reduce Operator Tree: Join Operator condition map: Outer Join 0 to 1 + filter predicates: + 0 {(VALUE._col0 = 40)} {(VALUE._col1 = 40)} + 1 {(VALUE._col0 = 40)} keys: 0 1 outputColumnNames: _col0, _col1, _col2, _col3 - Statistics: Num rows: 1 Data size: 23 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 4 Data size: 92 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: hash(_col0,_col1,_col2,_col3) (type: int) outputColumnNames: _col0 - Statistics: Num rows: 1 Data size: 23 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 4 Data size: 92 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: sum(_col0) mode: hash @@ -214,7 +208,7 @@ STAGE PLANS: Processor Tree: ListSink -Warning: Shuffle Join JOIN[9][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product +Warning: Shuffle Join JOIN[6][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b on a.key = 40 AND a.key = a.value AND b.key = 40 PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -223,8 +217,8 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a F POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL -Warning: Shuffle Join JOIN[8][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product +4939870 +Warning: Shuffle Join JOIN[6][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product PREHOOK: query: EXPLAIN SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b on a.key = 40 AND a.key = b.key AND b.key = 40 PREHOOK: type: QUERY POSTHOOK: query: EXPLAIN SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b on a.key = 40 AND a.key = b.key AND b.key = 40 @@ -245,13 +239,10 @@ STAGE PLANS: expressions: key (type: int), value (type: int) outputColumnNames: _col0, _col1 Statistics: Num rows: 2 Data size: 22 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: (_col0 = 40) (type: boolean) - Statistics: Num rows: 1 Data size: 11 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: - Statistics: Num rows: 1 Data size: 11 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int), _col1 (type: int) + Reduce Output Operator + sort order: + Statistics: Num rows: 2 Data size: 22 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: int), _col1 (type: int) TableScan alias: b Statistics: Num rows: 2 Data size: 22 Basic stats: COMPLETE Column stats: NONE @@ -259,26 +250,26 @@ STAGE PLANS: expressions: key (type: int), value (type: int) outputColumnNames: _col0, _col1 Statistics: Num rows: 2 Data size: 22 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: (_col0 = 40) (type: boolean) - Statistics: Num rows: 1 Data size: 11 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: - Statistics: Num rows: 1 Data size: 11 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int), _col1 (type: int) + Reduce Output Operator + sort order: + Statistics: Num rows: 2 Data size: 22 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: int), _col1 (type: int) Reduce Operator Tree: Join Operator condition map: Outer Join 0 to 1 + filter predicates: + 0 {(VALUE._col0 = 40)} + 1 {(VALUE._col0 = 40)} keys: 0 1 outputColumnNames: _col0, _col1, _col2, _col3 - Statistics: Num rows: 1 Data size: 23 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 4 Data size: 92 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: hash(_col0,_col1,_col2,_col3) (type: int) outputColumnNames: _col0 - Statistics: Num rows: 1 Data size: 23 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 4 Data size: 92 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: sum(_col0) mode: hash @@ -319,7 +310,7 @@ STAGE PLANS: Processor Tree: ListSink -Warning: Shuffle Join JOIN[8][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product +Warning: Shuffle Join JOIN[6][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b on a.key = 40 AND a.key = b.key AND b.key = 40 PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -328,8 +319,8 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a F POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL -Warning: Shuffle Join JOIN[12][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product +4939870 +Warning: Shuffle Join JOIN[6][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product PREHOOK: query: EXPLAIN SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b on a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY POSTHOOK: query: EXPLAIN SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b on a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value @@ -350,13 +341,10 @@ STAGE PLANS: expressions: key (type: int), value (type: int) outputColumnNames: _col0, _col1 Statistics: Num rows: 2 Data size: 22 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: ((_col0 = _col1) and (_col1 > 50) and (_col0 > 40)) (type: boolean) - Statistics: Num rows: 1 Data size: 11 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: - Statistics: Num rows: 1 Data size: 11 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int), _col1 (type: int) + Reduce Output Operator + sort order: + Statistics: Num rows: 2 Data size: 22 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: int), _col1 (type: int) TableScan alias: b Statistics: Num rows: 2 Data size: 22 Basic stats: COMPLETE Column stats: NONE @@ -364,26 +352,26 @@ STAGE PLANS: expressions: key (type: int), value (type: int) outputColumnNames: _col0, _col1 Statistics: Num rows: 2 Data size: 22 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: ((_col0 = _col1) and (_col1 > 50) and (_col0 > 40)) (type: boolean) - Statistics: Num rows: 1 Data size: 11 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: - Statistics: Num rows: 1 Data size: 11 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int), _col1 (type: int) + Reduce Output Operator + sort order: + Statistics: Num rows: 2 Data size: 22 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: int), _col1 (type: int) Reduce Operator Tree: Join Operator condition map: Outer Join 0 to 1 + filter predicates: + 0 {(VALUE._col0 > 40)} {(VALUE._col1 > 50)} {(VALUE._col0 = VALUE._col1)} + 1 {(VALUE._col0 > 40)} {(VALUE._col1 > 50)} {(VALUE._col0 = VALUE._col1)} keys: 0 1 outputColumnNames: _col0, _col1, _col2, _col3 - Statistics: Num rows: 1 Data size: 23 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 4 Data size: 92 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: hash(_col0,_col1,_col2,_col3) (type: int) outputColumnNames: _col0 - Statistics: Num rows: 1 Data size: 23 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 4 Data size: 92 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: sum(_col0) mode: hash @@ -424,7 +412,7 @@ STAGE PLANS: Processor Tree: ListSink -Warning: Shuffle Join JOIN[12][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product +Warning: Shuffle Join JOIN[6][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b on a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -433,4 +421,4 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a F POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4939870 http://git-wip-us.apache.org/repos/asf/hive/blob/e084f4d6/ql/src/test/results/clientpositive/join_1to1.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/join_1to1.q.out b/ql/src/test/results/clientpositive/join_1to1.q.out index 643b82a..b1fc8f0 100644 --- a/ql/src/test/results/clientpositive/join_1to1.q.out +++ b/ql/src/test/results/clientpositive/join_1to1.q.out @@ -132,21 +132,34 @@ POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### 15 10015 66 NULL NULL NULL 20 10020 66 20 10020 66 +25 10025 88 NULL NULL NULL 30 10030 66 NULL NULL NULL +35 10035 88 NULL NULL NULL 40 10040 66 40 10040 66 +40 10040 88 NULL NULL NULL 5 10005 66 5 10005 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 +50 10050 88 NULL NULL NULL +50 10050 88 NULL NULL NULL 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 70 10040 66 NULL NULL NULL 70 10040 66 NULL NULL NULL +80 10040 88 NULL NULL NULL +80 10040 88 NULL NULL NULL NULL 10050 66 NULL NULL NULL NULL NULL 66 NULL NULL NULL NULL NULL NULL 10 10010 66 NULL NULL NULL 25 10025 66 +NULL NULL NULL 30 10030 88 +NULL NULL NULL 35 10035 88 +NULL NULL NULL 40 10040 88 +NULL NULL NULL 50 10050 88 +NULL NULL NULL 70 10040 88 +NULL NULL NULL 70 10040 88 NULL NULL NULL 80 10040 66 NULL NULL NULL 80 10040 66 NULL NULL NULL NULL 10050 66 @@ -209,21 +222,34 @@ POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### 15 10015 66 NULL NULL NULL 20 10020 66 20 10020 66 +25 10025 88 NULL NULL NULL 30 10030 66 NULL NULL NULL +35 10035 88 NULL NULL NULL 40 10040 66 40 10040 66 +40 10040 88 NULL NULL NULL 5 10005 66 5 10005 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 +50 10050 88 NULL NULL NULL +50 10050 88 NULL NULL NULL 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 70 10040 66 NULL NULL NULL 70 10040 66 NULL NULL NULL +80 10040 88 NULL NULL NULL +80 10040 88 NULL NULL NULL NULL 10050 66 NULL NULL NULL NULL NULL 66 NULL NULL NULL NULL NULL NULL 10 10010 66 NULL NULL NULL 25 10025 66 +NULL NULL NULL 30 10030 88 +NULL NULL NULL 35 10035 88 +NULL NULL NULL 40 10040 88 +NULL NULL NULL 50 10050 88 +NULL NULL NULL 70 10040 88 +NULL NULL NULL 70 10040 88 NULL NULL NULL 80 10040 66 NULL NULL NULL 80 10040 66 NULL NULL NULL NULL 10050 66 @@ -326,21 +352,34 @@ POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### 15 10015 66 NULL NULL NULL 20 10020 66 20 10020 66 +25 10025 88 NULL NULL NULL 30 10030 66 NULL NULL NULL +35 10035 88 NULL NULL NULL 40 10040 66 40 10040 66 +40 10040 88 NULL NULL NULL 5 10005 66 5 10005 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 +50 10050 88 NULL NULL NULL +50 10050 88 NULL NULL NULL 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 70 10040 66 NULL NULL NULL 70 10040 66 NULL NULL NULL +80 10040 88 NULL NULL NULL +80 10040 88 NULL NULL NULL NULL 10050 66 NULL NULL NULL NULL NULL 66 NULL NULL NULL NULL NULL NULL 10 10010 66 NULL NULL NULL 25 10025 66 +NULL NULL NULL 30 10030 88 +NULL NULL NULL 35 10035 88 +NULL NULL NULL 40 10040 88 +NULL NULL NULL 50 10050 88 +NULL NULL NULL 70 10040 88 +NULL NULL NULL 70 10040 88 NULL NULL NULL 80 10040 66 NULL NULL NULL 80 10040 66 NULL NULL NULL NULL 10050 66 @@ -403,21 +442,34 @@ POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### 15 10015 66 NULL NULL NULL 20 10020 66 20 10020 66 +25 10025 88 NULL NULL NULL 30 10030 66 NULL NULL NULL +35 10035 88 NULL NULL NULL 40 10040 66 40 10040 66 +40 10040 88 NULL NULL NULL 5 10005 66 5 10005 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 +50 10050 88 NULL NULL NULL +50 10050 88 NULL NULL NULL 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 70 10040 66 NULL NULL NULL 70 10040 66 NULL NULL NULL +80 10040 88 NULL NULL NULL +80 10040 88 NULL NULL NULL NULL 10050 66 NULL NULL NULL NULL NULL 66 NULL NULL NULL NULL NULL NULL 10 10010 66 NULL NULL NULL 25 10025 66 +NULL NULL NULL 30 10030 88 +NULL NULL NULL 35 10035 88 +NULL NULL NULL 40 10040 88 +NULL NULL NULL 50 10050 88 +NULL NULL NULL 70 10040 88 +NULL NULL NULL 70 10040 88 NULL NULL NULL 80 10040 66 NULL NULL NULL 80 10040 66 NULL NULL NULL NULL 10050 66 @@ -520,21 +572,34 @@ POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### 15 10015 66 NULL NULL NULL 20 10020 66 20 10020 66 +25 10025 88 NULL NULL NULL 30 10030 66 NULL NULL NULL +35 10035 88 NULL NULL NULL 40 10040 66 40 10040 66 +40 10040 88 NULL NULL NULL 5 10005 66 5 10005 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 +50 10050 88 NULL NULL NULL +50 10050 88 NULL NULL NULL 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 70 10040 66 NULL NULL NULL 70 10040 66 NULL NULL NULL +80 10040 88 NULL NULL NULL +80 10040 88 NULL NULL NULL NULL 10050 66 NULL NULL NULL NULL NULL 66 NULL NULL NULL NULL NULL NULL 10 10010 66 NULL NULL NULL 25 10025 66 +NULL NULL NULL 30 10030 88 +NULL NULL NULL 35 10035 88 +NULL NULL NULL 40 10040 88 +NULL NULL NULL 50 10050 88 +NULL NULL NULL 70 10040 88 +NULL NULL NULL 70 10040 88 NULL NULL NULL 80 10040 66 NULL NULL NULL 80 10040 66 NULL NULL NULL NULL 10050 66 @@ -597,21 +662,34 @@ POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### 15 10015 66 NULL NULL NULL 20 10020 66 20 10020 66 +25 10025 88 NULL NULL NULL 30 10030 66 NULL NULL NULL +35 10035 88 NULL NULL NULL 40 10040 66 40 10040 66 +40 10040 88 NULL NULL NULL 5 10005 66 5 10005 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 +50 10050 88 NULL NULL NULL +50 10050 88 NULL NULL NULL 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 70 10040 66 NULL NULL NULL 70 10040 66 NULL NULL NULL +80 10040 88 NULL NULL NULL +80 10040 88 NULL NULL NULL NULL 10050 66 NULL NULL NULL NULL NULL 66 NULL NULL NULL NULL NULL NULL 10 10010 66 NULL NULL NULL 25 10025 66 +NULL NULL NULL 30 10030 88 +NULL NULL NULL 35 10035 88 +NULL NULL NULL 40 10040 88 +NULL NULL NULL 50 10050 88 +NULL NULL NULL 70 10040 88 +NULL NULL NULL 70 10040 88 NULL NULL NULL 80 10040 66 NULL NULL NULL 80 10040 66 NULL NULL NULL NULL 10050 66 http://git-wip-us.apache.org/repos/asf/hive/blob/e084f4d6/ql/src/test/results/clientpositive/join_filters.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/join_filters.q.out b/ql/src/test/results/clientpositive/join_filters.q.out index b909ad5..fa0584d 100644 --- a/ql/src/test/results/clientpositive/join_filters.q.out +++ b/ql/src/test/results/clientpositive/join_filters.q.out @@ -785,7 +785,7 @@ POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 YaI1msgLVpfEx943Tfea/Q== -Warning: Shuffle Join JOIN[10][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product +Warning: Shuffle Join JOIN[7][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product PREHOOK: query: SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b on a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -795,8 +795,11 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -YaI1msgLVpfEx943Tfea/Q== -Warning: Shuffle Join JOIN[10][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product +12 35 NULL NULL +48 NULL NULL NULL +NULL 40 NULL NULL +M3MWtBJdRXSWIJY5Qr/otw== +Warning: Shuffle Join JOIN[7][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product PREHOOK: query: SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b on a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -806,8 +809,11 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -YaI1msgLVpfEx943Tfea/Q== -Warning: Shuffle Join JOIN[12][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product +NULL NULL 12 35 +NULL NULL 48 NULL +NULL NULL NULL 40 +LNZKrcVNAvaeDALnsg72bw== +Warning: Shuffle Join JOIN[6][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product PREHOOK: query: SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b on a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -817,7 +823,13 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -YaI1msgLVpfEx943Tfea/Q== +12 35 NULL NULL +48 NULL NULL NULL +NULL 40 NULL NULL +NULL NULL 12 35 +NULL NULL 48 NULL +NULL NULL NULL 40 +JIHZKZaNhNR9LYBcRFyxng== PREHOOK: query: SELECT * FROM myinput1 a JOIN myinput1 b ON a.key = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -867,7 +879,10 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -YaI1msgLVpfEx943Tfea/Q== +12 35 NULL NULL +48 NULL NULL NULL +NULL 40 NULL NULL +M3MWtBJdRXSWIJY5Qr/otw== PREHOOK: query: SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.value = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -877,7 +892,10 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -YaI1msgLVpfEx943Tfea/Q== +12 35 NULL NULL +48 NULL NULL NULL +NULL 40 NULL NULL +M3MWtBJdRXSWIJY5Qr/otw== PREHOOK: query: SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.key AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -887,7 +905,10 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -YaI1msgLVpfEx943Tfea/Q== +12 35 NULL NULL +48 NULL NULL NULL +NULL 40 NULL NULL +M3MWtBJdRXSWIJY5Qr/otw== PREHOOK: query: SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.key and a.value=b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -897,7 +918,10 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -YaI1msgLVpfEx943Tfea/Q== +12 35 NULL NULL +48 NULL NULL NULL +NULL 40 NULL NULL +M3MWtBJdRXSWIJY5Qr/otw== PREHOOK: query: SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -907,7 +931,10 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -YaI1msgLVpfEx943Tfea/Q== +NULL NULL 12 35 +NULL NULL 48 NULL +NULL NULL NULL 40 +LNZKrcVNAvaeDALnsg72bw== PREHOOK: query: SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key = b.key AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -917,7 +944,10 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -YaI1msgLVpfEx943Tfea/Q== +NULL NULL 12 35 +NULL NULL 48 NULL +NULL NULL NULL 40 +LNZKrcVNAvaeDALnsg72bw== PREHOOK: query: SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.value = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -927,7 +957,10 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -YaI1msgLVpfEx943Tfea/Q== +NULL NULL 12 35 +NULL NULL 48 NULL +NULL NULL NULL 40 +LNZKrcVNAvaeDALnsg72bw== PREHOOK: query: SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key=b.key and a.value = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -937,7 +970,10 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -YaI1msgLVpfEx943Tfea/Q== +NULL NULL 12 35 +NULL NULL 48 NULL +NULL NULL NULL 40 +LNZKrcVNAvaeDALnsg72bw== PREHOOK: query: SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.key = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -947,7 +983,13 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -YaI1msgLVpfEx943Tfea/Q== +12 35 NULL NULL +48 NULL NULL NULL +NULL 40 NULL NULL +NULL NULL 12 35 +NULL NULL 48 NULL +NULL NULL NULL 40 +JIHZKZaNhNR9LYBcRFyxng== PREHOOK: query: SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.key = b.key AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -957,7 +999,13 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -YaI1msgLVpfEx943Tfea/Q== +12 35 NULL NULL +48 NULL NULL NULL +NULL 40 NULL NULL +NULL NULL 12 35 +NULL NULL 48 NULL +NULL NULL NULL 40 +JIHZKZaNhNR9LYBcRFyxng== PREHOOK: query: SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.value = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -967,7 +1015,13 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -YaI1msgLVpfEx943Tfea/Q== +12 35 NULL NULL +48 NULL NULL NULL +NULL 40 NULL NULL +NULL NULL 12 35 +NULL NULL 48 NULL +NULL NULL NULL 40 +JIHZKZaNhNR9LYBcRFyxng== PREHOOK: query: SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.value = b.value and a.key=b.key AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -977,7 +1031,13 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -YaI1msgLVpfEx943Tfea/Q== +12 35 NULL NULL +48 NULL NULL NULL +NULL 40 NULL NULL +NULL NULL 12 35 +NULL NULL 48 NULL +NULL NULL NULL 40 +JIHZKZaNhNR9LYBcRFyxng== PREHOOK: query: SELECT * from myinput1 a LEFT OUTER JOIN myinput1 b ON (a.value=b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value) RIGHT OUTER JOIN myinput1 c ON (b.value=c.value AND c.key > 40 AND c.value > 50 AND c.key = c.value AND b.key > 40 AND b.value > 50 AND b.key = b.value) PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -987,7 +1047,10 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 100 100 -WPjT9iK+FjpywFhoiQ0jvw== +NULL NULL NULL NULL 12 35 +NULL NULL NULL NULL 48 NULL +NULL NULL NULL NULL NULL 40 +AzUxen/yR7DlsL00zfSITA== PREHOOK: query: SELECT * from myinput1 a RIGHT OUTER JOIN myinput1 b ON (a.value=b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value) LEFT OUTER JOIN myinput1 c ON (b.value=c.value AND c.key > 40 AND c.value > 50 AND c.key = c.value AND b.key > 40 AND b.value > 50 AND b.key = b.value) PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -997,7 +1060,10 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 100 100 -WPjT9iK+FjpywFhoiQ0jvw== +NULL NULL 12 35 NULL NULL +NULL NULL 48 NULL NULL NULL +NULL NULL NULL 40 NULL NULL +BYad/CYbc/RASCgl63S7Ww== PREHOOK: query: SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b RIGHT OUTER JOIN myinput1 c ON a.value = b.value and b.value = c.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value AND c.key > 40 AND c.value > 50 AND c.key = c.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -1007,7 +1073,10 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 100 100 -WPjT9iK+FjpywFhoiQ0jvw== +NULL NULL NULL NULL 12 35 +NULL NULL NULL NULL 48 NULL +NULL NULL NULL NULL NULL 40 +AzUxen/yR7DlsL00zfSITA== PREHOOK: query: SELECT * from myinput1 a LEFT OUTER JOIN myinput1 b ON (a.value=b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value) RIGHT OUTER JOIN myinput1 c ON (b.key=c.key AND c.key > 40 AND c.value > 50 AND c.key = c.value AND b.key > 40 AND b.value > 50 AND b.key = b.value) PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -1017,7 +1086,10 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 100 100 -WPjT9iK+FjpywFhoiQ0jvw== +NULL NULL NULL NULL 12 35 +NULL NULL NULL NULL 48 NULL +NULL NULL NULL NULL NULL 40 +AzUxen/yR7DlsL00zfSITA== PREHOOK: query: SELECT * from myinput1 a RIGHT OUTER JOIN myinput1 b ON (a.value=b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value) LEFT OUTER JOIN myinput1 c ON (b.key=c.key AND c.key > 40 AND c.value > 50 AND c.key = c.value AND b.key > 40 AND b.value > 50 AND b.key = b.value) PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -1027,7 +1099,10 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 100 100 -WPjT9iK+FjpywFhoiQ0jvw== +NULL NULL 12 35 NULL NULL +NULL NULL 48 NULL NULL NULL +NULL NULL NULL 40 NULL NULL +BYad/CYbc/RASCgl63S7Ww== PREHOOK: query: SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b RIGHT OUTER JOIN myinput1 c ON a.value = b.value and b.key = c.key AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value AND c.key > 40 AND c.value > 50 AND c.key = c.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -1037,7 +1112,10 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 100 100 -WPjT9iK+FjpywFhoiQ0jvw== +NULL NULL NULL NULL 12 35 +NULL NULL NULL NULL 48 NULL +NULL NULL NULL NULL NULL 40 +AzUxen/yR7DlsL00zfSITA== Warning: Map Join MAPJOIN[15][bigTable=?] in task 'Stage-1:MAPRED' is a cross product PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a JOIN myinput1 b on a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY @@ -1149,7 +1227,10 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -YaI1msgLVpfEx943Tfea/Q== +12 35 NULL NULL +48 NULL NULL NULL +NULL 40 NULL NULL +M3MWtBJdRXSWIJY5Qr/otw== PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.key AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -1159,7 +1240,10 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -YaI1msgLVpfEx943Tfea/Q== +12 35 NULL NULL +48 NULL NULL NULL +NULL 40 NULL NULL +M3MWtBJdRXSWIJY5Qr/otw== PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.value = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -1169,7 +1253,10 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -YaI1msgLVpfEx943Tfea/Q== +12 35 NULL NULL +48 NULL NULL NULL +NULL 40 NULL NULL +M3MWtBJdRXSWIJY5Qr/otw== PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -1179,7 +1266,10 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -YaI1msgLVpfEx943Tfea/Q== +NULL NULL 12 35 +NULL NULL 48 NULL +NULL NULL NULL 40 +LNZKrcVNAvaeDALnsg72bw== PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key = b.key AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -1189,7 +1279,10 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -YaI1msgLVpfEx943Tfea/Q== +NULL NULL 12 35 +NULL NULL 48 NULL +NULL NULL NULL 40 +LNZKrcVNAvaeDALnsg72bw== PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.value = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -1199,7 +1292,10 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -YaI1msgLVpfEx943Tfea/Q== +NULL NULL 12 35 +NULL NULL 48 NULL +NULL NULL NULL 40 +LNZKrcVNAvaeDALnsg72bw== PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input1 b ON a.key = b.key AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@smb_input1 @@ -1301,8 +1397,12 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input1 #### A masked pattern was here #### 100 100 100 100 +148 NULL NULL NULL 200 200 200 200 -fRHAbs52npY0rAF1I1Npfg== +48 NULL NULL NULL +NULL 135 NULL NULL +NULL 35 NULL NULL +t2boI39B33IANcqlsXXA3g== PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a LEFT OUTER JOIN smb_input2 b ON a.key = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@smb_input1 @@ -1314,8 +1414,12 @@ POSTHOOK: Input: default@smb_input1 POSTHOOK: Input: default@smb_input2 #### A masked pattern was here #### 100 100 100 100 +148 NULL NULL NULL 200 200 200 200 -fRHAbs52npY0rAF1I1Npfg== +48 NULL NULL NULL +NULL 135 NULL NULL +NULL 35 NULL NULL +t2boI39B33IANcqlsXXA3g== PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a LEFT OUTER JOIN smb_input2 b ON a.value = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@smb_input2 @@ -1325,8 +1429,12 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input2 #### A masked pattern was here #### 100 100 100 100 +148 NULL NULL NULL 200 200 200 200 -fRHAbs52npY0rAF1I1Npfg== +48 NULL NULL NULL +NULL 135 NULL NULL +NULL 35 NULL NULL +t2boI39B33IANcqlsXXA3g== PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a RIGHT OUTER JOIN smb_input1 b ON a.key = b.key AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@smb_input1 @@ -1337,7 +1445,11 @@ POSTHOOK: Input: default@smb_input1 #### A masked pattern was here #### 100 100 100 100 200 200 200 200 -fRHAbs52npY0rAF1I1Npfg== +NULL NULL 148 NULL +NULL NULL 48 NULL +NULL NULL NULL 135 +NULL NULL NULL 35 +UBr9lyqgsjDFvooMgQlZ9w== PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a RIGHT OUTER JOIN smb_input2 b ON a.key = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@smb_input1 @@ -1350,7 +1462,11 @@ POSTHOOK: Input: default@smb_input2 #### A masked pattern was here #### 100 100 100 100 200 200 200 200 -fRHAbs52npY0rAF1I1Npfg== +NULL NULL 148 NULL +NULL NULL 48 NULL +NULL NULL NULL 135 +NULL NULL NULL 35 +UBr9lyqgsjDFvooMgQlZ9w== PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input2 a RIGHT OUTER JOIN smb_input2 b ON a.value = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@smb_input2 @@ -1361,4 +1477,8 @@ POSTHOOK: Input: default@smb_input2 #### A masked pattern was here #### 100 100 100 100 200 200 200 200 -fRHAbs52npY0rAF1I1Npfg== +NULL NULL 148 NULL +NULL NULL 48 NULL +NULL NULL NULL 135 +NULL NULL NULL 35 +UBr9lyqgsjDFvooMgQlZ9w== http://git-wip-us.apache.org/repos/asf/hive/blob/e084f4d6/ql/src/test/results/clientpositive/mapjoin1.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/mapjoin1.q.out b/ql/src/test/results/clientpositive/mapjoin1.q.out index 207e8c3..ecd4ce0 100644 --- a/ql/src/test/results/clientpositive/mapjoin1.q.out +++ b/ql/src/test/results/clientpositive/mapjoin1.q.out @@ -326,6 +326,9 @@ STAGE PLANS: alias: a Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE HashTable Sink Operator + filter predicates: + 0 + 1 {true} keys: 0 key (type: string) 1 key (type: string) @@ -339,6 +342,9 @@ STAGE PLANS: Map Join Operator condition map: Right Outer Join0 to 1 + filter predicates: + 0 + 1 {true} keys: 0 key (type: string) 1 key (type: string) @@ -408,13 +414,13 @@ STAGE PLANS: TableScan alias: a Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: ((key * 10) < '1000') (type: boolean) - Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE - HashTable Sink Operator - keys: - 0 key (type: string) - 1 key (type: string) + HashTable Sink Operator + filter predicates: + 0 + 1 {((key * 10) < '1000')} + keys: + 0 key (type: string) + 1 key (type: string) Stage: Stage-1 Map Reduce @@ -422,31 +428,31 @@ STAGE PLANS: TableScan alias: b Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: ((key * 10) < '1000') (type: boolean) - Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE - Map Join Operator - condition map: - Right Outer Join0 to 1 - keys: - 0 key (type: string) - 1 key (type: string) - outputColumnNames: _col0, _col1, _col5, _col6 - Statistics: Num rows: 182 Data size: 1939 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col0 (type: string), _col1 (type: string), _col5 (type: string), _col6 (type: string) - outputColumnNames: _col0, _col1, _col2, _col3 - Statistics: Num rows: 182 Data size: 1939 Basic stats: COMPLETE Column stats: NONE - Limit - Number of rows: 10 + Map Join Operator + condition map: + Right Outer Join0 to 1 + filter predicates: + 0 + 1 {((key * 10) < '1000')} + keys: + 0 key (type: string) + 1 key (type: string) + outputColumnNames: _col0, _col1, _col5, _col6 + Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: _col0 (type: string), _col1 (type: string), _col5 (type: string), _col6 (type: string) + outputColumnNames: _col0, _col1, _col2, _col3 + Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE + Limit + Number of rows: 10 + Statistics: Num rows: 10 Data size: 100 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false Statistics: Num rows: 10 Data size: 100 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 10 Data size: 100 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.SequenceFileInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Local Work: Map Reduce Local Work @@ -464,16 +470,16 @@ POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM src a RIGHT OUTER JOIN src b on POSTHOOK: type: QUERY POSTHOOK: Input: default@src #### A masked pattern was here #### +NULL NULL 238 val_238 86 val_86 86 val_86 +NULL NULL 311 val_311 27 val_27 27 val_27 +NULL NULL 165 val_165 +NULL NULL 409 val_409 +NULL NULL 255 val_255 +NULL NULL 278 val_278 98 val_98 98 val_98 98 val_98 98 val_98 -66 val_66 66 val_66 -37 val_37 37 val_37 -37 val_37 37 val_37 -15 val_15 15 val_15 -15 val_15 15 val_15 -82 val_82 82 val_82 PREHOOK: query: EXPLAIN SELECT /*+ MAPJOIN(a) */ * FROM src a RIGHT OUTER JOIN (select key, named_struct('key', key, 'value', value) as kv from src) b on a.key=b.key AND b.kv.key > 200 limit 10 @@ -500,6 +506,9 @@ STAGE PLANS: alias: a Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE HashTable Sink Operator + filter predicates: + 0 + 1 {(_col1.key > 200)} keys: 0 key (type: string) 1 _col0 (type: string) @@ -514,31 +523,31 @@ STAGE PLANS: expressions: key (type: string), named_struct('key',key,'value',value) (type: struct<key:string,value:string>) outputColumnNames: _col0, _col1 Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: (_col1.key > 200) (type: boolean) - Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE - Map Join Operator - condition map: - Right Outer Join0 to 1 - keys: - 0 key (type: string) - 1 _col0 (type: string) - outputColumnNames: _col0, _col1, _col5, _col6 + Map Join Operator + condition map: + Right Outer Join0 to 1 + filter predicates: + 0 + 1 {(_col1.key > 200)} + keys: + 0 key (type: string) + 1 _col0 (type: string) + outputColumnNames: _col0, _col1, _col5, _col6 + Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: _col0 (type: string), _col1 (type: string), _col5 (type: string), _col6 (type: struct<key:string,value:string>) + outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col0 (type: string), _col1 (type: string), _col5 (type: string), _col6 (type: struct<key:string,value:string>) - outputColumnNames: _col0, _col1, _col2, _col3 - Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE - Limit - Number of rows: 10 + Limit + Number of rows: 10 + Statistics: Num rows: 10 Data size: 100 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false Statistics: Num rows: 10 Data size: 100 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 10 Data size: 100 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.SequenceFileInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Local Work: Map Reduce Local Work @@ -560,11 +569,11 @@ POSTHOOK: Input: default@src #### A masked pattern was here #### 238 val_238 238 {"key":"238","value":"val_238"} 238 val_238 238 {"key":"238","value":"val_238"} +NULL NULL 86 {"key":"86","value":"val_86"} 311 val_311 311 {"key":"311","value":"val_311"} 311 val_311 311 {"key":"311","value":"val_311"} 311 val_311 311 {"key":"311","value":"val_311"} +NULL NULL 27 {"key":"27","value":"val_27"} +NULL NULL 165 {"key":"165","value":"val_165"} 409 val_409 409 {"key":"409","value":"val_409"} 409 val_409 409 {"key":"409","value":"val_409"} -409 val_409 409 {"key":"409","value":"val_409"} -255 val_255 255 {"key":"255","value":"val_255"} -255 val_255 255 {"key":"255","value":"val_255"} http://git-wip-us.apache.org/repos/asf/hive/blob/e084f4d6/ql/src/test/results/clientpositive/spark/auto_join_filters.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/spark/auto_join_filters.q.out b/ql/src/test/results/clientpositive/spark/auto_join_filters.q.out index 85b2a32..c00fdf1 100644 --- a/ql/src/test/results/clientpositive/spark/auto_join_filters.q.out +++ b/ql/src/test/results/clientpositive/spark/auto_join_filters.q.out @@ -310,7 +310,7 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 3078400 -Warning: Map Join MAPJOIN[19][bigTable=?] in task 'Stage-1:MAPRED' is a cross product +Warning: Map Join MAPJOIN[16][bigTable=?] in task 'Stage-1:MAPRED' is a cross product PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a LEFT OUTER JOIN myinput1 b on a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -319,8 +319,8 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a L POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 -Warning: Map Join MAPJOIN[19][bigTable=?] in task 'Stage-1:MAPRED' is a cross product +4937935 +Warning: Map Join MAPJOIN[16][bigTable=?] in task 'Stage-1:MAPRED' is a cross product PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a RIGHT OUTER JOIN myinput1 b on a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -329,8 +329,8 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a R POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 -Warning: Shuffle Join JOIN[12][tables = [$hdt$_0, $hdt$_1]] in Work 'Reducer 2' is a cross product +3080335 +Warning: Shuffle Join JOIN[6][tables = [$hdt$_0, $hdt$_1]] in Work 'Reducer 2' is a cross product PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b on a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -339,7 +339,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a F POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4939870 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a JOIN myinput1 b ON a.key = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -384,7 +384,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a L POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4937935 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.value = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -393,7 +393,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a L POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4937935 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.key AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -402,7 +402,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a L POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4937935 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.key and a.value=b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -411,7 +411,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a L POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4937935 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -420,7 +420,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a R POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +3080335 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key = b.key AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -429,7 +429,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a R POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +3080335 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.value = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -438,7 +438,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a R POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +3080335 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key=b.key and a.value = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -447,7 +447,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a R POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +3080335 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.key = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -456,7 +456,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a F POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4939870 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.key = b.key AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -465,7 +465,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a F POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4939870 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.value = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -474,7 +474,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a F POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4939870 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.value = b.value and a.key=b.key AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -483,7 +483,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a F POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4939870 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) from myinput1 a LEFT OUTER JOIN myinput1 b ON (a.value=b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value) RIGHT OUTER JOIN myinput1 c ON (b.value=c.value AND c.key > 40 AND c.value > 50 AND c.key = c.value AND b.key > 40 AND b.value > 50 AND b.key = b.value) PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -501,7 +501,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) from myinput1 a R POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +3080335 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a LEFT OUTER JOIN myinput1 b RIGHT OUTER JOIN myinput1 c ON a.value = b.value and b.value = c.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value AND c.key > 40 AND c.value > 50 AND c.key = c.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -528,7 +528,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) from myinput1 a R POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +3080335 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a LEFT OUTER JOIN myinput1 b RIGHT OUTER JOIN myinput1 c ON a.value = b.value and b.key = c.key AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value AND c.key > 40 AND c.value > 50 AND c.key = c.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1
