diff --git cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java index 27b8504..428f6e8 100644 --- cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java +++ cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java @@ -50,6 +50,7 @@ import org.apache.hadoop.hive.common.LogUtils; import org.apache.hadoop.hive.common.LogUtils.LogInitializationException; import org.apache.hadoop.hive.common.io.CachingPrintStream; +import org.apache.hadoop.hive.common.io.FetchConverter; import org.apache.hadoop.hive.conf.HiveConf; import org.apache.hadoop.hive.metastore.api.FieldSchema; import org.apache.hadoop.hive.ql.CommandNeedRetryException; @@ -282,6 +283,9 @@ int processLocalCmd(String cmd, CommandProcessor proc, CliSessionState ss) { // print the results int counter = 0; try { + if (out instanceof FetchConverter) { + ((FetchConverter)out).fetchStarted(); + } while (qp.getResults(res)) { for (String r : res) { out.println(r); @@ -304,6 +308,10 @@ int processLocalCmd(String cmd, CommandProcessor proc, CliSessionState ss) { ret = cret; } + if (out instanceof FetchConverter) { + ((FetchConverter)out).fetchFinished(); + } + console.printInfo("Time taken: " + timeTaken + " seconds" + (counter == 0 ? "" : ", Fetched: " + counter + " row(s)")); } else { diff --git common/src/java/org/apache/hadoop/hive/common/io/DigestPrintStream.java common/src/java/org/apache/hadoop/hive/common/io/DigestPrintStream.java new file mode 100644 index 0000000..cd8187f --- /dev/null +++ common/src/java/org/apache/hadoop/hive/common/io/DigestPrintStream.java @@ -0,0 +1,28 @@ +package org.apache.hadoop.hive.common.io; + +import org.apache.commons.codec.binary.Base64; + +import java.io.OutputStream; +import java.security.MessageDigest; + +public class DigestPrintStream extends FetchConverter { + + private final MessageDigest digest; + + public DigestPrintStream(OutputStream out, String encoding) throws Exception { + super(out, false, encoding); + this.digest = MessageDigest.getInstance("MD5"); + } + + @Override + protected void process(String out) { + digest.update(out.getBytes()); + } + + @Override + public void processFinal() { + printDirect(new String(Base64.encodeBase64(digest.digest()))); + digest.reset(); + } +} + diff --git common/src/java/org/apache/hadoop/hive/common/io/FetchConverter.java common/src/java/org/apache/hadoop/hive/common/io/FetchConverter.java new file mode 100644 index 0000000..8bf3714 --- /dev/null +++ common/src/java/org/apache/hadoop/hive/common/io/FetchConverter.java @@ -0,0 +1,77 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.hadoop.hive.common.io; + +import java.io.OutputStream; +import java.io.PrintStream; +import java.io.UnsupportedEncodingException; + +public abstract class FetchConverter extends PrintStream { + + protected volatile boolean queryfound; + protected volatile boolean fetchStarted; + + public FetchConverter(OutputStream out, boolean autoFlush, String encoding) + throws UnsupportedEncodingException { + super(out, autoFlush, encoding); + } + + public void foundQuery(boolean queryfound) { + this.queryfound = queryfound; + } + + public void fetchStarted() { + fetchStarted = true; + } + + public void println(String out) { + if (byPass()) { + printDirect(out); + } else { + process(out); + } + } + + protected final void printDirect(String out) { + super.println(out); + } + + protected final boolean byPass() { + return !queryfound || !fetchStarted; + } + + protected abstract void process(String out); + + protected abstract void processFinal(); + + @Override + public void flush() { + if (byPass()) { + super.flush(); + } + } + + public void fetchFinished() { + if (!byPass()) { + processFinal(); + } + super.flush(); + fetchStarted = false; + } +} diff --git common/src/java/org/apache/hadoop/hive/common/io/SortAndDigestPrintStream.java common/src/java/org/apache/hadoop/hive/common/io/SortAndDigestPrintStream.java new file mode 100644 index 0000000..09cc80e --- /dev/null +++ common/src/java/org/apache/hadoop/hive/common/io/SortAndDigestPrintStream.java @@ -0,0 +1,44 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.hadoop.hive.common.io; + +import org.apache.commons.codec.binary.Base64; + +import java.io.OutputStream; +import java.security.MessageDigest; + +public class SortAndDigestPrintStream extends SortPrintStream { + + private final MessageDigest digest; + + public SortAndDigestPrintStream(OutputStream out, String encoding) throws Exception { + super(out, encoding); + this.digest = MessageDigest.getInstance("MD5"); + } + + @Override + public void processFinal() { + while (!outputs.isEmpty()) { + digest.update(outputs.removeFirst().getBytes()); + } + printDirect(new String(Base64.encodeBase64(digest.digest()))); + digest.reset(); + } +} + diff --git common/src/java/org/apache/hadoop/hive/common/io/SortPrintStream.java common/src/java/org/apache/hadoop/hive/common/io/SortPrintStream.java new file mode 100644 index 0000000..236dc93 --- /dev/null +++ common/src/java/org/apache/hadoop/hive/common/io/SortPrintStream.java @@ -0,0 +1,54 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.hadoop.hive.common.io; + +import com.google.common.collect.MinMaxPriorityQueue; + +import java.io.OutputStream; +import java.util.Comparator; + +public class SortPrintStream extends FetchConverter { + + private static final Comparator STR_COMP = new Comparator() { + @Override + public int compare(String o1, String o2) { + return o1.compareTo(o2); + } + }; + + protected final MinMaxPriorityQueue outputs = + MinMaxPriorityQueue.orderedBy(STR_COMP).create(); + + public SortPrintStream(OutputStream out, String encoding) throws Exception { + super(out, false, encoding); + } + + @Override + public void process(String out) { + assert out != null; + outputs.add(out); + } + + @Override + public void processFinal() { + while (!outputs.isEmpty()) { + printDirect(outputs.removeFirst()); + } + } +} diff --git itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java index 18a50a2..1dcce63 100644 --- itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java +++ itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java @@ -21,6 +21,7 @@ import static org.apache.hadoop.hive.metastore.MetaStoreUtils.DEFAULT_DATABASE_NAME; import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; @@ -32,6 +33,7 @@ import java.io.FilenameFilter; import java.io.IOException; import java.io.InputStreamReader; +import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.PrintStream; import java.io.Serializable; @@ -62,6 +64,9 @@ import org.apache.hadoop.hbase.zookeeper.MiniZooKeeperCluster; import org.apache.hadoop.hive.cli.CliDriver; import org.apache.hadoop.hive.cli.CliSessionState; +import org.apache.hadoop.hive.common.io.DigestPrintStream; +import org.apache.hadoop.hive.common.io.SortAndDigestPrintStream; +import org.apache.hadoop.hive.common.io.SortPrintStream; import org.apache.hadoop.hive.common.io.CachingPrintStream; import org.apache.hadoop.hive.conf.HiveConf; import org.apache.hadoop.hive.conf.HiveConf.ConfVars; @@ -100,9 +105,7 @@ import org.apache.zookeeper.ZooKeeper; import org.junit.Assume; -import com.google.common.collect.Collections2; import com.google.common.collect.ImmutableList; -import com.google.common.collect.Ordering; /** * QTestUtil. @@ -120,6 +123,9 @@ private final TreeMap qMap; private final Set qSkipSet; private final Set qSortSet; + private final Set qSortQuerySet; + private final Set qHashQuerySet; + private final Set qSortNHashQuerySet; private static final String SORT_SUFFIX = ".sorted"; public static final HashSet srcTables = new HashSet(); private static MiniClusterType clusterType = MiniClusterType.none; @@ -350,6 +356,9 @@ public QTestUtil(String outDir, String logDir, MiniClusterType clusterType, qMap = new TreeMap(); qSkipSet = new HashSet(); qSortSet = new HashSet(); + qSortQuerySet = new HashSet(); + qHashQuerySet = new HashSet(); + qSortNHashQuerySet = new HashSet(); this.clusterType = clusterType; HadoopShims shims = ShimLoader.getHadoopShims(); @@ -443,15 +452,24 @@ public void addFile(File qf, boolean partial) throws IOException { qSkipSet.add(qf.getName()); } - if (checkNeedsSort(qf.getName(), query)) { + if (matches(SORT_BEFORE_DIFF, query)) { qSortSet.add(qf.getName()); + } else if (matches(SORT_QUERY_RESULTS, query)) { + qSortQuerySet.add(qf.getName()); + } else if (matches(HASH_QUERY_RESULTS, query)) { + qHashQuerySet.add(qf.getName()); + } else if (matches(SORT_AND_HASH_QUERY_RESULTS, query)) { + qSortNHashQuerySet.add(qf.getName()); } } - private boolean checkNeedsSort(String fileName, String query) { - Pattern pattern = Pattern.compile("-- SORT_BEFORE_DIFF"); - Matcher matcher = pattern.matcher(query); + private static final Pattern SORT_BEFORE_DIFF = Pattern.compile("-- SORT_BEFORE_DIFF"); + private static final Pattern SORT_QUERY_RESULTS = Pattern.compile("-- SORT_QUERY_RESULTS"); + private static final Pattern HASH_QUERY_RESULTS = Pattern.compile("-- HASH_QUERY_RESULTS"); + private static final Pattern SORT_AND_HASH_QUERY_RESULTS = Pattern.compile("-- SORT_AND_HASH_QUERY_RESULTS"); + private boolean matches(Pattern pattern, String query) { + Matcher matcher = pattern.matcher(query); if (matcher.find()) { return true; } @@ -850,10 +868,17 @@ public String cliInit(String tname, boolean recreate) throws Exception { stdoutName = tname + ".out"; } - File outf = new File(logDir); - outf = new File(outf, stdoutName); - FileOutputStream fo = new FileOutputStream(outf); - ss.out = new PrintStream(fo, true, "UTF-8"); + File outf = new File(logDir, stdoutName); + OutputStream fo = new BufferedOutputStream(new FileOutputStream(outf)); + if (qSortQuerySet.contains(tname)) { + ss.out = new SortPrintStream(fo, "UTF-8"); + } else if (qHashQuerySet.contains(tname)) { + ss.out = new DigestPrintStream(fo, "UTF-8"); + } else if (qSortNHashQuerySet.contains(tname)) { + ss.out = new SortAndDigestPrintStream(fo, "UTF-8"); + } else { + ss.out = new PrintStream(fo, true, "UTF-8"); + } ss.err = new CachingPrintStream(fo, true, "UTF-8"); ss.setIsSilent(true); SessionState oldSs = SessionState.get(); diff --git ql/src/java/org/apache/hadoop/hive/ql/QueryPlan.java ql/src/java/org/apache/hadoop/hive/ql/QueryPlan.java index 6b31824..c94674b 100644 --- ql/src/java/org/apache/hadoop/hive/ql/QueryPlan.java +++ ql/src/java/org/apache/hadoop/hive/ql/QueryPlan.java @@ -38,6 +38,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.hadoop.hive.ql.exec.ConditionalTask; +import org.apache.hadoop.hive.ql.exec.ExplainTask; import org.apache.hadoop.hive.ql.exec.FetchTask; import org.apache.hadoop.hive.ql.exec.Operator; import org.apache.hadoop.hive.ql.exec.Task; @@ -650,6 +651,10 @@ public void setRootTasks(ArrayList> rootTasks) { this.rootTasks = rootTasks; } + public boolean isForExplain() { + return rootTasks.size() == 1 && rootTasks.get(0) instanceof ExplainTask; + } + public FetchTask getFetchTask() { return fetchTask; } diff --git ql/src/java/org/apache/hadoop/hive/ql/hooks/PreExecutePrinter.java ql/src/java/org/apache/hadoop/hive/ql/hooks/PreExecutePrinter.java index acde2f6..b5a26d8 100644 --- ql/src/java/org/apache/hadoop/hive/ql/hooks/PreExecutePrinter.java +++ ql/src/java/org/apache/hadoop/hive/ql/hooks/PreExecutePrinter.java @@ -23,7 +23,9 @@ import java.util.List; import java.util.Set; +import org.apache.hadoop.hive.common.io.FetchConverter; import org.apache.hadoop.hive.ql.hooks.HookContext.HookType; +import org.apache.hadoop.hive.ql.plan.HiveOperation; import org.apache.hadoop.hive.ql.session.SessionState; import org.apache.hadoop.hive.ql.session.SessionState.LogHelper; import org.apache.hadoop.security.UserGroupInformation; @@ -38,6 +40,12 @@ public void run(HookContext hookContext) throws Exception { assert(hookContext.getHookType() == HookType.PRE_EXEC_HOOK); SessionState ss = SessionState.get(); + if (ss != null && ss.out instanceof FetchConverter) { + boolean foundQuery = ss.getHiveOperation() == HiveOperation.QUERY && + !hookContext.getQueryPlan().isForExplain(); + ((FetchConverter)ss.out).foundQuery(foundQuery); + } + Set inputs = hookContext.getInputs(); Set outputs = hookContext.getOutputs(); UserGroupInformation ugi = hookContext.getUgi(); diff --git ql/src/test/queries/clientpositive/alter_char1.q ql/src/test/queries/clientpositive/alter_char1.q index 4ecb7e7..d391138 100644 --- ql/src/test/queries/clientpositive/alter_char1.q +++ ql/src/test/queries/clientpositive/alter_char1.q @@ -1,32 +1,34 @@ +-- SORT_QUERY_RESULTS + drop table alter_char_1; create table alter_char_1 (key string, value string); insert overwrite table alter_char_1 select key, value from src order by key limit 5; -select * from alter_char_1 order by key; +select * from alter_char_1; -- change column to char alter table alter_char_1 change column value value char(20); -- contents should still look the same -select * from alter_char_1 order by key; +select * from alter_char_1; -- change column to smaller char alter table alter_char_1 change column value value char(3); -- value column should be truncated now -select * from alter_char_1 order by key; +select * from alter_char_1; -- change back to bigger char alter table alter_char_1 change column value value char(20); -- column values should be full size again -select * from alter_char_1 order by key; +select * from alter_char_1; -- add char column alter table alter_char_1 add columns (key2 int, value2 char(10)); -select * from alter_char_1 order by key; +select * from alter_char_1; insert overwrite table alter_char_1 select key, value, key, value from src order by key limit 5; -select * from alter_char_1 order by key; +select * from alter_char_1; drop table alter_char_1; diff --git ql/src/test/queries/clientpositive/alter_varchar1.q ql/src/test/queries/clientpositive/alter_varchar1.q index 781cbda..6f644a0 100644 --- ql/src/test/queries/clientpositive/alter_varchar1.q +++ ql/src/test/queries/clientpositive/alter_varchar1.q @@ -1,32 +1,34 @@ +-- SORT_QUERY_RESULTS + drop table alter_varchar_1; create table alter_varchar_1 (key string, value string); insert overwrite table alter_varchar_1 select key, value from src order by key limit 5; -select * from alter_varchar_1 order by key; +select * from alter_varchar_1; -- change column to varchar alter table alter_varchar_1 change column value value varchar(20); -- contents should still look the same -select * from alter_varchar_1 order by key; +select * from alter_varchar_1; -- change column to smaller varchar alter table alter_varchar_1 change column value value varchar(3); -- value column should be truncated now -select * from alter_varchar_1 order by key; +select * from alter_varchar_1; -- change back to bigger varchar alter table alter_varchar_1 change column value value varchar(20); -- column values should be full size again -select * from alter_varchar_1 order by key; +select * from alter_varchar_1; -- add varchar column alter table alter_varchar_1 add columns (key2 int, value2 varchar(10)); -select * from alter_varchar_1 order by key; +select * from alter_varchar_1; insert overwrite table alter_varchar_1 select key, value, key, value from src order by key limit 5; -select * from alter_varchar_1 order by key; +select * from alter_varchar_1; drop table alter_varchar_1; diff --git ql/src/test/queries/clientpositive/auto_join26.q ql/src/test/queries/clientpositive/auto_join26.q index 16fbfe6..dc09ff7 100644 --- ql/src/test/queries/clientpositive/auto_join26.q +++ ql/src/test/queries/clientpositive/auto_join26.q @@ -1,3 +1,5 @@ +--SORT_QUERY_RESULTS + CREATE TABLE dest_j1(key INT, cnt INT); set hive.auto.convert.join = true; EXPLAIN @@ -7,4 +9,4 @@ SELECT x.key, count(1) FROM src1 x JOIN src y ON (x.key = y.key) group by x.key; INSERT OVERWRITE TABLE dest_j1 SELECT x.key, count(1) FROM src1 x JOIN src y ON (x.key = y.key) group by x.key; -select * from dest_j1 x order by x.key; +select * from dest_j1; diff --git ql/src/test/queries/clientpositive/auto_smb_mapjoin_14.q ql/src/test/queries/clientpositive/auto_smb_mapjoin_14.q index 5911c49..699777e 100644 --- ql/src/test/queries/clientpositive/auto_smb_mapjoin_14.q +++ ql/src/test/queries/clientpositive/auto_smb_mapjoin_14.q @@ -2,6 +2,8 @@ set hive.enforce.bucketing = true; set hive.enforce.sorting = true; set hive.exec.reducers.max = 1; +-- SORT_QUERY_RESULTS + CREATE TABLE tbl1(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; CREATE TABLE tbl2(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; @@ -64,8 +66,7 @@ join select a.key as key, a.value as val1, b.value as val2 from tbl1 a join tbl2 b on a.key = b.key ) subq2 group by key ) src2 -on src1.key = src2.key -order by src1.key, src1.cnt1, src2.cnt1; +on src1.key = src2.key; select src1.key, src1.cnt1, src2.cnt1 from ( @@ -81,8 +82,7 @@ join select a.key as key, a.value as val1, b.value as val2 from tbl1 a join tbl2 b on a.key = b.key ) subq2 group by key ) src2 -on src1.key = src2.key -order by src1.key, src1.cnt1, src2.cnt1; +on src1.key = src2.key; -- The subquery itself is being joined. Since the sub-query only contains selects and filters, it should -- be converted to a sort-merge join. @@ -271,8 +271,8 @@ from ( insert overwrite table dest1 select key, val1 insert overwrite table dest2 select key, val1, val2; -select * from dest1 order by key, value; -select * from dest2 order by key, val1, val2; +select * from dest1; +select * from dest2; DROP TABLE dest2; CREATE TABLE dest2(key int, cnt int); @@ -292,5 +292,5 @@ from ( insert overwrite table dest1 select key, val1 insert overwrite table dest2 select key, count(*) group by key; -select * from dest1 order by key, value; -select * from dest2 order by key; +select * from dest1; +select * from dest2; diff --git ql/src/test/queries/clientpositive/auto_sortmerge_join_13.q ql/src/test/queries/clientpositive/auto_sortmerge_join_13.q index 28bbc2d..096c890 100644 --- ql/src/test/queries/clientpositive/auto_sortmerge_join_13.q +++ ql/src/test/queries/clientpositive/auto_sortmerge_join_13.q @@ -2,6 +2,8 @@ set hive.enforce.bucketing = true; set hive.enforce.sorting = true; set hive.exec.reducers.max = 1; +-- SORT_QUERY_RESULTS + CREATE TABLE tbl1(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; CREATE TABLE tbl2(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; @@ -35,8 +37,8 @@ from ( INSERT OVERWRITE TABLE dest1 select key1, key2 INSERT OVERWRITE TABLE dest2 select value1, value2; -select * from dest1 order by k1, k2; -select * from dest2 order by k1, k2; +select * from dest1; +select * from dest2; set hive.auto.convert.join.noconditionaltask=true; set hive.auto.convert.join.noconditionaltask.size=200; @@ -57,8 +59,8 @@ from ( INSERT OVERWRITE TABLE dest1 select key1, key2 INSERT OVERWRITE TABLE dest2 select value1, value2; -select * from dest1 order by k1, k2; -select * from dest2 order by k1, k2; +select * from dest1; +select * from dest2; set hive.auto.convert.sortmerge.join.to.mapjoin=true; -- A SMB join followed by a mutli-insert @@ -77,5 +79,5 @@ from ( INSERT OVERWRITE TABLE dest1 select key1, key2 INSERT OVERWRITE TABLE dest2 select value1, value2; -select * from dest1 order by k1, k2; -select * from dest2 order by k1, k2; +select * from dest1; +select * from dest2; diff --git ql/src/test/queries/clientpositive/auto_sortmerge_join_9.q ql/src/test/queries/clientpositive/auto_sortmerge_join_9.q index ef63dfe..e3766e7 100644 --- ql/src/test/queries/clientpositive/auto_sortmerge_join_9.q +++ ql/src/test/queries/clientpositive/auto_sortmerge_join_9.q @@ -2,6 +2,8 @@ set hive.enforce.bucketing = true; set hive.enforce.sorting = true; set hive.exec.reducers.max = 1; +-- SORT_QUERY_RESULTS + CREATE TABLE tbl1(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; CREATE TABLE tbl2(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; @@ -27,21 +29,18 @@ select count(*) from ( ) subq1; -- The join is being performed as part of sub-query. It should be converted to a sort-merge join --- Add a order by at the end to make the results deterministic. explain select key, count(*) from ( select a.key as key, a.value as val1, b.value as val2 from tbl1 a join tbl2 b on a.key = b.key ) subq1 -group by key -order by key; +group by key; select key, count(*) from ( select a.key as key, a.value as val1, b.value as val2 from tbl1 a join tbl2 b on a.key = b.key ) subq1 -group by key -order by key; +group by key; -- The join is being performed as part of more than one sub-query. It should be converted to a sort-merge join explain @@ -80,8 +79,7 @@ join select a.key as key, a.value as val1, b.value as val2 from tbl1 a join tbl2 b on a.key = b.key ) subq2 group by key ) src2 -on src1.key = src2.key -order by src1.key, src1.cnt1, src2.cnt1; +on src1.key = src2.key; select src1.key, src1.cnt1, src2.cnt1 from ( @@ -97,8 +95,7 @@ join select a.key as key, a.value as val1, b.value as val2 from tbl1 a join tbl2 b on a.key = b.key ) subq2 group by key ) src2 -on src1.key = src2.key -order by src1.key, src1.cnt1, src2.cnt1; +on src1.key = src2.key; -- The subquery itself is being joined. Since the sub-query only contains selects and filters, it should -- be converted to a sort-merge join. @@ -295,21 +292,18 @@ select count(*) from ( ) subq1; -- The join is being performed as part of sub-query. It should be converted to a sort-merge join --- Add a order by at the end to make the results deterministic. explain select key, count(*) from ( select a.key as key, a.value as val1, b.value as val2 from tbl1 a join tbl2 b on a.key = b.key ) subq1 -group by key -order by key; +group by key; select key, count(*) from ( select a.key as key, a.value as val1, b.value as val2 from tbl1 a join tbl2 b on a.key = b.key ) subq1 -group by key -order by key; +group by key; -- The join is being performed as part of more than one sub-query. It should be converted to a sort-merge join explain @@ -348,8 +342,7 @@ join select a.key as key, a.value as val1, b.value as val2 from tbl1 a join tbl2 b on a.key = b.key ) subq2 group by key ) src2 -on src1.key = src2.key -order by src1.key, src1.cnt1, src2.cnt1; +on src1.key = src2.key; select src1.key, src1.cnt1, src2.cnt1 from ( @@ -365,8 +358,7 @@ join select a.key as key, a.value as val1, b.value as val2 from tbl1 a join tbl2 b on a.key = b.key ) subq2 group by key ) src2 -on src1.key = src2.key -order by src1.key, src1.cnt1, src2.cnt1; +on src1.key = src2.key; -- The subquery itself is being joined. Since the sub-query only contains selects and filters, it should -- be converted to a sort-merge join. diff --git ql/src/test/queries/clientpositive/avro_evolved_schemas.q ql/src/test/queries/clientpositive/avro_evolved_schemas.q index f723cbc..59cb210 100644 --- ql/src/test/queries/clientpositive/avro_evolved_schemas.q +++ ql/src/test/queries/clientpositive/avro_evolved_schemas.q @@ -1,3 +1,5 @@ +-- SORT_QUERY_RESULTS + -- verify that new fields in schema get propagated to table scans CREATE TABLE doctors_with_new_field ROW FORMAT @@ -38,5 +40,5 @@ DESCRIBE doctors_with_new_field; LOAD DATA LOCAL INPATH '../../data/files/doctors.avro' INTO TABLE doctors_with_new_field; -SELECT * FROM doctors_with_new_field ORDER BY first_name; +SELECT * FROM doctors_with_new_field; diff --git ql/src/test/queries/clientpositive/avro_joins.q ql/src/test/queries/clientpositive/avro_joins.q index 4c33a83..6d79bf1 100644 --- ql/src/test/queries/clientpositive/avro_joins.q +++ ql/src/test/queries/clientpositive/avro_joins.q @@ -1,3 +1,5 @@ +-- SORT_QUERY_RESULTS + -- verify that new joins bring in correct schemas (including evolved schemas) CREATE TABLE doctors4 @@ -73,7 +75,6 @@ DESCRIBE episodes; LOAD DATA LOCAL INPATH '../../data/files/episodes.avro' INTO TABLE episodes; SELECT e.title, e.air_date, d.first_name, d.last_name, d.extra_field, e.air_date -FROM doctors4 d JOIN episodes e ON (d.number=e.doctor) -ORDER BY d.last_name, e.title; +FROM doctors4 d JOIN episodes e ON (d.number=e.doctor); diff --git ql/src/test/queries/clientpositive/avro_partitioned.q ql/src/test/queries/clientpositive/avro_partitioned.q index 068a13c..ac5dba7 100644 --- ql/src/test/queries/clientpositive/avro_partitioned.q +++ ql/src/test/queries/clientpositive/avro_partitioned.q @@ -1,3 +1,5 @@ +-- SORT_QUERY_RESULTS + -- verify that new joins bring in correct schemas (including evolved schemas) CREATE TABLE episodes ROW FORMAT @@ -63,7 +65,7 @@ TBLPROPERTIES ('avro.schema.literal'='{ SET hive.exec.dynamic.partition.mode=nonstrict; INSERT OVERWRITE TABLE episodes_partitioned PARTITION (doctor_pt) SELECT title, air_date, doctor, doctor as doctor_pt FROM episodes; -SELECT * FROM episodes_partitioned WHERE doctor_pt > 6 ORDER BY air_date; +SELECT * FROM episodes_partitioned WHERE doctor_pt > 6; -- Verify that Fetch works in addition to Map SELECT * FROM episodes_partitioned LIMIT 5; diff --git ql/src/test/queries/clientpositive/avro_sanity_test.q ql/src/test/queries/clientpositive/avro_sanity_test.q index dbb9995..59e914b 100644 --- ql/src/test/queries/clientpositive/avro_sanity_test.q +++ ql/src/test/queries/clientpositive/avro_sanity_test.q @@ -1,3 +1,5 @@ +-- SORT_QUERY_RESULTS + -- verify that we can actually read avro files CREATE TABLE doctors ROW FORMAT @@ -32,5 +34,5 @@ DESCRIBE doctors; LOAD DATA LOCAL INPATH '../../data/files/doctors.avro' INTO TABLE doctors; -SELECT * FROM doctors ORDER BY number; +SELECT * FROM doctors; diff --git ql/src/test/queries/clientpositive/ba_table1.q ql/src/test/queries/clientpositive/ba_table1.q index 6587f2e..fe687e6 100644 --- ql/src/test/queries/clientpositive/ba_table1.q +++ ql/src/test/queries/clientpositive/ba_table1.q @@ -1,3 +1,5 @@ +-- SORT_QUERY_RESULTS + drop table ba_test; -- This query tests a) binary type works correctly in grammar b) string can be cast into binary c) binary can be stored in a table d) binary data can be loaded back again and queried d) order-by on a binary key @@ -8,6 +10,6 @@ describe extended ba_test; from src insert overwrite table ba_test select cast (src.key as binary), cast (src.value as binary); -select ba_key,ba_val from ba_test order by ba_key limit 10; +select * from ba_test tablesample (10 rows); drop table ba_test; diff --git ql/src/test/queries/clientpositive/ba_table2.q ql/src/test/queries/clientpositive/ba_table2.q index d3c3e08..1746091 100644 --- ql/src/test/queries/clientpositive/ba_table2.q +++ ql/src/test/queries/clientpositive/ba_table2.q @@ -1,3 +1,5 @@ +-- SORT_QUERY_RESULTS + drop table ba_test; -- All the test in ba_test1.q + using LazyBinarySerde instead of LazySimpleSerde @@ -9,7 +11,7 @@ describe extended ba_test; from src insert overwrite table ba_test select cast (src.key as binary), cast (src.value as binary); -select ba_key, ba_val from ba_test order by ba_val limit 10; +select * from ba_test tablesample (10 rows); drop table ba_test; diff --git ql/src/test/queries/clientpositive/ba_table_udfs.q ql/src/test/queries/clientpositive/ba_table_udfs.q index 7a3d3f7..7d952db 100644 --- ql/src/test/queries/clientpositive/ba_table_udfs.q +++ ql/src/test/queries/clientpositive/ba_table_udfs.q @@ -1,3 +1,5 @@ +-- SORT_QUERY_RESULTS + USE default; CREATE TABLE dest1(bytes1 BINARY, @@ -32,5 +34,4 @@ SELECT UNBASE64(BASE64(bytes1)), HEX(ENCODE(string, 'US-ASCII')), DECODE(ENCODE(string, 'US-ASCII'), 'US-ASCII') -FROM dest1 -ORDER BY bytes2; +FROM dest1; diff --git ql/src/test/queries/clientpositive/bucket1.q ql/src/test/queries/clientpositive/bucket1.q index ca9b902..0154b4e 100644 --- ql/src/test/queries/clientpositive/bucket1.q +++ ql/src/test/queries/clientpositive/bucket1.q @@ -1,6 +1,8 @@ set hive.enforce.bucketing = true; set hive.exec.reducers.max = 200; +-- SORT_QUERY_RESULTS + CREATE TABLE bucket1_1(key int, value string) CLUSTERED BY (key) INTO 100 BUCKETS; explain extended @@ -10,4 +12,4 @@ select * from src; insert overwrite table bucket1_1 select * from src; -select * from bucket1_1 order by key; +select * from bucket1_1; diff --git ql/src/test/queries/clientpositive/bucket2.q ql/src/test/queries/clientpositive/bucket2.q index d4bddf7..f9f1627 100644 --- ql/src/test/queries/clientpositive/bucket2.q +++ ql/src/test/queries/clientpositive/bucket2.q @@ -1,6 +1,8 @@ set hive.enforce.bucketing = true; set hive.exec.reducers.max = 1; +-- SORT_QUERY_RESULTS + CREATE TABLE bucket2_1(key int, value string) CLUSTERED BY (key) INTO 2 BUCKETS; explain extended @@ -11,6 +13,6 @@ insert overwrite table bucket2_1 select * from src; explain -select * from bucket2_1 tablesample (bucket 1 out of 2) s order by key; +select * from bucket2_1 tablesample (bucket 1 out of 2) s; -select * from bucket2_1 tablesample (bucket 1 out of 2) s order by key; +select * from bucket2_1 tablesample (bucket 1 out of 2) s; diff --git ql/src/test/queries/clientpositive/bucket3.q ql/src/test/queries/clientpositive/bucket3.q index d891b90..b0f89c8 100644 --- ql/src/test/queries/clientpositive/bucket3.q +++ ql/src/test/queries/clientpositive/bucket3.q @@ -1,6 +1,8 @@ set hive.enforce.bucketing = true; set hive.exec.reducers.max = 1; +-- SORT_QUERY_RESULTS + CREATE TABLE bucket3_1(key int, value string) partitioned by (ds string) CLUSTERED BY (key) INTO 2 BUCKETS; explain extended @@ -14,6 +16,6 @@ insert overwrite table bucket3_1 partition (ds='2') select * from src; explain -select * from bucket3_1 tablesample (bucket 1 out of 2) s where ds = '1' order by key; +select * from bucket3_1 tablesample (bucket 1 out of 2) s where ds = '1'; -select * from bucket3_1 tablesample (bucket 1 out of 2) s where ds = '1' order by key; +select * from bucket3_1 tablesample (bucket 1 out of 2) s where ds = '1'; diff --git ql/src/test/queries/clientpositive/bucketmapjoin6.q ql/src/test/queries/clientpositive/bucketmapjoin6.q index 2998d7c..d879b09 100644 --- ql/src/test/queries/clientpositive/bucketmapjoin6.q +++ ql/src/test/queries/clientpositive/bucketmapjoin6.q @@ -1,3 +1,5 @@ +-- SORT_QUERY_RESULTS + set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; create table tmp1 (a string, b string) clustered by (a) sorted by (a) into 10 buckets; @@ -22,4 +24,4 @@ insert overwrite table tmp3 select /*+ MAPJOIN(l) */ i.a, i.b, l.b from tmp1 i join tmp2 l ON i.a = l.a; -select * from tmp3 order by a, b, c; +select * from tmp3; diff --git ql/src/test/queries/clientpositive/char_1.q ql/src/test/queries/clientpositive/char_1.q index 840a84a..e617a49 100644 --- ql/src/test/queries/clientpositive/char_1.q +++ ql/src/test/queries/clientpositive/char_1.q @@ -1,3 +1,5 @@ +-- SORT_QUERY_RESULTS + drop table char1; drop table char1_1; @@ -11,22 +13,22 @@ select * from char1 order by key, value limit 2; -- insert overwrite, from same/different length char insert overwrite table char1 select cast(key as char(10)), cast(value as char(15)) from src order by key, value limit 2; -select key, value from char1 order by key, value; +select key, value from char1; -- insert overwrite, from string insert overwrite table char1 select key, value from src order by key, value limit 2; -select key, value from char1 order by key, value; +select key, value from char1; -- insert string from char insert overwrite table char1_1 select key, value from char1 order by key, value limit 2; -select key, value from char1_1 order by key, value; +select key, value from char1_1; -- respect string length insert overwrite table char1 select key, cast(value as char(3)) from src order by key, value limit 2; -select key, value from char1 order by key, value; +select key, value from char1; drop table char1; drop table char1_1; diff --git ql/src/test/queries/clientpositive/char_join1.q ql/src/test/queries/clientpositive/char_join1.q index 373352d..b8699e3 100644 --- ql/src/test/queries/clientpositive/char_join1.q +++ ql/src/test/queries/clientpositive/char_join1.q @@ -1,3 +1,5 @@ +-- SORT_QUERY_RESULTS + drop table char_join1_ch1; drop table char_join1_ch2; drop table char_join1_str; @@ -22,13 +24,13 @@ load data local inpath '../../data/files/vc1.txt' into table char_join1_ch2; load data local inpath '../../data/files/vc1.txt' into table char_join1_str; -- Join char with same length char -select * from char_join1_ch1 a join char_join1_ch1 b on (a.c2 = b.c2) order by a.c1; +select * from char_join1_ch1 a join char_join1_ch1 b on (a.c2 = b.c2); -- Join char with different length char -select * from char_join1_ch1 a join char_join1_ch2 b on (a.c2 = b.c2) order by a.c1; +select * from char_join1_ch1 a join char_join1_ch2 b on (a.c2 = b.c2); -- Join char with string -select * from char_join1_ch1 a join char_join1_str b on (a.c2 = b.c2) order by a.c1; +select * from char_join1_ch1 a join char_join1_str b on (a.c2 = b.c2); drop table char_join1_ch1; drop table char_join1_ch2; diff --git ql/src/test/queries/clientpositive/column_access_stats.q ql/src/test/queries/clientpositive/column_access_stats.q index fbf8bba..f5f0e5d 100644 --- ql/src/test/queries/clientpositive/column_access_stats.q +++ ql/src/test/queries/clientpositive/column_access_stats.q @@ -1,6 +1,7 @@ SET hive.exec.post.hooks=org.apache.hadoop.hive.ql.hooks.CheckColumnAccessHook; SET hive.stats.collect.scancols=true; +-- SORT_QUERY_RESULTS -- This test is used for testing the ColumnAccessAnalyzer CREATE TABLE T1(key STRING, val STRING) STORED AS TEXTFILE; @@ -11,20 +12,20 @@ CREATE TABLE T3(key STRING, val STRING) STORED AS TEXTFILE; CREATE TABLE T4(key STRING, val STRING) PARTITIONED BY (p STRING); -- Simple select queries -SELECT key FROM T1 ORDER BY key; -SELECT key, val FROM T1 ORDER BY key, val; +SELECT key FROM T1; +SELECT key, val FROM T1; SELECT 1 FROM T1; SELECT key, val from T4 where p=1; SELECT val FROM T4 where p=1; SELECT p, val FROM T4 where p=1; -- More complicated select queries -EXPLAIN SELECT key FROM (SELECT key, val FROM T1) subq1 ORDER BY key; -SELECT key FROM (SELECT key, val FROM T1) subq1 ORDER BY key; -EXPLAIN SELECT k FROM (SELECT key as k, val as v FROM T1) subq1 ORDER BY k; -SELECT k FROM (SELECT key as k, val as v FROM T1) subq1 ORDER BY k; -SELECT key + 1 as k FROM T1 ORDER BY k; -SELECT key + val as k FROM T1 ORDER BY k; +EXPLAIN SELECT key FROM (SELECT key, val FROM T1) subq1; +SELECT key FROM (SELECT key, val FROM T1) subq1; +EXPLAIN SELECT k FROM (SELECT key as k, val as v FROM T1) subq1; +SELECT k FROM (SELECT key as k, val as v FROM T1) subq1; +SELECT key + 1 as k FROM T1; +SELECT key + val as k FROM T1; -- Work with union EXPLAIN @@ -32,26 +33,26 @@ SELECT * FROM ( SELECT key as c FROM T1 UNION ALL SELECT val as c FROM T1 -) subq1 ORDER BY c; +) subq1; SELECT * FROM ( SELECT key as c FROM T1 UNION ALL SELECT val as c FROM T1 -) subq1 ORDER BY c; +) subq1; EXPLAIN SELECT * FROM ( SELECT key as c FROM T1 UNION ALL SELECT key as c FROM T1 -) subq1 ORDER BY c; +) subq1; SELECT * FROM ( SELECT key as c FROM T1 UNION ALL SELECT key as c FROM T1 -) subq1 ORDER BY c; +) subq1; -- Work with insert overwrite FROM T1 @@ -61,42 +62,35 @@ INSERT OVERWRITE TABLE T3 SELECT key, sum(val) GROUP BY key; -- Simple joins SELECT * FROM T1 JOIN T2 -ON T1.key = T2.key -ORDER BY T1.key, T1.val, T2.key, T2.val; +ON T1.key = T2.key ; EXPLAIN SELECT T1.key FROM T1 JOIN T2 -ON T1.key = T2.key -ORDER BY T1.key; +ON T1.key = T2.key; SELECT T1.key FROM T1 JOIN T2 -ON T1.key = T2.key -ORDER BY T1.key; +ON T1.key = T2.key; SELECT * FROM T1 JOIN T2 -ON T1.key = T2.key AND T1.val = T2.val -ORDER BY T1.key, T1.val; +ON T1.key = T2.key AND T1.val = T2.val; -- Map join SELECT /*+ MAPJOIN(a) */ * FROM T1 a JOIN T2 b -ON a.key = b.key -ORDER BY a.key, a.val, b.key, b.val; +ON a.key = b.key; -- More joins EXPLAIN SELECT * FROM T1 JOIN T2 -ON T1.key = T2.key AND T1.val = 3 and T2.val = 3 -ORDER BY T1.key, T1.val; +ON T1.key = T2.key AND T1.val = 3 and T2.val = 3; SELECT * FROM T1 JOIN T2 -ON T1.key = T2.key AND T1.val = 3 and T2.val = 3 -ORDER BY T1.key, T1.val; +ON T1.key = T2.key AND T1.val = 3 and T2.val = 3; EXPLAIN SELECT subq1.val @@ -108,8 +102,7 @@ JOIN ( SELECT val FROM T2 WHERE key = 6 ) subq2 -ON subq1.val = subq2.val -ORDER BY subq1.val; +ON subq1.val = subq2.val; SELECT subq1.val FROM @@ -120,8 +113,7 @@ JOIN ( SELECT val FROM T2 WHERE key = 6 ) subq2 -ON subq1.val = subq2.val -ORDER BY subq1.val; +ON subq1.val = subq2.val; -- Join followed by join EXPLAIN @@ -140,8 +132,7 @@ FROM ON subq1.key = subq2.key ) T4 JOIN T3 -ON T3.key = T4.key -ORDER BY T3.key, T4.key; +ON T3.key = T4.key; SELECT * FROM @@ -158,5 +149,4 @@ FROM ON subq1.key = subq2.key ) T4 JOIN T3 -ON T3.key = T4.key -ORDER BY T3.key, T4.key; +ON T3.key = T4.key; diff --git ql/src/test/queries/clientpositive/columnarserde_create_shortcut.q ql/src/test/queries/clientpositive/columnarserde_create_shortcut.q index 4c3b44a..8d8cb6b 100644 --- ql/src/test/queries/clientpositive/columnarserde_create_shortcut.q +++ ql/src/test/queries/clientpositive/columnarserde_create_shortcut.q @@ -1,3 +1,5 @@ +-- SORT_QUERY_RESULTS + CREATE TABLE columnarserde_create_shortcut(a array, b array, c map, d int, e string) STORED AS RCFILE; EXPLAIN @@ -16,9 +18,9 @@ CREATE table columnShortcutTable (key STRING, value STRING) STORED AS RCFILE; FROM src INSERT OVERWRITE TABLE columnShortcutTable SELECT src.key, src.value LIMIT 10; describe columnShortcutTable; -SELECT columnShortcutTable.* FROM columnShortcutTable ORDER BY key ASC, value ASC; +SELECT * FROM columnShortcutTable; ALTER TABLE columnShortcutTable ADD COLUMNS (c string); -SELECT columnShortcutTable.* FROM columnShortcutTable ORDER BY key ASC, value ASC; +SELECT * FROM columnShortcutTable; ALTER TABLE columnShortcutTable REPLACE COLUMNS (key int); -SELECT columnShortcutTable.* FROM columnShortcutTable ORDER BY key ASC; +SELECT * FROM columnShortcutTable; diff --git ql/src/test/queries/clientpositive/combine1.q ql/src/test/queries/clientpositive/combine1.q index 86abf09..3bcb8b1 100644 --- ql/src/test/queries/clientpositive/combine1.q +++ ql/src/test/queries/clientpositive/combine1.q @@ -7,11 +7,13 @@ set mapred.max.split.size=256; set mapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec; +-- SORT_QUERY_RESULTS + create table combine1_1(key string, value string) stored as textfile; insert overwrite table combine1_1 select * from src; -select key, value from combine1_1 ORDER BY key ASC, value ASC; +select key, value from combine1_1; diff --git ql/src/test/queries/clientpositive/combine2.q ql/src/test/queries/clientpositive/combine2.q index cfd9856..615986d 100644 --- ql/src/test/queries/clientpositive/combine2.q +++ ql/src/test/queries/clientpositive/combine2.q @@ -13,7 +13,7 @@ set hive.merge.smallfiles.avgsize=0; -- EXCLUDE_OS_WINDOWS -- excluded on windows because of difference in file name encoding logic - +-- SORT_QUERY_RESULTS create table combine2(key string) partitioned by (value string); @@ -36,9 +36,9 @@ select * from ( show partitions combine2; explain -select key, value from combine2 where value is not null order by key; +select key, value from combine2 where value is not null; -select key, value from combine2 where value is not null order by key; +select key, value from combine2 where value is not null; explain extended select count(1) from combine2 where value is not null; diff --git ql/src/test/queries/clientpositive/combine2_hadoop20.q ql/src/test/queries/clientpositive/combine2_hadoop20.q index 8f9a59d..9a9782a 100644 --- ql/src/test/queries/clientpositive/combine2_hadoop20.q +++ ql/src/test/queries/clientpositive/combine2_hadoop20.q @@ -13,6 +13,7 @@ set hive.merge.smallfiles.avgsize=0; -- EXCLUDE_OS_WINDOWS -- excluded on windows because of difference in file name encoding logic +-- SORT_QUERY_RESULTS create table combine2(key string) partitioned by (value string); @@ -35,9 +36,9 @@ select * from ( show partitions combine2; explain -select key, value from combine2 where value is not null order by key; +select key, value from combine2 where value is not null; -select key, value from combine2 where value is not null order by key; +select key, value from combine2 where value is not null; explain extended select count(1) from combine2 where value is not null; diff --git ql/src/test/queries/clientpositive/correlationoptimizer10.q ql/src/test/queries/clientpositive/correlationoptimizer10.q index 4369125..16d120f 100644 --- ql/src/test/queries/clientpositive/correlationoptimizer10.q +++ ql/src/test/queries/clientpositive/correlationoptimizer10.q @@ -7,18 +7,21 @@ set hive.optimize.correlation=false; -- introduce a GroupByOperator before the ReduceSinkOperator of -- the right table (yy in queries below) -- of LEFT SEMI JOIN. + +-- SORT_QUERY_RESULTS + EXPLAIN SELECT xx.key, xx.cnt FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx LEFT SEMI JOIN src yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt; +ON xx.key=yy.key; SELECT xx.key, xx.cnt FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx LEFT SEMI JOIN src yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt; +ON xx.key=yy.key; set hive.optimize.correlation=true; EXPLAIN @@ -26,13 +29,13 @@ SELECT xx.key, xx.cnt FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx LEFT SEMI JOIN src yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt; +ON xx.key=yy.key; SELECT xx.key, xx.cnt FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx LEFT SEMI JOIN src yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt; +ON xx.key=yy.key; set hive.optimize.correlation=false; -- When Correlation Optimizer is turned off, 4 MR jobs are needed. @@ -46,85 +49,85 @@ EXPLAIN SELECT xx.key, xx.value FROM src1 xx -LEFT SEMI JOIN -(SELECT x.key as key +LEFT SEMI JOIN +(SELECT x.key as key FROM src x JOIN src y ON (x.key = y.key) WHERE x.key < 200 AND y.key > 20) yy -ON xx.key=yy.key ORDER BY xx.key, xx.value; +ON xx.key=yy.key; SELECT xx.key, xx.value FROM src1 xx -LEFT SEMI JOIN -(SELECT x.key as key +LEFT SEMI JOIN +(SELECT x.key as key FROM src x JOIN src y ON (x.key = y.key) WHERE x.key < 200 AND y.key > 20) yy -ON xx.key=yy.key ORDER BY xx.key, xx.value; +ON xx.key=yy.key; set hive.optimize.correlation=true; EXPLAIN SELECT xx.key, xx.value FROM src1 xx -LEFT SEMI JOIN -(SELECT x.key as key +LEFT SEMI JOIN +(SELECT x.key as key FROM src x JOIN src y ON (x.key = y.key) WHERE x.key < 200 AND y.key > 20) yy -ON xx.key=yy.key ORDER BY xx.key, xx.value; +ON xx.key=yy.key; SELECT xx.key, xx.value FROM src1 xx -LEFT SEMI JOIN -(SELECT x.key as key +LEFT SEMI JOIN +(SELECT x.key as key FROM src x JOIN src y ON (x.key = y.key) WHERE x.key < 200 AND y.key > 20) yy -ON xx.key=yy.key ORDER BY xx.key, xx.value; +ON xx.key=yy.key; set hive.optimize.correlation=false; -- When Correlation Optimizer is turned off, 4 MR jobs are needed. -- When Correlation Optimizer is turned on, 2 MR jobs are needed. --- This test is used to test if we can use shared scan for +-- This test is used to test if we can use shared scan for -- xx, yy:x, and yy:y. EXPLAIN SELECT xx.key, xx.value FROM src xx -LEFT SEMI JOIN -(SELECT x.key as key +LEFT SEMI JOIN +(SELECT x.key as key FROM src x JOIN src y ON (x.key = y.key) WHERE x.key < 200 AND x.key > 180) yy -ON xx.key=yy.key ORDER BY xx.key, xx.value; +ON xx.key=yy.key; SELECT xx.key, xx.value FROM src xx -LEFT SEMI JOIN -(SELECT x.key as key +LEFT SEMI JOIN +(SELECT x.key as key FROM src x JOIN src y ON (x.key = y.key) WHERE x.key < 200 AND x.key > 180) yy -ON xx.key=yy.key ORDER BY xx.key, xx.value; +ON xx.key=yy.key; set hive.optimize.correlation=true; EXPLAIN SELECT xx.key, xx.value FROM src xx -LEFT SEMI JOIN -(SELECT x.key as key +LEFT SEMI JOIN +(SELECT x.key as key FROM src x JOIN src y ON (x.key = y.key) WHERE x.key < 200 AND x.key > 180) yy -ON xx.key=yy.key ORDER BY xx.key, xx.value; +ON xx.key=yy.key; SELECT xx.key, xx.value FROM src xx -LEFT SEMI JOIN -(SELECT x.key as key +LEFT SEMI JOIN +(SELECT x.key as key FROM src x JOIN src y ON (x.key = y.key) WHERE x.key < 200 AND x.key > 180) yy -ON xx.key=yy.key ORDER BY xx.key, xx.value; +ON xx.key=yy.key; diff --git ql/src/test/queries/clientpositive/correlationoptimizer15.q ql/src/test/queries/clientpositive/correlationoptimizer15.q index dd6143c..43f47db 100644 --- ql/src/test/queries/clientpositive/correlationoptimizer15.q +++ ql/src/test/queries/clientpositive/correlationoptimizer15.q @@ -1,5 +1,8 @@ set hive.auto.convert.join=false; set hive.optimize.correlation=false; + +-- SORT_QUERY_RESULTS + -- When Correlation Optimizer is turned off, 4 MR jobs are needed. -- When Correlation Optimizer is turned on, 2 MR jobs are needed. -- The first job will evaluate subquery xx and xx join yy. @@ -14,7 +17,7 @@ SELECT xx.key, xx.cnt, yy.key FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN src yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key; +ON xx.key=yy.key; set hive.optimize.correlation=true; set hive.join.emit.interval=1; @@ -23,10 +26,10 @@ SELECT xx.key, xx.cnt, yy.key FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN src yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key; +ON xx.key=yy.key; SELECT xx.key, xx.cnt, yy.key FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN src yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key; +ON xx.key=yy.key; diff --git ql/src/test/queries/clientpositive/correlationoptimizer6.q ql/src/test/queries/clientpositive/correlationoptimizer6.q index 89c0609..9b3751e 100644 --- ql/src/test/queries/clientpositive/correlationoptimizer6.q +++ ql/src/test/queries/clientpositive/correlationoptimizer6.q @@ -1,5 +1,8 @@ set hive.auto.convert.join=false; set hive.optimize.correlation=false; + +-- SORT_QUERY_RESULTS + -- When Correlation Optimizer is turned off, 6 MR jobs are needed. -- When Correlation Optimizer is turned on, 2 MR jobs are needed. -- The first job will evaluate subquery xx, subquery yy, and xx join yy. @@ -9,14 +12,14 @@ FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.cnt; +ON xx.key=yy.key; SELECT xx.key, xx.cnt, yy.key, yy.cnt FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.cnt; +ON xx.key=yy.key; set hive.optimize.correlation=true; EXPLAIN @@ -25,14 +28,14 @@ FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.cnt; +ON xx.key=yy.key; SELECT xx.key, xx.cnt, yy.key, yy.cnt FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.cnt; +ON xx.key=yy.key; set hive.optimize.correlation=true; set hive.auto.convert.join=true; @@ -43,14 +46,14 @@ FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.cnt; +ON xx.key=yy.key; SELECT xx.key, xx.cnt, yy.key, yy.cnt FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.cnt; +ON xx.key=yy.key; set hive.auto.convert.join=false; set hive.optimize.correlation=false; @@ -62,13 +65,13 @@ SELECT xx.key, yy.key, yy.cnt FROM src1 xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x GROUP BY x.key) yy -ON xx.key=yy.key ORDER BY xx.key, yy.key, yy.cnt; +ON xx.key=yy.key; SELECT xx.key, yy.key, yy.cnt FROM src1 xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x GROUP BY x.key) yy -ON xx.key=yy.key ORDER BY xx.key, yy.key, yy.cnt; +ON xx.key=yy.key; set hive.optimize.correlation=true; EXPLAIN @@ -76,13 +79,13 @@ SELECT xx.key, yy.key, yy.cnt FROM src1 xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x GROUP BY x.key) yy -ON xx.key=yy.key ORDER BY xx.key, yy.key, yy.cnt; +ON xx.key=yy.key; SELECT xx.key, yy.key, yy.cnt FROM src1 xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x GROUP BY x.key) yy -ON xx.key=yy.key ORDER BY xx.key, yy.key, yy.cnt; +ON xx.key=yy.key; set hive.optimize.correlation=false; -- When Correlation Optimizer is turned off, 4 MR jobs are needed. @@ -93,13 +96,13 @@ SELECT xx.key, yy.key, yy.cnt FROM src1 xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON xx.key=yy.key ORDER BY xx.key, yy.key, yy.cnt; +ON xx.key=yy.key; SELECT xx.key, yy.key, yy.cnt FROM src1 xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON xx.key=yy.key ORDER BY xx.key, yy.key, yy.cnt; +ON xx.key=yy.key; set hive.optimize.correlation=true; EXPLAIN @@ -107,13 +110,13 @@ SELECT xx.key, yy.key, yy.cnt FROM src1 xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON xx.key=yy.key ORDER BY xx.key, yy.key, yy.cnt; +ON xx.key=yy.key; SELECT xx.key, yy.key, yy.cnt FROM src1 xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON xx.key=yy.key ORDER BY xx.key, yy.key, yy.cnt; +ON xx.key=yy.key; set hive.auto.convert.join=false; set hive.optimize.correlation=false; @@ -125,13 +128,13 @@ SELECT xx.key, xx.cnt, yy.key FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN src yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key; +ON xx.key=yy.key; SELECT xx.key, xx.cnt, yy.key FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN src yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key; +ON xx.key=yy.key; set hive.optimize.correlation=true; EXPLAIN @@ -139,13 +142,13 @@ SELECT xx.key, xx.cnt, yy.key FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN src yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key; +ON xx.key=yy.key; SELECT xx.key, xx.cnt, yy.key FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN src yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key; +ON xx.key=yy.key; set hive.optimize.correlation=false; -- When Correlation Optimizer is turned off, 4 MR jobs are needed. @@ -157,16 +160,14 @@ FROM src1 xx JOIN src zz ON xx.key=zz.key JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON zz.key=yy.key -ORDER BY xx.key, yy.key, yy.cnt; +ON zz.key=yy.key; SELECT xx.key, yy.key, yy.cnt FROM src1 xx JOIN src zz ON xx.key=zz.key JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON zz.key=yy.key -ORDER BY xx.key, yy.key, yy.cnt; +ON zz.key=yy.key; set hive.optimize.correlation=true; -- When Correlation Optimizer is turned off, 4 MR jobs are needed. @@ -178,16 +179,14 @@ FROM src1 xx JOIN src zz ON xx.key=zz.key JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON zz.key=yy.key -ORDER BY xx.key, yy.key, yy.cnt; +ON zz.key=yy.key; SELECT xx.key, yy.key, yy.cnt FROM src1 xx JOIN src zz ON xx.key=zz.key JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON zz.key=yy.key -ORDER BY xx.key, yy.key, yy.cnt; +ON zz.key=yy.key; set hive.optimize.correlation=false; -- When Correlation Optimizer is turned off, 4 MR jobs are needed. @@ -199,14 +198,14 @@ FROM src1 xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy ON xx.key=yy.key JOIN src zz -ON yy.key=zz.key ORDER BY xx.key, yy.key, yy.cnt; +ON yy.key=zz.key; SELECT xx.key, yy.key, yy.cnt FROM src1 xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy ON xx.key=yy.key JOIN src zz -ON yy.key=zz.key ORDER BY xx.key, yy.key, yy.cnt; +ON yy.key=zz.key; set hive.optimize.correlation=true; EXPLAIN @@ -215,14 +214,14 @@ FROM src1 xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy ON xx.key=yy.key JOIN src zz -ON yy.key=zz.key ORDER BY xx.key, yy.key, yy.cnt; +ON yy.key=zz.key; SELECT xx.key, yy.key, yy.cnt FROM src1 xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy ON xx.key=yy.key JOIN src zz -ON yy.key=zz.key ORDER BY xx.key, yy.key, yy.cnt; +ON yy.key=zz.key; set hive.optimize.correlation=false; -- When Correlation Optimizer is turned off, 6 MR jobs are needed. @@ -235,8 +234,7 @@ FROM FROM (SELECT x.key as key, count(*) AS cnt FROM src x group by x.key) xx JOIN (SELECT y.key as key, count(*) AS cnt FROM src1 y group by y.key) yy ON (xx.key=yy.key) GROUP BY xx.key) tmp -JOIN src z ON tmp.key=z.key -ORDER BY tmp.key, tmp.sum1, tmp.sum2, z.key, z.value; +JOIN src z ON tmp.key=z.key; SELECT tmp.key, tmp.sum1, tmp.sum2, z.key, z.value FROM @@ -244,8 +242,7 @@ FROM FROM (SELECT x.key as key, count(*) AS cnt FROM src x group by x.key) xx JOIN (SELECT y.key as key, count(*) AS cnt FROM src1 y group by y.key) yy ON (xx.key=yy.key) GROUP BY xx.key) tmp -JOIN src z ON tmp.key=z.key -ORDER BY tmp.key, tmp.sum1, tmp.sum2, z.key, z.value; +JOIN src z ON tmp.key=z.key; set hive.optimize.correlation=true; EXPLAIN @@ -255,8 +252,7 @@ FROM FROM (SELECT x.key as key, count(*) AS cnt FROM src x group by x.key) xx JOIN (SELECT y.key as key, count(*) AS cnt FROM src1 y group by y.key) yy ON (xx.key=yy.key) GROUP BY xx.key) tmp -JOIN src z ON tmp.key=z.key -ORDER BY tmp.key, tmp.sum1, tmp.sum2, z.key, z.value; +JOIN src z ON tmp.key=z.key; SELECT tmp.key, tmp.sum1, tmp.sum2, z.key, z.value FROM @@ -264,8 +260,7 @@ FROM FROM (SELECT x.key as key, count(*) AS cnt FROM src x group by x.key) xx JOIN (SELECT y.key as key, count(*) AS cnt FROM src1 y group by y.key) yy ON (xx.key=yy.key) GROUP BY xx.key) tmp -JOIN src z ON tmp.key=z.key -ORDER BY tmp.key, tmp.sum1, tmp.sum2, z.key, z.value; +JOIN src z ON tmp.key=z.key; set hive.optimize.correlation=false; -- When Correlation Optimizer is turned off, 6 MR jobs are needed. @@ -294,14 +289,14 @@ FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN (SELECT x.key as key, x.value as value, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key, x.value) yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.value, yy.cnt; +ON xx.key=yy.key; SELECT xx.key, xx.cnt, yy.key, yy.value, yy.cnt FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN (SELECT x.key as key, x.value as value, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key, x.value) yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.value, yy.cnt; +ON xx.key=yy.key; set hive.optimize.correlation=true; set hive.auto.convert.join=true; @@ -311,12 +306,12 @@ FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN (SELECT x.key as key, x.value as value, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key, x.value) yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.value, yy.cnt; +ON xx.key=yy.key; SELECT xx.key, xx.cnt, yy.key, yy.value, yy.cnt FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN (SELECT x.key as key, x.value as value, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key, x.value) yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.value, yy.cnt; +ON xx.key=yy.key; diff --git ql/src/test/queries/clientpositive/correlationoptimizer7.q ql/src/test/queries/clientpositive/correlationoptimizer7.q index 3ba83f4..dc85586 100644 --- ql/src/test/queries/clientpositive/correlationoptimizer7.q +++ ql/src/test/queries/clientpositive/correlationoptimizer7.q @@ -1,20 +1,22 @@ set hive.auto.convert.join=true; - set hive.optimize.correlation=false; + +-- SORT_QUERY_RESULTS + EXPLAIN SELECT xx.key, xx.cnt, yy.key, yy.value FROM (SELECT x.key AS key, count(1) AS cnt FROM src x JOIN src1 y ON (x.key = y.key) GROUP BY x.key) xx JOIN src1 yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.value; +ON xx.key=yy.key; SELECT xx.key, xx.cnt, yy.key, yy.value FROM (SELECT x.key AS key, count(1) AS cnt FROM src x JOIN src1 y ON (x.key = y.key) GROUP BY x.key) xx JOIN src1 yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.value; +ON xx.key=yy.key; set hive.optimize.correlation=true; @@ -24,14 +26,14 @@ FROM (SELECT x.key AS key, count(1) AS cnt FROM src x JOIN src1 y ON (x.key = y.key) GROUP BY x.key) xx JOIN src1 yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.value; +ON xx.key=yy.key; SELECT xx.key, xx.cnt, yy.key, yy.value FROM (SELECT x.key AS key, count(1) AS cnt FROM src x JOIN src1 y ON (x.key = y.key) GROUP BY x.key) xx JOIN src1 yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.value; +ON xx.key=yy.key; set hive.auto.convert.join=true; set hive.auto.convert.join.noconditionaltask=true; @@ -42,22 +44,22 @@ set hive.optimize.correlation=false; -- The first one is a MapJoin and Aggregation (in the Reduce Phase). -- The second one is another MapJoin. The third one is for ordering. -- With the correlation optimizer, right now, we have --- 2 MR jobs. The first one will evaluate the sub-query xx and the join of --- xx and yy. The second one will do the ORDER BY. +-- 1 MR jobs, evaluatinf the sub-query xx and the join of +-- xx and yy. EXPLAIN SELECT xx.key, xx.cnt, yy.key, yy.value FROM (SELECT x.key AS key, count(1) AS cnt FROM src x JOIN src1 y ON (x.key = y.key) GROUP BY x.key) xx JOIN src1 yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.value; +ON xx.key=yy.key; SELECT xx.key, xx.cnt, yy.key, yy.value FROM (SELECT x.key AS key, count(1) AS cnt FROM src x JOIN src1 y ON (x.key = y.key) GROUP BY x.key) xx JOIN src1 yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.value; +ON xx.key=yy.key; set hive.optimize.correlation=true; EXPLAIN @@ -66,12 +68,12 @@ FROM (SELECT x.key AS key, count(1) AS cnt FROM src x JOIN src1 y ON (x.key = y.key) GROUP BY x.key) xx JOIN src1 yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.value; +ON xx.key=yy.key; SELECT xx.key, xx.cnt, yy.key, yy.value FROM (SELECT x.key AS key, count(1) AS cnt FROM src x JOIN src1 y ON (x.key = y.key) GROUP BY x.key) xx JOIN src1 yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.value; +ON xx.key=yy.key; diff --git ql/src/test/queries/clientpositive/correlationoptimizer8.q ql/src/test/queries/clientpositive/correlationoptimizer8.q index 4e79d80..4f4c3c5 100644 --- ql/src/test/queries/clientpositive/correlationoptimizer8.q +++ ql/src/test/queries/clientpositive/correlationoptimizer8.q @@ -1,5 +1,8 @@ set hive.auto.convert.join=false; set hive.optimize.correlation=false; + +-- SORT_QUERY_RESULTS + -- When the Correlation Optimizer is turned off, this query will be evaluated by -- 4 MR jobs. -- When the Correlation Optimizer is turned on, because both inputs of the @@ -13,7 +16,7 @@ FROM UNION ALL SELECT x1.key as key, count(1) as cnt from src x1 where x1.key > 100 group by x1.key ) subq1 -JOIN src1 x ON (x.key = subq1.key) ORDER BY x.key, x.value, subq1.cnt; +JOIN src1 x ON (x.key = subq1.key); SELECT x.key, x.value, subq1.cnt FROM @@ -21,7 +24,7 @@ FROM UNION ALL SELECT x1.key as key, count(1) as cnt from src x1 where x1.key > 100 group by x1.key ) subq1 -JOIN src1 x ON (x.key = subq1.key) ORDER BY x.key, x.value, subq1.cnt; +JOIN src1 x ON (x.key = subq1.key); set hive.optimize.correlation=true; EXPLAIN @@ -31,7 +34,7 @@ FROM UNION ALL SELECT x1.key as key, count(1) as cnt from src x1 where x1.key > 100 group by x1.key ) subq1 -JOIN src1 x ON (x.key = subq1.key) ORDER BY x.key, x.value, subq1.cnt; +JOIN src1 x ON (x.key = subq1.key); SELECT x.key, x.value, subq1.cnt FROM @@ -39,7 +42,7 @@ FROM UNION ALL SELECT x1.key as key, count(1) as cnt from src x1 where x1.key > 100 group by x1.key ) subq1 -JOIN src1 x ON (x.key = subq1.key) ORDER BY x.key, x.value, subq1.cnt; +JOIN src1 x ON (x.key = subq1.key); set hive.optimize.correlation=false; -- When the Correlation Optimizer is turned off, this query will be evaluated by @@ -55,7 +58,7 @@ FROM UNION ALL SELECT x1.value as key, count(1) as cnt from src1 x1 where x1.key > 100 group by x1.value ) subq1 -LEFT OUTER JOIN src1 x ON (x.key = subq1.key) ORDER BY subq1.key, subq1.cnt, x.key, x.value; +LEFT OUTER JOIN src1 x ON (x.key = subq1.key); SELECT subq1.key, subq1.cnt, x.key, x.value FROM @@ -63,7 +66,7 @@ FROM UNION ALL SELECT x1.value as key, count(1) as cnt from src1 x1 where x1.key > 100 group by x1.value ) subq1 -LEFT OUTER JOIN src1 x ON (x.key = subq1.key) ORDER BY subq1.key, subq1.cnt, x.key, x.value; +LEFT OUTER JOIN src1 x ON (x.key = subq1.key); set hive.optimize.correlation=true; EXPLAIN @@ -73,7 +76,7 @@ FROM UNION ALL SELECT x1.value as key, count(1) as cnt from src1 x1 where x1.key > 100 group by x1.value ) subq1 -LEFT OUTER JOIN src1 x ON (x.key = subq1.key) ORDER BY subq1.key, subq1.cnt, x.key, x.value; +LEFT OUTER JOIN src1 x ON (x.key = subq1.key); SELECT subq1.key, subq1.cnt, x.key, x.value FROM @@ -81,7 +84,7 @@ FROM UNION ALL SELECT x1.value as key, count(1) as cnt from src1 x1 where x1.key > 100 group by x1.value ) subq1 -LEFT OUTER JOIN src1 x ON (x.key = subq1.key) ORDER BY subq1.key, subq1.cnt, x.key, x.value; +LEFT OUTER JOIN src1 x ON (x.key = subq1.key); set hive.optimize.correlation=true; -- When the Correlation Optimizer is turned on, because a input of UnionOperator is @@ -94,7 +97,7 @@ FROM UNION ALL SELECT x1.key as key, count(1) as cnt from src x1 where x1.key > 100 group by x1.key, x1.value ) subq1 -JOIN src1 x ON (x.key = subq1.key) ORDER BY x.key, x.value, subq1.cnt; +JOIN src1 x ON (x.key = subq1.key); set hive.optimize.correlation=true; -- When the Correlation Optimizer is turned on, because a input of UnionOperator is @@ -107,4 +110,4 @@ FROM UNION ALL SELECT count(1) as key, cast(x1.key as INT) as value from src x1 where x1.key > 100 group by x1.key ) subq1 -FULL OUTER JOIN src1 x ON (x.key = subq1.key) ORDER BY subq1.key, subq1.value, x.key, x.value; +FULL OUTER JOIN src1 x ON (x.key = subq1.key); diff --git ql/src/test/queries/clientpositive/correlationoptimizer9.q ql/src/test/queries/clientpositive/correlationoptimizer9.q index 6169a30..d58b79c 100644 --- ql/src/test/queries/clientpositive/correlationoptimizer9.q +++ ql/src/test/queries/clientpositive/correlationoptimizer9.q @@ -1,3 +1,5 @@ +-- SORT_QUERY_RESULTS + CREATE TABLE tmp(c1 INT, c2 INT, c3 STRING, c4 STRING); set hive.auto.convert.join=false; @@ -12,14 +14,14 @@ FROM (SELECT x.c1 AS key, count(1) AS cnt FROM tmp x WHERE x.c1 < 120 GROUP BY x.c1) xx JOIN (SELECT x1.c2 AS key, count(1) AS cnt FROM tmp x1 WHERE x1.c2 > 100 GROUP BY x1.c2) yy -ON (xx.key = yy.key) ORDER BY xx.key, yy.key, xx.cnt, yy.cnt; +ON (xx.key = yy.key); SELECT xx.key, yy.key, xx.cnt, yy.cnt FROM (SELECT x.c1 AS key, count(1) AS cnt FROM tmp x WHERE x.c1 < 120 GROUP BY x.c1) xx JOIN (SELECT x1.c2 AS key, count(1) AS cnt FROM tmp x1 WHERE x1.c2 > 100 GROUP BY x1.c2) yy -ON (xx.key = yy.key) ORDER BY xx.key, yy.key, xx.cnt, yy.cnt; +ON (xx.key = yy.key); set hive.optimize.correlation=true; -- The merged table scan should be able to load both c1 and c2 @@ -29,14 +31,14 @@ FROM (SELECT x.c1 AS key, count(1) AS cnt FROM tmp x WHERE x.c1 < 120 GROUP BY x.c1) xx JOIN (SELECT x1.c2 AS key, count(1) AS cnt FROM tmp x1 WHERE x1.c2 > 100 GROUP BY x1.c2) yy -ON (xx.key = yy.key) ORDER BY xx.key, yy.key, xx.cnt, yy.cnt; +ON (xx.key = yy.key); SELECT xx.key, yy.key, xx.cnt, yy.cnt FROM (SELECT x.c1 AS key, count(1) AS cnt FROM tmp x WHERE x.c1 < 120 GROUP BY x.c1) xx JOIN (SELECT x1.c2 AS key, count(1) AS cnt FROM tmp x1 WHERE x1.c2 > 100 GROUP BY x1.c2) yy -ON (xx.key = yy.key) ORDER BY xx.key, yy.key, xx.cnt, yy.cnt; +ON (xx.key = yy.key); set hive.optimize.correlation=false; EXPLAIN @@ -45,14 +47,14 @@ FROM (SELECT x.c1 AS key1, x.c3 AS key2, count(1) AS cnt FROM tmp x WHERE x.c1 < 120 GROUP BY x.c1, x.c3) xx JOIN (SELECT x1.c1 AS key1, x1.c3 AS key2, count(1) AS cnt FROM tmp x1 WHERE x1.c2 > 100 GROUP BY x1.c1, x1.c3) yy -ON (xx.key1 = yy.key1 AND xx.key2 == yy.key2) ORDER BY xx.key1, xx.key2, yy.key1, yy.key2, xx.cnt, yy.cnt; +ON (xx.key1 = yy.key1 AND xx.key2 == yy.key2); SELECT xx.key1, xx.key2, yy.key1, yy.key2, xx.cnt, yy.cnt FROM (SELECT x.c1 AS key1, x.c3 AS key2, count(1) AS cnt FROM tmp x WHERE x.c1 < 120 GROUP BY x.c1, x.c3) xx JOIN (SELECT x1.c1 AS key1, x1.c3 AS key2, count(1) AS cnt FROM tmp x1 WHERE x1.c2 > 100 GROUP BY x1.c1, x1.c3) yy -ON (xx.key1 = yy.key1 AND xx.key2 == yy.key2) ORDER BY xx.key1, xx.key2, yy.key1, yy.key2, xx.cnt, yy.cnt; +ON (xx.key1 = yy.key1 AND xx.key2 == yy.key2); set hive.optimize.correlation=true; EXPLAIN @@ -61,11 +63,11 @@ FROM (SELECT x.c1 AS key1, x.c3 AS key2, count(1) AS cnt FROM tmp x WHERE x.c1 < 120 GROUP BY x.c1, x.c3) xx JOIN (SELECT x1.c1 AS key1, x1.c3 AS key2, count(1) AS cnt FROM tmp x1 WHERE x1.c2 > 100 GROUP BY x1.c1, x1.c3) yy -ON (xx.key1 = yy.key1 AND xx.key2 == yy.key2) ORDER BY xx.key1, xx.key2, yy.key1, yy.key2, xx.cnt, yy.cnt; +ON (xx.key1 = yy.key1 AND xx.key2 == yy.key2); SELECT xx.key1, xx.key2, yy.key1, yy.key2, xx.cnt, yy.cnt FROM (SELECT x.c1 AS key1, x.c3 AS key2, count(1) AS cnt FROM tmp x WHERE x.c1 < 120 GROUP BY x.c1, x.c3) xx JOIN (SELECT x1.c1 AS key1, x1.c3 AS key2, count(1) AS cnt FROM tmp x1 WHERE x1.c2 > 100 GROUP BY x1.c1, x1.c3) yy -ON (xx.key1 = yy.key1 AND xx.key2 == yy.key2) ORDER BY xx.key1, xx.key2, yy.key1, yy.key2, xx.cnt, yy.cnt; +ON (xx.key1 = yy.key1 AND xx.key2 == yy.key2); diff --git ql/src/test/queries/clientpositive/create_like_view.q ql/src/test/queries/clientpositive/create_like_view.q index f0bf585..1ee4439 100644 --- ql/src/test/queries/clientpositive/create_like_view.q +++ ql/src/test/queries/clientpositive/create_like_view.q @@ -1,3 +1,5 @@ +-- SORT_QUERY_RESULTS + DROP TABLE IF EXISTS table1; DROP TABLE IF EXISTS table2; DROP TABLE IF EXISTS table3; @@ -24,8 +26,8 @@ DESCRIBE FORMATTED table3; INSERT OVERWRITE TABLE table1 SELECT key, value FROM src WHERE key = 86; INSERT OVERWRITE TABLE table2 SELECT key, value FROM src WHERE key = 100; -SELECT * FROM table1 order by a, b; -SELECT * FROM table2 order by a, b; +SELECT * FROM table1; +SELECT * FROM table2; DROP TABLE table1; DROP TABLE table2; diff --git ql/src/test/queries/clientpositive/ctas_colname.q ql/src/test/queries/clientpositive/ctas_colname.q index 80b8b4f..5322626 100644 --- ql/src/test/queries/clientpositive/ctas_colname.q +++ ql/src/test/queries/clientpositive/ctas_colname.q @@ -1,48 +1,49 @@ +-- SORT_QUERY_RESULTS + -- HIVE-4392, column aliases from expressionRR (GBY, etc.) are not valid name for table --- use internal name as column name instead -- group by explain create table summary as select *, sum(key), count(value) from src; create table summary as select *, sum(key), count(value) from src; describe formatted summary; -select * from summary order by `_col0`, `_col1`, `_c1`, `_c2`; +select * from summary; -- window functions explain create table x4 as select *, rank() over(partition by key order by value) as rr from src1; create table x4 as select *, rank() over(partition by key order by value) as rr from src1; describe formatted x4; -select * from x4 order by key, value, rr; +select * from x4; explain create table x5 as select *, lead(key,1) over(partition by key order by value) as lead1 from src limit 20; create table x5 as select *, lead(key,1) over(partition by key order by value) as lead1 from src limit 20; describe formatted x5; -select * from x5 order by key, value, lead1; +select * from x5; -- sub queries explain create table x6 as select * from (select *, max(key) from src1) a; create table x6 as select * from (select *, max(key) from src1) a; describe formatted x6; -select * from x6 order by `_col0`, `_c1`; +select * from x6; explain create table x7 as select * from (select * from src group by key) a; create table x7 as select * from (select * from src group by key) a; describe formatted x7; -select * from x7 order by `_col0`; +select * from x7; explain create table x8 as select * from (select * from src group by key having key < 9) a; create table x8 as select * from (select * from src group by key having key < 9) a; describe formatted x8; -select * from x8 order by `_col0`; +select * from x8; explain create table x9 as select * from (select max(value),key from src group by key having key < 9 AND max(value) IS NOT NULL) a; create table x9 as select * from (select max(value),key from src group by key having key < 9 AND max(value) IS NOT NULL) a; describe formatted x9; -select * from x9 order by key, `_c0`; +select * from x9; diff --git ql/src/test/queries/clientpositive/custom_input_output_format.q ql/src/test/queries/clientpositive/custom_input_output_format.q index d769d05..949303a 100644 --- ql/src/test/queries/clientpositive/custom_input_output_format.q +++ ql/src/test/queries/clientpositive/custom_input_output_format.q @@ -1,7 +1,9 @@ -CREATE TABLE src1_rot13_iof(key STRING, value STRING) +-- SORT_QUERY_RESULTS + +CREATE TABLE src1_rot13_iof(key STRING, value STRING) STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.udf.Rot13InputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.udf.Rot13OutputFormat'; DESCRIBE EXTENDED src1_rot13_iof; -SELECT * FROM src1 ORDER BY key, value; +SELECT * FROM src1; INSERT OVERWRITE TABLE src1_rot13_iof SELECT * FROM src1; -SELECT * FROM src1_rot13_iof ORDER BY key, value; +SELECT * FROM src1_rot13_iof; diff --git ql/src/test/queries/clientpositive/database.q ql/src/test/queries/clientpositive/database.q index e3ceacc..7860af5 100644 --- ql/src/test/queries/clientpositive/database.q +++ ql/src/test/queries/clientpositive/database.q @@ -1,5 +1,7 @@ set hive.support.concurrency = true; +-- SORT_QUERY_RESULTS + SHOW DATABASES; -- CREATE with comment @@ -191,7 +193,7 @@ SELECT * FROM ( SELECT value FROM db1.conflict_name UNION ALL SELECT value FROM db2.conflict_name -) subq ORDER BY value; +) subq; -- TABLESAMPLES CREATE TABLE bucketized_src (key INT, value STRING) diff --git ql/src/test/queries/clientpositive/groupby7_noskew_multi_single_reducer.q ql/src/test/queries/clientpositive/groupby7_noskew_multi_single_reducer.q index 802aea2..6559e71 100644 --- ql/src/test/queries/clientpositive/groupby7_noskew_multi_single_reducer.q +++ ql/src/test/queries/clientpositive/groupby7_noskew_multi_single_reducer.q @@ -2,6 +2,8 @@ set hive.map.aggr=false; set hive.groupby.skewindata=false; set mapred.reduce.tasks=31; +-- SORT_QUERY_RESULTS + CREATE TABLE DEST1(key INT, value STRING) STORED AS TEXTFILE; CREATE TABLE DEST2(key INT, value STRING) STORED AS TEXTFILE; @@ -17,5 +19,5 @@ FROM SRC INSERT OVERWRITE TABLE DEST1 SELECT SRC.key, sum(SUBSTR(SRC.value,5)) GROUP BY SRC.key limit 10 INSERT OVERWRITE TABLE DEST2 SELECT SRC.key, sum(SUBSTR(SRC.value,5)) GROUP BY SRC.key limit 10; -SELECT DEST1.* FROM DEST1 ORDER BY key ASC, value ASC; -SELECT DEST2.* FROM DEST2 ORDER BY key ASC, value ASC; +SELECT DEST1.* FROM DEST1; +SELECT DEST2.* FROM DEST2; diff --git ql/src/test/queries/clientpositive/groupby_complex_types_multi_single_reducer.q ql/src/test/queries/clientpositive/groupby_complex_types_multi_single_reducer.q index 22c5a38..b7e1bf1 100644 --- ql/src/test/queries/clientpositive/groupby_complex_types_multi_single_reducer.q +++ ql/src/test/queries/clientpositive/groupby_complex_types_multi_single_reducer.q @@ -1,5 +1,7 @@ set hive.multigroupby.singlereducer=true; +-- SORT_QUERY_RESULTS + CREATE TABLE DEST1(key ARRAY, value BIGINT) STORED AS TEXTFILE; CREATE TABLE DEST2(key MAP, value BIGINT) STORED AS TEXTFILE; @@ -12,6 +14,6 @@ FROM SRC INSERT OVERWRITE TABLE DEST1 SELECT ARRAY(SRC.key), COUNT(1) GROUP BY ARRAY(SRC.key) limit 10 INSERT OVERWRITE TABLE DEST2 SELECT MAP(SRC.key, SRC.value), COUNT(1) GROUP BY MAP(SRC.key, SRC.value) limit 10; -SELECT DEST1.* FROM DEST1 ORDER BY key[0] ASC, value ASC; -SELECT DEST2.* FROM DEST2 ORDER BY 1 ASC, value ASC; +SELECT DEST1.* FROM DEST1; +SELECT DEST2.* FROM DEST2; diff --git ql/src/test/queries/clientpositive/groupby_cube1.q ql/src/test/queries/clientpositive/groupby_cube1.q index 099beb4..c12720b 100644 --- ql/src/test/queries/clientpositive/groupby_cube1.q +++ ql/src/test/queries/clientpositive/groupby_cube1.q @@ -1,6 +1,8 @@ set hive.map.aggr=true; set hive.groupby.skewindata=false; +-- SORT_QUERY_RESULTS + CREATE TABLE T1(key STRING, val STRING) STORED AS TEXTFILE; LOAD DATA LOCAL INPATH '../../data/files/T1.txt' INTO TABLE T1; @@ -8,28 +10,24 @@ LOAD DATA LOCAL INPATH '../../data/files/T1.txt' INTO TABLE T1; EXPLAIN SELECT key, val, count(1) FROM T1 GROUP BY key, val with cube; -SELECT key, val, count(1) FROM T1 GROUP BY key, val with cube -ORDER BY key, val; +SELECT key, val, count(1) FROM T1 GROUP BY key, val with cube; EXPLAIN SELECT key, count(distinct val) FROM T1 GROUP BY key with cube; -SELECT key, count(distinct val) FROM T1 GROUP BY key with cube -ORDER BY key; +SELECT key, count(distinct val) FROM T1 GROUP BY key with cube; set hive.groupby.skewindata=true; EXPLAIN SELECT key, val, count(1) FROM T1 GROUP BY key, val with cube; -SELECT key, val, count(1) FROM T1 GROUP BY key, val with cube -ORDER BY key, val; +SELECT key, val, count(1) FROM T1 GROUP BY key, val with cube; EXPLAIN SELECT key, count(distinct val) FROM T1 GROUP BY key with cube; -SELECT key, count(distinct val) FROM T1 GROUP BY key with cube -ORDER BY key; +SELECT key, count(distinct val) FROM T1 GROUP BY key with cube; set hive.multigroupby.singlereducer=true; diff --git ql/src/test/queries/clientpositive/groupby_grouping_sets4.q ql/src/test/queries/clientpositive/groupby_grouping_sets4.q index ff83185..0c15c6a 100644 --- ql/src/test/queries/clientpositive/groupby_grouping_sets4.q +++ ql/src/test/queries/clientpositive/groupby_grouping_sets4.q @@ -1,5 +1,8 @@ set hive.merge.mapfiles = false; set hive.merge.mapredfiles = false; + +-- SORT_QUERY_RESULTS + -- Set merging to false above to make the explain more readable CREATE TABLE T1(a STRING, b STRING, c STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ' STORED AS TEXTFILE; @@ -12,13 +15,13 @@ SELECT * FROM (SELECT a, b, count(*) from T1 where a < 3 group by a, b with cube) subq1 join (SELECT a, b, count(*) from T1 where a < 3 group by a, b with cube) subq2 -on subq1.a = subq2.a order by subq1.a, subq1.b, subq2.a, subq2.b; +on subq1.a = subq2.a; SELECT * FROM (SELECT a, b, count(*) from T1 where a < 3 group by a, b with cube) subq1 join (SELECT a, b, count(*) from T1 where a < 3 group by a, b with cube) subq2 -on subq1.a = subq2.a order by subq1.a, subq1.b, subq2.a, subq2.b; +on subq1.a = subq2.a; set hive.new.job.grouping.set.cardinality=2; @@ -29,11 +32,11 @@ SELECT * FROM (SELECT a, b, count(*) from T1 where a < 3 group by a, b with cube) subq1 join (SELECT a, b, count(*) from T1 where a < 3 group by a, b with cube) subq2 -on subq1.a = subq2.a order by subq1.a, subq1.b, subq2.a, subq2.b; +on subq1.a = subq2.a; SELECT * FROM (SELECT a, b, count(*) from T1 where a < 3 group by a, b with cube) subq1 join (SELECT a, b, count(*) from T1 where a < 3 group by a, b with cube) subq2 -on subq1.a = subq2.a order by subq1.a, subq1.b, subq2.a, subq2.b; +on subq1.a = subq2.a; diff --git ql/src/test/queries/clientpositive/groupby_multi_single_reducer.q ql/src/test/queries/clientpositive/groupby_multi_single_reducer.q index 145aab8..4e6dbff 100644 --- ql/src/test/queries/clientpositive/groupby_multi_single_reducer.q +++ ql/src/test/queries/clientpositive/groupby_multi_single_reducer.q @@ -1,5 +1,7 @@ set hive.multigroupby.singlereducer=true; +-- SORT_QUERY_RESULTS + CREATE TABLE dest_g2(key STRING, c1 INT, c2 STRING, c3 INT, c4 INT) STORED AS TEXTFILE; CREATE TABLE dest_g3(key STRING, c1 INT, c2 STRING, c3 INT, c4 INT) STORED AS TEXTFILE; CREATE TABLE dest_g4(key STRING, c1 INT, c2 STRING, c3 INT, c4 INT) STORED AS TEXTFILE; @@ -17,9 +19,9 @@ INSERT OVERWRITE TABLE dest_g2 SELECT substr(src.key,1,1), count(DISTINCT substr INSERT OVERWRITE TABLE dest_g3 SELECT substr(src.key,1,1), count(DISTINCT substr(src.value,5)), concat(substr(src.key,1,1),sum(substr(src.value,5))), sum(DISTINCT substr(src.value, 5)), count(src.value) WHERE substr(src.key,1,1) < 5 GROUP BY substr(src.key,1,1) INSERT OVERWRITE TABLE dest_g4 SELECT substr(src.key,1,1), count(DISTINCT substr(src.value,5)), concat(substr(src.key,1,1),sum(substr(src.value,5))), sum(DISTINCT substr(src.value, 5)), count(src.value) GROUP BY substr(src.key,1,1); -SELECT * FROM dest_g2 ORDER BY key ASC, c1 ASC, c2 ASC, c3 ASC, c4 ASC; -SELECT * FROM dest_g3 ORDER BY key ASC, c1 ASC, c2 ASC, c3 ASC, c4 ASC; -SELECT * FROM dest_g4 ORDER BY key ASC, c1 ASC, c2 ASC, c3 ASC, c4 ASC; +SELECT * FROM dest_g2; +SELECT * FROM dest_g3; +SELECT * FROM dest_g4; EXPLAIN FROM src @@ -36,11 +38,11 @@ INSERT OVERWRITE TABLE dest_g4 SELECT substr(src.key,1,1), count(DISTINCT substr INSERT OVERWRITE TABLE dest_h2 SELECT substr(src.key,1,1), count(DISTINCT substr(src.value,5)), concat(substr(src.key,1,1),sum(substr(src.value,5))), sum(substr(src.value, 5)), count(src.value) GROUP BY substr(src.key,1,1), substr(src.key,2,1) LIMIT 10 INSERT OVERWRITE TABLE dest_h3 SELECT substr(src.key,1,1), count(DISTINCT substr(src.value,5)), concat(substr(src.key,1,1),sum(substr(src.value,5))), sum(substr(src.value, 5)), count(src.value) WHERE substr(src.key,1,1) >= 5 GROUP BY substr(src.key,1,1), substr(src.key,2,1); -SELECT * FROM dest_g2 ORDER BY key ASC, c1 ASC, c2 ASC, c3 ASC, c4 ASC; -SELECT * FROM dest_g3 ORDER BY key ASC, c1 ASC, c2 ASC, c3 ASC, c4 ASC; -SELECT * FROM dest_g4 ORDER BY key ASC, c1 ASC, c2 ASC, c3 ASC, c4 ASC; -SELECT * FROM dest_h2 ORDER BY key ASC, c1 ASC, c2 ASC, c3 ASC, c4 ASC; -SELECT * FROM dest_h3 ORDER BY key ASC, c1 ASC, c2 ASC, c3 ASC, c4 ASC; +SELECT * FROM dest_g2; +SELECT * FROM dest_g3; +SELECT * FROM dest_g4; +SELECT * FROM dest_h2; +SELECT * FROM dest_h3; DROP TABLE dest_g2; DROP TABLE dest_g3; diff --git ql/src/test/queries/clientpositive/groupby_rollup1.q ql/src/test/queries/clientpositive/groupby_rollup1.q index ee8038c..53de6cc 100644 --- ql/src/test/queries/clientpositive/groupby_rollup1.q +++ ql/src/test/queries/clientpositive/groupby_rollup1.q @@ -1,6 +1,8 @@ set hive.map.aggr=true; set hive.groupby.skewindata=false; +-- SORT_QUERY_RESULTS + CREATE TABLE T1(key STRING, val STRING) STORED AS TEXTFILE; LOAD DATA LOCAL INPATH '../../data/files/T1.txt' INTO TABLE T1; @@ -8,28 +10,24 @@ LOAD DATA LOCAL INPATH '../../data/files/T1.txt' INTO TABLE T1; EXPLAIN SELECT key, val, count(1) FROM T1 GROUP BY key, val with rollup; -SELECT key, val, count(1) FROM T1 GROUP BY key, val with rollup -ORDER BY key, val; +SELECT key, val, count(1) FROM T1 GROUP BY key, val with rollup; EXPLAIN SELECT key, count(distinct val) FROM T1 GROUP BY key with rollup; -SELECT key, count(distinct val) FROM T1 GROUP BY key with rollup -ORDER BY key; +SELECT key, count(distinct val) FROM T1 GROUP BY key with rollup; set hive.groupby.skewindata=true; EXPLAIN SELECT key, val, count(1) FROM T1 GROUP BY key, val with rollup; -SELECT key, val, count(1) FROM T1 GROUP BY key, val with rollup -ORDER BY key, val; +SELECT key, val, count(1) FROM T1 GROUP BY key, val with rollup; EXPLAIN SELECT key, count(distinct val) FROM T1 GROUP BY key with rollup; -SELECT key, count(distinct val) FROM T1 GROUP BY key with rollup -ORDER BY key; +SELECT key, count(distinct val) FROM T1 GROUP BY key with rollup; set hive.multigroupby.singlereducer=true; diff --git ql/src/test/queries/clientpositive/groupby_sort_1.q ql/src/test/queries/clientpositive/groupby_sort_1.q index 7401a9c..9703779 100644 --- ql/src/test/queries/clientpositive/groupby_sort_1.q +++ ql/src/test/queries/clientpositive/groupby_sort_1.q @@ -3,6 +3,8 @@ set hive.enforce.sorting = true; set hive.exec.reducers.max = 10; set hive.map.groupby.sorted=true; +-- SORT_QUERY_RESULTS + CREATE TABLE T1(key STRING, val STRING) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS STORED AS TEXTFILE; @@ -15,7 +17,6 @@ CREATE TABLE outputTbl1(key int, cnt int); -- The plan should be converted to a map-side group by if the group by key -- matches the sorted key --- addind a order by at the end to make the test results deterministic EXPLAIN EXTENDED INSERT OVERWRITE TABLE outputTbl1 SELECT key, count(1) FROM T1 GROUP BY key; @@ -23,7 +24,7 @@ SELECT key, count(1) FROM T1 GROUP BY key; INSERT OVERWRITE TABLE outputTbl1 SELECT key, count(1) FROM T1 GROUP BY key; -SELECT * FROM outputTbl1 ORDER BY key; +SELECT * FROM outputTbl1; CREATE TABLE outputTbl2(key1 int, key2 string, cnt int); @@ -35,7 +36,7 @@ SELECT key, val, count(1) FROM T1 GROUP BY key, val; INSERT OVERWRITE TABLE outputTbl2 SELECT key, val, count(1) FROM T1 GROUP BY key, val; -SELECT * FROM outputTbl2 ORDER BY key1, key2; +SELECT * FROM outputTbl2; -- It should work for sub-queries EXPLAIN EXTENDED @@ -45,7 +46,7 @@ SELECT key, count(1) FROM (SELECT key, val FROM T1) subq1 GROUP BY key; INSERT OVERWRITE TABLE outputTbl1 SELECT key, count(1) FROM (SELECT key, val FROM T1) subq1 GROUP BY key; -SELECT * FROM outputTbl1 ORDER BY key; +SELECT * FROM outputTbl1; -- It should work for sub-queries with column aliases EXPLAIN EXTENDED @@ -55,7 +56,7 @@ SELECT k, count(1) FROM (SELECT key as k, val as v FROM T1) subq1 GROUP BY k; INSERT OVERWRITE TABLE outputTbl1 SELECT k, count(1) FROM (SELECT key as k, val as v FROM T1) subq1 GROUP BY k; -SELECT * FROM outputTbl1 ORDER BY key; +SELECT * FROM outputTbl1; CREATE TABLE outputTbl3(key1 int, key2 int, cnt int); @@ -68,7 +69,7 @@ SELECT 1, key, count(1) FROM T1 GROUP BY 1, key; INSERT OVERWRITE TABLE outputTbl3 SELECT 1, key, count(1) FROM T1 GROUP BY 1, key; -SELECT * FROM outputTbl3 ORDER BY key1, key2; +SELECT * FROM outputTbl3; CREATE TABLE outputTbl4(key1 int, key2 int, key3 string, cnt int); @@ -80,7 +81,7 @@ SELECT key, 1, val, count(1) FROM T1 GROUP BY key, 1, val; INSERT OVERWRITE TABLE outputTbl4 SELECT key, 1, val, count(1) FROM T1 GROUP BY key, 1, val; -SELECT * FROM outputTbl4 ORDER BY key1, key2, key3; +SELECT * FROM outputTbl4; -- no map-side group by if the group by key contains a function EXPLAIN EXTENDED @@ -90,7 +91,7 @@ SELECT key, key + 1, count(1) FROM T1 GROUP BY key, key + 1; INSERT OVERWRITE TABLE outputTbl3 SELECT key, key + 1, count(1) FROM T1 GROUP BY key, key + 1; -SELECT * FROM outputTbl3 ORDER BY key1, key2; +SELECT * FROM outputTbl3; -- it should not matter what follows the group by -- test various cases @@ -107,7 +108,7 @@ SELECT key + key, sum(cnt) from (SELECT key, count(1) as cnt FROM T1 GROUP BY key) subq1 group by key + key; -SELECT * FROM outputTbl1 ORDER BY key; +SELECT * FROM outputTbl1; -- group by followed by a union EXPLAIN EXTENDED @@ -125,7 +126,7 @@ SELECT key, count(1) FROM T1 GROUP BY key SELECT key, count(1) FROM T1 GROUP BY key ) subq1; -SELECT * FROM outputTbl1 ORDER BY key; +SELECT * FROM outputTbl1; -- group by followed by a union where one of the sub-queries is map-side group by EXPLAIN EXTENDED @@ -143,7 +144,7 @@ SELECT key, count(1) as cnt FROM T1 GROUP BY key SELECT key + key as key, count(1) as cnt FROM T1 GROUP BY key + key ) subq1; -SELECT * FROM outputTbl1 ORDER BY key; +SELECT * FROM outputTbl1; -- group by followed by a join EXPLAIN EXTENDED @@ -161,7 +162,7 @@ JOIN (SELECT key, count(1) as cnt FROM T1 GROUP BY key) subq2 ON subq1.key = subq2.key; -SELECT * FROM outputTbl1 ORDER BY key; +SELECT * FROM outputTbl1; -- group by followed by a join where one of the sub-queries can be performed in the mapper EXPLAIN EXTENDED @@ -185,7 +186,7 @@ SELECT key, count(1) FROM T2 GROUP BY key; INSERT OVERWRITE TABLE outputTbl1 SELECT key, count(1) FROM T2 GROUP BY key; -SELECT * FROM outputTbl1 ORDER BY key; +SELECT * FROM outputTbl1; -- The plan should be converted to a map-side group by if the group by key contains a constant in between the -- sorted keys @@ -196,7 +197,7 @@ SELECT key, 1, val, count(1) FROM T2 GROUP BY key, 1, val; INSERT OVERWRITE TABLE outputTbl4 SELECT key, 1, val, count(1) FROM T2 GROUP BY key, 1, val; -SELECT * FROM outputTbl4 ORDER BY key1, key2, key3; +SELECT * FROM outputTbl4; CREATE TABLE outputTbl5(key1 int, key2 int, key3 string, key4 int, cnt int); @@ -209,8 +210,7 @@ SELECT key, 1, val, 2, count(1) FROM T2 GROUP BY key, 1, val, 2; INSERT OVERWRITE TABLE outputTbl5 SELECT key, 1, val, 2, count(1) FROM T2 GROUP BY key, 1, val, 2; -SELECT * FROM outputTbl5 -ORDER BY key1, key2, key3, key4; +SELECT * FROM outputTbl5; -- contants from sub-queries should work fine EXPLAIN EXTENDED @@ -224,7 +224,7 @@ SELECT key, constant, val, count(1) from (SELECT key, 1 as constant, val from T2)subq group by key, constant, val; -SELECT * FROM outputTbl4 ORDER BY key1, key2, key3; +SELECT * FROM outputTbl4; -- multiple levels of contants from sub-queries should work fine EXPLAIN EXTENDED @@ -244,7 +244,7 @@ SELECT key, constant as constant2, val, 2 as constant3 from )subq2 group by key, constant3, val; -SELECT * FROM outputTbl4 ORDER BY key1, key2, key3; +SELECT * FROM outputTbl4; set hive.map.aggr=true; set hive.multigroupby.singlereducer=false; @@ -265,8 +265,8 @@ FROM T2 INSERT OVERWRITE TABLE DEST1 SELECT key, count(1) GROUP BY key INSERT OVERWRITE TABLE DEST2 SELECT key, val, count(1) GROUP BY key, val; -select * from DEST1 ORDER BY key, cnt; -select * from DEST2 ORDER BY key, val, val; +select * from DEST1; +select * from DEST2; -- multi-table insert with a sub-query EXPLAIN @@ -278,5 +278,5 @@ FROM (select key, val from T2 where key = 8) x INSERT OVERWRITE TABLE DEST1 SELECT key, count(1) GROUP BY key INSERT OVERWRITE TABLE DEST2 SELECT key, val, count(1) GROUP BY key, val; -select * from DEST1 ORDER BY key, cnt; -select * from DEST2 ORDER BY key, val, cnt; +select * from DEST1; +select * from DEST2; diff --git ql/src/test/queries/clientpositive/groupby_sort_2.q ql/src/test/queries/clientpositive/groupby_sort_2.q index 700a8af..1574048 100644 --- ql/src/test/queries/clientpositive/groupby_sort_2.q +++ ql/src/test/queries/clientpositive/groupby_sort_2.q @@ -3,6 +3,8 @@ set hive.enforce.sorting = true; set hive.exec.reducers.max = 10; set hive.map.groupby.sorted=true; +-- SORT_QUERY_RESULTS + CREATE TABLE T1(key STRING, val STRING) CLUSTERED BY (key) SORTED BY (val) INTO 2 BUCKETS STORED AS TEXTFILE; @@ -14,7 +16,7 @@ INSERT OVERWRITE TABLE T1 select key, val from T1; CREATE TABLE outputTbl1(val string, cnt int); -- The plan should not be converted to a map-side group by even though the group by key --- matches the sorted key. Adding a order by at the end to make the test results deterministic +-- matches the sorted key. EXPLAIN INSERT OVERWRITE TABLE outputTbl1 SELECT val, count(1) FROM T1 GROUP BY val; @@ -22,4 +24,4 @@ SELECT val, count(1) FROM T1 GROUP BY val; INSERT OVERWRITE TABLE outputTbl1 SELECT val, count(1) FROM T1 GROUP BY val; -SELECT * FROM outputTbl1 ORDER BY val; +SELECT * FROM outputTbl1; diff --git ql/src/test/queries/clientpositive/groupby_sort_3.q ql/src/test/queries/clientpositive/groupby_sort_3.q index 2ef8447..b835f95 100644 --- ql/src/test/queries/clientpositive/groupby_sort_3.q +++ ql/src/test/queries/clientpositive/groupby_sort_3.q @@ -3,6 +3,8 @@ set hive.enforce.sorting = true; set hive.exec.reducers.max = 10; set hive.map.groupby.sorted=true; +-- SORT_QUERY_RESULTS + CREATE TABLE T1(key STRING, val STRING) CLUSTERED BY (key) SORTED BY (key, val) INTO 2 BUCKETS STORED AS TEXTFILE; @@ -21,7 +23,7 @@ SELECT key, val, count(1) FROM T1 GROUP BY key, val; INSERT OVERWRITE TABLE outputTbl1 SELECT key, val, count(1) FROM T1 GROUP BY key, val; -SELECT * FROM outputTbl1 ORDER BY key, val; +SELECT * FROM outputTbl1; CREATE TABLE outputTbl2(key string, cnt int); @@ -33,4 +35,4 @@ SELECT key, count(1) FROM T1 GROUP BY key; INSERT OVERWRITE TABLE outputTbl2 SELECT key, count(1) FROM T1 GROUP BY key; -SELECT * FROM outputTbl2 ORDER BY key; +SELECT * FROM outputTbl2; diff --git ql/src/test/queries/clientpositive/groupby_sort_4.q ql/src/test/queries/clientpositive/groupby_sort_4.q index 3c959e3..a61c551 100644 --- ql/src/test/queries/clientpositive/groupby_sort_4.q +++ ql/src/test/queries/clientpositive/groupby_sort_4.q @@ -3,6 +3,8 @@ set hive.enforce.sorting = true; set hive.exec.reducers.max = 10; set hive.map.groupby.sorted=true; +-- SORT_QUERY_RESULTS + CREATE TABLE T1(key STRING, val STRING) CLUSTERED BY (key, val) SORTED BY (key) INTO 2 BUCKETS STORED AS TEXTFILE; @@ -22,7 +24,7 @@ SELECT key, count(1) FROM T1 GROUP BY key; INSERT OVERWRITE TABLE outputTbl1 SELECT key, count(1) FROM T1 GROUP BY key; -SELECT * FROM outputTbl1 ORDER BY key; +SELECT * FROM outputTbl1; CREATE TABLE outputTbl2(key STRING, val STRING, cnt INT); @@ -35,4 +37,4 @@ SELECT key, val, count(1) FROM T1 GROUP BY key, val; INSERT OVERWRITE TABLE outputTbl2 SELECT key, val, count(1) FROM T1 GROUP BY key, val; -SELECT * FROM outputTbl2 ORDER BY key, val; +SELECT * FROM outputTbl2; diff --git ql/src/test/queries/clientpositive/groupby_sort_5.q ql/src/test/queries/clientpositive/groupby_sort_5.q index dd05238..0d4ba42 100644 --- ql/src/test/queries/clientpositive/groupby_sort_5.q +++ ql/src/test/queries/clientpositive/groupby_sort_5.q @@ -3,6 +3,8 @@ set hive.enforce.sorting = true; set hive.exec.reducers.max = 10; set hive.map.groupby.sorted=true; +-- SORT_QUERY_RESULTS + CREATE TABLE T1(key STRING, val STRING) CLUSTERED BY (val) SORTED BY (key, val) INTO 2 BUCKETS STORED AS TEXTFILE; @@ -23,7 +25,7 @@ SELECT key, val, count(1) FROM T1 GROUP BY key, val; INSERT OVERWRITE TABLE outputTbl1 SELECT key, val, count(1) FROM T1 GROUP BY key, val; -SELECT * FROM outputTbl1 ORDER BY key, val; +SELECT * FROM outputTbl1; DROP TABLE T1; @@ -45,7 +47,7 @@ SELECT key, val, count(1) FROM T1 GROUP BY key, val; INSERT OVERWRITE TABLE outputTbl1 SELECT key, val, count(1) FROM T1 GROUP BY key, val; -SELECT * FROM outputTbl1 ORDER BY key, val; +SELECT * FROM outputTbl1; DROP TABLE T1; @@ -70,6 +72,6 @@ SELECT key, count(1) FROM T1 GROUP BY key; INSERT OVERWRITE TABLE outputTbl2 SELECT key, count(1) FROM T1 GROUP BY key; -SELECT * FROM outputTbl2 ORDER BY key; +SELECT * FROM outputTbl2; DROP TABLE T1; diff --git ql/src/test/queries/clientpositive/groupby_sort_6.q ql/src/test/queries/clientpositive/groupby_sort_6.q index aa09aec..752b927 100644 --- ql/src/test/queries/clientpositive/groupby_sort_6.q +++ ql/src/test/queries/clientpositive/groupby_sort_6.q @@ -3,6 +3,8 @@ set hive.enforce.sorting = true; set hive.exec.reducers.max = 10; set hive.map.groupby.sorted=true; +-- SORT_QUERY_RESULTS + CREATE TABLE T1(key STRING, val STRING) PARTITIONED BY (ds string); CREATE TABLE outputTbl1(key int, cnt int); @@ -15,7 +17,7 @@ SELECT key, count(1) FROM T1 where ds = '1' GROUP BY key; INSERT OVERWRITE TABLE outputTbl1 SELECT key, count(1) FROM T1 where ds = '1' GROUP BY key; -SELECT * FROM outputTbl1 ORDER BY key; +SELECT * FROM outputTbl1; LOAD DATA LOCAL INPATH '../../data/files/T1.txt' INTO TABLE T1 PARTITION (ds='2'); @@ -27,7 +29,7 @@ SELECT key, count(1) FROM T1 where ds = '1' GROUP BY key; INSERT OVERWRITE TABLE outputTbl1 SELECT key, count(1) FROM T1 where ds = '1' GROUP BY key; -SELECT * FROM outputTbl1 ORDER BY key; +SELECT * FROM outputTbl1; -- The plan should not be converted to a map-side group since the partition being accessed -- is neither bucketed not sorted @@ -38,4 +40,4 @@ SELECT key, count(1) FROM T1 where ds = '2' GROUP BY key; INSERT OVERWRITE TABLE outputTbl1 SELECT key, count(1) FROM T1 where ds = '2' GROUP BY key; -SELECT * FROM outputTbl1 ORDER BY key; +SELECT * FROM outputTbl1; diff --git ql/src/test/queries/clientpositive/groupby_sort_7.q ql/src/test/queries/clientpositive/groupby_sort_7.q index 9933785..3e3ba7a 100644 --- ql/src/test/queries/clientpositive/groupby_sort_7.q +++ ql/src/test/queries/clientpositive/groupby_sort_7.q @@ -3,6 +3,8 @@ set hive.enforce.sorting = true; set hive.exec.reducers.max = 10; set hive.map.groupby.sorted=true; +-- SORT_QUERY_RESULTS + CREATE TABLE T1(key STRING, val STRING) PARTITIONED BY (ds string) CLUSTERED BY (val) SORTED BY (key, val) INTO 2 BUCKETS STORED AS TEXTFILE; @@ -23,6 +25,6 @@ SELECT key, val, count(1) FROM T1 where ds = '1' GROUP BY key, val; INSERT OVERWRITE TABLE outputTbl1 SELECT key, val, count(1) FROM T1 where ds = '1' GROUP BY key, val; -SELECT * FROM outputTbl1 ORDER BY key, val; +SELECT * FROM outputTbl1; DROP TABLE T1; diff --git ql/src/test/queries/clientpositive/groupby_sort_skew_1.q ql/src/test/queries/clientpositive/groupby_sort_skew_1.q index db0faa0..44d79ad 100644 --- ql/src/test/queries/clientpositive/groupby_sort_skew_1.q +++ ql/src/test/queries/clientpositive/groupby_sort_skew_1.q @@ -4,6 +4,8 @@ set hive.exec.reducers.max = 10; set hive.map.groupby.sorted=true; set hive.groupby.skewindata=true; +-- SORT_QUERY_RESULTS + CREATE TABLE T1(key STRING, val STRING) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS STORED AS TEXTFILE; @@ -16,7 +18,6 @@ CREATE TABLE outputTbl1(key int, cnt int); -- The plan should be converted to a map-side group by if the group by key -- matches the sorted key --- addind a order by at the end to make the test results deterministic EXPLAIN EXTENDED INSERT OVERWRITE TABLE outputTbl1 SELECT key, count(1) FROM T1 GROUP BY key; @@ -24,7 +25,7 @@ SELECT key, count(1) FROM T1 GROUP BY key; INSERT OVERWRITE TABLE outputTbl1 SELECT key, count(1) FROM T1 GROUP BY key; -SELECT * FROM outputTbl1 ORDER BY key; +SELECT * FROM outputTbl1; CREATE TABLE outputTbl2(key1 int, key2 string, cnt int); @@ -36,7 +37,7 @@ SELECT key, val, count(1) FROM T1 GROUP BY key, val; INSERT OVERWRITE TABLE outputTbl2 SELECT key, val, count(1) FROM T1 GROUP BY key, val; -SELECT * FROM outputTbl2 ORDER BY key1, key2; +SELECT * FROM outputTbl2; -- It should work for sub-queries EXPLAIN EXTENDED @@ -46,7 +47,7 @@ SELECT key, count(1) FROM (SELECT key, val FROM T1) subq1 GROUP BY key; INSERT OVERWRITE TABLE outputTbl1 SELECT key, count(1) FROM (SELECT key, val FROM T1) subq1 GROUP BY key; -SELECT * FROM outputTbl1 ORDER BY key; +SELECT * FROM outputTbl1; -- It should work for sub-queries with column aliases EXPLAIN EXTENDED @@ -56,7 +57,7 @@ SELECT k, count(1) FROM (SELECT key as k, val as v FROM T1) subq1 GROUP BY k; INSERT OVERWRITE TABLE outputTbl1 SELECT k, count(1) FROM (SELECT key as k, val as v FROM T1) subq1 GROUP BY k; -SELECT * FROM outputTbl1 ORDER BY key; +SELECT * FROM outputTbl1; CREATE TABLE outputTbl3(key1 int, key2 int, cnt int); @@ -69,7 +70,7 @@ SELECT 1, key, count(1) FROM T1 GROUP BY 1, key; INSERT OVERWRITE TABLE outputTbl3 SELECT 1, key, count(1) FROM T1 GROUP BY 1, key; -SELECT * FROM outputTbl3 ORDER BY key1, key2; +SELECT * FROM outputTbl3; CREATE TABLE outputTbl4(key1 int, key2 int, key3 string, cnt int); @@ -81,7 +82,7 @@ SELECT key, 1, val, count(1) FROM T1 GROUP BY key, 1, val; INSERT OVERWRITE TABLE outputTbl4 SELECT key, 1, val, count(1) FROM T1 GROUP BY key, 1, val; -SELECT * FROM outputTbl4 ORDER BY key1, key2, key3; +SELECT * FROM outputTbl4; -- no map-side group by if the group by key contains a function EXPLAIN EXTENDED @@ -91,7 +92,7 @@ SELECT key, key + 1, count(1) FROM T1 GROUP BY key, key + 1; INSERT OVERWRITE TABLE outputTbl3 SELECT key, key + 1, count(1) FROM T1 GROUP BY key, key + 1; -SELECT * FROM outputTbl3 ORDER BY key1, key2; +SELECT * FROM outputTbl3; -- it should not matter what follows the group by -- test various cases @@ -108,7 +109,7 @@ SELECT key + key, sum(cnt) from (SELECT key, count(1) as cnt FROM T1 GROUP BY key) subq1 group by key + key; -SELECT * FROM outputTbl1 ORDER BY key; +SELECT * FROM outputTbl1; -- group by followed by a union EXPLAIN EXTENDED @@ -126,7 +127,7 @@ SELECT key, count(1) FROM T1 GROUP BY key SELECT key, count(1) FROM T1 GROUP BY key ) subq1; -SELECT * FROM outputTbl1 ORDER BY key; +SELECT * FROM outputTbl1; -- group by followed by a union where one of the sub-queries is map-side group by EXPLAIN EXTENDED @@ -144,7 +145,7 @@ SELECT key, count(1) as cnt FROM T1 GROUP BY key SELECT key + key as key, count(1) as cnt FROM T1 GROUP BY key + key ) subq1; -SELECT * FROM outputTbl1 ORDER BY key; +SELECT * FROM outputTbl1; -- group by followed by a join EXPLAIN EXTENDED @@ -162,7 +163,7 @@ JOIN (SELECT key, count(1) as cnt FROM T1 GROUP BY key) subq2 ON subq1.key = subq2.key; -SELECT * FROM outputTbl1 ORDER BY key; +SELECT * FROM outputTbl1; -- group by followed by a join where one of the sub-queries can be performed in the mapper EXPLAIN EXTENDED @@ -186,7 +187,7 @@ SELECT key, count(1) FROM T2 GROUP BY key; INSERT OVERWRITE TABLE outputTbl1 SELECT key, count(1) FROM T2 GROUP BY key; -SELECT * FROM outputTbl1 ORDER BY key; +SELECT * FROM outputTbl1; -- The plan should be converted to a map-side group by if the group by key contains a constant in between the -- sorted keys @@ -197,7 +198,7 @@ SELECT key, 1, val, count(1) FROM T2 GROUP BY key, 1, val; INSERT OVERWRITE TABLE outputTbl4 SELECT key, 1, val, count(1) FROM T2 GROUP BY key, 1, val; -SELECT * FROM outputTbl4 ORDER BY key1, key2, key3; +SELECT * FROM outputTbl4; CREATE TABLE outputTbl5(key1 int, key2 int, key3 string, key4 int, cnt int); @@ -225,7 +226,7 @@ SELECT key, constant, val, count(1) from (SELECT key, 1 as constant, val from T2)subq group by key, constant, val; -SELECT * FROM outputTbl4 ORDER BY key1, key2, key3; +SELECT * FROM outputTbl4; -- multiple levels of contants from sub-queries should work fine EXPLAIN EXTENDED @@ -245,7 +246,7 @@ SELECT key, constant as constant2, val, 2 as constant3 from )subq2 group by key, constant3, val; -SELECT * FROM outputTbl4 ORDER BY key1, key2, key3; +SELECT * FROM outputTbl4; set hive.map.aggr=true; set hive.multigroupby.singlereducer=false; @@ -266,8 +267,8 @@ FROM T2 INSERT OVERWRITE TABLE DEST1 SELECT key, count(1) GROUP BY key INSERT OVERWRITE TABLE DEST2 SELECT key, val, count(1) GROUP BY key, val; -select * from DEST1 ORDER BY key, cnt; -select * from DEST2 ORDER BY key, val, val; +select * from DEST1; +select * from DEST2; -- multi-table insert with a sub-query EXPLAIN @@ -279,5 +280,5 @@ FROM (select key, val from T2 where key = 8) x INSERT OVERWRITE TABLE DEST1 SELECT key, count(1) GROUP BY key INSERT OVERWRITE TABLE DEST2 SELECT key, val, count(1) GROUP BY key, val; -select * from DEST1 ORDER BY key, cnt; -select * from DEST2 ORDER BY key, val, cnt; +select * from DEST1; +select * from DEST2; diff --git ql/src/test/queries/clientpositive/index_auto.q ql/src/test/queries/clientpositive/index_auto.q index cb8a1d6..1fca1a5 100644 --- ql/src/test/queries/clientpositive/index_auto.q +++ ql/src/test/queries/clientpositive/index_auto.q @@ -1,7 +1,8 @@ -- try the query without indexing, with manual indexing, and with automatic indexing +-- SORT_QUERY_RESULTS -- without indexing -SELECT key, value FROM src WHERE key > 80 AND key < 100 ORDER BY key; +SELECT key, value FROM src WHERE key > 80 AND key < 100; CREATE INDEX src_index ON TABLE src(key) as 'COMPACT' WITH DEFERRED REBUILD; ALTER INDEX src_index ON src REBUILD; @@ -14,15 +15,15 @@ SET hive.index.compact.file=${system:test.tmp.dir}/index_where; SET hive.optimize.index.filter=false; SET hive.input.format=org.apache.hadoop.hive.ql.index.compact.HiveCompactIndexInputFormat; -EXPLAIN SELECT key, value FROM src WHERE key > 80 AND key < 100 ORDER BY key; -SELECT key, value FROM src WHERE key > 80 AND key < 100 ORDER BY key; +EXPLAIN SELECT key, value FROM src WHERE key > 80 AND key < 100; +SELECT key, value FROM src WHERE key > 80 AND key < 100; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; SET hive.optimize.index.filter=true; SET hive.optimize.index.filter.compact.minsize=0; -- automatic indexing -EXPLAIN SELECT key, value FROM src WHERE key > 80 AND key < 100 ORDER BY key; -SELECT key, value FROM src WHERE key > 80 AND key < 100 ORDER BY key; +EXPLAIN SELECT key, value FROM src WHERE key > 80 AND key < 100; +SELECT key, value FROM src WHERE key > 80 AND key < 100; DROP INDEX src_index on src; \ No newline at end of file diff --git ql/src/test/queries/clientpositive/index_auto_file_format.q ql/src/test/queries/clientpositive/index_auto_file_format.q index 790e6c2..e9436ed 100644 --- ql/src/test/queries/clientpositive/index_auto_file_format.q +++ ql/src/test/queries/clientpositive/index_auto_file_format.q @@ -1,3 +1,4 @@ +-- SORT_QUERY_RESULTS -- test automatic use of index on different file formats CREATE INDEX src_index ON TABLE src(key) as 'COMPACT' WITH DEFERRED REBUILD; ALTER INDEX src_index ON src REBUILD; @@ -6,14 +7,14 @@ SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; SET hive.optimize.index.filter=true; SET hive.optimize.index.filter.compact.minsize=0; -EXPLAIN SELECT key, value FROM src WHERE key=86 ORDER BY key; -SELECT key, value FROM src WHERE key=86 ORDER BY key; +EXPLAIN SELECT key, value FROM src WHERE key=86; +SELECT key, value FROM src WHERE key=86; SET hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat; SET hive.optimize.index.filter=true; SET hive.optimize.index.filter.compact.minsize=0; -EXPLAIN SELECT key, value FROM src WHERE key=86 ORDER BY key; -SELECT key, value FROM src WHERE key=86 ORDER BY key; +EXPLAIN SELECT key, value FROM src WHERE key=86; +SELECT key, value FROM src WHERE key=86; DROP INDEX src_index on src; \ No newline at end of file diff --git ql/src/test/queries/clientpositive/index_auto_mult_tables.q ql/src/test/queries/clientpositive/index_auto_mult_tables.q index 2bf8481..45f8ff6 100644 --- ql/src/test/queries/clientpositive/index_auto_mult_tables.q +++ ql/src/test/queries/clientpositive/index_auto_mult_tables.q @@ -1,8 +1,9 @@ +-- SORT_QUERY_RESULTS -- try the query without indexing, with manual indexing, and with automatic indexing -- without indexing -EXPLAIN SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key; -SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key; +EXPLAIN SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90; +SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90; CREATE INDEX src_index ON TABLE src(key) as 'BITMAP' WITH DEFERRED REBUILD; @@ -15,8 +16,8 @@ SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; SET hive.optimize.index.filter=true; SET hive.optimize.index.filter.compact.minsize=0; -EXPLAIN SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key; -SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key; +EXPLAIN SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90; +SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90; DROP INDEX src_index on src; DROP INDEX srcpart_index on src; diff --git ql/src/test/queries/clientpositive/index_auto_mult_tables_compact.q ql/src/test/queries/clientpositive/index_auto_mult_tables_compact.q index 808a04c..196a503 100644 --- ql/src/test/queries/clientpositive/index_auto_mult_tables_compact.q +++ ql/src/test/queries/clientpositive/index_auto_mult_tables_compact.q @@ -1,8 +1,9 @@ +-- SORT_QUERY_RESULTS -- try the query without indexing, with manual indexing, and with automatic indexing -- without indexing -EXPLAIN SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key; -SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key; +EXPLAIN SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90; +SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90; CREATE INDEX src_index ON TABLE src(key) as 'COMPACT' WITH DEFERRED REBUILD; @@ -16,8 +17,8 @@ SET hive.optimize.index.filter=true; SET hive.optimize.index.filter.compact.minsize=0; -- automatic indexing -EXPLAIN SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key; -SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key; +EXPLAIN SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90; +SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90; DROP INDEX src_index on src; DROP INDEX srcpart_index on src; diff --git ql/src/test/queries/clientpositive/index_auto_multiple.q ql/src/test/queries/clientpositive/index_auto_multiple.q index 06e97fa..35cbd25 100644 --- ql/src/test/queries/clientpositive/index_auto_multiple.q +++ ql/src/test/queries/clientpositive/index_auto_multiple.q @@ -1,3 +1,4 @@ +-- SORT_QUERY_RESULTS -- With multiple indexes, make sure we choose which to use in a consistent order CREATE INDEX src_key_index ON TABLE src(key) as 'COMPACT' WITH DEFERRED REBUILD; @@ -9,8 +10,8 @@ SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; SET hive.optimize.index.filter=true; SET hive.optimize.index.filter.compact.minsize=0; -EXPLAIN SELECT key, value FROM src WHERE key=86 ORDER BY key; -SELECT key, value FROM src WHERE key=86 ORDER BY key; +EXPLAIN SELECT key, value FROM src WHERE key=86; +SELECT key, value FROM src WHERE key=86; DROP INDEX src_key_index ON src; DROP INDEX src_val_index ON src; \ No newline at end of file diff --git ql/src/test/queries/clientpositive/index_auto_partitioned.q ql/src/test/queries/clientpositive/index_auto_partitioned.q index 5013d29..bfd3cbd 100644 --- ql/src/test/queries/clientpositive/index_auto_partitioned.q +++ ql/src/test/queries/clientpositive/index_auto_partitioned.q @@ -1,3 +1,4 @@ +-- SORT_QUERY_RESULTS -- test automatic use of index on table with partitions CREATE INDEX src_part_index ON TABLE srcpart(key) as 'COMPACT' WITH DEFERRED REBUILD; ALTER INDEX src_part_index ON srcpart REBUILD; @@ -6,7 +7,7 @@ SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; SET hive.optimize.index.filter=true; SET hive.optimize.index.filter.compact.minsize=0; -EXPLAIN SELECT key, value FROM srcpart WHERE key=86 AND ds='2008-04-09' ORDER BY key; -SELECT key, value FROM srcpart WHERE key=86 AND ds='2008-04-09' ORDER BY key; +EXPLAIN SELECT key, value FROM srcpart WHERE key=86 AND ds='2008-04-09'; +SELECT key, value FROM srcpart WHERE key=86 AND ds='2008-04-09'; DROP INDEX src_part_index ON srcpart; diff --git ql/src/test/queries/clientpositive/index_auto_self_join.q ql/src/test/queries/clientpositive/index_auto_self_join.q index 0984a4a..1e6af07 100644 --- ql/src/test/queries/clientpositive/index_auto_self_join.q +++ ql/src/test/queries/clientpositive/index_auto_self_join.q @@ -1,7 +1,8 @@ +-- SORT_QUERY_RESULTS -- try the query without indexing, with manual indexing, and with automatic indexing -EXPLAIN SELECT a.key, b.key FROM src a JOIN src b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key; -SELECT a.key, b.key FROM src a JOIN src b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key; +EXPLAIN SELECT a.key, b.key FROM src a JOIN src b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90; +SELECT a.key, b.key FROM src a JOIN src b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90; CREATE INDEX src_index ON TABLE src(key) as 'BITMAP' WITH DEFERRED REBUILD; ALTER INDEX src_index ON src REBUILD; @@ -10,7 +11,7 @@ SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; SET hive.optimize.index.filter=true; SET hive.optimize.index.filter.compact.minsize=0; -EXPLAIN SELECT a.key, b.key FROM src a JOIN src b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key; -SELECT a.key, b.key FROM src a JOIN src b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key; +EXPLAIN SELECT a.key, b.key FROM src a JOIN src b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90; +SELECT a.key, b.key FROM src a JOIN src b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90; DROP INDEX src_index on src; diff --git ql/src/test/queries/clientpositive/index_auto_unused.q ql/src/test/queries/clientpositive/index_auto_unused.q index d8f3eda..9b07df5 100644 --- ql/src/test/queries/clientpositive/index_auto_unused.q +++ ql/src/test/queries/clientpositive/index_auto_unused.q @@ -1,3 +1,4 @@ +-- SORT_QUERY_RESULTS -- test cases where the index should not be used automatically CREATE INDEX src_index ON TABLE src(key) as 'COMPACT' WITH DEFERRED REBUILD; @@ -9,8 +10,8 @@ SET hive.optimize.index.filter.compact.minsize=5368709120; SET hive.optimize.index.filter.compact.maxsize=-1; -- min size too large (src is less than 5G) -EXPLAIN SELECT * FROM src WHERE key > 80 AND key < 100 ORDER BY key; -SELECT * FROM src WHERE key > 80 AND key < 100 ORDER BY key; +EXPLAIN SELECT * FROM src WHERE key > 80 AND key < 100; +SELECT * FROM src WHERE key > 80 AND key < 100; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; SET hive.optimize.index.filter=true; @@ -18,8 +19,8 @@ SET hive.optimize.index.filter.compact.minsize=0; SET hive.optimize.index.filter.compact.maxsize=1; -- max size too small -EXPLAIN SELECT * FROM src WHERE key > 80 AND key < 100 ORDER BY key; -SELECT * FROM src WHERE key > 80 AND key < 100 ORDER BY key; +EXPLAIN SELECT * FROM src WHERE key > 80 AND key < 100; +SELECT * FROM src WHERE key > 80 AND key < 100; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; SET hive.optimize.index.filter=true; @@ -27,8 +28,8 @@ SET hive.optimize.index.filter.compact.minsize=0; SET hive.optimize.index.filter.compact.maxsize=-1; -- OR predicate not supported by compact indexes -EXPLAIN SELECT * FROM src WHERE key < 10 OR key > 480 ORDER BY key; -SELECT * FROM src WHERE key < 10 OR key > 480 ORDER BY key; +EXPLAIN SELECT * FROM src WHERE key < 10 OR key > 480; +SELECT * FROM src WHERE key < 10 OR key > 480; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; SET hive.optimize.index.filter=true; @@ -40,8 +41,8 @@ DROP INDEX src_index on src; CREATE INDEX src_val_index ON TABLE src(value) as 'COMPACT' WITH DEFERRED REBUILD; ALTER INDEX src_val_index ON src REBUILD; -EXPLAIN SELECT * FROM src WHERE key > 80 AND key < 100 ORDER BY key; -SELECT * FROM src WHERE key > 80 AND key < 100 ORDER BY key; +EXPLAIN SELECT * FROM src WHERE key > 80 AND key < 100; +SELECT * FROM src WHERE key > 80 AND key < 100; DROP INDEX src_val_index on src; @@ -54,7 +55,7 @@ SET hive.optimize.index.filter.compact.maxsize=-1; CREATE INDEX src_part_index ON TABLE srcpart(key) as 'COMPACT' WITH DEFERRED REBUILD; ALTER INDEX src_part_index ON srcpart PARTITION (ds='2008-04-08', hr=11) REBUILD; -EXPLAIN SELECT * FROM srcpart WHERE ds='2008-04-09' AND hr=12 AND key < 10 ORDER BY key; -SELECT * FROM srcpart WHERE ds='2008-04-09' AND hr=12 AND key < 10 ORDER BY key; +EXPLAIN SELECT * FROM srcpart WHERE ds='2008-04-09' AND hr=12 AND key < 10; +SELECT * FROM srcpart WHERE ds='2008-04-09' AND hr=12 AND key < 10; DROP INDEX src_part_index on srcpart; diff --git ql/src/test/queries/clientpositive/index_bitmap.q ql/src/test/queries/clientpositive/index_bitmap.q index f9deb28..ab3b9ef 100644 --- ql/src/test/queries/clientpositive/index_bitmap.q +++ ql/src/test/queries/clientpositive/index_bitmap.q @@ -1,10 +1,12 @@ +-- SORT_QUERY_RESULTS + DROP INDEX srcpart_index_proj on srcpart; EXPLAIN CREATE INDEX srcpart_index_proj ON TABLE srcpart(key) as 'BITMAP' WITH DEFERRED REBUILD; CREATE INDEX srcpart_index_proj ON TABLE srcpart(key) as 'BITMAP' WITH DEFERRED REBUILD; ALTER INDEX srcpart_index_proj ON srcpart REBUILD; -SELECT x.* FROM default__srcpart_srcpart_index_proj__ x WHERE x.ds = '2008-04-08' and x.hr = 11 ORDER BY key; +SELECT x.* FROM default__srcpart_srcpart_index_proj__ x WHERE x.ds = '2008-04-08' and x.hr = 11; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; INSERT OVERWRITE DIRECTORY "${system:test.tmp.dir}/index_test_index_result" SELECT `_bucketname`, @@ -12,7 +14,7 @@ COLLECT_SET(`_offset`) as `_offsets` FROM default__srcpart_srcpart_index_proj__ x WHERE NOT EWAH_BITMAP_EMPTY(`_bitmaps`) AND x.key=100 AND x.ds = '2008-04-08' GROUP BY `_bucketname`; SET hive.index.blockfilter.file=${system:test.tmp.dir}/index_test_index_result; SET hive.input.format=org.apache.hadoop.hive.ql.index.HiveIndexedInputFormat; -SELECT key, value FROM srcpart WHERE key=100 AND ds = '2008-04-08' ORDER BY key; +SELECT key, value FROM srcpart WHERE key=100 AND ds = '2008-04-08'; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; INSERT OVERWRITE DIRECTORY "${system:test.tmp.dir}/index_test_index_result" SELECT `_bucketname` , @@ -20,10 +22,10 @@ COLLECT_SET(`_offset`) as `_offsets` FROM default__srcpart_srcpart_index_proj__ x WHERE NOT EWAH_BITMAP_EMPTY(`_bitmaps`) AND x.key=100 AND x.ds = '2008-04-08' and x.hr = 11 GROUP BY `_bucketname`; SET hive.index.blockfilter.file=${system:test.tmp.dir}/index_test_index_result; SET hive.input.format=org.apache.hadoop.hive.ql.index.HiveIndexedInputFormat; -SELECT key, value FROM srcpart WHERE key=100 AND ds = '2008-04-08' and hr = 11 ORDER BY key; +SELECT key, value FROM srcpart WHERE key=100 AND ds = '2008-04-08' and hr = 11; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; -SELECT key, value FROM srcpart WHERE key=100 AND ds = '2008-04-08' and hr = 11 ORDER BY key; +SELECT key, value FROM srcpart WHERE key=100 AND ds = '2008-04-08' and hr = 11; DROP INDEX srcpart_index_proj on srcpart; @@ -39,9 +41,9 @@ COLLECT_SET(`_offset`) as `_offsets` FROM default__srcpart_srcpart_index_proj__ WHERE NOT EWAH_BITMAP_EMPTY(`_bitmaps`) AND key=100 GROUP BY `_bucketname`; SET hive.index.blockfilter.file=${system:test.tmp.dir}/index_result; SET hive.input.format=org.apache.hadoop.hive.ql.index.HiveIndexedInputFormat; -SELECT key, value FROM srcpart WHERE key=100 ORDER BY key; +SELECT key, value FROM srcpart WHERE key=100; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; -SELECT key, value FROM srcpart WHERE key=100 ORDER BY key; +SELECT key, value FROM srcpart WHERE key=100; DROP INDEX srcpart_index_proj on srcpart; diff --git ql/src/test/queries/clientpositive/index_bitmap1.q ql/src/test/queries/clientpositive/index_bitmap1.q index 55633d9..406cab5 100644 --- ql/src/test/queries/clientpositive/index_bitmap1.q +++ ql/src/test/queries/clientpositive/index_bitmap1.q @@ -1,8 +1,10 @@ +-- SORT_QUERY_RESULTS + EXPLAIN CREATE INDEX src_index ON TABLE src(key) as 'BITMAP' WITH DEFERRED REBUILD; CREATE INDEX src_index ON TABLE src(key) as 'BITMAP' WITH DEFERRED REBUILD; ALTER INDEX src_index ON src REBUILD; -SELECT x.* FROM default__src_src_index__ x ORDER BY key; +SELECT x.* FROM default__src_src_index__ x; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; INSERT OVERWRITE DIRECTORY "${system:test.tmp.dir}/index_result" SELECT `_bucketname`, @@ -10,9 +12,9 @@ COLLECT_SET(`_offset`) as `_offsets` FROM default__src_src_index__ WHERE NOT EWAH_BITMAP_EMPTY(`_bitmaps`) AND key=100 GROUP BY `_bucketname`; SET hive.index.blockfilter.file=${system:test.tmp.dir}/index_result; SET hive.input.format=org.apache.hadoop.hive.ql.index.HiveIndexedInputFormat; -SELECT key, value FROM src WHERE key=100 ORDER BY key; +SELECT key, value FROM src WHERE key=100; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; -SELECT key, value FROM src WHERE key=100 ORDER BY key; +SELECT key, value FROM src WHERE key=100; DROP INDEX src_index ON src; diff --git ql/src/test/queries/clientpositive/index_bitmap2.q ql/src/test/queries/clientpositive/index_bitmap2.q index bd15a21..f40e723 100644 --- ql/src/test/queries/clientpositive/index_bitmap2.q +++ ql/src/test/queries/clientpositive/index_bitmap2.q @@ -1,3 +1,5 @@ +-- SORT_QUERY_RESULTS + EXPLAIN CREATE INDEX src1_index ON TABLE src(key) as 'BITMAP' WITH DEFERRED REBUILD; EXPLAIN @@ -7,8 +9,8 @@ CREATE INDEX src1_index ON TABLE src(key) as 'BITMAP' WITH DEFERRED REBUILD; CREATE INDEX src2_index ON TABLE src(value) as 'BITMAP' WITH DEFERRED REBUILD; ALTER INDEX src1_index ON src REBUILD; ALTER INDEX src2_index ON src REBUILD; -SELECT * FROM default__src_src1_index__ ORDER BY key; -SELECT * FROM default__src_src2_index__ ORDER BY value; +SELECT * FROM default__src_src1_index__; +SELECT * FROM default__src_src2_index__; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; @@ -25,10 +27,10 @@ GROUP BY t.bucketname; SET hive.index.blockfilter.file=${system:test.tmp.dir}/index_result; SET hive.input.format=org.apache.hadoop.hive.ql.index.HiveIndexedInputFormat; -SELECT key, value FROM src WHERE key=0 OR value = "val_2" ORDER BY key; +SELECT key, value FROM src WHERE key=0 OR value = "val_2"; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; -SELECT key, value FROM src WHERE key=0 OR value = "val_2" ORDER BY key; +SELECT key, value FROM src WHERE key=0 OR value = "val_2"; DROP INDEX src1_index ON src; DROP INDEX src2_index ON src; diff --git ql/src/test/queries/clientpositive/index_bitmap3.q ql/src/test/queries/clientpositive/index_bitmap3.q index e7a093c..ed29af9 100644 --- ql/src/test/queries/clientpositive/index_bitmap3.q +++ ql/src/test/queries/clientpositive/index_bitmap3.q @@ -1,6 +1,8 @@ set hive.stats.dbclass=counter; set hive.stats.autogather=true; +-- SORT_QUERY_RESULTS + EXPLAIN CREATE INDEX src1_index ON TABLE src(key) as 'BITMAP' WITH DEFERRED REBUILD; EXPLAIN @@ -10,8 +12,8 @@ CREATE INDEX src1_index ON TABLE src(key) as 'BITMAP' WITH DEFERRED REBUILD; CREATE INDEX src2_index ON TABLE src(value) as 'BITMAP' WITH DEFERRED REBUILD; ALTER INDEX src1_index ON src REBUILD; ALTER INDEX src2_index ON src REBUILD; -SELECT * FROM default__src_src1_index__ ORDER BY key; -SELECT * FROM default__src_src2_index__ ORDER BY value; +SELECT * FROM default__src_src1_index__; +SELECT * FROM default__src_src2_index__; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; @@ -40,10 +42,10 @@ EWAH_BITMAP_EMPTY(EWAH_BITMAP_AND(a.bitmaps, b.bitmaps)) GROUP BY a.bucketname; SET hive.index.blockfilter.file=${system:test.tmp.dir}/index_result; SET hive.input.format=org.apache.hadoop.hive.ql.index.HiveIndexedInputFormat; -SELECT key, value FROM src WHERE key=0 AND value = "val_0" ORDER BY key; +SELECT key, value FROM src WHERE key=0 AND value = "val_0"; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; -SELECT key, value FROM src WHERE key=0 AND value = "val_0" ORDER BY key; +SELECT key, value FROM src WHERE key=0 AND value = "val_0"; DROP INDEX src1_index ON src; DROP INDEX src2_index ON src; diff --git ql/src/test/queries/clientpositive/index_bitmap_auto.q ql/src/test/queries/clientpositive/index_bitmap_auto.q index 56cd44d..2d434d1 100644 --- ql/src/test/queries/clientpositive/index_bitmap_auto.q +++ ql/src/test/queries/clientpositive/index_bitmap_auto.q @@ -1,9 +1,11 @@ set hive.stats.dbclass=counter; set hive.stats.autogather=true; +-- SORT_QUERY_RESULTS + -- try the query without indexing, with manual indexing, and with automatic indexing -- without indexing -SELECT key, value FROM src WHERE key=0 AND value = "val_0" ORDER BY key; +SELECT key, value FROM src WHERE key=0 AND value = "val_0"; -- create indices EXPLAIN @@ -16,8 +18,8 @@ CREATE INDEX src1_index ON TABLE src(key) as 'BITMAP' WITH DEFERRED REBUILD; CREATE INDEX src2_index ON TABLE src(value) as 'BITMAP' WITH DEFERRED REBUILD; ALTER INDEX src1_index ON src REBUILD; ALTER INDEX src2_index ON src REBUILD; -SELECT * FROM default__src_src1_index__ ORDER BY key; -SELECT * FROM default__src_src2_index__ ORDER BY value; +SELECT * FROM default__src_src1_index__; +SELECT * FROM default__src_src2_index__; -- manual indexing @@ -43,12 +45,12 @@ FROM (SELECT `_bucketname` AS bucketname, `_offset` AS offset, `_bitmaps` AS bit a.bucketname = b.bucketname AND a.offset = b.offset WHERE NOT EWAH_BITMAP_EMPTY(EWAH_BITMAP_AND(a.bitmaps, b.bitmaps)) GROUP BY a.bucketname; -SELECT key, value FROM src WHERE key=0 AND value = "val_0" ORDER BY key; +SELECT key, value FROM src WHERE key=0 AND value = "val_0"; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; SET hive.optimize.index.filter=true; -SELECT key, value FROM src WHERE key=0 AND value = "val_0" ORDER BY key; +SELECT key, value FROM src WHERE key=0 AND value = "val_0"; DROP INDEX src1_index ON src; DROP INDEX src2_index ON src; diff --git ql/src/test/queries/clientpositive/index_bitmap_auto_partitioned.q ql/src/test/queries/clientpositive/index_bitmap_auto_partitioned.q index 90d7987..73117bb 100644 --- ql/src/test/queries/clientpositive/index_bitmap_auto_partitioned.q +++ ql/src/test/queries/clientpositive/index_bitmap_auto_partitioned.q @@ -1,3 +1,5 @@ +-- SORT_QUERY_RESULTS + -- test automatic use of index on table with partitions CREATE INDEX src_part_index ON TABLE srcpart(key) as 'BITMAP' WITH DEFERRED REBUILD; ALTER INDEX src_part_index ON srcpart REBUILD; @@ -5,7 +7,7 @@ ALTER INDEX src_part_index ON srcpart REBUILD; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; SET hive.optimize.index.filter=true; -EXPLAIN SELECT key, value FROM srcpart WHERE key=86 AND ds='2008-04-09' ORDER BY key; -SELECT key, value FROM srcpart WHERE key=86 AND ds='2008-04-09' ORDER BY key; +EXPLAIN SELECT key, value FROM srcpart WHERE key=86 AND ds='2008-04-09'; +SELECT key, value FROM srcpart WHERE key=86 AND ds='2008-04-09'; DROP INDEX src_part_index ON srcpart; diff --git ql/src/test/queries/clientpositive/index_bitmap_compression.q ql/src/test/queries/clientpositive/index_bitmap_compression.q index 2f5e5d4..38f1aaa 100644 --- ql/src/test/queries/clientpositive/index_bitmap_compression.q +++ ql/src/test/queries/clientpositive/index_bitmap_compression.q @@ -1,4 +1,7 @@ SET hive.exec.compress.result=true; + +-- SORT_QUERY_RESULTS + CREATE INDEX src_index ON TABLE src(key) as 'BITMAP' WITH DEFERRED REBUILD; ALTER INDEX src_index ON src REBUILD; @@ -7,7 +10,7 @@ SET hive.optimize.index.filter=true; SET hive.optimize.index.filter.compact.minsize=0; -- automatic indexing -EXPLAIN SELECT key, value FROM src WHERE key > 80 AND key < 100 ORDER BY key; -SELECT key, value FROM src WHERE key > 80 AND key < 100 ORDER BY key; +EXPLAIN SELECT key, value FROM src WHERE key > 80 AND key < 100; +SELECT key, value FROM src WHERE key > 80 AND key < 100; DROP INDEX src_index on src; diff --git ql/src/test/queries/clientpositive/index_bitmap_rc.q ql/src/test/queries/clientpositive/index_bitmap_rc.q index 054df51..7d3cc66 100644 --- ql/src/test/queries/clientpositive/index_bitmap_rc.q +++ ql/src/test/queries/clientpositive/index_bitmap_rc.q @@ -1,3 +1,5 @@ +-- SORT_QUERY_RESULTS + CREATE TABLE srcpart_rc (key int, value string) PARTITIONED BY (ds string, hr int) STORED AS RCFILE; INSERT OVERWRITE TABLE srcpart_rc PARTITION (ds='2008-04-08', hr=11) SELECT key, value FROM srcpart WHERE ds = '2008-04-08' AND hr = 11; @@ -9,7 +11,7 @@ EXPLAIN CREATE INDEX srcpart_rc_index ON TABLE srcpart_rc(key) as 'BITMAP' WITH DEFERRED REBUILD; CREATE INDEX srcpart_rc_index ON TABLE srcpart_rc(key) as 'BITMAP' WITH DEFERRED REBUILD; ALTER INDEX srcpart_rc_index ON srcpart_rc REBUILD; -SELECT x.* FROM default__srcpart_rc_srcpart_rc_index__ x WHERE x.ds = '2008-04-08' and x.hr = 11 ORDER BY key; +SELECT x.* FROM default__srcpart_rc_srcpart_rc_index__ x WHERE x.ds = '2008-04-08' and x.hr = 11; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; INSERT OVERWRITE DIRECTORY "${system:test.tmp.dir}/index_test_index_result" SELECT `_bucketname`, @@ -17,7 +19,7 @@ COLLECT_SET(`_offset`) as `_offsets` FROM default__srcpart_rc_srcpart_rc_index__ x WHERE NOT EWAH_BITMAP_EMPTY(`_bitmaps`) AND x.key=100 AND x.ds = '2008-04-08' GROUP BY `_bucketname`; SET hive.index.blockfilter.file=${system:test.tmp.dir}/index_test_index_result; SET hive.input.format=org.apache.hadoop.hive.ql.index.HiveIndexedInputFormat; -SELECT key, value FROM srcpart_rc WHERE key=100 AND ds = '2008-04-08' ORDER BY key; +SELECT key, value FROM srcpart_rc WHERE key=100 AND ds = '2008-04-08'; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; INSERT OVERWRITE DIRECTORY "${system:test.tmp.dir}/index_test_index_result" SELECT `_bucketname` , @@ -25,10 +27,10 @@ COLLECT_SET(`_offset`) as `_offsets` FROM default__srcpart_rc_srcpart_rc_index__ x WHERE NOT EWAH_BITMAP_EMPTY(`_bitmaps`) AND x.key=100 AND x.ds = '2008-04-08' and x.hr = 11 GROUP BY `_bucketname`; SET hive.index.blockfilter.file=${system:test.tmp.dir}/index_test_index_result; SET hive.input.format=org.apache.hadoop.hive.ql.index.HiveIndexedInputFormat; -SELECT key, value FROM srcpart_rc WHERE key=100 AND ds = '2008-04-08' and hr = 11 ORDER BY key; +SELECT key, value FROM srcpart_rc WHERE key=100 AND ds = '2008-04-08' and hr = 11; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; -SELECT key, value FROM srcpart_rc WHERE key=100 AND ds = '2008-04-08' and hr = 11 ORDER BY key; +SELECT key, value FROM srcpart_rc WHERE key=100 AND ds = '2008-04-08' and hr = 11; DROP INDEX srcpart_rc_index on srcpart_rc; @@ -44,10 +46,10 @@ COLLECT_SET(`_offset`) as `_offsets` FROM default__srcpart_rc_srcpart_rc_index__ WHERE NOT EWAH_BITMAP_EMPTY(`_bitmaps`) AND key=100 GROUP BY `_bucketname`; SET hive.index.blockfilter.file=${system:test.tmp.dir}/index_result; SET hive.input.format=org.apache.hadoop.hive.ql.index.HiveIndexedInputFormat; -SELECT key, value FROM srcpart_rc WHERE key=100 ORDER BY key; +SELECT key, value FROM srcpart_rc WHERE key=100; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; -SELECT key, value FROM srcpart_rc WHERE key=100 ORDER BY key; +SELECT key, value FROM srcpart_rc WHERE key=100; DROP INDEX srcpart_rc_index on srcpart_rc; DROP TABLE srcpart_rc; diff --git ql/src/test/queries/clientpositive/index_compact.q ql/src/test/queries/clientpositive/index_compact.q index a936f11..77c0d35 100644 --- ql/src/test/queries/clientpositive/index_compact.q +++ ql/src/test/queries/clientpositive/index_compact.q @@ -1,25 +1,27 @@ +-- SORT_QUERY_RESULTS + DROP INDEX srcpart_index_proj on srcpart; EXPLAIN CREATE INDEX srcpart_index_proj ON TABLE srcpart(key) as 'COMPACT' WITH DEFERRED REBUILD; CREATE INDEX srcpart_index_proj ON TABLE srcpart(key) as 'COMPACT' WITH DEFERRED REBUILD; ALTER INDEX srcpart_index_proj ON srcpart REBUILD; -SELECT x.* FROM default__srcpart_srcpart_index_proj__ x WHERE x.ds = '2008-04-08' and x.hr = 11 ORDER BY key; +SELECT x.* FROM default__srcpart_srcpart_index_proj__ x WHERE x.ds = '2008-04-08' and x.hr = 11; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; INSERT OVERWRITE DIRECTORY "${system:test.tmp.dir}/index_test_index_result" SELECT `_bucketname` , `_offsets` FROM default__srcpart_srcpart_index_proj__ x WHERE x.key=100 AND x.ds = '2008-04-08'; SET hive.index.compact.file=${system:test.tmp.dir}/index_test_index_result; SET hive.input.format=org.apache.hadoop.hive.ql.index.compact.HiveCompactIndexInputFormat; -SELECT key, value FROM srcpart WHERE key=100 AND ds = '2008-04-08' ORDER BY key; +SELECT key, value FROM srcpart WHERE key=100 AND ds = '2008-04-08'; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; INSERT OVERWRITE DIRECTORY "${system:test.tmp.dir}/index_test_index_result" SELECT `_bucketname` , `_offsets` FROM default__srcpart_srcpart_index_proj__ x WHERE x.key=100 AND x.ds = '2008-04-08' and x.hr = 11; SET hive.index.compact.file=${system:test.tmp.dir}/index_test_index_result; SET hive.input.format=org.apache.hadoop.hive.ql.index.compact.HiveCompactIndexInputFormat; -SELECT key, value FROM srcpart WHERE key=100 AND ds = '2008-04-08' and hr = 11 ORDER BY key; +SELECT key, value FROM srcpart WHERE key=100 AND ds = '2008-04-08' and hr = 11; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; -SELECT key, value FROM srcpart WHERE key=100 AND ds = '2008-04-08' and hr = 11 ORDER BY key; +SELECT key, value FROM srcpart WHERE key=100 AND ds = '2008-04-08' and hr = 11; DROP INDEX srcpart_index_proj on srcpart; @@ -33,9 +35,9 @@ SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; INSERT OVERWRITE DIRECTORY "${system:test.tmp.dir}/index_result" SELECT `_bucketname` , `_offsets` FROM default__srcpart_srcpart_index_proj__ WHERE key=100; SET hive.index.compact.file=${system:test.tmp.dir}/index_result; SET hive.input.format=org.apache.hadoop.hive.ql.index.compact.HiveCompactIndexInputFormat; -SELECT key, value FROM srcpart WHERE key=100 ORDER BY key; +SELECT key, value FROM srcpart WHERE key=100; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; -SELECT key, value FROM srcpart WHERE key=100 ORDER BY key; +SELECT key, value FROM srcpart WHERE key=100; DROP INDEX srcpart_index_proj on srcpart; diff --git ql/src/test/queries/clientpositive/index_compact_1.q ql/src/test/queries/clientpositive/index_compact_1.q index 837033b..7c48717 100644 --- ql/src/test/queries/clientpositive/index_compact_1.q +++ ql/src/test/queries/clientpositive/index_compact_1.q @@ -1,16 +1,18 @@ +-- SORT_QUERY_RESULTS + EXPLAIN CREATE INDEX src_index ON TABLE src(key) as 'COMPACT' WITH DEFERRED REBUILD; CREATE INDEX src_index ON TABLE src(key) as 'COMPACT' WITH DEFERRED REBUILD; ALTER INDEX src_index ON src REBUILD; -SELECT x.* FROM default__src_src_index__ x ORDER BY key; +SELECT x.* FROM default__src_src_index__ x; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; INSERT OVERWRITE DIRECTORY "${system:test.tmp.dir}/index_result" SELECT `_bucketname` , `_offsets` FROM default__src_src_index__ WHERE key=100; SET hive.index.compact.file=${system:test.tmp.dir}/index_result; SET hive.input.format=org.apache.hadoop.hive.ql.index.compact.HiveCompactIndexInputFormat; -SELECT key, value FROM src WHERE key=100 ORDER BY key; +SELECT key, value FROM src WHERE key=100; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; -SELECT key, value FROM src WHERE key=100 ORDER BY key; +SELECT key, value FROM src WHERE key=100; DROP INDEX src_index on src; diff --git ql/src/test/queries/clientpositive/index_compact_2.q ql/src/test/queries/clientpositive/index_compact_2.q index 56119ac..53f0af5 100644 --- ql/src/test/queries/clientpositive/index_compact_2.q +++ ql/src/test/queries/clientpositive/index_compact_2.q @@ -1,3 +1,5 @@ +-- SORT_QUERY_RESULTS + CREATE TABLE srcpart_rc (key int, value string) PARTITIONED BY (ds string, hr int) STORED AS RCFILE; INSERT OVERWRITE TABLE srcpart_rc PARTITION (ds='2008-04-08', hr=11) SELECT key, value FROM srcpart WHERE ds = '2008-04-08' AND hr = 11; @@ -7,22 +9,22 @@ INSERT OVERWRITE TABLE srcpart_rc PARTITION (ds='2008-04-09', hr=12) SELECT key, CREATE INDEX srcpart_rc_index ON TABLE srcpart_rc(key) as 'COMPACT' WITH DEFERRED REBUILD; ALTER INDEX srcpart_rc_index ON srcpart_rc REBUILD; -SELECT x.* FROM default__srcpart_rc_srcpart_rc_index__ x WHERE x.ds = '2008-04-08' and x.hr = 11 ORDER BY key; +SELECT x.* FROM default__srcpart_rc_srcpart_rc_index__ x WHERE x.ds = '2008-04-08' and x.hr = 11; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; INSERT OVERWRITE DIRECTORY "${system:test.tmp.dir}/index_test_index_result" SELECT `_bucketname` , `_offsets` FROM default__srcpart_rc_srcpart_rc_index__ x WHERE x.key=100 AND x.ds = '2008-04-08'; SET hive.index.compact.file=${system:test.tmp.dir}/index_test_index_result; SET hive.input.format=org.apache.hadoop.hive.ql.index.compact.HiveCompactIndexInputFormat; -SELECT key, value FROM srcpart_rc WHERE key=100 AND ds = '2008-04-08' ORDER BY key; +SELECT key, value FROM srcpart_rc WHERE key=100 AND ds = '2008-04-08'; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; INSERT OVERWRITE DIRECTORY "${system:test.tmp.dir}/index_test_index_result" SELECT `_bucketname` , `_offsets` FROM default__srcpart_rc_srcpart_rc_index__ x WHERE x.key=100 AND x.ds = '2008-04-08' and x.hr = 11; SET hive.index.compact.file=${system:test.tmp.dir}/index_test_index_result; SET hive.input.format=org.apache.hadoop.hive.ql.index.compact.HiveCompactIndexInputFormat; -SELECT key, value FROM srcpart_rc WHERE key=100 AND ds = '2008-04-08' and hr = 11 ORDER BY key; +SELECT key, value FROM srcpart_rc WHERE key=100 AND ds = '2008-04-08' and hr = 11; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; -SELECT key, value FROM srcpart_rc WHERE key=100 AND ds = '2008-04-08' and hr = 11 ORDER BY key; +SELECT key, value FROM srcpart_rc WHERE key=100 AND ds = '2008-04-08' and hr = 11; DROP INDEX srcpart_rc_index on srcpart_rc; @@ -30,16 +32,16 @@ EXPLAIN CREATE INDEX srcpart_rc_index ON TABLE srcpart_rc(key) as 'COMPACT' WITH DEFERRED REBUILD; CREATE INDEX srcpart_rc_index ON TABLE srcpart_rc(key) as 'COMPACT' WITH DEFERRED REBUILD; ALTER INDEX srcpart_rc_index ON srcpart_rc REBUILD; -SELECT x.* FROM default__srcpart_rc_srcpart_rc_index__ x ORDER BY key; +SELECT x.* FROM default__srcpart_rc_srcpart_rc_index__ x; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; INSERT OVERWRITE DIRECTORY "${system:test.tmp.dir}/index_result" SELECT `_bucketname` , `_offsets` FROM default__srcpart_rc_srcpart_rc_index__ WHERE key=100; SET hive.index.compact.file=${system:test.tmp.dir}/index_result; SET hive.input.format=org.apache.hadoop.hive.ql.index.compact.HiveCompactIndexInputFormat; -SELECT key, value FROM srcpart_rc WHERE key=100 ORDER BY key; +SELECT key, value FROM srcpart_rc WHERE key=100; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; -SELECT key, value FROM srcpart_rc WHERE key=100 ORDER BY key; +SELECT key, value FROM srcpart_rc WHERE key=100; DROP INDEX srcpart_rc_index on srcpart_rc; DROP TABLE srcpart_rc; \ No newline at end of file diff --git ql/src/test/queries/clientpositive/index_compact_3.q ql/src/test/queries/clientpositive/index_compact_3.q index f3fcb4a..b5fd3ee 100644 --- ql/src/test/queries/clientpositive/index_compact_3.q +++ ql/src/test/queries/clientpositive/index_compact_3.q @@ -1,19 +1,21 @@ +-- SORT_QUERY_RESULTS + CREATE TABLE src_index_test_rc (key int, value string) STORED AS RCFILE; INSERT OVERWRITE TABLE src_index_test_rc SELECT * FROM src; CREATE INDEX src_index ON TABLE src_index_test_rc(key) as 'COMPACT' WITH DEFERRED REBUILD; ALTER INDEX src_index ON src_index_test_rc REBUILD; -SELECT x.* FROM default__src_index_test_rc_src_index__ x ORDER BY key; +SELECT x.* FROM default__src_index_test_rc_src_index__ x; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; INSERT OVERWRITE DIRECTORY "${system:test.tmp.dir}/index_result" SELECT `_bucketname` , `_offsets` FROM default__src_index_test_rc_src_index__ WHERE key=100; SET hive.index.compact.file=${system:test.tmp.dir}/index_result; SET hive.input.format=org.apache.hadoop.hive.ql.index.compact.HiveCompactIndexInputFormat; -SELECT key, value FROM src_index_test_rc WHERE key=100 ORDER BY key; +SELECT key, value FROM src_index_test_rc WHERE key=100; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; -SELECT key, value FROM src_index_test_rc WHERE key=100 ORDER BY key; +SELECT key, value FROM src_index_test_rc WHERE key=100; DROP INDEX src_index on src_index_test_rc; DROP TABLE src_index_test_rc; \ No newline at end of file diff --git ql/src/test/queries/clientpositive/index_compression.q ql/src/test/queries/clientpositive/index_compression.q index 84ed3cc..9fbd18c 100644 --- ql/src/test/queries/clientpositive/index_compression.q +++ ql/src/test/queries/clientpositive/index_compression.q @@ -1,4 +1,7 @@ SET hive.exec.compress.result=true; + +-- SORT_QUERY_RESULTS + CREATE INDEX src_index ON TABLE src(key) as 'COMPACT' WITH DEFERRED REBUILD; ALTER INDEX src_index ON src REBUILD; @@ -7,7 +10,7 @@ SET hive.optimize.index.filter=true; SET hive.optimize.index.filter.compact.minsize=0; -- automatic indexing -EXPLAIN SELECT key, value FROM src WHERE key > 80 AND key < 100 ORDER BY key; -SELECT key, value FROM src WHERE key > 80 AND key < 100 ORDER BY key; +EXPLAIN SELECT key, value FROM src WHERE key > 80 AND key < 100; +SELECT key, value FROM src WHERE key > 80 AND key < 100; DROP INDEX src_index on src; diff --git ql/src/test/queries/clientpositive/index_serde.q ql/src/test/queries/clientpositive/index_serde.q index d160a6f..079f3ef 100644 --- ql/src/test/queries/clientpositive/index_serde.q +++ ql/src/test/queries/clientpositive/index_serde.q @@ -1,3 +1,4 @@ +-- SORT_QUERY_RESULTS -- Want to ensure we can build and use indices on tables stored with SerDes -- Build the (Avro backed) table CREATE TABLE doctors @@ -42,8 +43,8 @@ SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; SET hive.optimize.index.filter=true; SET hive.optimize.index.filter.compact.minsize=0; -EXPLAIN SELECT * FROM doctors WHERE number > 6 ORDER BY number; -SELECT * FROM doctors WHERE number > 6 ORDER BY number; +EXPLAIN SELECT * FROM doctors WHERE number > 6; +SELECT * FROM doctors WHERE number > 6; DROP INDEX doctors_index ON doctors; DROP TABLE doctors; diff --git ql/src/test/queries/clientpositive/innerjoin.q ql/src/test/queries/clientpositive/innerjoin.q index b384268..b71b36b 100644 --- ql/src/test/queries/clientpositive/innerjoin.q +++ ql/src/test/queries/clientpositive/innerjoin.q @@ -1,12 +1,15 @@ set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; + +-- SORT_QUERY_RESULTS + CREATE TABLE dest_j1(key INT, value STRING) STORED AS TEXTFILE; EXPLAIN FROM src src1 INNER JOIN src src2 ON (src1.key = src2.key) -INSERT OVERWRITE TABLE dest_j1 SELECT src1.key, src2.value ORDER BY src1.key, src2.value; +INSERT OVERWRITE TABLE dest_j1 SELECT src1.key, src2.value; FROM src src1 INNER JOIN src src2 ON (src1.key = src2.key) -INSERT OVERWRITE TABLE dest_j1 SELECT src1.key, src2.value ORDER BY src1.key, src2.value; +INSERT OVERWRITE TABLE dest_j1 SELECT src1.key, src2.value; SELECT dest_j1.* FROM dest_j1; diff --git ql/src/test/queries/clientpositive/input11_limit.q ql/src/test/queries/clientpositive/input11_limit.q index f68398e..d58ec83 100644 --- ql/src/test/queries/clientpositive/input11_limit.q +++ ql/src/test/queries/clientpositive/input11_limit.q @@ -1,3 +1,5 @@ +-- SORT_QUERY_RESULTS + CREATE TABLE dest1(key INT, value STRING) STORED AS TEXTFILE; EXPLAIN @@ -7,4 +9,4 @@ INSERT OVERWRITE TABLE dest1 SELECT src.key, src.value WHERE src.key < 100 LIMIT FROM src INSERT OVERWRITE TABLE dest1 SELECT src.key, src.value WHERE src.key < 100 LIMIT 10; -SELECT dest1.* FROM dest1 ORDER BY dest1.key ASC, dest1.value ASC; +SELECT dest1.* FROM dest1; diff --git ql/src/test/queries/clientpositive/input1_limit.q ql/src/test/queries/clientpositive/input1_limit.q index 71a9b8f..afea986 100644 --- ql/src/test/queries/clientpositive/input1_limit.q +++ ql/src/test/queries/clientpositive/input1_limit.q @@ -1,3 +1,5 @@ +-- SORT_QUERY_RESULTS + CREATE TABLE dest1(key INT, value STRING) STORED AS TEXTFILE; CREATE TABLE dest2(key INT, value STRING) STORED AS TEXTFILE; @@ -10,8 +12,8 @@ FROM src INSERT OVERWRITE TABLE dest1 SELECT src.key, src.value WHERE src.key < 100 LIMIT 10 INSERT OVERWRITE TABLE dest2 SELECT src.key, src.value WHERE src.key < 100 LIMIT 5; -SELECT dest1.* FROM dest1 ORDER BY dest1.key ASC, dest1.value ASC; -SELECT dest2.* FROM dest2 ORDER BY dest2.key ASC, dest2.value ASC; +SELECT dest1.* FROM dest1; +SELECT dest2.* FROM dest2; diff --git ql/src/test/queries/clientpositive/input40.q ql/src/test/queries/clientpositive/input40.q index ab187b5..85c4171 100644 --- ql/src/test/queries/clientpositive/input40.q +++ ql/src/test/queries/clientpositive/input40.q @@ -1,5 +1,4 @@ - - +-- SORT_QUERY_RESULTS create table tmp_insert_test (key string, value string) stored as textfile; load data local inpath '../../data/files/kv1.txt' into table tmp_insert_test; @@ -8,9 +7,7 @@ select * from tmp_insert_test; create table tmp_insert_test_p (key string, value string) partitioned by (ds string) stored as textfile; load data local inpath '../../data/files/kv1.txt' into table tmp_insert_test_p partition (ds = '2009-08-01'); -select * from tmp_insert_test_p where ds= '2009-08-01' -order by key, value; +select * from tmp_insert_test_p where ds= '2009-08-01'; load data local inpath '../../data/files/kv2.txt' into table tmp_insert_test_p partition (ds = '2009-08-01'); -select * from tmp_insert_test_p where ds= '2009-08-01' -order by key, value; +select * from tmp_insert_test_p where ds= '2009-08-01'; diff --git ql/src/test/queries/clientpositive/input42.q ql/src/test/queries/clientpositive/input42.q index 8682eb7..85d66d3 100644 --- ql/src/test/queries/clientpositive/input42.q +++ ql/src/test/queries/clientpositive/input42.q @@ -1,16 +1,18 @@ +-- SORT_QUERY_RESULTS + explain extended -select * from srcpart a where a.ds='2008-04-08' order by a.key, a.hr; +select * from srcpart a where a.ds='2008-04-08'; -select * from srcpart a where a.ds='2008-04-08' order by a.key, a.hr; +select * from srcpart a where a.ds='2008-04-08'; explain extended -select * from srcpart a where a.ds='2008-04-08' and key < 200 order by a.key, a.hr; +select * from srcpart a where a.ds='2008-04-08' and key < 200; -select * from srcpart a where a.ds='2008-04-08' and key < 200 order by a.key, a.hr; +select * from srcpart a where a.ds='2008-04-08' and key < 200; explain extended -select * from srcpart a where a.ds='2008-04-08' and rand(100) < 0.1 order by a.key, a.hr; +select * from srcpart a where a.ds='2008-04-08' and rand(100) < 0.1; -select * from srcpart a where a.ds='2008-04-08' and rand(100) < 0.1 order by a.key, a.hr; +select * from srcpart a where a.ds='2008-04-08' and rand(100) < 0.1; diff --git ql/src/test/queries/clientpositive/input_lazyserde.q ql/src/test/queries/clientpositive/input_lazyserde.q index 65e678b..53ae6d8 100644 --- ql/src/test/queries/clientpositive/input_lazyserde.q +++ ql/src/test/queries/clientpositive/input_lazyserde.q @@ -1,3 +1,5 @@ +-- SORT_QUERY_RESULTS + CREATE TABLE dest1(a array, b array, c map, d int, e string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '1' @@ -21,10 +23,10 @@ DROP TABLE dest1; CREATE TABLE dest1(a array) ROW FORMAT DELIMITED FIELDS TERMINATED BY '1' ESCAPED BY '\\'; INSERT OVERWRITE TABLE dest1 SELECT src_thrift.lint FROM src_thrift DISTRIBUTE BY 1; -SELECT * from dest1 ORDER BY 1 ASC; +SELECT * from dest1; DROP TABLE dest1; CREATE TABLE dest1(a map) ROW FORMAT DELIMITED FIELDS TERMINATED BY '1' ESCAPED BY '\\'; INSERT OVERWRITE TABLE dest1 SELECT src_thrift.mstringstring FROM src_thrift DISTRIBUTE BY 1; -SELECT * from dest1 ORDER BY 1 ASC; +SELECT * from dest1; diff --git ql/src/test/queries/clientpositive/input_part9.q ql/src/test/queries/clientpositive/input_part9.q index 30008f0..8c2eb56 100644 --- ql/src/test/queries/clientpositive/input_part9.q +++ ql/src/test/queries/clientpositive/input_part9.q @@ -1,5 +1,7 @@ +-- SORT_QUERY_RESULTS + EXPLAIN EXTENDED -SELECT x.* FROM SRCPART x WHERE key IS NOT NULL AND ds = '2008-04-08' order by x.key, x.hr; +SELECT x.* FROM SRCPART x WHERE key IS NOT NULL AND ds = '2008-04-08'; -SELECT x.* FROM SRCPART x WHERE key IS NOT NULL AND ds = '2008-04-08' order by x.key, x.hr; +SELECT x.* FROM SRCPART x WHERE key IS NOT NULL AND ds = '2008-04-08'; diff --git ql/src/test/queries/clientpositive/insert1.q ql/src/test/queries/clientpositive/insert1.q index 5ac234d..4ec6e6c 100644 --- ql/src/test/queries/clientpositive/insert1.q +++ ql/src/test/queries/clientpositive/insert1.q @@ -1,4 +1,4 @@ - +-- SORT_QUERY_RESULTS create table insert1(key int, value string) stored as textfile; create table insert2(key int, value string) stored as textfile; @@ -26,11 +26,11 @@ USE db2; CREATE TABLE result(col1 STRING); INSERT OVERWRITE TABLE result SELECT 'db2_insert1' FROM default.src LIMIT 1; INSERT INTO TABLE result SELECT 'db2_insert2' FROM default.src LIMIT 1; -SELECT * FROM result order by col1; +SELECT * FROM result; USE default; CREATE DATABASE db1; CREATE TABLE db1.result(col1 STRING); INSERT OVERWRITE TABLE db1.result SELECT 'db1_insert1' FROM src LIMIT 1; INSERT INTO TABLE db1.result SELECT 'db1_insert2' FROM src LIMIT 1; -SELECT * FROM db1.result order by col1; +SELECT * FROM db1.result; diff --git ql/src/test/queries/clientpositive/join18_multi_distinct.q ql/src/test/queries/clientpositive/join18_multi_distinct.q index eb4e46a..8b3ac4d 100644 --- ql/src/test/queries/clientpositive/join18_multi_distinct.q +++ ql/src/test/queries/clientpositive/join18_multi_distinct.q @@ -1,3 +1,5 @@ +-- SORT_QUERY_RESULTS + EXPLAIN SELECT a.key, a.value, b.key, b.value1, b.value2 FROM @@ -10,7 +12,7 @@ EXPLAIN count(distinct(src2.key)) AS value2 FROM src1 src2 group by src2.key ) b - ON (a.key = b.key) ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value1 ASC, b.value2 ASC; + ON (a.key = b.key); SELECT a.key, a.value, b.key, b.value1, b.value2 FROM @@ -23,4 +25,4 @@ EXPLAIN count(distinct(src2.key)) AS value2 FROM src1 src2 group by src2.key ) b - ON (a.key = b.key) ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value1 ASC, b.value2 ASC; + ON (a.key = b.key); diff --git ql/src/test/queries/clientpositive/join25.q ql/src/test/queries/clientpositive/join25.q index c0e4cbb..75f542d 100644 --- ql/src/test/queries/clientpositive/join25.q +++ ql/src/test/queries/clientpositive/join25.q @@ -1,6 +1,6 @@ set hive.mapjoin.numrows = 2; - +-- SORT_QUERY_RESULTS CREATE TABLE dest_j1(key INT, value STRING, val2 STRING) STORED AS TEXTFILE; @@ -13,7 +13,7 @@ INSERT OVERWRITE TABLE dest_j1 SELECT /*+ MAPJOIN(x) */ x.key, x.value, y.value FROM src1 x JOIN src y ON (x.key = y.key); -select * from dest_j1 x order by x.key; +select * from dest_j1 x; diff --git ql/src/test/queries/clientpositive/join26.q ql/src/test/queries/clientpositive/join26.q index cecf8da..d90ce40 100644 --- ql/src/test/queries/clientpositive/join26.q +++ ql/src/test/queries/clientpositive/join26.q @@ -1,3 +1,5 @@ +-- SORT_QUERY_RESULTS + CREATE TABLE dest_j1(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE; EXPLAIN EXTENDED @@ -11,7 +13,7 @@ SELECT /*+ MAPJOIN(x,y) */ x.key, z.value, y.value FROM src1 x JOIN src y ON (x.key = y.key) JOIN srcpart z ON (x.key = z.key and z.ds='2008-04-08' and z.hr=11); -select * from dest_j1 x order by x.key; +select * from dest_j1 x; diff --git ql/src/test/queries/clientpositive/join27.q ql/src/test/queries/clientpositive/join27.q index 2c6e957..a9000be 100644 --- ql/src/test/queries/clientpositive/join27.q +++ ql/src/test/queries/clientpositive/join27.q @@ -1,4 +1,4 @@ - +-- SORT_QUERY_RESULTS CREATE TABLE dest_j1(key INT, value STRING, val2 STRING) STORED AS TEXTFILE; @@ -11,7 +11,4 @@ INSERT OVERWRITE TABLE dest_j1 SELECT /*+ MAPJOIN(x) */ x.key, x.value, y.value FROM src1 x JOIN src y ON (x.value = y.value); -select * from dest_j1 x order by x.key, x.value; - - - +select * from dest_j1; diff --git ql/src/test/queries/clientpositive/join28.q ql/src/test/queries/clientpositive/join28.q index 1d652b3..c52a195 100644 --- ql/src/test/queries/clientpositive/join28.q +++ ql/src/test/queries/clientpositive/join28.q @@ -1,3 +1,5 @@ +-- SORT_QUERY_RESULTS + CREATE TABLE dest_j1(key STRING, value STRING) STORED AS TEXTFILE; set hive.auto.convert.join=true; @@ -21,7 +23,7 @@ FROM FROM src1 x JOIN src y ON (x.key = y.key)) subq JOIN srcpart z ON (subq.key1 = z.key and z.ds='2008-04-08' and z.hr=11); -select * from dest_j1 x order by x.key; +select * from dest_j1; diff --git ql/src/test/queries/clientpositive/join29.q ql/src/test/queries/clientpositive/join29.q index 7fa4815..dd912fa 100644 --- ql/src/test/queries/clientpositive/join29.q +++ ql/src/test/queries/clientpositive/join29.q @@ -1,3 +1,5 @@ +-- SORT_QUERY_RESULTS + CREATE TABLE dest_j1(key STRING, cnt1 INT, cnt2 INT); set hive.auto.convert.join=true; @@ -17,4 +19,4 @@ SELECT subq1.key, subq1.cnt, subq2.cnt FROM (select x.key, count(1) as cnt from src1 x group by x.key) subq1 JOIN (select y.key, count(1) as cnt from src y group by y.key) subq2 ON (subq1.key = subq2.key); -select * from dest_j1 x order by x.key; +select * from dest_j1; diff --git ql/src/test/queries/clientpositive/join30.q ql/src/test/queries/clientpositive/join30.q index 036a16d..292a310 100644 --- ql/src/test/queries/clientpositive/join30.q +++ ql/src/test/queries/clientpositive/join30.q @@ -1,3 +1,5 @@ +-- SORT_QUERY_RESULTS + CREATE TABLE dest_j1(key INT, cnt INT); EXPLAIN @@ -7,4 +9,4 @@ SELECT /*+ MAPJOIN(x) */ x.key, count(1) FROM src1 x JOIN src y ON (x.key = y.ke INSERT OVERWRITE TABLE dest_j1 SELECT /*+ MAPJOIN(x) */ x.key, count(1) FROM src1 x JOIN src y ON (x.key = y.key) group by x.key; -select * from dest_j1 x order by x.key; +select * from dest_j1; diff --git ql/src/test/queries/clientpositive/join31.q ql/src/test/queries/clientpositive/join31.q index 0ba143a..e90467e 100644 --- ql/src/test/queries/clientpositive/join31.q +++ ql/src/test/queries/clientpositive/join31.q @@ -1,3 +1,5 @@ +-- SORT_QUERY_RESULTS + CREATE TABLE dest_j1(key STRING, cnt INT); set hive.auto.convert.join=true; @@ -19,4 +21,4 @@ FROM (select x.key, count(1) as cnt from src1 x group by x.key) subq1 JOIN (select y.key, count(1) as cnt from src y group by y.key) subq2 ON (subq1.key = subq2.key) group by subq1.key; -select * from dest_j1 x order by x.key; +select * from dest_j1; diff --git ql/src/test/queries/clientpositive/join32.q ql/src/test/queries/clientpositive/join32.q index 82fde0e..6517fe7 100644 --- ql/src/test/queries/clientpositive/join32.q +++ ql/src/test/queries/clientpositive/join32.q @@ -1,3 +1,5 @@ +-- SORT_QUERY_RESULTS + CREATE TABLE dest_j1(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE; set hive.auto.convert.join=true; @@ -17,7 +19,7 @@ SELECT x.key, z.value, y.value FROM src1 x JOIN src y ON (x.key = y.key) JOIN srcpart z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=11); -select * from dest_j1 x order by x.key; +select * from dest_j1; diff --git ql/src/test/queries/clientpositive/join32_lessSize.q ql/src/test/queries/clientpositive/join32_lessSize.q index 58a26c5..63592de 100644 --- ql/src/test/queries/clientpositive/join32_lessSize.q +++ ql/src/test/queries/clientpositive/join32_lessSize.q @@ -1,3 +1,5 @@ +-- SORT_QUERY_RESULTS + CREATE TABLE dest_j1(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE; CREATE TABLE dest_j2(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE; @@ -18,7 +20,7 @@ SELECT x.key, z.value, y.value FROM src1 x JOIN src y ON (x.key = y.key) JOIN srcpart z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=11); -select * from dest_j1 x order by x.value; +select * from dest_j1; EXPLAIN EXTENDED INSERT OVERWRITE TABLE dest_j1 @@ -33,7 +35,7 @@ FROM src w JOIN src1 x ON (x.value = w.value) JOIN src y ON (x.key = y.key) JOIN src1 z ON (x.key = z.key); -select * from dest_j1 x order by x.value; +select * from dest_j1; EXPLAIN EXTENDED INSERT OVERWRITE TABLE dest_j2 @@ -46,7 +48,7 @@ SELECT res.key, z.value, res.value FROM (select x.key, x.value from src1 x JOIN src y ON (x.key = y.key)) res JOIN srcpart z ON (res.value = z.value and z.ds='2008-04-08' and z.hr=11); -select * from dest_j2 x order by x.value; +select * from dest_j2; EXPLAIN EXTENDED INSERT OVERWRITE TABLE dest_j2 @@ -59,7 +61,7 @@ SELECT res.key, z.value, res.value FROM (select x.key, x.value from src1 x LEFT OUTER JOIN src y ON (x.key = y.key)) res JOIN srcpart z ON (res.value = z.value and z.ds='2008-04-08' and z.hr=11); -select * from dest_j2 x order by x.value; +select * from dest_j2; EXPLAIN INSERT OVERWRITE TABLE dest_j2 @@ -72,7 +74,7 @@ SELECT res.key, x.value, res.value FROM (select x.key, x.value from src1 x JOIN src y ON (x.key = y.key)) res JOIN srcpart x ON (res.value = x.value and x.ds='2008-04-08' and x.hr=11); -select * from dest_j2 x order by x.value; +select * from dest_j2; EXPLAIN INSERT OVERWRITE TABLE dest_j2 @@ -85,4 +87,4 @@ SELECT res.key, y.value, res.value FROM (select x.key, x.value from src1 x JOIN src y ON (x.key = y.key)) res JOIN srcpart y ON (res.value = y.value and y.ds='2008-04-08' and y.hr=11); -select * from dest_j2 x order by x.value; +select * from dest_j2; diff --git ql/src/test/queries/clientpositive/join33.q ql/src/test/queries/clientpositive/join33.q index 82fde0e..6517fe7 100644 --- ql/src/test/queries/clientpositive/join33.q +++ ql/src/test/queries/clientpositive/join33.q @@ -1,3 +1,5 @@ +-- SORT_QUERY_RESULTS + CREATE TABLE dest_j1(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE; set hive.auto.convert.join=true; @@ -17,7 +19,7 @@ SELECT x.key, z.value, y.value FROM src1 x JOIN src y ON (x.key = y.key) JOIN srcpart z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=11); -select * from dest_j1 x order by x.key; +select * from dest_j1; diff --git ql/src/test/queries/clientpositive/join34.q ql/src/test/queries/clientpositive/join34.q index 85adcfd..be97630 100644 --- ql/src/test/queries/clientpositive/join34.q +++ ql/src/test/queries/clientpositive/join34.q @@ -1,3 +1,5 @@ +-- SORT_QUERY_RESULTS + CREATE TABLE dest_j1(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE; set hive.auto.convert.join=true; @@ -25,7 +27,7 @@ FROM ) subq1 JOIN src1 x ON (x.key = subq1.key); -select * from dest_j1 x order by x.key; +select * from dest_j1; diff --git ql/src/test/queries/clientpositive/join35.q ql/src/test/queries/clientpositive/join35.q index d66616c..b637f18 100644 --- ql/src/test/queries/clientpositive/join35.q +++ ql/src/test/queries/clientpositive/join35.q @@ -1,3 +1,5 @@ +-- SORT_QUERY_RESULTS + CREATE TABLE dest_j1(key STRING, value STRING, val2 INT) STORED AS TEXTFILE; set hive.auto.convert.join=true; @@ -25,7 +27,7 @@ FROM ) subq1 JOIN src1 x ON (x.key = subq1.key); -select * from dest_j1 x order by x.key; +select * from dest_j1; diff --git ql/src/test/queries/clientpositive/join36.q ql/src/test/queries/clientpositive/join36.q index 9912610..dd99d44 100644 --- ql/src/test/queries/clientpositive/join36.q +++ ql/src/test/queries/clientpositive/join36.q @@ -1,8 +1,6 @@ set hive.mapjoin.numrows = 2; - - - +-- SORT_QUERY_RESULTS CREATE TABLE tmp1(key INT, cnt INT); CREATE TABLE tmp2(key INT, cnt INT); @@ -23,7 +21,7 @@ INSERT OVERWRITE TABLE dest_j1 SELECT /*+ MAPJOIN(x) */ x.key, x.cnt, y.cnt FROM tmp1 x JOIN tmp2 y ON (x.key = y.key); -select * from dest_j1 x order by x.key; +select * from dest_j1; diff --git ql/src/test/queries/clientpositive/join37.q ql/src/test/queries/clientpositive/join37.q index a971f4a..dc57d3a 100644 --- ql/src/test/queries/clientpositive/join37.q +++ ql/src/test/queries/clientpositive/join37.q @@ -1,6 +1,6 @@ set hive.mapjoin.numrows = 2; - +-- SORT_QUERY_RESULTS CREATE TABLE dest_j1(key INT, value STRING, val2 STRING) STORED AS TEXTFILE; @@ -13,7 +13,7 @@ INSERT OVERWRITE TABLE dest_j1 SELECT /*+ MAPJOIN(X) */ x.key, x.value, y.value FROM src1 x JOIN src y ON (x.key = y.key); -select * from dest_j1 x order by x.key; +select * from dest_j1; diff --git ql/src/test/queries/clientpositive/join39.q ql/src/test/queries/clientpositive/join39.q index d0edac5..ab12158 100644 --- ql/src/test/queries/clientpositive/join39.q +++ ql/src/test/queries/clientpositive/join39.q @@ -1,3 +1,5 @@ +-- SORT_QUERY_RESULTS + CREATE TABLE dest_j1(key STRING, value STRING, key1 string, val2 STRING) STORED AS TEXTFILE; explain @@ -10,7 +12,7 @@ INSERT OVERWRITE TABLE dest_j1 SELECT /*+ MAPJOIN(y) */ x.key, x.value, y.key, y.value FROM src x left outer JOIN (select * from src where key <= 100) y ON (x.key = y.key); -select * from dest_j1 x order by x.key; +select * from dest_j1; diff --git ql/src/test/queries/clientpositive/join_1to1.q ql/src/test/queries/clientpositive/join_1to1.q index 4d1ae21..998bf53 100644 --- ql/src/test/queries/clientpositive/join_1to1.q +++ ql/src/test/queries/clientpositive/join_1to1.q @@ -1,3 +1,4 @@ +-- SORT_QUERY_RESULTS CREATE TABLE join_1to1_1(key1 int, key2 int, value int); LOAD DATA LOCAL INPATH '../../data/files/in5.txt' INTO TABLE join_1to1_1; @@ -10,25 +11,25 @@ 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 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC; -SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC; -SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.value = 66 and b.value = 66 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC; -SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC; -SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 and a.value = 66 and b.value = 66 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC; +SELECT * FROM join_1to1_1 a join join_1to1_2 b on a.key1 = b.key1; +SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1; +SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.value = 66 and b.value = 66; +SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2; +SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 and a.value = 66 and b.value = 66; set hive.join.emit.interval=2; -SELECT * FROM join_1to1_1 a join join_1to1_2 b on a.key1 = b.key1 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC; -SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC; -SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.value = 66 and b.value = 66 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC; -SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC; -SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 and a.value = 66 and b.value = 66 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC; +SELECT * FROM join_1to1_1 a join join_1to1_2 b on a.key1 = b.key1; +SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1; +SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.value = 66 and b.value = 66; +SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2; +SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 and a.value = 66 and b.value = 66; set hive.join.emit.interval=1; -SELECT * FROM join_1to1_1 a join join_1to1_2 b on a.key1 = b.key1 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC; -SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC; -SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.value = 66 and b.value = 66 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC; -SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC; -SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 and a.value = 66 and b.value = 66 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC; +SELECT * FROM join_1to1_1 a join join_1to1_2 b on a.key1 = b.key1; +SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1; +SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.value = 66 and b.value = 66; +SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2; +SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 and a.value = 66 and b.value = 66; @@ -36,23 +37,23 @@ 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 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC; -SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC; -SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.value = 66 and b.value = 66 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC; -SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC; -SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 and a.value = 66 and b.value = 66 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC; +SELECT * FROM join_1to1_1 a join join_1to1_2 b on a.key1 = b.key1; +SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1; +SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.value = 66 and b.value = 66; +SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2; +SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 and a.value = 66 and b.value = 66; set hive.join.emit.interval=2; -SELECT * FROM join_1to1_1 a join join_1to1_2 b on a.key1 = b.key1 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC; -SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC; -SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.value = 66 and b.value = 66 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC; -SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC; -SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 and a.value = 66 and b.value = 66 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC; +SELECT * FROM join_1to1_1 a join join_1to1_2 b on a.key1 = b.key1; +SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1; +SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.value = 66 and b.value = 66; +SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2; +SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 and a.value = 66 and b.value = 66; set hive.join.emit.interval=1; -SELECT * FROM join_1to1_1 a join join_1to1_2 b on a.key1 = b.key1 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC; -SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC; -SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.value = 66 and b.value = 66 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC; -SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC; -SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 and a.value = 66 and b.value = 66 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC; +SELECT * FROM join_1to1_1 a join join_1to1_2 b on a.key1 = b.key1; +SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1; +SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.value = 66 and b.value = 66; +SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2; +SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 and a.value = 66 and b.value = 66; diff --git ql/src/test/queries/clientpositive/join_casesensitive.q ql/src/test/queries/clientpositive/join_casesensitive.q index 0c0962c..4af1e48 100644 --- ql/src/test/queries/clientpositive/join_casesensitive.q +++ ql/src/test/queries/clientpositive/join_casesensitive.q @@ -1,3 +1,4 @@ +-- SORT_QUERY_RESULTS CREATE TABLE joinone(key1 int, key2 int, value int); LOAD DATA LOCAL INPATH '../../data/files/in5.txt' INTO TABLE joinone; @@ -5,4 +6,4 @@ LOAD DATA LOCAL INPATH '../../data/files/in5.txt' INTO TABLE joinone; CREATE TABLE joinTwo(key1 int, key2 int, value int); LOAD DATA LOCAL INPATH '../../data/files/in6.txt' INTO TABLE joinTwo; -SELECT * FROM joinone JOIN joinTwo ON(joinone.key2=joinTwo.key2) ORDER BY joinone.key1 ASC, joinone.key2 ASC, joinone.value ASC, joinTwo.key1 ASC, joinTwo.key2 ASC, joinTwo.value ASC; +SELECT * FROM joinone JOIN joinTwo ON(joinone.key2=joinTwo.key2); diff --git ql/src/test/queries/clientpositive/join_filters.q ql/src/test/queries/clientpositive/join_filters.q index 49b6c6f..231e8f6 100644 --- ql/src/test/queries/clientpositive/join_filters.q +++ ql/src/test/queries/clientpositive/join_filters.q @@ -1,57 +1,59 @@ +-- SORT_QUERY_RESULTS + CREATE TABLE myinput1(key int, value int); LOAD DATA LOCAL INPATH '../../data/files/in3.txt' INTO TABLE myinput1; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; - -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; - -SELECT * FROM myinput1 a LEFT 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; - -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; - -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; - -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) ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC, c.key ASC, c.value ASC; -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) ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC, c.key ASC, c.value ASC; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC, c.key ASC, c.value ASC; -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) ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC, c.key ASC, c.value ASC; -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) ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC, c.key ASC, c.value ASC; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC, c.key ASC, c.value ASC; - -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(a) */ * 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; - -SELECT /*+ MAPJOIN(b) */ * 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(b) */ * 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; - -SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a LEFT 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; - -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; +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; +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; + +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; +SELECT * FROM myinput1 a 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; +SELECT * FROM myinput1 a 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; +SELECT * FROM myinput1 a 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; + +SELECT * FROM myinput1 a LEFT 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; +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; +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; +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; + +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; +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; +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; +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; + +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; +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; +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; +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; + +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); +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); +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; +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); +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); +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; + +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; +SELECT /*+ MAPJOIN(a) */ * 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; +SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a 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; +SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a 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; +SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a 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; + +SELECT /*+ MAPJOIN(b) */ * 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 /*+ MAPJOIN(b) */ * 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; +SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a 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; +SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a 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; +SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a 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; + +SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a LEFT 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; +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; +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; + +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; +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; +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; CREATE TABLE smb_input1(key int, value int) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; CREATE TABLE smb_input2(key int, value int) CLUSTERED BY (value) SORTED BY (value) INTO 2 BUCKETS; @@ -64,92 +66,92 @@ SET hive.optimize.bucketmapjoin = true; SET hive.optimize.bucketmapjoin.sortedmerge = true; SET hive.input.format = org.apache.hadoop.hive.ql.io.BucketizedHiveInputFormat; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(a) */ * FROM smb_input2 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input1 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; +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; +SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a 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 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; +SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input1 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; -SELECT /*+ MAPJOIN(b) */ * 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a JOIN smb_input2 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; +SELECT /*+ MAPJOIN(b) */ * 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; +SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a 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(b) */ * FROM smb_input2 a 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; +SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a JOIN smb_input2 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; -SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a LEFT 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; +SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a LEFT 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; +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; +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; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; +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; +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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; - -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; - -SELECT * FROM myinput1 a LEFT 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; - -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; - -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; - -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) ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC, c.key ASC, c.value ASC; -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) ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC, c.key ASC, c.value ASC; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC, c.key ASC, c.value ASC; -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) ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC, c.key ASC, c.value ASC; -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) ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC, c.key ASC, c.value ASC; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC, c.key ASC, c.value ASC; - -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(a) */ * 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; - -SELECT /*+ MAPJOIN(b) */ * 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(b) */ * 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; - -SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a LEFT 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; - -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; - -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(a) */ * FROM smb_input2 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input1 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; - -SELECT /*+ MAPJOIN(b) */ * 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a JOIN smb_input2 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; - -SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a LEFT 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; - -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; +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; +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; + +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; +SELECT * FROM myinput1 a 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; +SELECT * FROM myinput1 a 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; +SELECT * FROM myinput1 a 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; + +SELECT * FROM myinput1 a LEFT 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; +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; +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; +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; + +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; +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; +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; +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; + +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; +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; +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; +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; + +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); +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); +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; +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); +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); +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; + +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; +SELECT /*+ MAPJOIN(a) */ * 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; +SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a 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; +SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a 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; +SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a 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; + +SELECT /*+ MAPJOIN(b) */ * 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 /*+ MAPJOIN(b) */ * 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; +SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a 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; +SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a 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; +SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a 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; + +SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a LEFT 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; +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; +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; + +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; +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; +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; + +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; +SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a 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 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; +SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input1 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; + +SELECT /*+ MAPJOIN(b) */ * 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; +SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a 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(b) */ * FROM smb_input2 a 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; +SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a JOIN smb_input2 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; + +SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a LEFT 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; +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; +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; + +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; +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; diff --git ql/src/test/queries/clientpositive/join_filters_overlap.q ql/src/test/queries/clientpositive/join_filters_overlap.q index 4394396..83fa348 100644 --- ql/src/test/queries/clientpositive/join_filters_overlap.q +++ ql/src/test/queries/clientpositive/join_filters_overlap.q @@ -1,3 +1,4 @@ +-- SORT_QUERY_RESULTS -- HIVE-3411 Filter predicates on outer join overlapped on single alias is not handled properly create table a as SELECT 100 as key, a.value as value FROM src LATERAL VIEW explode(array(40, 50, 60)) a as value limit 3; @@ -5,17 +6,17 @@ create table a as SELECT 100 as key, a.value as value FROM src LATERAL VIEW expl -- overlap on a explain extended select * from a left outer join a b on (a.key=b.key AND a.value=50 AND b.value=50) left outer join a c on (a.key=c.key AND a.value=60 AND c.value=60); select * from a left outer join a b on (a.key=b.key AND a.value=50 AND b.value=50) left outer join a c on (a.key=c.key AND a.value=60 AND c.value=60); -select /*+ MAPJOIN(b,c)*/ * from a left outer join a b on (a.key=b.key AND a.value=50 AND b.value=50) left outer join a c on (a.key=c.key AND a.value=60 AND c.value=60) order by a.key ASC, a.value ASC; +select /*+ MAPJOIN(b,c)*/ * from a left outer join a b on (a.key=b.key AND a.value=50 AND b.value=50) left outer join a c on (a.key=c.key AND a.value=60 AND c.value=60); -- overlap on b explain extended select * from a right outer join a b on (a.key=b.key AND a.value=50 AND b.value=50) left outer join a c on (b.key=c.key AND b.value=60 AND c.value=60); select * from a right outer join a b on (a.key=b.key AND a.value=50 AND b.value=50) left outer join a c on (b.key=c.key AND b.value=60 AND c.value=60); -select /*+ MAPJOIN(a,c)*/ * from a right outer join a b on (a.key=b.key AND a.value=50 AND b.value=50) left outer join a c on (b.key=c.key AND b.value=60 AND c.value=60) order by b.key ASC, b.value ASC; +select /*+ MAPJOIN(a,c)*/ * from a right outer join a b on (a.key=b.key AND a.value=50 AND b.value=50) left outer join a c on (b.key=c.key AND b.value=60 AND c.value=60); -- overlap on b with two filters for each explain extended select * from a right outer join a b on (a.key=b.key AND a.value=50 AND b.value=50 AND b.value>10) left outer join a c on (b.key=c.key AND b.value=60 AND b.value>20 AND c.value=60); select * from a right outer join a b on (a.key=b.key AND a.value=50 AND b.value=50 AND b.value>10) left outer join a c on (b.key=c.key AND b.value=60 AND b.value>20 AND c.value=60); -select /*+ MAPJOIN(a,c)*/ * from a right outer join a b on (a.key=b.key AND a.value=50 AND b.value=50 AND b.value>10) left outer join a c on (b.key=c.key AND b.value=60 AND b.value>20 AND c.value=60) order by b.key ASC, b.value ASC; +select /*+ MAPJOIN(a,c)*/ * from a right outer join a b on (a.key=b.key AND a.value=50 AND b.value=50 AND b.value>10) left outer join a c on (b.key=c.key AND b.value=60 AND b.value>20 AND c.value=60); -- overlap on a, b explain extended select * from a full outer join a b on (a.key=b.key AND a.value=50 AND b.value=50) left outer join a c on (b.key=c.key AND b.value=60 AND c.value=60) left outer join a d on (a.key=d.key AND a.value=40 AND d.value=40); @@ -24,4 +25,4 @@ select * from a full outer join a b on (a.key=b.key AND a.value=50 AND b.value=5 -- triple overlap on a explain extended select * from a left outer join a b on (a.key=b.key AND a.value=50 AND b.value=50) left outer join a c on (a.key=c.key AND a.value=60 AND c.value=60) left outer join a d on (a.key=d.key AND a.value=40 AND d.value=40); select * from a left outer join a b on (a.key=b.key AND a.value=50 AND b.value=50) left outer join a c on (a.key=c.key AND a.value=60 AND c.value=60) left outer join a d on (a.key=d.key AND a.value=40 AND d.value=40); -select /*+ MAPJOIN(b,c, d)*/ * from a left outer join a b on (a.key=b.key AND a.value=50 AND b.value=50) left outer join a c on (a.key=c.key AND a.value=60 AND c.value=60) left outer join a d on (a.key=d.key AND a.value=40 AND d.value=40) order by a.key ASC, a.value ASC; +select /*+ MAPJOIN(b,c, d)*/ * from a left outer join a b on (a.key=b.key AND a.value=50 AND b.value=50) left outer join a c on (a.key=c.key AND a.value=60 AND c.value=60) left outer join a d on (a.key=d.key AND a.value=40 AND d.value=40); diff --git ql/src/test/queries/clientpositive/join_map_ppr.q ql/src/test/queries/clientpositive/join_map_ppr.q index d8943c4..23070b1 100644 --- ql/src/test/queries/clientpositive/join_map_ppr.q +++ ql/src/test/queries/clientpositive/join_map_ppr.q @@ -1,3 +1,5 @@ +-- SORT_QUERY_RESULTS + CREATE TABLE dest_j1(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE; EXPLAIN EXTENDED @@ -13,7 +15,7 @@ FROM src1 x JOIN src y ON (x.key = y.key) JOIN srcpart z ON (x.key = z.key) WHERE z.ds='2008-04-08' and z.hr=11; -select * from dest_j1 x order by x.key; +select * from dest_j1; CREATE TABLE src_copy(key int, value string); CREATE TABLE src1_copy(key string, value string); @@ -33,7 +35,7 @@ FROM src1_copy x JOIN src_copy y ON (x.key = y.key) JOIN srcpart z ON (x.key = z.key) WHERE z.ds='2008-04-08' and z.hr=11; -select * from dest_j1 x order by x.key; +select * from dest_j1; diff --git ql/src/test/queries/clientpositive/join_nulls.q ql/src/test/queries/clientpositive/join_nulls.q index 047a769..6c8ad10 100644 --- ql/src/test/queries/clientpositive/join_nulls.q +++ ql/src/test/queries/clientpositive/join_nulls.q @@ -1,44 +1,46 @@ +-- SORT_QUERY_RESULTS + CREATE TABLE myinput1(key int, value int); LOAD DATA LOCAL INPATH '../../data/files/in1.txt' INTO TABLE myinput1; -SELECT * FROM myinput1 a JOIN myinput1 b ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT * FROM myinput1 a JOIN myinput1 b ON a.key = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT * FROM myinput1 a JOIN myinput1 b ON a.key = b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT * FROM myinput1 a JOIN myinput1 b ON a.value = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT * FROM myinput1 a JOIN myinput1 b ON a.value = b.value and a.key=b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.value = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.key and a.value=b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key = b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.value = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key=b.key and a.value = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.key = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.key = b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.value = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.value = b.value and a.key=b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; +SELECT * FROM myinput1 a JOIN myinput1 b; +SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b; +SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b; +SELECT * FROM myinput1 a JOIN myinput1 b ON a.key = b.value; +SELECT * FROM myinput1 a JOIN myinput1 b ON a.key = b.key; +SELECT * FROM myinput1 a JOIN myinput1 b ON a.value = b.value; +SELECT * FROM myinput1 a JOIN myinput1 b ON a.value = b.value and a.key=b.key; +SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.value; +SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.value = b.value; +SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.key; +SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.key and a.value=b.value; +SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key = b.value; +SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key = b.key; +SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.value = b.value; +SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key=b.key and a.value = b.value; +SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.key = b.value; +SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.key = b.key; +SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.value = b.value; +SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.value = b.value and a.key=b.key; -SELECT * from myinput1 a LEFT OUTER JOIN myinput1 b ON (a.value=b.value) RIGHT OUTER JOIN myinput1 c ON (b.value=c.value) ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT * from myinput1 a RIGHT OUTER JOIN myinput1 b ON (a.value=b.value) LEFT OUTER JOIN myinput1 c ON (b.value=c.value) ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b RIGHT OUTER JOIN myinput1 c ON a.value = b.value and b.value = c.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; +SELECT * from myinput1 a LEFT OUTER JOIN myinput1 b ON (a.value=b.value) RIGHT OUTER JOIN myinput1 c ON (b.value=c.value); +SELECT * from myinput1 a RIGHT OUTER JOIN myinput1 b ON (a.value=b.value) LEFT OUTER JOIN myinput1 c ON (b.value=c.value); +SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b RIGHT OUTER JOIN myinput1 c ON a.value = b.value and b.value = c.value; -SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a JOIN myinput1 b ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a JOIN myinput1 b ON a.key = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a JOIN myinput1 b ON a.key = b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a JOIN myinput1 b ON a.value = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a JOIN myinput1 b ON a.key = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a JOIN myinput1 b ON a.key = b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a JOIN myinput1 b ON a.value = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a JOIN myinput1 b ON a.value = b.value and a.key = b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.value = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key = b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.value = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; +SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a JOIN myinput1 b; +SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a JOIN myinput1 b ON a.key = b.value; +SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a JOIN myinput1 b ON a.key = b.key; +SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a JOIN myinput1 b ON a.value = b.value; +SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a JOIN myinput1 b ON a.key = b.value; +SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a JOIN myinput1 b ON a.key = b.key; +SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a JOIN myinput1 b ON a.value = b.value; +SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a JOIN myinput1 b ON a.value = b.value and a.key = b.key; +SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.value; +SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.key; +SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.value = b.value; +SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key = b.value; +SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key = b.key; +SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.value = b.value; CREATE TABLE smb_input1(key int, value int) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; CREATE TABLE smb_input2(key int, value int) CLUSTERED BY (value) SORTED BY (value) INTO 2 BUCKETS; @@ -51,18 +53,18 @@ SET hive.optimize.bucketmapJOIN = true; SET hive.optimize.bucketmapJOIN.sortedmerge = true; SET hive.input.format = org.apache.hadoop.hive.ql.io.BucketizedHiveInputFormat; -SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input1 b ON a.key = b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input1 b ON a.key = b.key AND a.value = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a RIGHT OUTER JOIN smb_input1 b ON a.key = b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a JOIN smb_input1 b ON a.key = b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a LEFT OUTER JOIN smb_input1 b ON a.key = b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; +SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input1 b ON a.key = b.key; +SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input1 b ON a.key = b.key AND a.value = b.value; +SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a RIGHT OUTER JOIN smb_input1 b ON a.key = b.key; +SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a JOIN smb_input1 b ON a.key = b.key; +SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a LEFT OUTER JOIN smb_input1 b ON a.key = b.key; -SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input2 b ON a.key = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a JOIN smb_input2 b ON a.key = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a LEFT OUTER JOIN smb_input2 b ON a.key = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a RIGHT OUTER JOIN smb_input2 b ON a.key = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; +SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input2 b ON a.key = b.value; +SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a JOIN smb_input2 b ON a.key = b.value; +SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a LEFT OUTER JOIN smb_input2 b ON a.key = b.value; +SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a RIGHT OUTER JOIN smb_input2 b ON a.key = b.value; -SELECT /*+ MAPJOIN(a) */ * FROM smb_input2 a JOIN smb_input2 b ON a.value = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(a) */ * FROM smb_input2 a RIGHT OUTER JOIN smb_input2 b ON a.value = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a JOIN smb_input2 b ON a.value = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; -SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a LEFT OUTER JOIN smb_input2 b ON a.value = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC; +SELECT /*+ MAPJOIN(a) */ * FROM smb_input2 a JOIN smb_input2 b ON a.value = b.value; +SELECT /*+ MAPJOIN(a) */ * FROM smb_input2 a RIGHT OUTER JOIN smb_input2 b ON a.value = b.value; +SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a JOIN smb_input2 b ON a.value = b.value; +SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a LEFT OUTER JOIN smb_input2 b ON a.value = b.value; diff --git ql/src/test/queries/clientpositive/join_nullsafe.q ql/src/test/queries/clientpositive/join_nullsafe.q index 5e22517..7c3d1e8 100644 --- ql/src/test/queries/clientpositive/join_nullsafe.q +++ ql/src/test/queries/clientpositive/join_nullsafe.q @@ -1,32 +1,34 @@ set hive.nullsafe.equijoin=true; +-- SORT_QUERY_RESULTS + CREATE TABLE myinput1(key int, value int); LOAD DATA LOCAL INPATH '../../data/files/in8.txt' INTO TABLE myinput1; -- merging -explain select * from myinput1 a join myinput1 b on a.key<=>b.value ORDER BY a.key, a.value, b.key, b.value; -select * from myinput1 a join myinput1 b on a.key<=>b.value ORDER BY a.key, a.value, b.key, b.value; +explain select * from myinput1 a join myinput1 b on a.key<=>b.value; +select * from myinput1 a join myinput1 b on a.key<=>b.value; -explain select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key=c.key ORDER BY a.key, a.value, b.key, b.value, c.key, c.value; -select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key=c.key ORDER BY a.key, a.value, b.key, b.value, c.key, c.value; +explain select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key=c.key; +select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key=c.key; -explain select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key<=>c.key ORDER BY a.key, a.value, b.key, b.value, c.key, c.value; -select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key<=>c.key ORDER BY a.key, a.value, b.key, b.value, c.key, c.value; +explain select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key<=>c.key; +select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key<=>c.key; -explain select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value=b.key join myinput1 c on a.key<=>c.key AND a.value=c.value ORDER BY a.key, a.value, b.key, b.value, c.key, c.value; -select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value=b.key join myinput1 c on a.key<=>c.key AND a.value=c.value ORDER BY a.key, a.value, b.key, b.value, c.key, c.value; +explain select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value=b.key join myinput1 c on a.key<=>c.key AND a.value=c.value; +select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value=b.key join myinput1 c on a.key<=>c.key AND a.value=c.value; -explain select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value<=>b.key join myinput1 c on a.key<=>c.key AND a.value<=>c.value ORDER BY a.key, a.value, b.key, b.value, c.key, c.value; -select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value<=>b.key join myinput1 c on a.key<=>c.key AND a.value<=>c.value ORDER BY a.key, a.value, b.key, b.value, c.key, c.value; +explain select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value<=>b.key join myinput1 c on a.key<=>c.key AND a.value<=>c.value; +select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value<=>b.key join myinput1 c on a.key<=>c.key AND a.value<=>c.value; -- outer joins -SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key<=>b.value ORDER BY a.key, a.value, b.key, b.value; -SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key<=>b.value ORDER BY a.key, a.value, b.key, b.value; -SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.key<=>b.value ORDER BY a.key, a.value, b.key, b.value; +SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key<=>b.value; +SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key<=>b.value; +SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.key<=>b.value; -- map joins -SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a JOIN myinput1 b ON a.key<=>b.value ORDER BY a.key, a.value, b.key, b.value; -SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a JOIN myinput1 b ON a.key<=>b.value ORDER BY a.key, a.value, b.key, b.value; +SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a JOIN myinput1 b ON a.key<=>b.value; +SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a JOIN myinput1 b ON a.key<=>b.value; -- smbs CREATE TABLE smb_input1(key int, value int) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; @@ -40,22 +42,22 @@ SET hive.optimize.bucketmapJOIN = true; SET hive.optimize.bucketmapJOIN.sortedmerge = true; SET hive.input.format = org.apache.hadoop.hive.ql.io.BucketizedHiveInputFormat; -SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input1 b ON a.key <=> b.key ORDER BY a.key, a.value, b.key, b.value; -SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input1 b ON a.key <=> b.key AND a.value <=> b.value ORDER BY a.key, a.value, b.key, b.value; -SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a RIGHT OUTER JOIN smb_input1 b ON a.key <=> b.key ORDER BY a.key, a.value, b.key, b.value; -SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a JOIN smb_input1 b ON a.key <=> b.key ORDER BY a.key, a.value, b.key, b.value; -SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a LEFT OUTER JOIN smb_input1 b ON a.key <=> b.key ORDER BY a.key, a.value, b.key, b.value; +SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input1 b ON a.key <=> b.key; +SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input1 b ON a.key <=> b.key AND a.value <=> b.value; +SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a RIGHT OUTER JOIN smb_input1 b ON a.key <=> b.key; +SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a JOIN smb_input1 b ON a.key <=> b.key; +SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a LEFT OUTER JOIN smb_input1 b ON a.key <=> b.key; -SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input2 b ON a.key <=> b.value ORDER BY a.key, a.value, b.key, b.value; -SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a JOIN smb_input2 b ON a.key <=> b.value ORDER BY a.key, a.value, b.key, b.value; -SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a LEFT OUTER JOIN smb_input2 b ON a.key <=> b.value ORDER BY a.key, a.value, b.key, b.value; -SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a RIGHT OUTER JOIN smb_input2 b ON a.key <=> b.value ORDER BY a.key, a.value, b.key, b.value; +SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input2 b ON a.key <=> b.value; +SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a JOIN smb_input2 b ON a.key <=> b.value; +SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a LEFT OUTER JOIN smb_input2 b ON a.key <=> b.value; +SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a RIGHT OUTER JOIN smb_input2 b ON a.key <=> b.value; -SELECT /*+ MAPJOIN(a) */ * FROM smb_input2 a JOIN smb_input2 b ON a.value <=> b.value ORDER BY a.key, a.value, b.key, b.value; -SELECT /*+ MAPJOIN(a) */ * FROM smb_input2 a RIGHT OUTER JOIN smb_input2 b ON a.value <=> b.value ORDER BY a.key, a.value, b.key, b.value; -SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a JOIN smb_input2 b ON a.value <=> b.value ORDER BY a.key, a.value, b.key, b.value; -SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a LEFT OUTER JOIN smb_input2 b ON a.value <=> b.value ORDER BY a.key, a.value, b.key, b.value; +SELECT /*+ MAPJOIN(a) */ * FROM smb_input2 a JOIN smb_input2 b ON a.value <=> b.value; +SELECT /*+ MAPJOIN(a) */ * FROM smb_input2 a RIGHT OUTER JOIN smb_input2 b ON a.value <=> b.value; +SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a JOIN smb_input2 b ON a.value <=> b.value; +SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a LEFT OUTER JOIN smb_input2 b ON a.value <=> b.value; --HIVE-3315 join predicate transitive explain select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.key is NULL; -select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.key is NULL order by a.value ASC, b.key ASC; +select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.key is NULL; diff --git ql/src/test/queries/clientpositive/leftsemijoin.q ql/src/test/queries/clientpositive/leftsemijoin.q index 0c16fb8..76cf6fb 100644 --- ql/src/test/queries/clientpositive/leftsemijoin.q +++ ql/src/test/queries/clientpositive/leftsemijoin.q @@ -1,3 +1,5 @@ +-- SORT_QUERY_RESULTS + drop table sales; drop table things; @@ -13,11 +15,11 @@ load data local inpath '../../data/files/sales.txt' INTO TABLE sales; load data local inpath '../../data/files/things.txt' INTO TABLE things partition(ds='2011-10-23'); load data local inpath '../../data/files/things2.txt' INTO TABLE things partition(ds='2011-10-24'); -SELECT name,id FROM sales ORDER BY name ASC, id ASC; +SELECT name,id FROM sales; -SELECT id,name FROM things ORDER BY id ASC, name ASC; +SELECT id,name FROM things; -SELECT name,id FROM sales LEFT SEMI JOIN things ON (sales.id = things.id) ORDER BY name ASC, id ASC; +SELECT name,id FROM sales LEFT SEMI JOIN things ON (sales.id = things.id); drop table sales; drop table things; diff --git ql/src/test/queries/clientpositive/list_bucket_dml_12.q ql/src/test/queries/clientpositive/list_bucket_dml_12.q index 3606e3b..0cab149 100644 --- ql/src/test/queries/clientpositive/list_bucket_dml_12.q +++ ql/src/test/queries/clientpositive/list_bucket_dml_12.q @@ -6,6 +6,7 @@ set hive.merge.mapredfiles=false; -- Ensure it works if skewed column is not the first column in the table columns -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.23) +-- SORT_QUERY_RESULTS -- test where the skewed values are more than 1 say columns no. 2 and 4 in a table with 5 columns create table list_bucketing_mul_col (col1 String, col2 String, col3 String, col4 String, col5 string) @@ -29,14 +30,14 @@ desc formatted list_bucketing_mul_col partition (ds='2008-04-08', hr='11'); set hive.optimize.listbucketing=true; explain extended select * from list_bucketing_mul_col -where ds='2008-04-08' and hr='11' and col2 = "466" and col4 = "val_466" ORDER BY col2, col4, ds, hr; +where ds='2008-04-08' and hr='11' and col2 = "466" and col4 = "val_466"; select * from list_bucketing_mul_col -where ds='2008-04-08' and hr='11' and col2 = "466" and col4 = "val_466" ORDER BY col2, col4, ds, hr; +where ds='2008-04-08' and hr='11' and col2 = "466" and col4 = "val_466"; explain extended select * from list_bucketing_mul_col -where ds='2008-04-08' and hr='11' and col2 = "382" and col4 = "val_382" ORDER BY col2, col4, ds, hr; +where ds='2008-04-08' and hr='11' and col2 = "382" and col4 = "val_382"; select * from list_bucketing_mul_col -where ds='2008-04-08' and hr='11' and col2 = "382" and col4 = "val_382" ORDER BY col2, col4, ds, hr; +where ds='2008-04-08' and hr='11' and col2 = "382" and col4 = "val_382"; drop table list_bucketing_mul_col; diff --git ql/src/test/queries/clientpositive/list_bucket_dml_13.q ql/src/test/queries/clientpositive/list_bucket_dml_13.q index 4903604..5ea333f 100644 --- ql/src/test/queries/clientpositive/list_bucket_dml_13.q +++ ql/src/test/queries/clientpositive/list_bucket_dml_13.q @@ -6,6 +6,7 @@ set hive.merge.mapredfiles=false; -- Ensure skewed value map has escaped directory name -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.23) +-- SORT_QUERY_RESULTS -- test where the skewed values are more than 1 say columns no. 2 and 4 in a table with 5 columns create table list_bucketing_mul_col (col1 String, col2 String, col3 String, col4 String, col5 string) @@ -29,8 +30,8 @@ desc formatted list_bucketing_mul_col partition (ds='2008-04-08', hr='2013-01-23 set hive.optimize.listbucketing=true; explain extended select * from list_bucketing_mul_col -where ds='2008-04-08' and hr='2013-01-23+18:00:99' and col2 = "466" and col4 = "val_466" ORDER BY col2, col4, ds, hr; +where ds='2008-04-08' and hr='2013-01-23+18:00:99' and col2 = "466" and col4 = "val_466"; select * from list_bucketing_mul_col -where ds='2008-04-08' and hr='2013-01-23+18:00:99' and col2 = "466" and col4 = "val_466" ORDER BY col2, col4, ds, hr; +where ds='2008-04-08' and hr='2013-01-23+18:00:99' and col2 = "466" and col4 = "val_466"; drop table list_bucketing_mul_col; diff --git ql/src/test/queries/clientpositive/list_bucket_dml_2.q ql/src/test/queries/clientpositive/list_bucket_dml_2.q index 3a39f42..9715ff6 100644 --- ql/src/test/queries/clientpositive/list_bucket_dml_2.q +++ ql/src/test/queries/clientpositive/list_bucket_dml_2.q @@ -9,6 +9,7 @@ set hive.merge.mapredfiles=false; set hive.stats.reliable=true; -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.23) +-- SORT_QUERY_RESULTS -- list bucketing DML: static partition. multiple skewed columns. -- ds=2008-04-08/hr=11/HIVE_DEFAULT_LIST_BUCKETING_DIR_NAME: @@ -46,16 +47,16 @@ select count(*) from list_bucketing_static_part; set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; set hive.optimize.listbucketing=true; explain extended -select * from list_bucketing_static_part where ds = '2008-04-08' and hr = '11' and key = '484' and value = 'val_484' ORDER BY key, value, ds, hr; -select * from list_bucketing_static_part where ds = '2008-04-08' and hr = '11' and key = '484' and value = 'val_484' ORDER BY key, value, ds, hr; -select * from srcpart where ds = '2008-04-08' and key = '484' and value = 'val_484' ORDER BY key, value; +select * from list_bucketing_static_part where ds = '2008-04-08' and hr = '11' and key = '484' and value = 'val_484'; +select * from list_bucketing_static_part where ds = '2008-04-08' and hr = '11' and key = '484' and value = 'val_484'; +select * from srcpart where ds = '2008-04-08' and key = '484' and value = 'val_484'; -- 51 and val_51 in the table so skewed data for 51 and val_14 should be none -- but query should succeed for 51 or 51 and val_14 -select * from srcpart where ds = '2008-04-08' and key = '51' ORDER BY key, value; -select * from list_bucketing_static_part where key = '51' ORDER BY key, value, ds, hr; -select * from srcpart where ds = '2008-04-08' and key = '51' and value = 'val_14' ORDER BY key, value; -select * from list_bucketing_static_part where key = '51' and value = 'val_14' ORDER BY key, value, ds, hr; +select * from srcpart where ds = '2008-04-08' and key = '51'; +select * from list_bucketing_static_part where key = '51'; +select * from srcpart where ds = '2008-04-08' and key = '51' and value = 'val_14'; +select * from list_bucketing_static_part where key = '51' and value = 'val_14'; -- queries with < <= > >= should work for skewed test although we don't benefit from pruning select count(1) from srcpart where ds = '2008-04-08' and key < '51'; diff --git ql/src/test/queries/clientpositive/list_bucket_dml_4.q ql/src/test/queries/clientpositive/list_bucket_dml_4.q index 918c817..1ca54fa 100644 --- ql/src/test/queries/clientpositive/list_bucket_dml_4.q +++ ql/src/test/queries/clientpositive/list_bucket_dml_4.q @@ -8,6 +8,7 @@ set hive.merge.mapfiles=false; set hive.merge.mapredfiles=false; -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.23) +-- SORT_QUERY_RESULTS -- list bucketing DML: static partition. multiple skewed columns. merge. -- ds=2008-04-08/hr=11/HIVE_DEFAULT_LIST_BUCKETING_DIR_NAME: @@ -63,9 +64,9 @@ select count(*) from list_bucketing_static_part; set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; set hive.optimize.listbucketing=true; explain extended -select * from list_bucketing_static_part where ds = '2008-04-08' and hr = '11' and key = '484' and value = 'val_484' ORDER BY key, value, ds, hr; -select * from list_bucketing_static_part where ds = '2008-04-08' and hr = '11' and key = '484' and value = 'val_484' ORDER BY key, value, ds, hr; -select * from srcpart where ds = '2008-04-08' and key = '484' and value = 'val_484' ORDER BY key, value; +select * from list_bucketing_static_part where ds = '2008-04-08' and hr = '11' and key = '484' and value = 'val_484'; +select * from list_bucketing_static_part where ds = '2008-04-08' and hr = '11' and key = '484' and value = 'val_484'; +select * from srcpart where ds = '2008-04-08' and key = '484' and value = 'val_484'; -- clean up drop table list_bucketing_static_part; diff --git ql/src/test/queries/clientpositive/list_bucket_dml_5.q ql/src/test/queries/clientpositive/list_bucket_dml_5.q index 5ea2e62..5278a80 100644 --- ql/src/test/queries/clientpositive/list_bucket_dml_5.q +++ ql/src/test/queries/clientpositive/list_bucket_dml_5.q @@ -9,6 +9,7 @@ set mapred.input.dir.recursive=true; -- list bucketing DML: multiple skewed columns. 2 stages -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.23) +-- SORT_QUERY_RESULTS -- create a skewed table create table list_bucketing_dynamic_part (key String, value String) @@ -28,11 +29,11 @@ desc formatted list_bucketing_dynamic_part partition (ds='2008-04-08', hr='12'); select count(1) from srcpart where ds='2008-04-08'; select count(1) from list_bucketing_dynamic_part where ds='2008-04-08'; -select key, value from srcpart where ds='2008-04-08' and key = "103" and value ="val_103" ORDER BY key, value; +select key, value from srcpart where ds='2008-04-08' and key = "103" and value ="val_103"; set hive.optimize.listbucketing=true; explain extended -select key, value, ds, hr from list_bucketing_dynamic_part where ds='2008-04-08' and key = "103" and value ="val_103" ORDER BY key, value, ds, hr; -select key, value, ds, hr from list_bucketing_dynamic_part where ds='2008-04-08' and key = "103" and value ="val_103" ORDER BY key, value, ds, hr; +select key, value, ds, hr from list_bucketing_dynamic_part where ds='2008-04-08' and key = "103" and value ="val_103"; +select key, value, ds, hr from list_bucketing_dynamic_part where ds='2008-04-08' and key = "103" and value ="val_103"; -- clean up resources drop table list_bucketing_dynamic_part; diff --git ql/src/test/queries/clientpositive/list_bucket_dml_6.q ql/src/test/queries/clientpositive/list_bucket_dml_6.q index d50e159..3445255 100644 --- ql/src/test/queries/clientpositive/list_bucket_dml_6.q +++ ql/src/test/queries/clientpositive/list_bucket_dml_6.q @@ -46,6 +46,7 @@ set hive.merge.mapredfiles=false; -- 118 000002_0 -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.23) +-- SORT_QUERY_RESULTS -- create a skewed table create table list_bucketing_dynamic_part (key String, value String) @@ -90,7 +91,7 @@ set hive.optimize.listbucketing=true; explain extended select * from list_bucketing_dynamic_part where key = '484' and value = 'val_484'; select * from list_bucketing_dynamic_part where key = '484' and value = 'val_484'; -select * from srcpart where ds = '2008-04-08' and key = '484' and value = 'val_484' order by key, value, ds, hr; +select * from srcpart where ds = '2008-04-08' and key = '484' and value = 'val_484'; -- clean up drop table list_bucketing_dynamic_part; diff --git ql/src/test/queries/clientpositive/list_bucket_dml_7.q ql/src/test/queries/clientpositive/list_bucket_dml_7.q index f71e80f..cacf4ea 100644 --- ql/src/test/queries/clientpositive/list_bucket_dml_7.q +++ ql/src/test/queries/clientpositive/list_bucket_dml_7.q @@ -9,6 +9,7 @@ set hive.merge.mapredfiles=false; set hive.merge.rcfile.block.level=true; -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.23) +-- SORT_QUERY_RESULTS -- list bucketing DML : dynamic partition (one level) , merge , one skewed column -- DML without merge files mixed with small and big files: @@ -64,7 +65,7 @@ set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; explain extended select * from list_bucketing_dynamic_part where key = '484' and value = 'val_484'; select * from list_bucketing_dynamic_part where key = '484' and value = 'val_484'; -select * from srcpart where ds = '2008-04-08' and key = '484' and value = 'val_484' order by hr; +select * from srcpart where ds = '2008-04-08' and key = '484' and value = 'val_484'; -- clean up drop table list_bucketing_dynamic_part; diff --git ql/src/test/queries/clientpositive/list_bucket_dml_9.q ql/src/test/queries/clientpositive/list_bucket_dml_9.q index 1b69a9a..4ddcddd 100644 --- ql/src/test/queries/clientpositive/list_bucket_dml_9.q +++ ql/src/test/queries/clientpositive/list_bucket_dml_9.q @@ -8,6 +8,7 @@ set hive.merge.mapfiles=false; set hive.merge.mapredfiles=false; -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.23) +-- SORT_QUERY_RESULTS -- list bucketing DML: static partition. multiple skewed columns. merge. -- ds=2008-04-08/hr=11/HIVE_DEFAULT_LIST_BUCKETING_DIR_NAME: @@ -63,9 +64,9 @@ select count(*) from list_bucketing_static_part; set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; set hive.optimize.listbucketing=true; explain extended -select * from list_bucketing_static_part where ds = '2008-04-08' and hr = '11' and key = '484' and value = 'val_484' ORDER BY key, value, ds, hr; -select * from list_bucketing_static_part where ds = '2008-04-08' and hr = '11' and key = '484' and value = 'val_484' ORDER BY key, value, ds, hr; -select * from srcpart where ds = '2008-04-08' and key = '484' and value = 'val_484' ORDER BY key, value, ds, hr; +select * from list_bucketing_static_part where ds = '2008-04-08' and hr = '11' and key = '484' and value = 'val_484'; +select * from list_bucketing_static_part where ds = '2008-04-08' and hr = '11' and key = '484' and value = 'val_484'; +select * from srcpart where ds = '2008-04-08' and key = '484' and value = 'val_484'; -- clean up drop table list_bucketing_static_part; diff --git ql/src/test/queries/clientpositive/list_bucket_query_multiskew_2.q ql/src/test/queries/clientpositive/list_bucket_query_multiskew_2.q index a364168..00410d1 100644 --- ql/src/test/queries/clientpositive/list_bucket_query_multiskew_2.q +++ ql/src/test/queries/clientpositive/list_bucket_query_multiskew_2.q @@ -4,6 +4,7 @@ set mapred.input.dir.recursive=true; set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.23) +-- SORT_QUERY_RESULTS -- List bucketing query logic test case. We simulate the directory structure by DML here. -- Test condition: @@ -30,21 +31,21 @@ SELECT count(1) FROM fact_daily WHERE ds='1' and hr='4'; -- pruner only pick up default directory -- explain plan shows which directory selected: Truncated Path -> Alias -explain extended SELECT key, value FROM fact_daily WHERE ds='1' and hr='4' and value= 'val_484' ORDER BY key, value; +explain extended SELECT key, value FROM fact_daily WHERE ds='1' and hr='4' and value= 'val_484'; -- List Bucketing Query -SELECT key, value FROM fact_daily WHERE ds='1' and hr='4' and value= 'val_484' ORDER BY key, value; +SELECT key, value FROM fact_daily WHERE ds='1' and hr='4' and value= 'val_484'; -- pruner only pick up default directory -- explain plan shows which directory selected: Truncated Path -> Alias -explain extended SELECT key FROM fact_daily WHERE ds='1' and hr='4' and key= '406' ORDER BY key; +explain extended SELECT key FROM fact_daily WHERE ds='1' and hr='4' and key= '406'; -- List Bucketing Query -SELECT key, value FROM fact_daily WHERE ds='1' and hr='4' and key= '406' ORDER BY key; +SELECT key, value FROM fact_daily WHERE ds='1' and hr='4' and key= '406'; -- pruner only pick up skewed-value directory -- explain plan shows which directory selected: Truncated Path -> Alias -explain extended SELECT key, value FROM fact_daily WHERE ds='1' and hr='4' and ( (key='484' and value ='val_484') or (key='238' and value= 'val_238')) ORDER BY key, value; +explain extended SELECT key, value FROM fact_daily WHERE ds='1' and hr='4' and ( (key='484' and value ='val_484') or (key='238' and value= 'val_238')); -- List Bucketing Query -SELECT key, value FROM fact_daily WHERE ds='1' and hr='4' and ( (key='484' and value ='val_484') or (key='238' and value= 'val_238')) ORDER BY key, value; +SELECT key, value FROM fact_daily WHERE ds='1' and hr='4' and ( (key='484' and value ='val_484') or (key='238' and value= 'val_238')); -- clean up drop table fact_daily; diff --git ql/src/test/queries/clientpositive/list_bucket_query_oneskew_1.q ql/src/test/queries/clientpositive/list_bucket_query_oneskew_1.q index 7769fb7..84727fe 100644 --- ql/src/test/queries/clientpositive/list_bucket_query_oneskew_1.q +++ ql/src/test/queries/clientpositive/list_bucket_query_oneskew_1.q @@ -4,6 +4,7 @@ set mapred.input.dir.recursive=true; set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.23) +-- SORT_QUERY_RESULTS -- List bucketing query logic test case. -- Test condition: @@ -44,7 +45,7 @@ LOCATION '${hiveconf:hive.metastore.warehouse.dir}/fact_tz/ds=1'; alter table fact_daily PARTITION (ds = '1') set skewed location (484='${hiveconf:hive.metastore.warehouse.dir}/fact_tz/ds=1/x=484','HIVE_DEFAULT_LIST_BUCKETING_KEY'='${hiveconf:hive.metastore.warehouse.dir}/fact_tz/ds=1/HIVE_DEFAULT_LIST_BUCKETING_DIR_NAME'); describe formatted fact_daily PARTITION (ds = '1'); -SELECT * FROM fact_daily WHERE ds='1' ORDER BY x; +SELECT * FROM fact_daily WHERE ds='1'; -- pruner only pick up skewed-value directory -- explain plan shows which directory selected: Truncated Path -> Alias diff --git ql/src/test/queries/clientpositive/list_bucket_query_oneskew_2.q ql/src/test/queries/clientpositive/list_bucket_query_oneskew_2.q index 6a6945d..29409e1 100644 --- ql/src/test/queries/clientpositive/list_bucket_query_oneskew_2.q +++ ql/src/test/queries/clientpositive/list_bucket_query_oneskew_2.q @@ -4,6 +4,7 @@ set mapred.input.dir.recursive=true; set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.23) +-- SORT_QUERY_RESULTS -- List bucketing query logic test case. -- Test condition: @@ -45,7 +46,7 @@ LOCATION '${hiveconf:hive.metastore.warehouse.dir}/fact_tz/ds=1'; alter table fact_daily PARTITION (ds = '1') set skewed location (484='${hiveconf:hive.metastore.warehouse.dir}/fact_tz/ds=1/x=484','HIVE_DEFAULT_LIST_BUCKETING_KEY'='${hiveconf:hive.metastore.warehouse.dir}/fact_tz/ds=1/HIVE_DEFAULT_LIST_BUCKETING_DIR_NAME'); describe formatted fact_daily PARTITION (ds = '1'); -SELECT * FROM fact_daily WHERE ds='1' ORDER BY x, y; +SELECT * FROM fact_daily WHERE ds='1'; -- The first subquery -- explain plan shows which directory selected: Truncated Path -> Alias @@ -55,9 +56,9 @@ select x from (select * from fact_daily where ds = '1') subq where x = 484; -- The second subquery -- explain plan shows which directory selected: Truncated Path -> Alias -explain extended select x1, y1 from(select x as x1, y as y1 from fact_daily where ds ='1') subq where x1 = 484 ORDER BY x1, y1; +explain extended select x1, y1 from(select x as x1, y as y1 from fact_daily where ds ='1') subq where x1 = 484; -- List Bucketing Query -select x1, y1 from(select x as x1, y as y1 from fact_daily where ds ='1') subq where x1 = 484 ORDER BY x1, y1; +select x1, y1 from(select x as x1, y as y1 from fact_daily where ds ='1') subq where x1 = 484; -- The third subquery diff --git ql/src/test/queries/clientpositive/list_bucket_query_oneskew_3.q ql/src/test/queries/clientpositive/list_bucket_query_oneskew_3.q index 892b4c5..5d69906 100644 --- ql/src/test/queries/clientpositive/list_bucket_query_oneskew_3.q +++ ql/src/test/queries/clientpositive/list_bucket_query_oneskew_3.q @@ -4,6 +4,7 @@ set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; set hive.mapred.supports.subdirectories=true; -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.23) +-- SORT_QUERY_RESULTS -- List bucketing query logic test case. -- Test condition: @@ -52,10 +53,10 @@ alter table fact_daily PARTITION (ds = '1') set skewed location (484='${hiveconf 'HIVE_DEFAULT_LIST_BUCKETING_KEY'='${hiveconf:hive.metastore.warehouse.dir}/fact_tz/ds=1/HIVE_DEFAULT_LIST_BUCKETING_DIR_NAME'); describe formatted fact_daily PARTITION (ds = '1'); -SELECT * FROM fact_daily WHERE ds='1' ORDER BY x, y, z; +SELECT * FROM fact_daily WHERE ds='1'; -- pruner pick up right directory -- explain plan shows which directory selected: Truncated Path -> Alias -explain extended SELECT x FROM fact_daily WHERE ds='1' and not (x = 86) ORDER BY x; +explain extended SELECT x FROM fact_daily WHERE ds='1' and not (x = 86); -- List Bucketing Query -SELECT x FROM fact_daily WHERE ds='1' and not (x = 86) ORDER BY x; +SELECT x FROM fact_daily WHERE ds='1' and not (x = 86); diff --git ql/src/test/queries/clientpositive/load_dyn_part14.q ql/src/test/queries/clientpositive/load_dyn_part14.q index ba3ce39..c34c3bf 100644 --- ql/src/test/queries/clientpositive/load_dyn_part14.q +++ ql/src/test/queries/clientpositive/load_dyn_part14.q @@ -1,7 +1,9 @@ -- EXCLUDE_OS_WINDOWS -- excluded on windows because of difference in file name encoding logic -create table if not exists nzhang_part14 (key string) +-- SORT_QUERY_RESULTS + +create table if not exists nzhang_part14 (key string) partitioned by (value string); describe extended nzhang_part14; @@ -31,7 +33,6 @@ select key, value from ( show partitions nzhang_part14; -select * from nzhang_part14 where value <> 'a' -order by key, value; +select * from nzhang_part14 where value <> 'a'; diff --git ql/src/test/queries/clientpositive/load_dyn_part2.q ql/src/test/queries/clientpositive/load_dyn_part2.q index 03aa5df..eb4e2d5 100644 --- ql/src/test/queries/clientpositive/load_dyn_part2.q +++ ql/src/test/queries/clientpositive/load_dyn_part2.q @@ -1,3 +1,4 @@ +-- SORT_QUERY_RESULTS create table if not exists nzhang_part_bucket (key string, value string) partitioned by (ds string, hr string) @@ -16,8 +17,8 @@ insert overwrite table nzhang_part_bucket partition (ds='2010-03-23', hr) select show partitions nzhang_part_bucket; -select * from nzhang_part_bucket where ds='2010-03-23' and hr='11' order by key; -select * from nzhang_part_bucket where ds='2010-03-23' and hr='12' order by key; +select * from nzhang_part_bucket where ds='2010-03-23' and hr='11'; +select * from nzhang_part_bucket where ds='2010-03-23' and hr='12'; diff --git ql/src/test/queries/clientpositive/mapjoin_subquery.q ql/src/test/queries/clientpositive/mapjoin_subquery.q index 81cf940..d0b58d5 100644 --- ql/src/test/queries/clientpositive/mapjoin_subquery.q +++ ql/src/test/queries/clientpositive/mapjoin_subquery.q @@ -2,6 +2,7 @@ set hive.auto.convert.join=true; set hive.auto.convert.join.noconditionaltask=true; set hive.auto.convert.join.noconditionaltask.size=10000; +-- SORT_QUERY_RESULTS -- Since the inputs are small, it should be automatically converted to mapjoin EXPLAIN @@ -15,20 +16,17 @@ SELECT subq.key1, z.value FROM (SELECT x.key as key1, x.value as value1, y.key as key2, y.value as value2 FROM src1 x JOIN src y ON (x.key = y.key)) subq - JOIN srcpart z ON (subq.key1 = z.key and z.ds='2008-04-08' and z.hr=11) -ORDER BY subq.key1, z.value; + JOIN srcpart z ON (subq.key1 = z.key and z.ds='2008-04-08' and z.hr=11); EXPLAIN SELECT subq.key1, z.value FROM (SELECT x.key as key1, x.value as value1, y.key as key2, y.value as value2 FROM src1 x JOIN src y ON (x.key = y.key)) subq - JOIN srcpart z ON (subq.key1 = z.key and z.ds='2008-04-08' and z.hr=11) - order by subq.key1, z.value; + JOIN srcpart z ON (subq.key1 = z.key and z.ds='2008-04-08' and z.hr=11); SELECT subq.key1, z.value FROM (SELECT x.key as key1, x.value as value1, y.key as key2, y.value as value2 FROM src1 x JOIN src y ON (x.key = y.key)) subq - JOIN srcpart z ON (subq.key1 = z.key and z.ds='2008-04-08' and z.hr=11) - order by subq.key1, z.value; + JOIN srcpart z ON (subq.key1 = z.key and z.ds='2008-04-08' and z.hr=11); diff --git ql/src/test/queries/clientpositive/merge3.q ql/src/test/queries/clientpositive/merge3.q index aacd0cd..7091dbc 100644 --- ql/src/test/queries/clientpositive/merge3.q +++ ql/src/test/queries/clientpositive/merge3.q @@ -4,7 +4,9 @@ set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; set hive.exec.dynamic.partition=true; set hive.exec.dynamic.partition.mode=nonstrict; -create table merge_src as +-- SORT_QUERY_RESULTS + +create table merge_src as select key, value from srcpart where ds is not null; create table merge_src_part (key string, value string) partitioned by (ds string); @@ -20,7 +22,7 @@ select key, value from merge_src; create table merge_src2 as select key, value from merge_src; -select * from merge_src2 ORDER BY key ASC, value ASC; +select * from merge_src2; describe formatted merge_src2; create table merge_src_part2 like merge_src_part; @@ -37,7 +39,7 @@ where ds is not null; show partitions merge_src_part2; -select * from merge_src_part2 where ds is not null ORDER BY key ASC, value ASC; +select * from merge_src_part2 where ds is not null; drop table merge_src_part2; @@ -54,4 +56,4 @@ select key, value, ds; show partitions merge_src_part2; -select * from merge_src_part2 where ds is not null ORDER BY key ASC, value ASC; +select * from merge_src_part2 where ds is not null; diff --git ql/src/test/queries/clientpositive/merge_dynamic_partition.q ql/src/test/queries/clientpositive/merge_dynamic_partition.q index 5be02aa..a3a6b60 100644 --- ql/src/test/queries/clientpositive/merge_dynamic_partition.q +++ ql/src/test/queries/clientpositive/merge_dynamic_partition.q @@ -1,6 +1,8 @@ set hive.exec.dynamic.partition=true; set hive.exec.dynamic.partition.mode=nonstrict; +-- SORT_QUERY_RESULTS + create table srcpart_merge_dp like srcpart; create table merge_dynamic_part like srcpart; @@ -18,7 +20,7 @@ explain insert overwrite table merge_dynamic_part partition (ds='2008-04-08', hr) select key, value, hr from srcpart_merge_dp where ds='2008-04-08'; insert overwrite table merge_dynamic_part partition (ds='2008-04-08', hr) select key, value, hr from srcpart_merge_dp where ds='2008-04-08'; -select * from merge_dynamic_part order by key, value; +select * from merge_dynamic_part; show table extended like `merge_dynamic_part`; @@ -30,7 +32,7 @@ explain insert overwrite table merge_dynamic_part partition (ds='2008-04-08', hr=11) select key, value from srcpart_merge_dp where ds='2008-04-08'; insert overwrite table merge_dynamic_part partition (ds='2008-04-08', hr=11) select key, value from srcpart_merge_dp where ds='2008-04-08'; -select * from merge_dynamic_part order by key, value; +select * from merge_dynamic_part; show table extended like `merge_dynamic_part`; set hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat; @@ -41,6 +43,6 @@ explain insert overwrite table merge_dynamic_part partition (ds, hr) select key, value, ds, hr from srcpart_merge_dp where ds='2008-04-08' and hr=11; insert overwrite table merge_dynamic_part partition (ds, hr) select key, value, ds, hr from srcpart_merge_dp where ds='2008-04-08' and hr=11;; -select * from merge_dynamic_part order by key, value; +select * from merge_dynamic_part; show table extended like `merge_dynamic_part`; diff --git ql/src/test/queries/clientpositive/merge_dynamic_partition3.q ql/src/test/queries/clientpositive/merge_dynamic_partition3.q index 43be59e..79ae2b9 100644 --- ql/src/test/queries/clientpositive/merge_dynamic_partition3.q +++ ql/src/test/queries/clientpositive/merge_dynamic_partition3.q @@ -1,6 +1,8 @@ set hive.exec.dynamic.partition=true; set hive.exec.dynamic.partition.mode=nonstrict; +-- SORT_QUERY_RESULTS + create table srcpart_merge_dp like srcpart; create table merge_dynamic_part like srcpart; @@ -33,6 +35,6 @@ insert overwrite table merge_dynamic_part partition (ds, hr) select key, value, insert overwrite table merge_dynamic_part partition (ds, hr) select key, value, ds, hr from srcpart_merge_dp where ds>='2008-04-08'; -select ds, hr, count(1) from merge_dynamic_part where ds>='2008-04-08' group by ds, hr order by ds, hr; +select ds, hr, count(1) from merge_dynamic_part where ds>='2008-04-08' group by ds, hr; show table extended like `merge_dynamic_part`; diff --git ql/src/test/queries/clientpositive/multi_insert.q ql/src/test/queries/clientpositive/multi_insert.q index 718211b..5947985 100644 --- ql/src/test/queries/clientpositive/multi_insert.q +++ ql/src/test/queries/clientpositive/multi_insert.q @@ -1,4 +1,4 @@ - +-- SORT_QUERY_RESULTS create table src_multi1 like src; create table src_multi2 like src; @@ -15,8 +15,8 @@ from src insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; -select * from src_multi1 order by key, value; -select * from src_multi2 order by key, value; +select * from src_multi1; +select * from src_multi2; set hive.merge.mapfiles=true; @@ -31,8 +31,8 @@ from src insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; -select * from src_multi1 order by key, value; -select * from src_multi2 order by key, value; +select * from src_multi1; +select * from src_multi2; set hive.merge.mapfiles=false; set hive.merge.mapredfiles=true; @@ -46,8 +46,8 @@ from src insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; -select * from src_multi1 order by key, value; -select * from src_multi2 order by key, value; +select * from src_multi1; +select * from src_multi2; set hive.merge.mapfiles=true; set hive.merge.mapredfiles=true; @@ -61,8 +61,8 @@ from src insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; -select * from src_multi1 order by key, value; -select * from src_multi2 order by key, value; +select * from src_multi1; +select * from src_multi2; @@ -78,8 +78,8 @@ from src insert overwrite table src_multi1 select * where key < 10 group by key, value insert overwrite table src_multi2 select * where key > 10 and key < 20 group by key, value; -select * from src_multi1 order by key, value; -select * from src_multi2 order by key, value; +select * from src_multi1; +select * from src_multi2; set hive.merge.mapfiles=false; @@ -94,8 +94,8 @@ from src insert overwrite table src_multi1 select * where key < 10 group by key, value insert overwrite table src_multi2 select * where key > 10 and key < 20 group by key, value; -select * from src_multi1 order by key, value; -select * from src_multi2 order by key, value; +select * from src_multi1; +select * from src_multi2; set hive.merge.mapfiles=true; set hive.merge.mapredfiles=false; @@ -109,8 +109,8 @@ from src insert overwrite table src_multi1 select * where key < 10 group by key, value insert overwrite table src_multi2 select * where key > 10 and key < 20 group by key, value; -select * from src_multi1 order by key, value; -select * from src_multi2 order by key, value; +select * from src_multi1; +select * from src_multi2; set hive.merge.mapfiles=true; @@ -125,8 +125,8 @@ from src insert overwrite table src_multi1 select * where key < 10 group by key, value insert overwrite table src_multi2 select * where key > 10 and key < 20 group by key, value; -select * from src_multi1 order by key, value; -select * from src_multi2 order by key, value; +select * from src_multi1; +select * from src_multi2; @@ -143,8 +143,8 @@ from (select * from src union all select * from src) s insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; -select * from src_multi1 order by key, value; -select * from src_multi2 order by key, value; +select * from src_multi1; +select * from src_multi2; set hive.merge.mapfiles=true; set hive.merge.mapredfiles=false; @@ -158,8 +158,8 @@ from (select * from src union all select * from src) s insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; -select * from src_multi1 order by key, value; -select * from src_multi2 order by key, value; +select * from src_multi1; +select * from src_multi2; set hive.merge.mapfiles=false; set hive.merge.mapredfiles=true; @@ -173,8 +173,8 @@ from (select * from src union all select * from src) s insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; -select * from src_multi1 order by key, value; -select * from src_multi2 order by key, value; +select * from src_multi1; +select * from src_multi2; set hive.merge.mapfiles=true; set hive.merge.mapredfiles=true; @@ -188,8 +188,8 @@ from (select * from src union all select * from src) s insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; -select * from src_multi1 order by key, value; -select * from src_multi2 order by key, value; +select * from src_multi1; +select * from src_multi2; diff --git ql/src/test/queries/clientpositive/multi_insert_gby.q ql/src/test/queries/clientpositive/multi_insert_gby.q index 3aac82e..2d5a312 100644 --- ql/src/test/queries/clientpositive/multi_insert_gby.q +++ ql/src/test/queries/clientpositive/multi_insert_gby.q @@ -1,33 +1,35 @@ +-- SORT_QUERY_RESULTS + --HIVE-3699 Multiple insert overwrite into multiple tables query stores same results in all tables create table e1 (key string, count int); create table e2 (key string, count int); explain FROM src INSERT OVERWRITE TABLE e1 - SELECT key, COUNT(*) WHERE key>450 GROUP BY key ORDER BY key + SELECT key, COUNT(*) WHERE key>450 GROUP BY key INSERT OVERWRITE TABLE e2 - SELECT key, COUNT(*) WHERE key>500 GROUP BY key ORDER BY key; + SELECT key, COUNT(*) WHERE key>500 GROUP BY key; FROM src INSERT OVERWRITE TABLE e1 - SELECT key, COUNT(*) WHERE key>450 GROUP BY key ORDER BY key + SELECT key, COUNT(*) WHERE key>450 GROUP BY key INSERT OVERWRITE TABLE e2 - SELECT key, COUNT(*) WHERE key>500 GROUP BY key ORDER BY key; + SELECT key, COUNT(*) WHERE key>500 GROUP BY key; select * from e1; select * from e2; explain FROM src INSERT OVERWRITE TABLE e1 - SELECT key, COUNT(*) WHERE key>450 GROUP BY key ORDER BY key + SELECT key, COUNT(*) WHERE key>450 GROUP BY key INSERT OVERWRITE TABLE e2 - SELECT key, COUNT(*) GROUP BY key ORDER BY key; + SELECT key, COUNT(*) GROUP BY key; FROM src INSERT OVERWRITE TABLE e1 - SELECT key, COUNT(*) WHERE key>450 GROUP BY key ORDER BY key + SELECT key, COUNT(*) WHERE key>450 GROUP BY key INSERT OVERWRITE TABLE e2 - SELECT key, COUNT(*) GROUP BY key ORDER BY key; + SELECT key, COUNT(*) GROUP BY key; select * from e1; select * from e2; diff --git ql/src/test/queries/clientpositive/multi_insert_lateral_view.q ql/src/test/queries/clientpositive/multi_insert_lateral_view.q index eb1b9ed..acf905f 100644 --- ql/src/test/queries/clientpositive/multi_insert_lateral_view.q +++ ql/src/test/queries/clientpositive/multi_insert_lateral_view.q @@ -1,3 +1,5 @@ +-- SORT_QUERY_RESULTS + create table src_10 as select * from src limit 10; create table src_lv1 (key string, value string); @@ -18,8 +20,8 @@ from src_10 insert overwrite table src_lv1 select key, C lateral view explode(array(key+1, key+2)) A as C insert overwrite table src_lv2 select key, C lateral view explode(array(key+3, key+4)) A as C; -select * from src_lv1 order by key, value; -select * from src_lv2 order by key, value; +select * from src_lv1; +select * from src_lv2; -- 2(LV+GBY) -- TS[0]-LVF[1]-SEL[2]-LVJ[5]-SEL[11]-GBY[12]-RS[13]-GBY[14]-SEL[15]-FS[16] @@ -35,8 +37,8 @@ from src_10 insert overwrite table src_lv1 select key, sum(C) lateral view explode(array(key+1, key+2)) A as C group by key insert overwrite table src_lv2 select key, sum(C) lateral view explode(array(key+3, key+4)) A as C group by key; -select * from src_lv1 order by key, value; -select * from src_lv2 order by key, value; +select * from src_lv1; +select * from src_lv2; -- (LV+GBY) + RS:2GBY -- TS[0]-LVF[1]-SEL[2]-LVJ[5]-SEL[6]-GBY[7]-RS[8]-GBY[9]-SEL[10]-FS[11] @@ -54,9 +56,9 @@ insert overwrite table src_lv1 select key, sum(C) lateral view explode(array(key insert overwrite table src_lv2 select key, count(value) where key > 200 group by key insert overwrite table src_lv3 select key, count(value) where key < 200 group by key; -select * from src_lv1 order by key, value; -select * from src_lv2 order by key, value; -select * from src_lv3 order by key, value; +select * from src_lv1; +select * from src_lv2; +select * from src_lv3; -- todo: shared distinct columns (should work with hive.optimize.multigroupby.common.distincts) -- 2(LV+GBY) + RS:2GBY @@ -76,9 +78,9 @@ insert overwrite table src_lv1 select C, sum(distinct key) lateral view explode( insert overwrite table src_lv2 select C, sum(distinct key) lateral view explode(array(key+3, key+4)) A as C group by C insert overwrite table src_lv3 select value, sum(distinct key) group by value; -select * from src_lv1 order by key, value; -select * from src_lv2 order by key, value; -select * from src_lv3 order by key, value; +select * from src_lv1; +select * from src_lv2; +select * from src_lv3; create table src_lv4 (key string, value string); @@ -96,7 +98,7 @@ insert overwrite table src_lv2 select key, sum(distinct C) lateral view explode( insert overwrite table src_lv3 select value, sum(distinct key) where key > 200 group by value insert overwrite table src_lv4 select value, sum(distinct key) where key < 200 group by value; -select * from src_lv1 order by key, value; -select * from src_lv2 order by key, value; -select * from src_lv3 order by key, value; -select * from src_lv4 order by key, value; +select * from src_lv1; +select * from src_lv2; +select * from src_lv3; +select * from src_lv4; diff --git ql/src/test/queries/clientpositive/multi_insert_move_tasks_share_dependencies.q ql/src/test/queries/clientpositive/multi_insert_move_tasks_share_dependencies.q index e30992b..3117713 100644 --- ql/src/test/queries/clientpositive/multi_insert_move_tasks_share_dependencies.q +++ ql/src/test/queries/clientpositive/multi_insert_move_tasks_share_dependencies.q @@ -1,5 +1,7 @@ set hive.multi.insert.move.tasks.share.dependencies=true; +-- SORT_QUERY_RESULTS + create table src_multi1 like src; create table src_multi2 like src; @@ -15,8 +17,8 @@ from src insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; -select * from src_multi1 order by key, value; -select * from src_multi2 order by key, value; +select * from src_multi1; +select * from src_multi2; set hive.merge.mapfiles=true; @@ -31,8 +33,8 @@ from src insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; -select * from src_multi1 order by key, value; -select * from src_multi2 order by key, value; +select * from src_multi1; +select * from src_multi2; set hive.merge.mapfiles=false; set hive.merge.mapredfiles=true; @@ -46,8 +48,8 @@ from src insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; -select * from src_multi1 order by key, value; -select * from src_multi2 order by key, value; +select * from src_multi1; +select * from src_multi2; set hive.merge.mapfiles=true; set hive.merge.mapredfiles=true; @@ -61,8 +63,8 @@ from src insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; -select * from src_multi1 order by key, value; -select * from src_multi2 order by key, value; +select * from src_multi1; +select * from src_multi2; @@ -78,8 +80,8 @@ from src insert overwrite table src_multi1 select * where key < 10 group by key, value insert overwrite table src_multi2 select * where key > 10 and key < 20 group by key, value; -select * from src_multi1 order by key, value; -select * from src_multi2 order by key, value; +select * from src_multi1; +select * from src_multi2; set hive.merge.mapfiles=false; @@ -94,8 +96,8 @@ from src insert overwrite table src_multi1 select * where key < 10 group by key, value insert overwrite table src_multi2 select * where key > 10 and key < 20 group by key, value; -select * from src_multi1 order by key, value; -select * from src_multi2 order by key, value; +select * from src_multi1; +select * from src_multi2; set hive.merge.mapfiles=true; set hive.merge.mapredfiles=false; @@ -109,8 +111,8 @@ from src insert overwrite table src_multi1 select * where key < 10 group by key, value insert overwrite table src_multi2 select * where key > 10 and key < 20 group by key, value; -select * from src_multi1 order by key, value; -select * from src_multi2 order by key, value; +select * from src_multi1; +select * from src_multi2; set hive.merge.mapfiles=true; @@ -125,8 +127,8 @@ from src insert overwrite table src_multi1 select * where key < 10 group by key, value insert overwrite table src_multi2 select * where key > 10 and key < 20 group by key, value; -select * from src_multi1 order by key, value; -select * from src_multi2 order by key, value; +select * from src_multi1; +select * from src_multi2; @@ -143,8 +145,8 @@ from (select * from src union all select * from src) s insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; -select * from src_multi1 order by key, value; -select * from src_multi2 order by key, value; +select * from src_multi1; +select * from src_multi2; set hive.merge.mapfiles=true; set hive.merge.mapredfiles=false; @@ -158,8 +160,8 @@ from (select * from src union all select * from src) s insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; -select * from src_multi1 order by key, value; -select * from src_multi2 order by key, value; +select * from src_multi1; +select * from src_multi2; set hive.merge.mapfiles=false; set hive.merge.mapredfiles=true; @@ -173,8 +175,8 @@ from (select * from src union all select * from src) s insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; -select * from src_multi1 order by key, value; -select * from src_multi2 order by key, value; +select * from src_multi1; +select * from src_multi2; set hive.merge.mapfiles=true; set hive.merge.mapredfiles=true; @@ -188,8 +190,8 @@ from (select * from src union all select * from src) s insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; -select * from src_multi1 order by key, value; -select * from src_multi2 order by key, value; +select * from src_multi1; +select * from src_multi2; @@ -341,8 +343,8 @@ insert overwrite table src_multi2 select * where key > 10 and key < 20 insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/1' select * where key < 10 group by key, value cluster by key insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/2' select * where key > 10 and key < 20 group by key, value cluster by value; -select * from src_multi1 order by key, value; -select * from src_multi2 order by key, value; +select * from src_multi1; +select * from src_multi2; dfs -ls ${system:test.tmp.dir}/hive_test/multiins_local; dfs -rmr ${system:test.tmp.dir}/hive_test/multiins_local; @@ -363,8 +365,8 @@ insert overwrite table src_multi2 select * where key > 10 and key < 20 insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/1' select * where key < 10 group by key, value cluster by key insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/2' select * where key > 10 and key < 20 group by key, value cluster by value; -select * from src_multi1 order by key, value; -select * from src_multi2 order by key, value; +select * from src_multi1; +select * from src_multi2; dfs -ls ${system:test.tmp.dir}/hive_test/multiins_local; dfs -rmr ${system:test.tmp.dir}/hive_test/multiins_local; @@ -385,8 +387,8 @@ insert overwrite table src_multi2 select * where key > 10 and key < 20 insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/1' select * where key < 10 group by key, value cluster by key insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/2' select * where key > 10 and key < 20 group by key, value cluster by value; -select * from src_multi1 order by key, value; -select * from src_multi2 order by key, value; +select * from src_multi1; +select * from src_multi2; dfs -ls ${system:test.tmp.dir}/hive_test/multiins_local; dfs -rmr ${system:test.tmp.dir}/hive_test/multiins_local; @@ -407,8 +409,8 @@ insert overwrite table src_multi2 select * where key > 10 and key < 20 insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/1' select * where key < 10 group by key, value cluster by key insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/2' select * where key > 10 and key < 20 group by key, value cluster by value; -select * from src_multi1 order by key, value; -select * from src_multi2 order by key, value; +select * from src_multi1; +select * from src_multi2; dfs -ls ${system:test.tmp.dir}/hive_test/multiins_local; dfs -rmr ${system:test.tmp.dir}/hive_test/multiins_local; diff --git ql/src/test/queries/clientpositive/newline.q ql/src/test/queries/clientpositive/newline.q index 11168fc..49e9437 100644 --- ql/src/test/queries/clientpositive/newline.q +++ ql/src/test/queries/clientpositive/newline.q @@ -1,12 +1,14 @@ add file ../../data/scripts/newline.py; set hive.transform.escape.input=true; +-- SORT_QUERY_RESULTS + create table tmp_tmp(key string, value string) stored as rcfile; insert overwrite table tmp_tmp SELECT TRANSFORM(key, value) USING 'python newline.py' AS key, value FROM src limit 6; -select * from tmp_tmp ORDER BY key ASC, value ASC; +select * from tmp_tmp; drop table tmp_tmp; @@ -20,7 +22,7 @@ insert overwrite table tmp_tmp SELECT TRANSFORM(key, value) USING 'python escapednewline.py' AS key, value FROM src limit 5; -select * from tmp_tmp ORDER BY key ASC, value ASC; +select * from tmp_tmp; SELECT TRANSFORM(key, value) USING 'cat' AS (key, value) FROM tmp_tmp; @@ -29,7 +31,7 @@ insert overwrite table tmp_tmp SELECT TRANSFORM(key, value) USING 'python escapedcarriagereturn.py' AS key, value FROM src limit 5; -select * from tmp_tmp ORDER BY key ASC, value ASC; +select * from tmp_tmp; SELECT TRANSFORM(key, value) USING 'cat' AS (key, value) FROM tmp_tmp; @@ -38,7 +40,7 @@ insert overwrite table tmp_tmp SELECT TRANSFORM(key, value) USING 'python escapedtab.py' AS key, value FROM src limit 5; -select * from tmp_tmp ORDER BY key ASC, value ASC; +select * from tmp_tmp; SELECT TRANSFORM(key, value) USING 'cat' AS (key, value) FROM tmp_tmp; @@ -47,7 +49,7 @@ insert overwrite table tmp_tmp SELECT TRANSFORM(key, value) USING 'python doubleescapedtab.py' AS key, value FROM src limit 5; -select * from tmp_tmp ORDER BY key ASC, value ASC; +select * from tmp_tmp; SELECT TRANSFORM(key, value) USING 'cat' AS (key, value) FROM tmp_tmp; diff --git ql/src/test/queries/clientpositive/nonblock_op_deduplicate.q ql/src/test/queries/clientpositive/nonblock_op_deduplicate.q index a9cb7d0..4b762fd 100644 --- ql/src/test/queries/clientpositive/nonblock_op_deduplicate.q +++ ql/src/test/queries/clientpositive/nonblock_op_deduplicate.q @@ -1,3 +1,5 @@ +-- SORT_QUERY_RESULTS + -- negative, references twice for result of funcion explain select nkey, nkey + 1 from (select key + 1 as nkey, value from src) a; @@ -12,7 +14,7 @@ FROM (SELECT tmp2.key as key, tmp2.value as value, tmp3.count as count FROM src1) tmp1 ) tmp2 JOIN (SELECT count(*) as count FROM src1) tmp3 - ) tmp4 order by key, value, count; + ) tmp4; SELECT tmp4.key as key, tmp4.value as value, tmp4.count as count FROM (SELECT tmp2.key as key, tmp2.value as value, tmp3.count as count @@ -21,7 +23,7 @@ FROM (SELECT tmp2.key as key, tmp2.value as value, tmp3.count as count FROM src1) tmp1 ) tmp2 JOIN (SELECT count(*) as count FROM src1) tmp3 - ) tmp4 order by key, value, count; + ) tmp4; set hive.auto.convert.join=true; -- Then, we convert the join to MapJoin. @@ -33,7 +35,7 @@ FROM (SELECT tmp2.key as key, tmp2.value as value, tmp3.count as count FROM src1) tmp1 ) tmp2 JOIN (SELECT count(*) as count FROM src1) tmp3 - ) tmp4 order by key, value, count; + ) tmp4; SELECT tmp4.key as key, tmp4.value as value, tmp4.count as count FROM (SELECT tmp2.key as key, tmp2.value as value, tmp3.count as count @@ -42,4 +44,4 @@ FROM (SELECT tmp2.key as key, tmp2.value as value, tmp3.count as count FROM src1) tmp1 ) tmp2 JOIN (SELECT count(*) as count FROM src1) tmp3 - ) tmp4 order by key, value, count; + ) tmp4; diff --git ql/src/test/queries/clientpositive/orc_diff_part_cols.q ql/src/test/queries/clientpositive/orc_diff_part_cols.q index 0c8861e..450f19e 100644 --- ql/src/test/queries/clientpositive/orc_diff_part_cols.q +++ ql/src/test/queries/clientpositive/orc_diff_part_cols.q @@ -1,3 +1,5 @@ +-- SORT_QUERY_RESULTS + CREATE TABLE test_orc (key STRING) PARTITIONED BY (part STRING) ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.orc.OrcSerde' @@ -16,4 +18,4 @@ ALTER TABLE test_orc ADD COLUMNS (cnt INT); INSERT OVERWRITE TABLE test_orc PARTITION (part = '2') SELECT key, count(*) FROM src GROUP BY key LIMIT 5; -SELECT * FROM test_orc ORDER BY key; +SELECT * FROM test_orc; diff --git ql/src/test/queries/clientpositive/orc_empty_strings.q ql/src/test/queries/clientpositive/orc_empty_strings.q index 34cd6d4..c69414a 100644 --- ql/src/test/queries/clientpositive/orc_empty_strings.q +++ ql/src/test/queries/clientpositive/orc_empty_strings.q @@ -1,3 +1,5 @@ +-- SORT_QUERY_RESULTS + CREATE TABLE test_orc (key STRING) ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.orc.OrcSerde' STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat' @@ -13,4 +15,4 @@ INSERT OVERWRITE TABLE test_orc SELECT IF (key % 3 = 0, key, '') FROM src tables -- Test reading a column which has some empty strings -SELECT * FROM test_orc ORDER BY key; +SELECT * FROM test_orc; diff --git ql/src/test/queries/clientpositive/orc_split_elimination.q ql/src/test/queries/clientpositive/orc_split_elimination.q index 54eb23e..0d99f04 100644 --- ql/src/test/queries/clientpositive/orc_split_elimination.q +++ ql/src/test/queries/clientpositive/orc_split_elimination.q @@ -1,3 +1,5 @@ +-- SORT_QUERY_RESULTS + create table orc_split_elim (userid bigint, string1 string, subtype double, decimal1 decimal, ts timestamp) stored as orc; load data local inpath '../../data/files/orc_split_elim.orc' into table orc_split_elim; @@ -61,43 +63,43 @@ select count(*) from orc_split_elim where userid<=0; SET hive.optimize.index.filter=false; -- 5 mappers -select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=2 order by userid; +select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=2; SET hive.optimize.index.filter=true; -- 1 mapper -select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=2 order by userid; +select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=2; SET hive.optimize.index.filter=false; -- 5 mappers -select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=5 order by userid; +select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=5; SET hive.optimize.index.filter=true; -- 2 mappers -select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=5 order by userid; +select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=5; SET hive.optimize.index.filter=false; -- 5 mappers -select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=13 order by userid; +select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=13; SET hive.optimize.index.filter=true; -- 3 mappers -select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=13 order by userid; +select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=13; SET hive.optimize.index.filter=false; -- 5 mappers -select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=29 order by userid; +select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=29; SET hive.optimize.index.filter=true; -- 4 mappers -select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=29 order by userid; +select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=29; SET hive.optimize.index.filter=false; -- 5 mappers -select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=70 order by userid; +select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=70; SET hive.optimize.index.filter=true; -- 5 mappers -select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=70 order by userid; +select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=70; SET hive.optimize.index.filter=false; -- partitioned table @@ -110,59 +112,59 @@ load data local inpath '../../data/files/orc_split_elim.orc' into table orc_spli load data local inpath '../../data/files/orc_split_elim.orc' into table orc_split_elim_part partition(country='us', year=2001); -- 10 mapper - no split elimination -select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=2 and country='us'order by userid; +select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=2 and country='us'; SET hive.optimize.index.filter=true; -- 2 mapper - split elimination -select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=2 and country='us' order by userid; +select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=2 and country='us'; SET hive.optimize.index.filter=false; -- 10 mapper - no split elimination -select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=2 and country='us' and (year=2000 or year=2001) order by userid; +select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=2 and country='us' and (year=2000 or year=2001); SET hive.optimize.index.filter=true; -- 2 mapper - split elimination -select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=2 and country='us' and (year=2000 or year=2001) order by userid; +select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=2 and country='us' and (year=2000 or year=2001); SET hive.optimize.index.filter=false; -- 10 mapper - no split elimination -select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=2 and country='us' and year=2000 order by userid; +select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=2 and country='us' and year=2000; SET hive.optimize.index.filter=true; -- 1 mapper - split elimination -select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=2 and country='us' and year=2000 order by userid; +select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=2 and country='us' and year=2000; SET hive.optimize.index.filter=false; -- 10 mapper - no split elimination -select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=5 and country='us' order by userid; +select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=5 and country='us'; SET hive.optimize.index.filter=true; -- 4 mapper - split elimination -select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=5 and country='us' order by userid; +select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=5 and country='us'; SET hive.optimize.index.filter=false; -- 10 mapper - no split elimination -select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=5 and country='us' and (year=2000 or year=2001) order by userid; +select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=5 and country='us' and (year=2000 or year=2001); SET hive.optimize.index.filter=true; -- 4 mapper - split elimination -select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=5 and country='us' and (year=2000 or year=2001) order by userid; +select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=5 and country='us' and (year=2000 or year=2001); SET hive.optimize.index.filter=false; -- 10 mapper - no split elimination -select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=5 and country='us' and year=2000 order by userid; +select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=5 and country='us' and year=2000; SET hive.optimize.index.filter=true; -- 2 mapper - split elimination -select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=5 and country='us' and year=2000 order by userid; +select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=5 and country='us' and year=2000; SET hive.optimize.index.filter=false; -- 0 mapper - no split elimination -select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=70 and country='in' order by userid; -select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=70 and country='us' and year=2002 order by userid; +select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=70 and country='in'; +select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=70 and country='us' and year=2002; SET hive.optimize.index.filter=true; -- 0 mapper - split elimination -select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=70 and country='in' order by userid; -select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=70 and country='us' and year=2002 order by userid; +select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=70 and country='in'; +select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=70 and country='us' and year=2002; SET hive.optimize.index.filter=false; diff --git ql/src/test/queries/clientpositive/parallel.q ql/src/test/queries/clientpositive/parallel.q index 03edeaa..7cd4015 100644 --- ql/src/test/queries/clientpositive/parallel.q +++ ql/src/test/queries/clientpositive/parallel.q @@ -2,6 +2,8 @@ set mapred.job.name='test_parallel'; set hive.exec.parallel=true; set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; +-- SORT_QUERY_RESULTS + create table if not exists src_a like src; create table if not exists src_b like src; @@ -14,8 +16,8 @@ from (select key, value from src group by key, value) s insert overwrite table src_a select s.key, s.value group by s.key, s.value insert overwrite table src_b select s.key, s.value group by s.key, s.value; -select * from src_a order by key, value; -select * from src_b order by key, value; +select * from src_a; +select * from src_b; set hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat; @@ -24,5 +26,5 @@ from (select key, value from src group by key, value) s insert overwrite table src_a select s.key, s.value group by s.key, s.value insert overwrite table src_b select s.key, s.value group by s.key, s.value; -select * from src_a order by key, value; -select * from src_b order by key, value; +select * from src_a; +select * from src_b; diff --git ql/src/test/results/clientpositive/alter_char1.q.out ql/src/test/results/clientpositive/alter_char1.q.out index 1491ed8..eabbe54 100644 --- ql/src/test/results/clientpositive/alter_char1.q.out +++ ql/src/test/results/clientpositive/alter_char1.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: drop table alter_char_1 +PREHOOK: query: -- SORT_QUERY_RESULTS + +drop table alter_char_1 PREHOOK: type: DROPTABLE -POSTHOOK: query: drop table alter_char_1 +POSTHOOK: query: -- SORT_QUERY_RESULTS + +drop table alter_char_1 POSTHOOK: type: DROPTABLE PREHOOK: query: create table alter_char_1 (key string, value string) PREHOOK: type: CREATETABLE @@ -19,11 +23,11 @@ POSTHOOK: Input: default@src POSTHOOK: Output: default@alter_char_1 POSTHOOK: Lineage: alter_char_1.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: alter_char_1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from alter_char_1 order by key +PREHOOK: query: select * from alter_char_1 PREHOOK: type: QUERY PREHOOK: Input: default@alter_char_1 #### A masked pattern was here #### -POSTHOOK: query: select * from alter_char_1 order by key +POSTHOOK: query: select * from alter_char_1 POSTHOOK: type: QUERY POSTHOOK: Input: default@alter_char_1 #### A masked pattern was here #### @@ -47,12 +51,12 @@ POSTHOOK: Output: default@alter_char_1 POSTHOOK: Lineage: alter_char_1.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: alter_char_1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] PREHOOK: query: -- contents should still look the same -select * from alter_char_1 order by key +select * from alter_char_1 PREHOOK: type: QUERY PREHOOK: Input: default@alter_char_1 #### A masked pattern was here #### POSTHOOK: query: -- contents should still look the same -select * from alter_char_1 order by key +select * from alter_char_1 POSTHOOK: type: QUERY POSTHOOK: Input: default@alter_char_1 #### A masked pattern was here #### @@ -76,12 +80,12 @@ POSTHOOK: Output: default@alter_char_1 POSTHOOK: Lineage: alter_char_1.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: alter_char_1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] PREHOOK: query: -- value column should be truncated now -select * from alter_char_1 order by key +select * from alter_char_1 PREHOOK: type: QUERY PREHOOK: Input: default@alter_char_1 #### A masked pattern was here #### POSTHOOK: query: -- value column should be truncated now -select * from alter_char_1 order by key +select * from alter_char_1 POSTHOOK: type: QUERY POSTHOOK: Input: default@alter_char_1 #### A masked pattern was here #### @@ -105,12 +109,12 @@ POSTHOOK: Output: default@alter_char_1 POSTHOOK: Lineage: alter_char_1.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: alter_char_1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] PREHOOK: query: -- column values should be full size again -select * from alter_char_1 order by key +select * from alter_char_1 PREHOOK: type: QUERY PREHOOK: Input: default@alter_char_1 #### A masked pattern was here #### POSTHOOK: query: -- column values should be full size again -select * from alter_char_1 order by key +select * from alter_char_1 POSTHOOK: type: QUERY POSTHOOK: Input: default@alter_char_1 #### A masked pattern was here #### @@ -133,11 +137,11 @@ POSTHOOK: Input: default@alter_char_1 POSTHOOK: Output: default@alter_char_1 POSTHOOK: Lineage: alter_char_1.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: alter_char_1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from alter_char_1 order by key +PREHOOK: query: select * from alter_char_1 PREHOOK: type: QUERY PREHOOK: Input: default@alter_char_1 #### A masked pattern was here #### -POSTHOOK: query: select * from alter_char_1 order by key +POSTHOOK: query: select * from alter_char_1 POSTHOOK: type: QUERY POSTHOOK: Input: default@alter_char_1 #### A masked pattern was here #### @@ -164,11 +168,11 @@ POSTHOOK: Lineage: alter_char_1.key2 EXPRESSION [(src)src.FieldSchema(name:key, POSTHOOK: Lineage: alter_char_1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: alter_char_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: alter_char_1.value2 EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from alter_char_1 order by key +PREHOOK: query: select * from alter_char_1 PREHOOK: type: QUERY PREHOOK: Input: default@alter_char_1 #### A masked pattern was here #### -POSTHOOK: query: select * from alter_char_1 order by key +POSTHOOK: query: select * from alter_char_1 POSTHOOK: type: QUERY POSTHOOK: Input: default@alter_char_1 #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/alter_varchar1.q.out ql/src/test/results/clientpositive/alter_varchar1.q.out index 6194c3a..d6312bc 100644 --- ql/src/test/results/clientpositive/alter_varchar1.q.out +++ ql/src/test/results/clientpositive/alter_varchar1.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: drop table alter_varchar_1 +PREHOOK: query: -- SORT_QUERY_RESULTS + +drop table alter_varchar_1 PREHOOK: type: DROPTABLE -POSTHOOK: query: drop table alter_varchar_1 +POSTHOOK: query: -- SORT_QUERY_RESULTS + +drop table alter_varchar_1 POSTHOOK: type: DROPTABLE PREHOOK: query: create table alter_varchar_1 (key string, value string) PREHOOK: type: CREATETABLE @@ -19,11 +23,11 @@ POSTHOOK: Input: default@src POSTHOOK: Output: default@alter_varchar_1 POSTHOOK: Lineage: alter_varchar_1.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: alter_varchar_1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from alter_varchar_1 order by key +PREHOOK: query: select * from alter_varchar_1 PREHOOK: type: QUERY PREHOOK: Input: default@alter_varchar_1 #### A masked pattern was here #### -POSTHOOK: query: select * from alter_varchar_1 order by key +POSTHOOK: query: select * from alter_varchar_1 POSTHOOK: type: QUERY POSTHOOK: Input: default@alter_varchar_1 #### A masked pattern was here #### @@ -47,12 +51,12 @@ POSTHOOK: Output: default@alter_varchar_1 POSTHOOK: Lineage: alter_varchar_1.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: alter_varchar_1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] PREHOOK: query: -- contents should still look the same -select * from alter_varchar_1 order by key +select * from alter_varchar_1 PREHOOK: type: QUERY PREHOOK: Input: default@alter_varchar_1 #### A masked pattern was here #### POSTHOOK: query: -- contents should still look the same -select * from alter_varchar_1 order by key +select * from alter_varchar_1 POSTHOOK: type: QUERY POSTHOOK: Input: default@alter_varchar_1 #### A masked pattern was here #### @@ -76,12 +80,12 @@ POSTHOOK: Output: default@alter_varchar_1 POSTHOOK: Lineage: alter_varchar_1.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: alter_varchar_1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] PREHOOK: query: -- value column should be truncated now -select * from alter_varchar_1 order by key +select * from alter_varchar_1 PREHOOK: type: QUERY PREHOOK: Input: default@alter_varchar_1 #### A masked pattern was here #### POSTHOOK: query: -- value column should be truncated now -select * from alter_varchar_1 order by key +select * from alter_varchar_1 POSTHOOK: type: QUERY POSTHOOK: Input: default@alter_varchar_1 #### A masked pattern was here #### @@ -105,12 +109,12 @@ POSTHOOK: Output: default@alter_varchar_1 POSTHOOK: Lineage: alter_varchar_1.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: alter_varchar_1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] PREHOOK: query: -- column values should be full size again -select * from alter_varchar_1 order by key +select * from alter_varchar_1 PREHOOK: type: QUERY PREHOOK: Input: default@alter_varchar_1 #### A masked pattern was here #### POSTHOOK: query: -- column values should be full size again -select * from alter_varchar_1 order by key +select * from alter_varchar_1 POSTHOOK: type: QUERY POSTHOOK: Input: default@alter_varchar_1 #### A masked pattern was here #### @@ -133,11 +137,11 @@ POSTHOOK: Input: default@alter_varchar_1 POSTHOOK: Output: default@alter_varchar_1 POSTHOOK: Lineage: alter_varchar_1.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: alter_varchar_1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from alter_varchar_1 order by key +PREHOOK: query: select * from alter_varchar_1 PREHOOK: type: QUERY PREHOOK: Input: default@alter_varchar_1 #### A masked pattern was here #### -POSTHOOK: query: select * from alter_varchar_1 order by key +POSTHOOK: query: select * from alter_varchar_1 POSTHOOK: type: QUERY POSTHOOK: Input: default@alter_varchar_1 #### A masked pattern was here #### @@ -164,11 +168,11 @@ POSTHOOK: Lineage: alter_varchar_1.key2 EXPRESSION [(src)src.FieldSchema(name:ke POSTHOOK: Lineage: alter_varchar_1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: alter_varchar_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: alter_varchar_1.value2 EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from alter_varchar_1 order by key +PREHOOK: query: select * from alter_varchar_1 PREHOOK: type: QUERY PREHOOK: Input: default@alter_varchar_1 #### A masked pattern was here #### -POSTHOOK: query: select * from alter_varchar_1 order by key +POSTHOOK: query: select * from alter_varchar_1 POSTHOOK: type: QUERY POSTHOOK: Input: default@alter_varchar_1 #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/auto_join26.q.out ql/src/test/results/clientpositive/auto_join26.q.out index 678f9ab..0f86664 100644 --- ql/src/test/results/clientpositive/auto_join26.q.out +++ ql/src/test/results/clientpositive/auto_join26.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: CREATE TABLE dest_j1(key INT, cnt INT) +PREHOOK: query: --SORT_QUERY_RESULTS + +CREATE TABLE dest_j1(key INT, cnt INT) PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE dest_j1(key INT, cnt INT) +POSTHOOK: query: --SORT_QUERY_RESULTS + +CREATE TABLE dest_j1(key INT, cnt INT) POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@dest_j1 PREHOOK: query: EXPLAIN @@ -108,18 +112,16 @@ POSTHOOK: Input: default@src1 POSTHOOK: Output: default@dest_j1 POSTHOOK: Lineage: dest_j1.cnt EXPRESSION [(src1)x.null, (src)y.null, ] POSTHOOK: Lineage: dest_j1.key EXPRESSION [(src1)x.FieldSchema(name:key, type:string, comment:default), ] -PREHOOK: query: select * from dest_j1 x order by x.key +PREHOOK: query: select * from dest_j1 PREHOOK: type: QUERY PREHOOK: Input: default@dest_j1 #### A masked pattern was here #### -POSTHOOK: query: select * from dest_j1 x order by x.key +POSTHOOK: query: select * from dest_j1 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest_j1 #### A masked pattern was here #### POSTHOOK: Lineage: dest_j1.cnt EXPRESSION [(src1)x.null, (src)y.null, ] POSTHOOK: Lineage: dest_j1.key EXPRESSION [(src1)x.FieldSchema(name:key, type:string, comment:default), ] -66 1 -98 2 128 3 146 2 150 1 @@ -133,3 +135,5 @@ POSTHOOK: Lineage: dest_j1.key EXPRESSION [(src1)x.FieldSchema(name:key, type:st 369 3 401 5 406 4 +66 1 +98 2 diff --git ql/src/test/results/clientpositive/auto_smb_mapjoin_14.q.out ql/src/test/results/clientpositive/auto_smb_mapjoin_14.q.out index 2f18bbc..1a44659 100644 --- ql/src/test/results/clientpositive/auto_smb_mapjoin_14.q.out +++ ql/src/test/results/clientpositive/auto_smb_mapjoin_14.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: CREATE TABLE tbl1(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE tbl1(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE tbl1(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE tbl1(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@tbl1 PREHOOK: query: CREATE TABLE tbl2(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS @@ -268,7 +272,6 @@ join ) subq2 group by key ) src2 on src1.key = src2.key -order by src1.key, src1.cnt1, src2.cnt1 PREHOOK: type: QUERY POSTHOOK: query: -- A join is being performed across different sub-queries, where a join is being performed in each of them. -- Each sub-query should be converted to a sort-merge join. @@ -288,7 +291,6 @@ join ) subq2 group by key ) src2 on src1.key = src2.key -order by src1.key, src1.cnt1, src2.cnt1 POSTHOOK: type: QUERY POSTHOOK: Lineage: tbl1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: tbl1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] @@ -296,9 +298,8 @@ POSTHOOK: Lineage: tbl2.key EXPRESSION [(src)src.FieldSchema(name:key, type:stri POSTHOOK: Lineage: tbl2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-3 depends on stages: Stage-1, Stage-5 - Stage-4 depends on stages: Stage-3 - Stage-5 is a root stage + Stage-3 depends on stages: Stage-1, Stage-4 + Stage-4 is a root stage Stage-0 is a root stage STAGE PLANS: @@ -376,31 +377,14 @@ STAGE PLANS: File Output Operator compressed: false table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-4 Map Reduce Map Operator Tree: TableScan - Reduce Output Operator - key expressions: _col0 (type: int), _col1 (type: bigint), _col2 (type: bigint) - sort order: +++ - value expressions: _col0 (type: int), _col1 (type: bigint), _col2 (type: bigint) - Reduce Operator Tree: - Extract - File Output Operator - compressed: false - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - - Stage: Stage-5 - Map Reduce - Map Operator Tree: - TableScan alias: a Statistics: Num rows: 10 Data size: 70 Basic stats: COMPLETE Column stats: NONE Sorted Merge Bucket Map Join Operator @@ -461,7 +445,6 @@ join ) subq2 group by key ) src2 on src1.key = src2.key -order by src1.key, src1.cnt1, src2.cnt1 PREHOOK: type: QUERY PREHOOK: Input: default@tbl1 PREHOOK: Input: default@tbl2 @@ -481,7 +464,6 @@ join ) subq2 group by key ) src2 on src1.key = src2.key -order by src1.key, src1.cnt1, src2.cnt1 POSTHOOK: type: QUERY POSTHOOK: Input: default@tbl1 POSTHOOK: Input: default@tbl2 @@ -1649,11 +1631,11 @@ POSTHOOK: Lineage: tbl1.key EXPRESSION [(src)src.FieldSchema(name:key, type:stri POSTHOOK: Lineage: tbl1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: tbl2.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: tbl2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from dest1 order by key, value +PREHOOK: query: select * from dest1 PREHOOK: type: QUERY PREHOOK: Input: default@dest1 #### A masked pattern was here #### -POSTHOOK: query: select * from dest1 order by key, value +POSTHOOK: query: select * from dest1 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest1 #### A masked pattern was here #### @@ -1688,11 +1670,11 @@ POSTHOOK: Lineage: tbl2.value SIMPLE [(src)src.FieldSchema(name:value, type:stri 5 val_5 8 val_8 9 val_9 -PREHOOK: query: select * from dest2 order by key, val1, val2 +PREHOOK: query: select * from dest2 PREHOOK: type: QUERY PREHOOK: Input: default@dest2 #### A masked pattern was here #### -POSTHOOK: query: select * from dest2 order by key, val1, val2 +POSTHOOK: query: select * from dest2 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest2 #### A masked pattern was here #### @@ -1955,11 +1937,11 @@ POSTHOOK: Lineage: tbl1.key EXPRESSION [(src)src.FieldSchema(name:key, type:stri POSTHOOK: Lineage: tbl1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: tbl2.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: tbl2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from dest1 order by key, value +PREHOOK: query: select * from dest1 PREHOOK: type: QUERY PREHOOK: Input: default@dest1 #### A masked pattern was here #### -POSTHOOK: query: select * from dest1 order by key, value +POSTHOOK: query: select * from dest1 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest1 #### A masked pattern was here #### @@ -1998,11 +1980,11 @@ POSTHOOK: Lineage: tbl2.value SIMPLE [(src)src.FieldSchema(name:value, type:stri 5 val_5 8 val_8 9 val_9 -PREHOOK: query: select * from dest2 order by key +PREHOOK: query: select * from dest2 PREHOOK: type: QUERY PREHOOK: Input: default@dest2 #### A masked pattern was here #### -POSTHOOK: query: select * from dest2 order by key +POSTHOOK: query: select * from dest2 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest2 #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/auto_sortmerge_join_13.q.out ql/src/test/results/clientpositive/auto_sortmerge_join_13.q.out index d0eb39c..8ac8858 100644 --- ql/src/test/results/clientpositive/auto_sortmerge_join_13.q.out +++ ql/src/test/results/clientpositive/auto_sortmerge_join_13.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: CREATE TABLE tbl1(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE tbl1(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE tbl1(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE tbl1(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@tbl1 PREHOOK: query: CREATE TABLE tbl2(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS @@ -174,11 +178,11 @@ POSTHOOK: Lineage: tbl1.key EXPRESSION [(src)src.FieldSchema(name:key, type:stri POSTHOOK: Lineage: tbl1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: tbl2.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: tbl2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from dest1 order by k1, k2 +PREHOOK: query: select * from dest1 PREHOOK: type: QUERY PREHOOK: Input: default@dest1 #### A masked pattern was here #### -POSTHOOK: query: select * from dest1 order by k1, k2 +POSTHOOK: query: select * from dest1 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest1 #### A masked pattern was here #### @@ -212,11 +216,11 @@ POSTHOOK: Lineage: tbl2.value SIMPLE [(src)src.FieldSchema(name:value, type:stri 5 5 8 8 9 9 -PREHOOK: query: select * from dest2 order by k1, k2 +PREHOOK: query: select * from dest2 PREHOOK: type: QUERY PREHOOK: Input: default@dest2 #### A masked pattern was here #### -POSTHOOK: query: select * from dest2 order by k1, k2 +POSTHOOK: query: select * from dest2 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest2 #### A masked pattern was here #### @@ -384,11 +388,11 @@ POSTHOOK: Lineage: tbl1.key EXPRESSION [(src)src.FieldSchema(name:key, type:stri POSTHOOK: Lineage: tbl1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: tbl2.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: tbl2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from dest1 order by k1, k2 +PREHOOK: query: select * from dest1 PREHOOK: type: QUERY PREHOOK: Input: default@dest1 #### A masked pattern was here #### -POSTHOOK: query: select * from dest1 order by k1, k2 +POSTHOOK: query: select * from dest1 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest1 #### A masked pattern was here #### @@ -426,11 +430,11 @@ POSTHOOK: Lineage: tbl2.value SIMPLE [(src)src.FieldSchema(name:value, type:stri 5 5 8 8 9 9 -PREHOOK: query: select * from dest2 order by k1, k2 +PREHOOK: query: select * from dest2 PREHOOK: type: QUERY PREHOOK: Input: default@dest2 #### A masked pattern was here #### -POSTHOOK: query: select * from dest2 order by k1, k2 +POSTHOOK: query: select * from dest2 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest2 #### A masked pattern was here #### @@ -610,11 +614,11 @@ POSTHOOK: Lineage: tbl1.key EXPRESSION [(src)src.FieldSchema(name:key, type:stri POSTHOOK: Lineage: tbl1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: tbl2.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: tbl2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from dest1 order by k1, k2 +PREHOOK: query: select * from dest1 PREHOOK: type: QUERY PREHOOK: Input: default@dest1 #### A masked pattern was here #### -POSTHOOK: query: select * from dest1 order by k1, k2 +POSTHOOK: query: select * from dest1 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest1 #### A masked pattern was here #### @@ -656,11 +660,11 @@ POSTHOOK: Lineage: tbl2.value SIMPLE [(src)src.FieldSchema(name:value, type:stri 5 5 8 8 9 9 -PREHOOK: query: select * from dest2 order by k1, k2 +PREHOOK: query: select * from dest2 PREHOOK: type: QUERY PREHOOK: Input: default@dest2 #### A masked pattern was here #### -POSTHOOK: query: select * from dest2 order by k1, k2 +POSTHOOK: query: select * from dest2 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest2 #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/auto_sortmerge_join_9.q.out ql/src/test/results/clientpositive/auto_sortmerge_join_9.q.out index 3fc89ba..3495112 100644 --- ql/src/test/results/clientpositive/auto_sortmerge_join_9.q.out +++ ql/src/test/results/clientpositive/auto_sortmerge_join_9.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: CREATE TABLE tbl1(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE tbl1(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE tbl1(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE tbl1(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@tbl1 PREHOOK: query: CREATE TABLE tbl2(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS @@ -117,24 +121,20 @@ POSTHOOK: Lineage: tbl2.key EXPRESSION [(src)src.FieldSchema(name:key, type:stri POSTHOOK: Lineage: tbl2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] 22 PREHOOK: query: -- The join is being performed as part of sub-query. It should be converted to a sort-merge join --- Add a order by at the end to make the results deterministic. explain select key, count(*) from ( select a.key as key, a.value as val1, b.value as val2 from tbl1 a join tbl2 b on a.key = b.key ) subq1 group by key -order by key PREHOOK: type: QUERY POSTHOOK: query: -- The join is being performed as part of sub-query. It should be converted to a sort-merge join --- Add a order by at the end to make the results deterministic. explain select key, count(*) from ( select a.key as key, a.value as val1, b.value as val2 from tbl1 a join tbl2 b on a.key = b.key ) subq1 group by key -order by key POSTHOOK: type: QUERY POSTHOOK: Lineage: tbl1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: tbl1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] @@ -142,7 +142,6 @@ POSTHOOK: Lineage: tbl2.key EXPRESSION [(src)src.FieldSchema(name:key, type:stri POSTHOOK: Lineage: tbl2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-2 depends on stages: Stage-1 Stage-0 is a root stage STAGE PLANS: @@ -187,26 +186,9 @@ STAGE PLANS: File Output Operator compressed: false table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - - Stage: Stage-2 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: int) - sort order: + - value expressions: _col0 (type: int), _col1 (type: bigint) - Reduce Operator Tree: - Extract - File Output Operator - compressed: false - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator @@ -217,7 +199,6 @@ PREHOOK: query: select key, count(*) from select a.key as key, a.value as val1, b.value as val2 from tbl1 a join tbl2 b on a.key = b.key ) subq1 group by key -order by key PREHOOK: type: QUERY PREHOOK: Input: default@tbl1 PREHOOK: Input: default@tbl2 @@ -227,7 +208,6 @@ POSTHOOK: query: select key, count(*) from select a.key as key, a.value as val1, b.value as val2 from tbl1 a join tbl2 b on a.key = b.key ) subq1 group by key -order by key POSTHOOK: type: QUERY POSTHOOK: Input: default@tbl1 POSTHOOK: Input: default@tbl2 @@ -394,7 +374,6 @@ join ) subq2 group by key ) src2 on src1.key = src2.key -order by src1.key, src1.cnt1, src2.cnt1 PREHOOK: type: QUERY POSTHOOK: query: -- A join is being performed across different sub-queries, where a join is being performed in each of them. -- Each sub-query should be converted to a sort-merge join. @@ -414,7 +393,6 @@ join ) subq2 group by key ) src2 on src1.key = src2.key -order by src1.key, src1.cnt1, src2.cnt1 POSTHOOK: type: QUERY POSTHOOK: Lineage: tbl1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: tbl1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] @@ -422,12 +400,11 @@ POSTHOOK: Lineage: tbl2.key EXPRESSION [(src)src.FieldSchema(name:key, type:stri POSTHOOK: Lineage: tbl2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-9 depends on stages: Stage-1, Stage-5 , consists of Stage-7, Stage-8, Stage-3 + Stage-8 depends on stages: Stage-1, Stage-4 , consists of Stage-6, Stage-7, Stage-3 + Stage-6 has a backup stage: Stage-3 Stage-7 has a backup stage: Stage-3 - Stage-4 depends on stages: Stage-3, Stage-7, Stage-8 - Stage-8 has a backup stage: Stage-3 Stage-3 - Stage-5 is a root stage + Stage-4 is a root stage Stage-0 is a root stage STAGE PLANS: @@ -476,10 +453,10 @@ STAGE PLANS: output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - Stage: Stage-9 + Stage: Stage-8 Conditional Operator - Stage: Stage-7 + Stage: Stage-6 Map Reduce Map Operator Tree: TableScan @@ -499,9 +476,9 @@ STAGE PLANS: File Output Operator compressed: false table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Local Work: Map Reduce Local Work Alias -> Map Local Tables: @@ -512,24 +489,7 @@ STAGE PLANS: $INTNAME1 TableScan - Stage: Stage-4 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: int), _col1 (type: bigint), _col2 (type: bigint) - sort order: +++ - value expressions: _col0 (type: int), _col1 (type: bigint), _col2 (type: bigint) - Reduce Operator Tree: - Extract - File Output Operator - compressed: false - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - - Stage: Stage-8 + Stage: Stage-7 Map Reduce Map Operator Tree: TableScan @@ -549,9 +509,9 @@ STAGE PLANS: File Output Operator compressed: false table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Local Work: Map Reduce Local Work Alias -> Map Local Tables: @@ -591,11 +551,11 @@ STAGE PLANS: File Output Operator compressed: false table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - Stage: Stage-5 + Stage: Stage-4 Map Reduce Map Operator Tree: TableScan @@ -659,7 +619,6 @@ join ) subq2 group by key ) src2 on src1.key = src2.key -order by src1.key, src1.cnt1, src2.cnt1 PREHOOK: type: QUERY PREHOOK: Input: default@tbl1 PREHOOK: Input: default@tbl2 @@ -679,7 +638,6 @@ join ) subq2 group by key ) src2 on src1.key = src2.key -order by src1.key, src1.cnt1, src2.cnt1 POSTHOOK: type: QUERY POSTHOOK: Input: default@tbl1 POSTHOOK: Input: default@tbl2 @@ -1886,42 +1844,37 @@ POSTHOOK: Lineage: tbl2.key EXPRESSION [(src)src.FieldSchema(name:key, type:stri POSTHOOK: Lineage: tbl2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] 22 PREHOOK: query: -- The join is being performed as part of sub-query. It should be converted to a sort-merge join --- Add a order by at the end to make the results deterministic. explain select key, count(*) from ( select a.key as key, a.value as val1, b.value as val2 from tbl1 a join tbl2 b on a.key = b.key ) subq1 group by key -order by key PREHOOK: type: QUERY POSTHOOK: query: -- The join is being performed as part of sub-query. It should be converted to a sort-merge join --- Add a order by at the end to make the results deterministic. explain select key, count(*) from ( select a.key as key, a.value as val1, b.value as val2 from tbl1 a join tbl2 b on a.key = b.key ) subq1 group by key -order by key POSTHOOK: type: QUERY POSTHOOK: Lineage: tbl1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: tbl1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: tbl2.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: tbl2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] STAGE DEPENDENCIES: - Stage-6 is a root stage , consists of Stage-4, Stage-5, Stage-1 + Stage-5 is a root stage , consists of Stage-3, Stage-4, Stage-1 + Stage-3 has a backup stage: Stage-1 Stage-4 has a backup stage: Stage-1 - Stage-2 depends on stages: Stage-1, Stage-4, Stage-5 - Stage-5 has a backup stage: Stage-1 Stage-1 Stage-0 is a root stage STAGE PLANS: - Stage: Stage-6 + Stage: Stage-5 Conditional Operator - Stage: Stage-4 + Stage: Stage-3 Map Reduce Map Operator Tree: TableScan @@ -1971,28 +1924,11 @@ STAGE PLANS: File Output Operator compressed: false table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - - Stage: Stage-2 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: int) - sort order: + - value expressions: _col0 (type: int), _col1 (type: bigint) - Reduce Operator Tree: - Extract - File Output Operator - compressed: false - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - Stage: Stage-5 + Stage: Stage-4 Map Reduce Map Operator Tree: TableScan @@ -2042,9 +1978,9 @@ STAGE PLANS: File Output Operator compressed: false table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-1 Map Reduce @@ -2087,9 +2023,9 @@ STAGE PLANS: File Output Operator compressed: false table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator @@ -2100,7 +2036,6 @@ PREHOOK: query: select key, count(*) from select a.key as key, a.value as val1, b.value as val2 from tbl1 a join tbl2 b on a.key = b.key ) subq1 group by key -order by key PREHOOK: type: QUERY PREHOOK: Input: default@tbl1 PREHOOK: Input: default@tbl2 @@ -2110,7 +2045,6 @@ POSTHOOK: query: select key, count(*) from select a.key as key, a.value as val1, b.value as val2 from tbl1 a join tbl2 b on a.key = b.key ) subq1 group by key -order by key POSTHOOK: type: QUERY POSTHOOK: Input: default@tbl1 POSTHOOK: Input: default@tbl2 @@ -2395,7 +2329,6 @@ join ) subq2 group by key ) src2 on src1.key = src2.key -order by src1.key, src1.cnt1, src2.cnt1 PREHOOK: type: QUERY POSTHOOK: query: -- A join is being performed across different sub-queries, where a join is being performed in each of them. -- Each sub-query should be converted to a sort-merge join. @@ -2415,33 +2348,31 @@ join ) subq2 group by key ) src2 on src1.key = src2.key -order by src1.key, src1.cnt1, src2.cnt1 POSTHOOK: type: QUERY POSTHOOK: Lineage: tbl1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: tbl1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: tbl2.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: tbl2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] STAGE DEPENDENCIES: - Stage-12 is a root stage , consists of Stage-10, Stage-11, Stage-1 - Stage-10 has a backup stage: Stage-1 - Stage-9 depends on stages: Stage-1, Stage-5, Stage-10, Stage-11, Stage-13, Stage-14 , consists of Stage-7, Stage-8, Stage-3 + Stage-11 is a root stage , consists of Stage-9, Stage-10, Stage-1 + Stage-9 has a backup stage: Stage-1 + Stage-8 depends on stages: Stage-1, Stage-4, Stage-9, Stage-10, Stage-12, Stage-13 , consists of Stage-6, Stage-7, Stage-3 + Stage-6 has a backup stage: Stage-3 Stage-7 has a backup stage: Stage-3 - Stage-4 depends on stages: Stage-3, Stage-7, Stage-8 - Stage-8 has a backup stage: Stage-3 Stage-3 - Stage-11 has a backup stage: Stage-1 + Stage-10 has a backup stage: Stage-1 Stage-1 - Stage-15 is a root stage , consists of Stage-13, Stage-14, Stage-5 - Stage-13 has a backup stage: Stage-5 - Stage-14 has a backup stage: Stage-5 - Stage-5 + Stage-14 is a root stage , consists of Stage-12, Stage-13, Stage-4 + Stage-12 has a backup stage: Stage-4 + Stage-13 has a backup stage: Stage-4 + Stage-4 Stage-0 is a root stage STAGE PLANS: - Stage: Stage-12 + Stage: Stage-11 Conditional Operator - Stage: Stage-10 + Stage: Stage-9 Map Reduce Map Operator Tree: TableScan @@ -2495,10 +2426,10 @@ STAGE PLANS: output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - Stage: Stage-9 + Stage: Stage-8 Conditional Operator - Stage: Stage-7 + Stage: Stage-6 Map Reduce Map Operator Tree: TableScan @@ -2518,9 +2449,9 @@ STAGE PLANS: File Output Operator compressed: false table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Local Work: Map Reduce Local Work Alias -> Map Local Tables: @@ -2531,24 +2462,7 @@ STAGE PLANS: $INTNAME1 TableScan - Stage: Stage-4 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: int), _col1 (type: bigint), _col2 (type: bigint) - sort order: +++ - value expressions: _col0 (type: int), _col1 (type: bigint), _col2 (type: bigint) - Reduce Operator Tree: - Extract - File Output Operator - compressed: false - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - - Stage: Stage-8 + Stage: Stage-7 Map Reduce Map Operator Tree: TableScan @@ -2568,9 +2482,9 @@ STAGE PLANS: File Output Operator compressed: false table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Local Work: Map Reduce Local Work Alias -> Map Local Tables: @@ -2610,11 +2524,11 @@ STAGE PLANS: File Output Operator compressed: false table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - Stage: Stage-11 + Stage: Stage-10 Map Reduce Map Operator Tree: TableScan @@ -2713,10 +2627,10 @@ STAGE PLANS: output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - Stage: Stage-15 + Stage: Stage-14 Conditional Operator - Stage: Stage-13 + Stage: Stage-12 Map Reduce Map Operator Tree: TableScan @@ -2770,7 +2684,7 @@ STAGE PLANS: output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - Stage: Stage-14 + Stage: Stage-13 Map Reduce Map Operator Tree: TableScan @@ -2824,7 +2738,7 @@ STAGE PLANS: output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - Stage: Stage-5 + Stage: Stage-4 Map Reduce Map Operator Tree: TableScan @@ -2888,7 +2802,6 @@ join ) subq2 group by key ) src2 on src1.key = src2.key -order by src1.key, src1.cnt1, src2.cnt1 PREHOOK: type: QUERY PREHOOK: Input: default@tbl1 PREHOOK: Input: default@tbl2 @@ -2908,7 +2821,6 @@ join ) subq2 group by key ) src2 on src1.key = src2.key -order by src1.key, src1.cnt1, src2.cnt1 POSTHOOK: type: QUERY POSTHOOK: Input: default@tbl1 POSTHOOK: Input: default@tbl2 diff --git ql/src/test/results/clientpositive/avro_evolved_schemas.q.out ql/src/test/results/clientpositive/avro_evolved_schemas.q.out index a34d863..9d35013 100644 --- ql/src/test/results/clientpositive/avro_evolved_schemas.q.out +++ ql/src/test/results/clientpositive/avro_evolved_schemas.q.out @@ -1,4 +1,6 @@ -PREHOOK: query: -- verify that new fields in schema get propagated to table scans +PREHOOK: query: -- SORT_QUERY_RESULTS + +-- verify that new fields in schema get propagated to table scans CREATE TABLE doctors_with_new_field ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe' @@ -34,7 +36,9 @@ TBLPROPERTIES ('avro.schema.literal'='{ ] }') PREHOOK: type: CREATETABLE -POSTHOOK: query: -- verify that new fields in schema get propagated to table scans +POSTHOOK: query: -- SORT_QUERY_RESULTS + +-- verify that new fields in schema get propagated to table scans CREATE TABLE doctors_with_new_field ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe' @@ -85,22 +89,22 @@ PREHOOK: Output: default@doctors_with_new_field POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/doctors.avro' INTO TABLE doctors_with_new_field POSTHOOK: type: LOAD POSTHOOK: Output: default@doctors_with_new_field -PREHOOK: query: SELECT * FROM doctors_with_new_field ORDER BY first_name +PREHOOK: query: SELECT * FROM doctors_with_new_field PREHOOK: type: QUERY PREHOOK: Input: default@doctors_with_new_field #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM doctors_with_new_field ORDER BY first_name +POSTHOOK: query: SELECT * FROM doctors_with_new_field POSTHOOK: type: QUERY POSTHOOK: Input: default@doctors_with_new_field #### A masked pattern was here #### -9 Christopher Eccleston fishfingers and custard -6 Colin Baker fishfingers and custard +1 William Hartnell fishfingers and custard 10 David Tennant fishfingers and custard -3 Jon Pertwee fishfingers and custard 11 Matt Smith fishfingers and custard 2 Patrick Troughton fishfingers and custard -8 Paul McGann fishfingers and custard +3 Jon Pertwee fishfingers and custard +4 Tom Baker fishfingers and custard 5 Peter Davison fishfingers and custard +6 Colin Baker fishfingers and custard 7 Sylvester McCoy fishfingers and custard -4 Tom Baker fishfingers and custard -1 William Hartnell fishfingers and custard +8 Paul McGann fishfingers and custard +9 Christopher Eccleston fishfingers and custard diff --git ql/src/test/results/clientpositive/avro_joins.q.out ql/src/test/results/clientpositive/avro_joins.q.out index 8298902..559a32c 100644 --- ql/src/test/results/clientpositive/avro_joins.q.out +++ ql/src/test/results/clientpositive/avro_joins.q.out @@ -1,4 +1,6 @@ -PREHOOK: query: -- verify that new joins bring in correct schemas (including evolved schemas) +PREHOOK: query: -- SORT_QUERY_RESULTS + +-- verify that new joins bring in correct schemas (including evolved schemas) CREATE TABLE doctors4 ROW FORMAT @@ -35,7 +37,9 @@ TBLPROPERTIES ('avro.schema.literal'='{ ] }') PREHOOK: type: CREATETABLE -POSTHOOK: query: -- verify that new joins bring in correct schemas (including evolved schemas) +POSTHOOK: query: -- SORT_QUERY_RESULTS + +-- verify that new joins bring in correct schemas (including evolved schemas) CREATE TABLE doctors4 ROW FORMAT @@ -161,23 +165,21 @@ POSTHOOK: type: LOAD POSTHOOK: Output: default@episodes PREHOOK: query: SELECT e.title, e.air_date, d.first_name, d.last_name, d.extra_field, e.air_date FROM doctors4 d JOIN episodes e ON (d.number=e.doctor) -ORDER BY d.last_name, e.title PREHOOK: type: QUERY PREHOOK: Input: default@doctors4 PREHOOK: Input: default@episodes #### A masked pattern was here #### POSTHOOK: query: SELECT e.title, e.air_date, d.first_name, d.last_name, d.extra_field, e.air_date FROM doctors4 d JOIN episodes e ON (d.number=e.doctor) -ORDER BY d.last_name, e.title POSTHOOK: type: QUERY POSTHOOK: Input: default@doctors4 POSTHOOK: Input: default@episodes #### A masked pattern was here #### -Horror of Fang Rock 3 September 1977 Tom Baker fishfingers and custard 3 September 1977 -The Mysterious Planet 6 September 1986 Colin Baker fishfingers and custard 6 September 1986 +An Unearthly Child 23 November 1963 William Hartnell fishfingers and custard 23 November 1963 Castrolava 4 January 1982 Peter Davison fishfingers and custard 4 January 1982 +Horror of Fang Rock 3 September 1977 Tom Baker fishfingers and custard 3 September 1977 Rose 26 March 2005 Christopher Eccleston fishfingers and custard 26 March 2005 -An Unearthly Child 23 November 1963 William Hartnell fishfingers and custard 23 November 1963 The Doctor's Wife 14 May 2011 Matt Smith fishfingers and custard 14 May 2011 The Eleventh Hour 3 April 2010 Matt Smith fishfingers and custard 3 April 2010 +The Mysterious Planet 6 September 1986 Colin Baker fishfingers and custard 6 September 1986 The Power of the Daleks 5 November 1966 Patrick Troughton fishfingers and custard 5 November 1966 diff --git ql/src/test/results/clientpositive/avro_partitioned.q.out ql/src/test/results/clientpositive/avro_partitioned.q.out index d53e252..c9a7f70 100644 --- ql/src/test/results/clientpositive/avro_partitioned.q.out +++ ql/src/test/results/clientpositive/avro_partitioned.q.out @@ -1,4 +1,6 @@ -PREHOOK: query: -- verify that new joins bring in correct schemas (including evolved schemas) +PREHOOK: query: -- SORT_QUERY_RESULTS + +-- verify that new joins bring in correct schemas (including evolved schemas) CREATE TABLE episodes ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe' @@ -28,7 +30,9 @@ TBLPROPERTIES ('avro.schema.literal'='{ ] }') PREHOOK: type: CREATETABLE -POSTHOOK: query: -- verify that new joins bring in correct schemas (including evolved schemas) +POSTHOOK: query: -- SORT_QUERY_RESULTS + +-- verify that new joins bring in correct schemas (including evolved schemas) CREATE TABLE episodes ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe' @@ -161,13 +165,13 @@ POSTHOOK: Lineage: episodes_partitioned PARTITION(doctor_pt=6).title SIMPLE [(ep POSTHOOK: Lineage: episodes_partitioned PARTITION(doctor_pt=9).air_date SIMPLE [(episodes)episodes.FieldSchema(name:air_date, type:string, comment:from deserializer), ] POSTHOOK: Lineage: episodes_partitioned PARTITION(doctor_pt=9).doctor SIMPLE [(episodes)episodes.FieldSchema(name:doctor, type:int, comment:from deserializer), ] POSTHOOK: Lineage: episodes_partitioned PARTITION(doctor_pt=9).title SIMPLE [(episodes)episodes.FieldSchema(name:title, type:string, comment:from deserializer), ] -PREHOOK: query: SELECT * FROM episodes_partitioned WHERE doctor_pt > 6 ORDER BY air_date +PREHOOK: query: SELECT * FROM episodes_partitioned WHERE doctor_pt > 6 PREHOOK: type: QUERY PREHOOK: Input: default@episodes_partitioned PREHOOK: Input: default@episodes_partitioned@doctor_pt=11 PREHOOK: Input: default@episodes_partitioned@doctor_pt=9 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM episodes_partitioned WHERE doctor_pt > 6 ORDER BY air_date +POSTHOOK: query: SELECT * FROM episodes_partitioned WHERE doctor_pt > 6 POSTHOOK: type: QUERY POSTHOOK: Input: default@episodes_partitioned POSTHOOK: Input: default@episodes_partitioned@doctor_pt=11 @@ -194,8 +198,8 @@ POSTHOOK: Lineage: episodes_partitioned PARTITION(doctor_pt=6).title SIMPLE [(ep POSTHOOK: Lineage: episodes_partitioned PARTITION(doctor_pt=9).air_date SIMPLE [(episodes)episodes.FieldSchema(name:air_date, type:string, comment:from deserializer), ] POSTHOOK: Lineage: episodes_partitioned PARTITION(doctor_pt=9).doctor SIMPLE [(episodes)episodes.FieldSchema(name:doctor, type:int, comment:from deserializer), ] POSTHOOK: Lineage: episodes_partitioned PARTITION(doctor_pt=9).title SIMPLE [(episodes)episodes.FieldSchema(name:title, type:string, comment:from deserializer), ] -The Doctor's Wife 14 May 2011 11 11 Rose 26 March 2005 9 9 +The Doctor's Wife 14 May 2011 11 11 The Eleventh Hour 3 April 2010 11 11 PREHOOK: query: -- Verify that Fetch works in addition to Map SELECT * FROM episodes_partitioned LIMIT 5 @@ -243,10 +247,10 @@ POSTHOOK: Lineage: episodes_partitioned PARTITION(doctor_pt=9).air_date SIMPLE [ POSTHOOK: Lineage: episodes_partitioned PARTITION(doctor_pt=9).doctor SIMPLE [(episodes)episodes.FieldSchema(name:doctor, type:int, comment:from deserializer), ] POSTHOOK: Lineage: episodes_partitioned PARTITION(doctor_pt=9).title SIMPLE [(episodes)episodes.FieldSchema(name:title, type:string, comment:from deserializer), ] An Unearthly Child 23 November 1963 1 1 -The Eleventh Hour 3 April 2010 11 11 +Horror of Fang Rock 3 September 1977 4 4 The Doctor's Wife 14 May 2011 11 11 +The Eleventh Hour 3 April 2010 11 11 The Power of the Daleks 5 November 1966 2 2 -Horror of Fang Rock 3 September 1977 4 4 PREHOOK: query: -- Fetch w/filter to specific partition SELECT * FROM episodes_partitioned WHERE doctor_pt = 6 PREHOOK: type: QUERY diff --git ql/src/test/results/clientpositive/avro_sanity_test.q.out ql/src/test/results/clientpositive/avro_sanity_test.q.out index c6af33b..6842095 100644 --- ql/src/test/results/clientpositive/avro_sanity_test.q.out +++ ql/src/test/results/clientpositive/avro_sanity_test.q.out @@ -1,4 +1,6 @@ -PREHOOK: query: -- verify that we can actually read avro files +PREHOOK: query: -- SORT_QUERY_RESULTS + +-- verify that we can actually read avro files CREATE TABLE doctors ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe' @@ -28,7 +30,9 @@ TBLPROPERTIES ('avro.schema.literal'='{ ] }') PREHOOK: type: CREATETABLE -POSTHOOK: query: -- verify that we can actually read avro files +POSTHOOK: query: -- SORT_QUERY_RESULTS + +-- verify that we can actually read avro files CREATE TABLE doctors ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe' @@ -72,15 +76,17 @@ PREHOOK: Output: default@doctors POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/doctors.avro' INTO TABLE doctors POSTHOOK: type: LOAD POSTHOOK: Output: default@doctors -PREHOOK: query: SELECT * FROM doctors ORDER BY number +PREHOOK: query: SELECT * FROM doctors PREHOOK: type: QUERY PREHOOK: Input: default@doctors #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM doctors ORDER BY number +POSTHOOK: query: SELECT * FROM doctors POSTHOOK: type: QUERY POSTHOOK: Input: default@doctors #### A masked pattern was here #### 1 William Hartnell +10 David Tennant +11 Matt Smith 2 Patrick Troughton 3 Jon Pertwee 4 Tom Baker @@ -89,5 +95,3 @@ POSTHOOK: Input: default@doctors 7 Sylvester McCoy 8 Paul McGann 9 Christopher Eccleston -10 David Tennant -11 Matt Smith diff --git ql/src/test/results/clientpositive/ba_table1.q.out ql/src/test/results/clientpositive/ba_table1.q.out index 89742cc..73edda5 100644 --- ql/src/test/results/clientpositive/ba_table1.q.out +++ ql/src/test/results/clientpositive/ba_table1.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: drop table ba_test +PREHOOK: query: -- SORT_QUERY_RESULTS + +drop table ba_test PREHOOK: type: DROPTABLE -POSTHOOK: query: drop table ba_test +POSTHOOK: query: -- SORT_QUERY_RESULTS + +drop table ba_test POSTHOOK: type: DROPTABLE PREHOOK: query: -- This query tests a) binary type works correctly in grammar b) string can be cast into binary c) binary can be stored in a table d) binary data can be loaded back again and queried d) order-by on a binary key @@ -29,26 +33,26 @@ POSTHOOK: Input: default@src POSTHOOK: Output: default@ba_test POSTHOOK: Lineage: ba_test.ba_key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: ba_test.ba_val EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select ba_key,ba_val from ba_test order by ba_key limit 10 +PREHOOK: query: select * from ba_test tablesample (10 rows) PREHOOK: type: QUERY PREHOOK: Input: default@ba_test #### A masked pattern was here #### -POSTHOOK: query: select ba_key,ba_val from ba_test order by ba_key limit 10 +POSTHOOK: query: select * from ba_test tablesample (10 rows) POSTHOOK: type: QUERY POSTHOOK: Input: default@ba_test #### A masked pattern was here #### POSTHOOK: Lineage: ba_test.ba_key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: ba_test.ba_val EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ] -0 val_0 -0 val_0 -0 val_0 -10 val_10 -100 val_100 -100 val_100 -103 val_103 -103 val_103 -104 val_104 -104 val_104 +165 val_165 +238 val_238 +255 val_255 +27 val_27 +278 val_278 +311 val_311 +409 val_409 +484 val_484 +86 val_86 +98 val_98 PREHOOK: query: drop table ba_test PREHOOK: type: DROPTABLE PREHOOK: Input: default@ba_test diff --git ql/src/test/results/clientpositive/ba_table2.q.out ql/src/test/results/clientpositive/ba_table2.q.out index ddf2bce..c87522b 100644 --- ql/src/test/results/clientpositive/ba_table2.q.out +++ ql/src/test/results/clientpositive/ba_table2.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: drop table ba_test +PREHOOK: query: -- SORT_QUERY_RESULTS + +drop table ba_test PREHOOK: type: DROPTABLE -POSTHOOK: query: drop table ba_test +POSTHOOK: query: -- SORT_QUERY_RESULTS + +drop table ba_test POSTHOOK: type: DROPTABLE PREHOOK: query: -- All the test in ba_test1.q + using LazyBinarySerde instead of LazySimpleSerde @@ -37,26 +41,26 @@ POSTHOOK: Input: default@src POSTHOOK: Output: default@ba_test POSTHOOK: Lineage: ba_test.ba_key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: ba_test.ba_val EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select ba_key, ba_val from ba_test order by ba_val limit 10 +PREHOOK: query: select * from ba_test tablesample (10 rows) PREHOOK: type: QUERY PREHOOK: Input: default@ba_test #### A masked pattern was here #### -POSTHOOK: query: select ba_key, ba_val from ba_test order by ba_val limit 10 +POSTHOOK: query: select * from ba_test tablesample (10 rows) POSTHOOK: type: QUERY POSTHOOK: Input: default@ba_test #### A masked pattern was here #### POSTHOOK: Lineage: ba_test.ba_key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: ba_test.ba_val EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ] -0 val_0 -0 val_0 -0 val_0 -10 val_10 -100 val_100 -100 val_100 -103 val_103 -103 val_103 -104 val_104 -104 val_104 +165 val_165 +238 val_238 +255 val_255 +27 val_27 +278 val_278 +311 val_311 +409 val_409 +484 val_484 +86 val_86 +98 val_98 PREHOOK: query: drop table ba_test PREHOOK: type: DROPTABLE PREHOOK: Input: default@ba_test diff --git ql/src/test/results/clientpositive/ba_table_udfs.q.out ql/src/test/results/clientpositive/ba_table_udfs.q.out index e17d388..627b443 100644 --- ql/src/test/results/clientpositive/ba_table_udfs.q.out +++ ql/src/test/results/clientpositive/ba_table_udfs.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: USE default +PREHOOK: query: -- SORT_QUERY_RESULTS + +USE default PREHOOK: type: SWITCHDATABASE -POSTHOOK: query: USE default +POSTHOOK: query: -- SORT_QUERY_RESULTS + +USE default POSTHOOK: type: SWITCHDATABASE PREHOOK: query: CREATE TABLE dest1(bytes1 BINARY, bytes2 BINARY, @@ -68,7 +72,6 @@ SELECT HEX(ENCODE(string, 'US-ASCII')), DECODE(ENCODE(string, 'US-ASCII'), 'US-ASCII') FROM dest1 -ORDER BY bytes2 PREHOOK: type: QUERY PREHOOK: Input: default@dest1 #### A masked pattern was here #### @@ -90,7 +93,6 @@ SELECT HEX(ENCODE(string, 'US-ASCII')), DECODE(ENCODE(string, 'US-ASCII'), 'US-ASCII') FROM dest1 -ORDER BY bytes2 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest1 #### A masked pattern was here #### @@ -100,7 +102,6 @@ POSTHOOK: Lineage: dest1.bytes2 EXPRESSION [(src)src.FieldSchema(name:value, typ POSTHOOK: Lineage: dest1.bytes2 EXPRESSION [] POSTHOOK: Lineage: dest1.string SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: dest1.string SIMPLE [] -NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 0 val_0 val_0 1 0val_0 val_ l_0 al_ 30 0 MA== 0 76616C5F30 val_0 0 val_0 val_0 1 0val_0 val_ l_0 al_ 30 0 MA== 0 76616C5F30 val_0 0 val_0 val_0 1 0val_0 val_ l_0 al_ 30 0 MA== 0 76616C5F30 val_0 @@ -201,3 +202,4 @@ NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 187 val_187 val_187 3 187val_187 val_ l_187 _18 313837 187 MTg3 187 76616C5F313837 val_187 187 val_187 val_187 3 187val_187 val_ l_187 _18 313837 187 MTg3 187 76616C5F313837 val_187 187 val_187 val_187 3 187val_187 val_ l_187 _18 313837 187 MTg3 187 76616C5F313837 val_187 +NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL diff --git ql/src/test/results/clientpositive/bucket1.q.out ql/src/test/results/clientpositive/bucket1.q.out index 5ade5f8..50512ee 100644 --- ql/src/test/results/clientpositive/bucket1.q.out +++ ql/src/test/results/clientpositive/bucket1.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: CREATE TABLE bucket1_1(key int, value string) CLUSTERED BY (key) INTO 100 BUCKETS +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE bucket1_1(key int, value string) CLUSTERED BY (key) INTO 100 BUCKETS PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE bucket1_1(key int, value string) CLUSTERED BY (key) INTO 100 BUCKETS +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE bucket1_1(key int, value string) CLUSTERED BY (key) INTO 100 BUCKETS POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@bucket1_1 PREHOOK: query: explain extended @@ -171,11 +175,11 @@ POSTHOOK: Input: default@src POSTHOOK: Output: default@bucket1_1 POSTHOOK: Lineage: bucket1_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: bucket1_1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from bucket1_1 order by key +PREHOOK: query: select * from bucket1_1 PREHOOK: type: QUERY PREHOOK: Input: default@bucket1_1 #### A masked pattern was here #### -POSTHOOK: query: select * from bucket1_1 order by key +POSTHOOK: query: select * from bucket1_1 POSTHOOK: type: QUERY POSTHOOK: Input: default@bucket1_1 #### A masked pattern was here #### @@ -184,87 +188,7 @@ POSTHOOK: Lineage: bucket1_1.value SIMPLE [(src)src.FieldSchema(name:value, type 0 val_0 0 val_0 0 val_0 -2 val_2 -4 val_4 -5 val_5 -5 val_5 -5 val_5 -8 val_8 -9 val_9 10 val_10 -11 val_11 -12 val_12 -12 val_12 -15 val_15 -15 val_15 -17 val_17 -18 val_18 -18 val_18 -19 val_19 -20 val_20 -24 val_24 -24 val_24 -26 val_26 -26 val_26 -27 val_27 -28 val_28 -30 val_30 -33 val_33 -34 val_34 -35 val_35 -35 val_35 -35 val_35 -37 val_37 -37 val_37 -41 val_41 -42 val_42 -42 val_42 -43 val_43 -44 val_44 -47 val_47 -51 val_51 -51 val_51 -53 val_53 -54 val_54 -57 val_57 -58 val_58 -58 val_58 -64 val_64 -65 val_65 -66 val_66 -67 val_67 -67 val_67 -69 val_69 -70 val_70 -70 val_70 -70 val_70 -72 val_72 -72 val_72 -74 val_74 -76 val_76 -76 val_76 -77 val_77 -78 val_78 -80 val_80 -82 val_82 -83 val_83 -83 val_83 -84 val_84 -84 val_84 -85 val_85 -86 val_86 -87 val_87 -90 val_90 -90 val_90 -90 val_90 -92 val_92 -95 val_95 -95 val_95 -96 val_96 -97 val_97 -97 val_97 -98 val_98 -98 val_98 100 val_100 100 val_100 103 val_103 @@ -272,6 +196,7 @@ POSTHOOK: Lineage: bucket1_1.value SIMPLE [(src)src.FieldSchema(name:value, type 104 val_104 104 val_104 105 val_105 +11 val_11 111 val_111 113 val_113 113 val_113 @@ -282,6 +207,8 @@ POSTHOOK: Lineage: bucket1_1.value SIMPLE [(src)src.FieldSchema(name:value, type 119 val_119 119 val_119 119 val_119 +12 val_12 +12 val_12 120 val_120 120 val_120 125 val_125 @@ -309,6 +236,8 @@ POSTHOOK: Lineage: bucket1_1.value SIMPLE [(src)src.FieldSchema(name:value, type 146 val_146 149 val_149 149 val_149 +15 val_15 +15 val_15 150 val_150 152 val_152 152 val_152 @@ -333,6 +262,7 @@ POSTHOOK: Lineage: bucket1_1.value SIMPLE [(src)src.FieldSchema(name:value, type 169 val_169 169 val_169 169 val_169 +17 val_17 170 val_170 172 val_172 172 val_172 @@ -346,6 +276,8 @@ POSTHOOK: Lineage: bucket1_1.value SIMPLE [(src)src.FieldSchema(name:value, type 178 val_178 179 val_179 179 val_179 +18 val_18 +18 val_18 180 val_180 181 val_181 183 val_183 @@ -354,6 +286,7 @@ POSTHOOK: Lineage: bucket1_1.value SIMPLE [(src)src.FieldSchema(name:value, type 187 val_187 187 val_187 189 val_189 +19 val_19 190 val_190 191 val_191 191 val_191 @@ -370,6 +303,8 @@ POSTHOOK: Lineage: bucket1_1.value SIMPLE [(src)src.FieldSchema(name:value, type 199 val_199 199 val_199 199 val_199 +2 val_2 +20 val_20 200 val_200 200 val_200 201 val_201 @@ -420,6 +355,8 @@ POSTHOOK: Lineage: bucket1_1.value SIMPLE [(src)src.FieldSchema(name:value, type 238 val_238 239 val_239 239 val_239 +24 val_24 +24 val_24 241 val_241 242 val_242 242 val_242 @@ -434,12 +371,15 @@ POSTHOOK: Lineage: bucket1_1.value SIMPLE [(src)src.FieldSchema(name:value, type 256 val_256 257 val_257 258 val_258 +26 val_26 +26 val_26 260 val_260 262 val_262 263 val_263 265 val_265 265 val_265 266 val_266 +27 val_27 272 val_272 272 val_272 273 val_273 @@ -453,6 +393,7 @@ POSTHOOK: Lineage: bucket1_1.value SIMPLE [(src)src.FieldSchema(name:value, type 277 val_277 278 val_278 278 val_278 +28 val_28 280 val_280 280 val_280 281 val_281 @@ -473,6 +414,7 @@ POSTHOOK: Lineage: bucket1_1.value SIMPLE [(src)src.FieldSchema(name:value, type 298 val_298 298 val_298 298 val_298 +30 val_30 302 val_302 305 val_305 306 val_306 @@ -504,6 +446,7 @@ POSTHOOK: Lineage: bucket1_1.value SIMPLE [(src)src.FieldSchema(name:value, type 327 val_327 327 val_327 327 val_327 +33 val_33 331 val_331 331 val_331 332 val_332 @@ -513,6 +456,7 @@ POSTHOOK: Lineage: bucket1_1.value SIMPLE [(src)src.FieldSchema(name:value, type 336 val_336 338 val_338 339 val_339 +34 val_34 341 val_341 342 val_342 342 val_342 @@ -524,6 +468,9 @@ POSTHOOK: Lineage: bucket1_1.value SIMPLE [(src)src.FieldSchema(name:value, type 348 val_348 348 val_348 348 val_348 +35 val_35 +35 val_35 +35 val_35 351 val_351 353 val_353 353 val_353 @@ -539,6 +486,8 @@ POSTHOOK: Lineage: bucket1_1.value SIMPLE [(src)src.FieldSchema(name:value, type 369 val_369 369 val_369 369 val_369 +37 val_37 +37 val_37 373 val_373 374 val_374 375 val_375 @@ -564,6 +513,7 @@ POSTHOOK: Lineage: bucket1_1.value SIMPLE [(src)src.FieldSchema(name:value, type 397 val_397 399 val_399 399 val_399 +4 val_4 400 val_400 401 val_401 401 val_401 @@ -584,6 +534,7 @@ POSTHOOK: Lineage: bucket1_1.value SIMPLE [(src)src.FieldSchema(name:value, type 409 val_409 409 val_409 409 val_409 +41 val_41 411 val_411 413 val_413 413 val_413 @@ -594,12 +545,15 @@ POSTHOOK: Lineage: bucket1_1.value SIMPLE [(src)src.FieldSchema(name:value, type 417 val_417 418 val_418 419 val_419 +42 val_42 +42 val_42 421 val_421 424 val_424 424 val_424 427 val_427 429 val_429 429 val_429 +43 val_43 430 val_430 430 val_430 430 val_430 @@ -615,6 +569,7 @@ POSTHOOK: Lineage: bucket1_1.value SIMPLE [(src)src.FieldSchema(name:value, type 438 val_438 439 val_439 439 val_439 +44 val_44 443 val_443 444 val_444 446 val_446 @@ -649,6 +604,7 @@ POSTHOOK: Lineage: bucket1_1.value SIMPLE [(src)src.FieldSchema(name:value, type 469 val_469 469 val_469 469 val_469 +47 val_47 470 val_470 472 val_472 475 val_475 @@ -681,3 +637,51 @@ POSTHOOK: Lineage: bucket1_1.value SIMPLE [(src)src.FieldSchema(name:value, type 498 val_498 498 val_498 498 val_498 +5 val_5 +5 val_5 +5 val_5 +51 val_51 +51 val_51 +53 val_53 +54 val_54 +57 val_57 +58 val_58 +58 val_58 +64 val_64 +65 val_65 +66 val_66 +67 val_67 +67 val_67 +69 val_69 +70 val_70 +70 val_70 +70 val_70 +72 val_72 +72 val_72 +74 val_74 +76 val_76 +76 val_76 +77 val_77 +78 val_78 +8 val_8 +80 val_80 +82 val_82 +83 val_83 +83 val_83 +84 val_84 +84 val_84 +85 val_85 +86 val_86 +87 val_87 +9 val_9 +90 val_90 +90 val_90 +90 val_90 +92 val_92 +95 val_95 +95 val_95 +96 val_96 +97 val_97 +97 val_97 +98 val_98 +98 val_98 diff --git ql/src/test/results/clientpositive/bucket2.q.out ql/src/test/results/clientpositive/bucket2.q.out index 672903d..fc3e719 100644 --- ql/src/test/results/clientpositive/bucket2.q.out +++ ql/src/test/results/clientpositive/bucket2.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: CREATE TABLE bucket2_1(key int, value string) CLUSTERED BY (key) INTO 2 BUCKETS +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE bucket2_1(key int, value string) CLUSTERED BY (key) INTO 2 BUCKETS PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE bucket2_1(key int, value string) CLUSTERED BY (key) INTO 2 BUCKETS +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE bucket2_1(key int, value string) CLUSTERED BY (key) INTO 2 BUCKETS POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@bucket2_1 PREHOOK: query: explain extended @@ -172,10 +176,10 @@ POSTHOOK: Output: default@bucket2_1 POSTHOOK: Lineage: bucket2_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: bucket2_1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] PREHOOK: query: explain -select * from bucket2_1 tablesample (bucket 1 out of 2) s order by key +select * from bucket2_1 tablesample (bucket 1 out of 2) s PREHOOK: type: QUERY POSTHOOK: query: explain -select * from bucket2_1 tablesample (bucket 1 out of 2) s order by key +select * from bucket2_1 tablesample (bucket 1 out of 2) s POSTHOOK: type: QUERY POSTHOOK: Lineage: bucket2_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: bucket2_1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] @@ -197,31 +201,23 @@ STAGE PLANS: expressions: key (type: int), value (type: string) outputColumnNames: _col0, _col1 Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: int) - sort order: + + File Output Operator + compressed: false Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int), _col1 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator limit: -1 -PREHOOK: query: select * from bucket2_1 tablesample (bucket 1 out of 2) s order by key +PREHOOK: query: select * from bucket2_1 tablesample (bucket 1 out of 2) s PREHOOK: type: QUERY PREHOOK: Input: default@bucket2_1 #### A masked pattern was here #### -POSTHOOK: query: select * from bucket2_1 tablesample (bucket 1 out of 2) s order by key +POSTHOOK: query: select * from bucket2_1 tablesample (bucket 1 out of 2) s POSTHOOK: type: QUERY POSTHOOK: Input: default@bucket2_1 #### A masked pattern was here #### @@ -230,51 +226,7 @@ POSTHOOK: Lineage: bucket2_1.value SIMPLE [(src)src.FieldSchema(name:value, type 0 val_0 0 val_0 0 val_0 -2 val_2 -4 val_4 -8 val_8 10 val_10 -12 val_12 -12 val_12 -18 val_18 -18 val_18 -20 val_20 -24 val_24 -24 val_24 -26 val_26 -26 val_26 -28 val_28 -30 val_30 -34 val_34 -42 val_42 -42 val_42 -44 val_44 -54 val_54 -58 val_58 -58 val_58 -64 val_64 -66 val_66 -70 val_70 -70 val_70 -70 val_70 -72 val_72 -72 val_72 -74 val_74 -76 val_76 -76 val_76 -78 val_78 -80 val_80 -82 val_82 -84 val_84 -84 val_84 -86 val_86 -90 val_90 -90 val_90 -90 val_90 -92 val_92 -96 val_96 -98 val_98 -98 val_98 100 val_100 100 val_100 104 val_104 @@ -283,6 +235,8 @@ POSTHOOK: Lineage: bucket2_1.value SIMPLE [(src)src.FieldSchema(name:value, type 116 val_116 118 val_118 118 val_118 +12 val_12 +12 val_12 120 val_120 120 val_120 126 val_126 @@ -317,12 +271,16 @@ POSTHOOK: Lineage: bucket2_1.value SIMPLE [(src)src.FieldSchema(name:value, type 176 val_176 176 val_176 178 val_178 +18 val_18 +18 val_18 180 val_180 186 val_186 190 val_190 192 val_192 194 val_194 196 val_196 +2 val_2 +20 val_20 200 val_200 200 val_200 202 val_202 @@ -345,6 +303,8 @@ POSTHOOK: Lineage: bucket2_1.value SIMPLE [(src)src.FieldSchema(name:value, type 230 val_230 238 val_238 238 val_238 +24 val_24 +24 val_24 242 val_242 242 val_242 244 val_244 @@ -353,6 +313,8 @@ POSTHOOK: Lineage: bucket2_1.value SIMPLE [(src)src.FieldSchema(name:value, type 256 val_256 256 val_256 258 val_258 +26 val_26 +26 val_26 260 val_260 262 val_262 266 val_266 @@ -361,6 +323,7 @@ POSTHOOK: Lineage: bucket2_1.value SIMPLE [(src)src.FieldSchema(name:value, type 274 val_274 278 val_278 278 val_278 +28 val_28 280 val_280 280 val_280 282 val_282 @@ -374,6 +337,7 @@ POSTHOOK: Lineage: bucket2_1.value SIMPLE [(src)src.FieldSchema(name:value, type 298 val_298 298 val_298 298 val_298 +30 val_30 302 val_302 306 val_306 308 val_308 @@ -389,6 +353,7 @@ POSTHOOK: Lineage: bucket2_1.value SIMPLE [(src)src.FieldSchema(name:value, type 332 val_332 336 val_336 338 val_338 +34 val_34 342 val_342 342 val_342 344 val_344 @@ -417,6 +382,7 @@ POSTHOOK: Lineage: bucket2_1.value SIMPLE [(src)src.FieldSchema(name:value, type 396 val_396 396 val_396 396 val_396 +4 val_4 400 val_400 402 val_402 404 val_404 @@ -428,6 +394,8 @@ POSTHOOK: Lineage: bucket2_1.value SIMPLE [(src)src.FieldSchema(name:value, type 414 val_414 414 val_414 418 val_418 +42 val_42 +42 val_42 424 val_424 424 val_424 430 val_430 @@ -438,6 +406,7 @@ POSTHOOK: Lineage: bucket2_1.value SIMPLE [(src)src.FieldSchema(name:value, type 438 val_438 438 val_438 438 val_438 +44 val_44 444 val_444 446 val_446 448 val_448 @@ -474,3 +443,30 @@ POSTHOOK: Lineage: bucket2_1.value SIMPLE [(src)src.FieldSchema(name:value, type 498 val_498 498 val_498 498 val_498 +54 val_54 +58 val_58 +58 val_58 +64 val_64 +66 val_66 +70 val_70 +70 val_70 +70 val_70 +72 val_72 +72 val_72 +74 val_74 +76 val_76 +76 val_76 +78 val_78 +8 val_8 +80 val_80 +82 val_82 +84 val_84 +84 val_84 +86 val_86 +90 val_90 +90 val_90 +90 val_90 +92 val_92 +96 val_96 +98 val_98 +98 val_98 diff --git ql/src/test/results/clientpositive/bucket3.q.out ql/src/test/results/clientpositive/bucket3.q.out index 9232f6b..191a204 100644 --- ql/src/test/results/clientpositive/bucket3.q.out +++ ql/src/test/results/clientpositive/bucket3.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: CREATE TABLE bucket3_1(key int, value string) partitioned by (ds string) CLUSTERED BY (key) INTO 2 BUCKETS +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE bucket3_1(key int, value string) partitioned by (ds string) CLUSTERED BY (key) INTO 2 BUCKETS PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE bucket3_1(key int, value string) partitioned by (ds string) CLUSTERED BY (key) INTO 2 BUCKETS +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE bucket3_1(key int, value string) partitioned by (ds string) CLUSTERED BY (key) INTO 2 BUCKETS POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@bucket3_1 PREHOOK: query: explain extended @@ -195,10 +199,10 @@ POSTHOOK: Lineage: bucket3_1 PARTITION(ds=1).value SIMPLE [(src)src.FieldSchema( POSTHOOK: Lineage: bucket3_1 PARTITION(ds=2).key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: bucket3_1 PARTITION(ds=2).value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] PREHOOK: query: explain -select * from bucket3_1 tablesample (bucket 1 out of 2) s where ds = '1' order by key +select * from bucket3_1 tablesample (bucket 1 out of 2) s where ds = '1' PREHOOK: type: QUERY POSTHOOK: query: explain -select * from bucket3_1 tablesample (bucket 1 out of 2) s where ds = '1' order by key +select * from bucket3_1 tablesample (bucket 1 out of 2) s where ds = '1' POSTHOOK: type: QUERY POSTHOOK: Lineage: bucket3_1 PARTITION(ds=1).key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: bucket3_1 PARTITION(ds=1).value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] @@ -222,32 +226,24 @@ STAGE PLANS: expressions: key (type: int), value (type: string), ds (type: string) outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: int) - sort order: + + File Output Operator + compressed: false Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator limit: -1 -PREHOOK: query: select * from bucket3_1 tablesample (bucket 1 out of 2) s where ds = '1' order by key +PREHOOK: query: select * from bucket3_1 tablesample (bucket 1 out of 2) s where ds = '1' PREHOOK: type: QUERY PREHOOK: Input: default@bucket3_1 PREHOOK: Input: default@bucket3_1@ds=1 #### A masked pattern was here #### -POSTHOOK: query: select * from bucket3_1 tablesample (bucket 1 out of 2) s where ds = '1' order by key +POSTHOOK: query: select * from bucket3_1 tablesample (bucket 1 out of 2) s where ds = '1' POSTHOOK: type: QUERY POSTHOOK: Input: default@bucket3_1 POSTHOOK: Input: default@bucket3_1@ds=1 @@ -259,51 +255,7 @@ POSTHOOK: Lineage: bucket3_1 PARTITION(ds=2).value SIMPLE [(src)src.FieldSchema( 0 val_0 1 0 val_0 1 0 val_0 1 -2 val_2 1 -4 val_4 1 -8 val_8 1 10 val_10 1 -12 val_12 1 -12 val_12 1 -18 val_18 1 -18 val_18 1 -20 val_20 1 -24 val_24 1 -24 val_24 1 -26 val_26 1 -26 val_26 1 -28 val_28 1 -30 val_30 1 -34 val_34 1 -42 val_42 1 -42 val_42 1 -44 val_44 1 -54 val_54 1 -58 val_58 1 -58 val_58 1 -64 val_64 1 -66 val_66 1 -70 val_70 1 -70 val_70 1 -70 val_70 1 -72 val_72 1 -72 val_72 1 -74 val_74 1 -76 val_76 1 -76 val_76 1 -78 val_78 1 -80 val_80 1 -82 val_82 1 -84 val_84 1 -84 val_84 1 -86 val_86 1 -90 val_90 1 -90 val_90 1 -90 val_90 1 -92 val_92 1 -96 val_96 1 -98 val_98 1 -98 val_98 1 100 val_100 1 100 val_100 1 104 val_104 1 @@ -312,6 +264,8 @@ POSTHOOK: Lineage: bucket3_1 PARTITION(ds=2).value SIMPLE [(src)src.FieldSchema( 116 val_116 1 118 val_118 1 118 val_118 1 +12 val_12 1 +12 val_12 1 120 val_120 1 120 val_120 1 126 val_126 1 @@ -346,12 +300,16 @@ POSTHOOK: Lineage: bucket3_1 PARTITION(ds=2).value SIMPLE [(src)src.FieldSchema( 176 val_176 1 176 val_176 1 178 val_178 1 +18 val_18 1 +18 val_18 1 180 val_180 1 186 val_186 1 190 val_190 1 192 val_192 1 194 val_194 1 196 val_196 1 +2 val_2 1 +20 val_20 1 200 val_200 1 200 val_200 1 202 val_202 1 @@ -374,6 +332,8 @@ POSTHOOK: Lineage: bucket3_1 PARTITION(ds=2).value SIMPLE [(src)src.FieldSchema( 230 val_230 1 238 val_238 1 238 val_238 1 +24 val_24 1 +24 val_24 1 242 val_242 1 242 val_242 1 244 val_244 1 @@ -382,6 +342,8 @@ POSTHOOK: Lineage: bucket3_1 PARTITION(ds=2).value SIMPLE [(src)src.FieldSchema( 256 val_256 1 256 val_256 1 258 val_258 1 +26 val_26 1 +26 val_26 1 260 val_260 1 262 val_262 1 266 val_266 1 @@ -390,6 +352,7 @@ POSTHOOK: Lineage: bucket3_1 PARTITION(ds=2).value SIMPLE [(src)src.FieldSchema( 274 val_274 1 278 val_278 1 278 val_278 1 +28 val_28 1 280 val_280 1 280 val_280 1 282 val_282 1 @@ -403,6 +366,7 @@ POSTHOOK: Lineage: bucket3_1 PARTITION(ds=2).value SIMPLE [(src)src.FieldSchema( 298 val_298 1 298 val_298 1 298 val_298 1 +30 val_30 1 302 val_302 1 306 val_306 1 308 val_308 1 @@ -418,6 +382,7 @@ POSTHOOK: Lineage: bucket3_1 PARTITION(ds=2).value SIMPLE [(src)src.FieldSchema( 332 val_332 1 336 val_336 1 338 val_338 1 +34 val_34 1 342 val_342 1 342 val_342 1 344 val_344 1 @@ -446,6 +411,7 @@ POSTHOOK: Lineage: bucket3_1 PARTITION(ds=2).value SIMPLE [(src)src.FieldSchema( 396 val_396 1 396 val_396 1 396 val_396 1 +4 val_4 1 400 val_400 1 402 val_402 1 404 val_404 1 @@ -457,6 +423,8 @@ POSTHOOK: Lineage: bucket3_1 PARTITION(ds=2).value SIMPLE [(src)src.FieldSchema( 414 val_414 1 414 val_414 1 418 val_418 1 +42 val_42 1 +42 val_42 1 424 val_424 1 424 val_424 1 430 val_430 1 @@ -467,6 +435,7 @@ POSTHOOK: Lineage: bucket3_1 PARTITION(ds=2).value SIMPLE [(src)src.FieldSchema( 438 val_438 1 438 val_438 1 438 val_438 1 +44 val_44 1 444 val_444 1 446 val_446 1 448 val_448 1 @@ -503,3 +472,30 @@ POSTHOOK: Lineage: bucket3_1 PARTITION(ds=2).value SIMPLE [(src)src.FieldSchema( 498 val_498 1 498 val_498 1 498 val_498 1 +54 val_54 1 +58 val_58 1 +58 val_58 1 +64 val_64 1 +66 val_66 1 +70 val_70 1 +70 val_70 1 +70 val_70 1 +72 val_72 1 +72 val_72 1 +74 val_74 1 +76 val_76 1 +76 val_76 1 +78 val_78 1 +8 val_8 1 +80 val_80 1 +82 val_82 1 +84 val_84 1 +84 val_84 1 +86 val_86 1 +90 val_90 1 +90 val_90 1 +90 val_90 1 +92 val_92 1 +96 val_96 1 +98 val_98 1 +98 val_98 1 diff --git ql/src/test/results/clientpositive/char_1.q.out ql/src/test/results/clientpositive/char_1.q.out index 6dfe059..7254f9b 100644 --- ql/src/test/results/clientpositive/char_1.q.out +++ ql/src/test/results/clientpositive/char_1.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: drop table char1 +PREHOOK: query: -- SORT_QUERY_RESULTS + +drop table char1 PREHOOK: type: DROPTABLE -POSTHOOK: query: drop table char1 +POSTHOOK: query: -- SORT_QUERY_RESULTS + +drop table char1 POSTHOOK: type: DROPTABLE PREHOOK: query: drop table char1_1 PREHOOK: type: DROPTABLE @@ -48,11 +52,11 @@ POSTHOOK: Input: default@src POSTHOOK: Output: default@char1 POSTHOOK: Lineage: char1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: char1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select key, value from char1 order by key, value +PREHOOK: query: select key, value from char1 PREHOOK: type: QUERY PREHOOK: Input: default@char1 #### A masked pattern was here #### -POSTHOOK: query: select key, value from char1 order by key, value +POSTHOOK: query: select key, value from char1 POSTHOOK: type: QUERY POSTHOOK: Input: default@char1 #### A masked pattern was here #### @@ -76,11 +80,11 @@ POSTHOOK: Lineage: char1.key EXPRESSION [(src)src.FieldSchema(name:key, type:str POSTHOOK: Lineage: char1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: char1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: char1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select key, value from char1 order by key, value +PREHOOK: query: select key, value from char1 PREHOOK: type: QUERY PREHOOK: Input: default@char1 #### A masked pattern was here #### -POSTHOOK: query: select key, value from char1 order by key, value +POSTHOOK: query: select key, value from char1 POSTHOOK: type: QUERY POSTHOOK: Input: default@char1 #### A masked pattern was here #### @@ -108,11 +112,11 @@ POSTHOOK: Lineage: char1.value EXPRESSION [(src)src.FieldSchema(name:value, type POSTHOOK: Lineage: char1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: char1_1.key SIMPLE [(char1)char1.FieldSchema(name:key, type:char(10), comment:null), ] POSTHOOK: Lineage: char1_1.value SIMPLE [(char1)char1.FieldSchema(name:value, type:char(20), comment:null), ] -PREHOOK: query: select key, value from char1_1 order by key, value +PREHOOK: query: select key, value from char1_1 PREHOOK: type: QUERY PREHOOK: Input: default@char1_1 #### A masked pattern was here #### -POSTHOOK: query: select key, value from char1_1 order by key, value +POSTHOOK: query: select key, value from char1_1 POSTHOOK: type: QUERY POSTHOOK: Input: default@char1_1 #### A masked pattern was here #### @@ -144,11 +148,11 @@ POSTHOOK: Lineage: char1.value EXPRESSION [(src)src.FieldSchema(name:value, type POSTHOOK: Lineage: char1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: char1_1.key SIMPLE [(char1)char1.FieldSchema(name:key, type:char(10), comment:null), ] POSTHOOK: Lineage: char1_1.value SIMPLE [(char1)char1.FieldSchema(name:value, type:char(20), comment:null), ] -PREHOOK: query: select key, value from char1 order by key, value +PREHOOK: query: select key, value from char1 PREHOOK: type: QUERY PREHOOK: Input: default@char1 #### A masked pattern was here #### -POSTHOOK: query: select key, value from char1 order by key, value +POSTHOOK: query: select key, value from char1 POSTHOOK: type: QUERY POSTHOOK: Input: default@char1 #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/char_join1.q.out ql/src/test/results/clientpositive/char_join1.q.out index 36613d1..dda3c42 100644 --- ql/src/test/results/clientpositive/char_join1.q.out +++ ql/src/test/results/clientpositive/char_join1.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: drop table char_join1_ch1 +PREHOOK: query: -- SORT_QUERY_RESULTS + +drop table char_join1_ch1 PREHOOK: type: DROPTABLE -POSTHOOK: query: drop table char_join1_ch1 +POSTHOOK: query: -- SORT_QUERY_RESULTS + +drop table char_join1_ch1 POSTHOOK: type: DROPTABLE PREHOOK: query: drop table char_join1_ch2 PREHOOK: type: DROPTABLE @@ -62,12 +66,12 @@ POSTHOOK: query: load data local inpath '../../data/files/vc1.txt' into table ch POSTHOOK: type: LOAD POSTHOOK: Output: default@char_join1_str PREHOOK: query: -- Join char with same length char -select * from char_join1_ch1 a join char_join1_ch1 b on (a.c2 = b.c2) order by a.c1 +select * from char_join1_ch1 a join char_join1_ch1 b on (a.c2 = b.c2) PREHOOK: type: QUERY PREHOOK: Input: default@char_join1_ch1 #### A masked pattern was here #### POSTHOOK: query: -- Join char with same length char -select * from char_join1_ch1 a join char_join1_ch1 b on (a.c2 = b.c2) order by a.c1 +select * from char_join1_ch1 a join char_join1_ch1 b on (a.c2 = b.c2) POSTHOOK: type: QUERY POSTHOOK: Input: default@char_join1_ch1 #### A masked pattern was here #### @@ -77,13 +81,13 @@ POSTHOOK: Input: default@char_join1_ch1 2 abc 2 abc 3 abc 3 abc PREHOOK: query: -- Join char with different length char -select * from char_join1_ch1 a join char_join1_ch2 b on (a.c2 = b.c2) order by a.c1 +select * from char_join1_ch1 a join char_join1_ch2 b on (a.c2 = b.c2) PREHOOK: type: QUERY PREHOOK: Input: default@char_join1_ch1 PREHOOK: Input: default@char_join1_ch2 #### A masked pattern was here #### POSTHOOK: query: -- Join char with different length char -select * from char_join1_ch1 a join char_join1_ch2 b on (a.c2 = b.c2) order by a.c1 +select * from char_join1_ch1 a join char_join1_ch2 b on (a.c2 = b.c2) POSTHOOK: type: QUERY POSTHOOK: Input: default@char_join1_ch1 POSTHOOK: Input: default@char_join1_ch2 @@ -94,13 +98,13 @@ POSTHOOK: Input: default@char_join1_ch2 2 abc 2 abc 3 abc 3 abc PREHOOK: query: -- Join char with string -select * from char_join1_ch1 a join char_join1_str b on (a.c2 = b.c2) order by a.c1 +select * from char_join1_ch1 a join char_join1_str b on (a.c2 = b.c2) PREHOOK: type: QUERY PREHOOK: Input: default@char_join1_ch1 PREHOOK: Input: default@char_join1_str #### A masked pattern was here #### POSTHOOK: query: -- Join char with string -select * from char_join1_ch1 a join char_join1_str b on (a.c2 = b.c2) order by a.c1 +select * from char_join1_ch1 a join char_join1_str b on (a.c2 = b.c2) POSTHOOK: type: QUERY POSTHOOK: Input: default@char_join1_ch1 POSTHOOK: Input: default@char_join1_str diff --git ql/src/test/results/clientpositive/column_access_stats.q.out ql/src/test/results/clientpositive/column_access_stats.q.out index dea25e5..0a8fa66 100644 --- ql/src/test/results/clientpositive/column_access_stats.q.out +++ ql/src/test/results/clientpositive/column_access_stats.q.out @@ -1,4 +1,5 @@ -PREHOOK: query: -- This test is used for testing the ColumnAccessAnalyzer +PREHOOK: query: -- SORT_QUERY_RESULTS +-- This test is used for testing the ColumnAccessAnalyzer CREATE TABLE T1(key STRING, val STRING) STORED AS TEXTFILE PREHOOK: type: CREATETABLE @@ -12,7 +13,7 @@ PREHOOK: type: CREATETABLE PREHOOK: query: CREATE TABLE T4(key STRING, val STRING) PARTITIONED BY (p STRING) PREHOOK: type: CREATETABLE PREHOOK: query: -- Simple select queries -SELECT key FROM T1 ORDER BY key +SELECT key FROM T1 PREHOOK: type: QUERY PREHOOK: Input: default@t1 #### A masked pattern was here #### @@ -25,7 +26,7 @@ Columns:key 7 8 8 -PREHOOK: query: SELECT key, val FROM T1 ORDER BY key, val +PREHOOK: query: SELECT key, val FROM T1 PREHOOK: type: QUERY PREHOOK: Input: default@t1 #### A masked pattern was here #### @@ -70,7 +71,7 @@ Table:default@t4 Columns:val PREHOOK: query: -- More complicated select queries -EXPLAIN SELECT key FROM (SELECT key, val FROM T1) subq1 ORDER BY key +EXPLAIN SELECT key FROM (SELECT key, val FROM T1) subq1 PREHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage @@ -87,27 +88,19 @@ STAGE PLANS: expressions: key (type: string) outputColumnNames: _col0 Statistics: Num rows: 0 Data size: 30 Basic stats: PARTIAL Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + + File Output Operator + compressed: false Statistics: Num rows: 0 Data size: 30 Basic stats: PARTIAL Column stats: NONE - value expressions: _col0 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 0 Data size: 30 Basic stats: PARTIAL Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 0 Data size: 30 Basic stats: PARTIAL Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator limit: -1 -PREHOOK: query: SELECT key FROM (SELECT key, val FROM T1) subq1 ORDER BY key +PREHOOK: query: SELECT key FROM (SELECT key, val FROM T1) subq1 PREHOOK: type: QUERY PREHOOK: Input: default@t1 #### A masked pattern was here #### @@ -120,7 +113,7 @@ Columns:key 7 8 8 -PREHOOK: query: EXPLAIN SELECT k FROM (SELECT key as k, val as v FROM T1) subq1 ORDER BY k +PREHOOK: query: EXPLAIN SELECT k FROM (SELECT key as k, val as v FROM T1) subq1 PREHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage @@ -137,27 +130,19 @@ STAGE PLANS: expressions: key (type: string) outputColumnNames: _col0 Statistics: Num rows: 0 Data size: 30 Basic stats: PARTIAL Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + + File Output Operator + compressed: false Statistics: Num rows: 0 Data size: 30 Basic stats: PARTIAL Column stats: NONE - value expressions: _col0 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 0 Data size: 30 Basic stats: PARTIAL Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 0 Data size: 30 Basic stats: PARTIAL Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator limit: -1 -PREHOOK: query: SELECT k FROM (SELECT key as k, val as v FROM T1) subq1 ORDER BY k +PREHOOK: query: SELECT k FROM (SELECT key as k, val as v FROM T1) subq1 PREHOOK: type: QUERY PREHOOK: Input: default@t1 #### A masked pattern was here #### @@ -170,7 +155,7 @@ Columns:key 7 8 8 -PREHOOK: query: SELECT key + 1 as k FROM T1 ORDER BY k +PREHOOK: query: SELECT key + 1 as k FROM T1 PREHOOK: type: QUERY PREHOOK: Input: default@t1 #### A masked pattern was here #### @@ -183,7 +168,7 @@ Columns:key 8.0 9.0 9.0 -PREHOOK: query: SELECT key + val as k FROM T1 ORDER BY k +PREHOOK: query: SELECT key + val as k FROM T1 PREHOOK: type: QUERY PREHOOK: Input: default@t1 #### A masked pattern was here #### @@ -202,7 +187,7 @@ SELECT * FROM ( SELECT key as c FROM T1 UNION ALL SELECT val as c FROM T1 -) subq1 ORDER BY c +) subq1 PREHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage @@ -225,11 +210,13 @@ STAGE PLANS: expressions: _col0 (type: string) outputColumnNames: _col0 Statistics: Num rows: 0 Data size: 60 Basic stats: PARTIAL Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + + File Output Operator + compressed: false Statistics: Num rows: 0 Data size: 60 Basic stats: PARTIAL Column stats: NONE - value expressions: _col0 (type: string) + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe TableScan alias: t1 Statistics: Num rows: 0 Data size: 30 Basic stats: PARTIAL Column stats: NONE @@ -243,21 +230,13 @@ STAGE PLANS: expressions: _col0 (type: string) outputColumnNames: _col0 Statistics: Num rows: 0 Data size: 60 Basic stats: PARTIAL Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + + File Output Operator + compressed: false Statistics: Num rows: 0 Data size: 60 Basic stats: PARTIAL Column stats: NONE - value expressions: _col0 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 0 Data size: 60 Basic stats: PARTIAL Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 0 Data size: 60 Basic stats: PARTIAL Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator @@ -267,7 +246,7 @@ PREHOOK: query: SELECT * FROM ( SELECT key as c FROM T1 UNION ALL SELECT val as c FROM T1 -) subq1 ORDER BY c +) subq1 PREHOOK: type: QUERY PREHOOK: Input: default@t1 #### A masked pattern was here #### @@ -291,7 +270,7 @@ SELECT * FROM ( SELECT key as c FROM T1 UNION ALL SELECT key as c FROM T1 -) subq1 ORDER BY c +) subq1 PREHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage @@ -314,11 +293,13 @@ STAGE PLANS: expressions: _col0 (type: string) outputColumnNames: _col0 Statistics: Num rows: 0 Data size: 60 Basic stats: PARTIAL Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + + File Output Operator + compressed: false Statistics: Num rows: 0 Data size: 60 Basic stats: PARTIAL Column stats: NONE - value expressions: _col0 (type: string) + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe TableScan alias: t1 Statistics: Num rows: 0 Data size: 30 Basic stats: PARTIAL Column stats: NONE @@ -332,21 +313,13 @@ STAGE PLANS: expressions: _col0 (type: string) outputColumnNames: _col0 Statistics: Num rows: 0 Data size: 60 Basic stats: PARTIAL Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + + File Output Operator + compressed: false Statistics: Num rows: 0 Data size: 60 Basic stats: PARTIAL Column stats: NONE - value expressions: _col0 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 0 Data size: 60 Basic stats: PARTIAL Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 0 Data size: 60 Basic stats: PARTIAL Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator @@ -356,7 +329,7 @@ PREHOOK: query: SELECT * FROM ( SELECT key as c FROM T1 UNION ALL SELECT key as c FROM T1 -) subq1 ORDER BY c +) subq1 PREHOOK: type: QUERY PREHOOK: Input: default@t1 #### A masked pattern was here #### @@ -390,7 +363,6 @@ PREHOOK: query: -- Simple joins SELECT * FROM T1 JOIN T2 ON T1.key = T2.key -ORDER BY T1.key, T1.val, T2.key, T2.val PREHOOK: type: QUERY PREHOOK: Input: default@t1 PREHOOK: Input: default@t2 @@ -411,11 +383,9 @@ PREHOOK: query: EXPLAIN SELECT T1.key FROM T1 JOIN T2 ON T1.key = T2.key -ORDER BY T1.key PREHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-2 depends on stages: Stage-1 Stage-0 is a root stage STAGE PLANS: @@ -454,30 +424,11 @@ STAGE PLANS: Statistics: Num rows: 5 Data size: 16 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - - Stage: Stage-2 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + Statistics: Num rows: 5 Data size: 16 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 5 Data size: 16 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 5 Data size: 16 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator @@ -486,7 +437,6 @@ STAGE PLANS: PREHOOK: query: SELECT T1.key FROM T1 JOIN T2 ON T1.key = T2.key -ORDER BY T1.key PREHOOK: type: QUERY PREHOOK: Input: default@t1 PREHOOK: Input: default@t2 @@ -506,7 +456,6 @@ Columns:key PREHOOK: query: SELECT * FROM T1 JOIN T2 ON T1.key = T2.key AND T1.val = T2.val -ORDER BY T1.key, T1.val PREHOOK: type: QUERY PREHOOK: Input: default@t1 PREHOOK: Input: default@t2 @@ -521,7 +470,6 @@ PREHOOK: query: -- Map join SELECT /*+ MAPJOIN(a) */ * FROM T1 a JOIN T2 b ON a.key = b.key -ORDER BY a.key, a.val, b.key, b.val PREHOOK: type: QUERY PREHOOK: Input: default@t1 PREHOOK: Input: default@t2 @@ -543,11 +491,9 @@ EXPLAIN SELECT * FROM T1 JOIN T2 ON T1.key = T2.key AND T1.val = 3 and T2.val = 3 -ORDER BY T1.key, T1.val PREHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-2 depends on stages: Stage-1 Stage-0 is a root stage STAGE PLANS: @@ -593,30 +539,11 @@ STAGE PLANS: Statistics: Num rows: 2 Data size: 6 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - - Stage: Stage-2 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: string) - sort order: ++ Statistics: Num rows: 2 Data size: 6 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string), _col3 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 2 Data size: 6 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 2 Data size: 6 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator @@ -625,7 +552,6 @@ STAGE PLANS: PREHOOK: query: SELECT * FROM T1 JOIN T2 ON T1.key = T2.key AND T1.val = 3 and T2.val = 3 -ORDER BY T1.key, T1.val PREHOOK: type: QUERY PREHOOK: Input: default@t1 PREHOOK: Input: default@t2 @@ -647,11 +573,9 @@ JOIN SELECT val FROM T2 WHERE key = 6 ) subq2 ON subq1.val = subq2.val -ORDER BY subq1.val PREHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-2 depends on stages: Stage-1 Stage-0 is a root stage STAGE PLANS: @@ -704,30 +628,11 @@ STAGE PLANS: Statistics: Num rows: 2 Data size: 6 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - - Stage: Stage-2 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + Statistics: Num rows: 2 Data size: 6 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 2 Data size: 6 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 2 Data size: 6 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator @@ -743,7 +648,6 @@ JOIN SELECT val FROM T2 WHERE key = 6 ) subq2 ON subq1.val = subq2.val -ORDER BY subq1.val PREHOOK: type: QUERY PREHOOK: Input: default@t1 PREHOOK: Input: default@t2 @@ -772,16 +676,14 @@ FROM ) T4 JOIN T3 ON T3.key = T4.key -ORDER BY T3.key, T4.key PREHOOK: type: QUERY STAGE DEPENDENCIES: - Stage-3 is a root stage - Stage-1 depends on stages: Stage-3 - Stage-2 depends on stages: Stage-1 + Stage-2 is a root stage + Stage-1 depends on stages: Stage-2 Stage-0 is a root stage STAGE PLANS: - Stage: Stage-3 + Stage: Stage-2 Map Reduce Map Operator Tree: TableScan @@ -863,30 +765,11 @@ STAGE PLANS: Statistics: Num rows: 5 Data size: 17 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - - Stage: Stage-2 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col1 (type: string), _col0 (type: string) - sort order: ++ Statistics: Num rows: 5 Data size: 17 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 5 Data size: 17 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 5 Data size: 17 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator @@ -908,7 +791,6 @@ FROM ) T4 JOIN T3 ON T3.key = T4.key -ORDER BY T3.key, T4.key PREHOOK: type: QUERY PREHOOK: Input: default@t1 PREHOOK: Input: default@t2 diff --git ql/src/test/results/clientpositive/columnarserde_create_shortcut.q.out ql/src/test/results/clientpositive/columnarserde_create_shortcut.q.out index f5ad951..dbbecc6 100644 --- ql/src/test/results/clientpositive/columnarserde_create_shortcut.q.out +++ ql/src/test/results/clientpositive/columnarserde_create_shortcut.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: CREATE TABLE columnarserde_create_shortcut(a array, b array, c map, d int, e string) STORED AS RCFILE +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE columnarserde_create_shortcut(a array, b array, c map, d int, e string) STORED AS RCFILE PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE columnarserde_create_shortcut(a array, b array, c map, d int, e string) STORED AS RCFILE +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE columnarserde_create_shortcut(a array, b array, c map, d int, e string) STORED AS RCFILE POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@columnarserde_create_shortcut PREHOOK: query: EXPLAIN @@ -85,6 +89,7 @@ POSTHOOK: Lineage: columnarserde_create_shortcut.b SIMPLE [(src_thrift)src_thrif POSTHOOK: Lineage: columnarserde_create_shortcut.c SIMPLE [(src_thrift)src_thrift.FieldSchema(name:mstringstring, type:map, comment:from deserializer), ] POSTHOOK: Lineage: columnarserde_create_shortcut.d SIMPLE [(src_thrift)src_thrift.FieldSchema(name:aint, type:int, comment:from deserializer), ] POSTHOOK: Lineage: columnarserde_create_shortcut.e SIMPLE [(src_thrift)src_thrift.FieldSchema(name:astring, type:string, comment:from deserializer), ] +NULL NULL NULL 0 NULL [0,0,0] ["0","0","0"] {"key_0":"value_0"} 1712634731 record_0 [1,2,3] ["10","100","1000"] {"key_1":"value_1"} 465985200 record_1 [2,4,6] ["20","200","2000"] {"key_2":"value_2"} -751827638 record_2 @@ -95,7 +100,6 @@ POSTHOOK: Lineage: columnarserde_create_shortcut.e SIMPLE [(src_thrift)src_thrif [7,14,21] ["70","700","7000"] {"key_7":"value_7"} -1461153973 record_7 [8,16,24] ["80","800","8000"] {"key_8":"value_8"} 1638581578 record_8 [9,18,27] ["90","900","9000"] {"key_9":"value_9"} 336964413 record_9 -NULL NULL NULL 0 NULL PREHOOK: query: SELECT columnarserde_create_shortcut.a[0], columnarserde_create_shortcut.b[0], columnarserde_create_shortcut.c['key2'], columnarserde_create_shortcut.d, columnarserde_create_shortcut.e FROM columnarserde_create_shortcut CLUSTER BY 1 PREHOOK: type: QUERY PREHOOK: Input: default@columnarserde_create_shortcut @@ -160,11 +164,11 @@ POSTHOOK: Lineage: columnshortcuttable.key SIMPLE [(src)src.FieldSchema(name:key POSTHOOK: Lineage: columnshortcuttable.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] key string None value string None -PREHOOK: query: SELECT columnShortcutTable.* FROM columnShortcutTable ORDER BY key ASC, value ASC +PREHOOK: query: SELECT * FROM columnShortcutTable PREHOOK: type: QUERY PREHOOK: Input: default@columnshortcuttable #### A masked pattern was here #### -POSTHOOK: query: SELECT columnShortcutTable.* FROM columnShortcutTable ORDER BY key ASC, value ASC +POSTHOOK: query: SELECT * FROM columnShortcutTable POSTHOOK: type: QUERY POSTHOOK: Input: default@columnshortcuttable #### A masked pattern was here #### @@ -200,11 +204,11 @@ POSTHOOK: Lineage: columnarserde_create_shortcut.d SIMPLE [(src_thrift)src_thrif POSTHOOK: Lineage: columnarserde_create_shortcut.e SIMPLE [(src_thrift)src_thrift.FieldSchema(name:astring, type:string, comment:from deserializer), ] POSTHOOK: Lineage: columnshortcuttable.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: columnshortcuttable.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: SELECT columnShortcutTable.* FROM columnShortcutTable ORDER BY key ASC, value ASC +PREHOOK: query: SELECT * FROM columnShortcutTable PREHOOK: type: QUERY PREHOOK: Input: default@columnshortcuttable #### A masked pattern was here #### -POSTHOOK: query: SELECT columnShortcutTable.* FROM columnShortcutTable ORDER BY key ASC, value ASC +POSTHOOK: query: SELECT * FROM columnShortcutTable POSTHOOK: type: QUERY POSTHOOK: Input: default@columnshortcuttable #### A masked pattern was here #### @@ -240,11 +244,11 @@ POSTHOOK: Lineage: columnarserde_create_shortcut.d SIMPLE [(src_thrift)src_thrif POSTHOOK: Lineage: columnarserde_create_shortcut.e SIMPLE [(src_thrift)src_thrift.FieldSchema(name:astring, type:string, comment:from deserializer), ] POSTHOOK: Lineage: columnshortcuttable.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: columnshortcuttable.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: SELECT columnShortcutTable.* FROM columnShortcutTable ORDER BY key ASC +PREHOOK: query: SELECT * FROM columnShortcutTable PREHOOK: type: QUERY PREHOOK: Input: default@columnshortcuttable #### A masked pattern was here #### -POSTHOOK: query: SELECT columnShortcutTable.* FROM columnShortcutTable ORDER BY key ASC +POSTHOOK: query: SELECT * FROM columnShortcutTable POSTHOOK: type: QUERY POSTHOOK: Input: default@columnshortcuttable #### A masked pattern was here #### @@ -255,13 +259,13 @@ POSTHOOK: Lineage: columnarserde_create_shortcut.d SIMPLE [(src_thrift)src_thrif POSTHOOK: Lineage: columnarserde_create_shortcut.e SIMPLE [(src_thrift)src_thrift.FieldSchema(name:astring, type:string, comment:from deserializer), ] POSTHOOK: Lineage: columnshortcuttable.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: columnshortcuttable.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -27 -86 -98 165 238 255 +27 278 311 409 484 +86 +98 diff --git ql/src/test/results/clientpositive/combine1.q.out ql/src/test/results/clientpositive/combine1.q.out index a4fa3c1..a4539ac 100644 --- ql/src/test/results/clientpositive/combine1.q.out +++ ql/src/test/results/clientpositive/combine1.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: create table combine1_1(key string, value string) stored as textfile +PREHOOK: query: -- SORT_QUERY_RESULTS + +create table combine1_1(key string, value string) stored as textfile PREHOOK: type: CREATETABLE -POSTHOOK: query: create table combine1_1(key string, value string) stored as textfile +POSTHOOK: query: -- SORT_QUERY_RESULTS + +create table combine1_1(key string, value string) stored as textfile POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@combine1_1 PREHOOK: query: insert overwrite table combine1_1 @@ -15,11 +19,11 @@ POSTHOOK: Input: default@src POSTHOOK: Output: default@combine1_1 POSTHOOK: Lineage: combine1_1.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: combine1_1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select key, value from combine1_1 ORDER BY key ASC, value ASC +PREHOOK: query: select key, value from combine1_1 PREHOOK: type: QUERY PREHOOK: Input: default@combine1_1 #### A masked pattern was here #### -POSTHOOK: query: select key, value from combine1_1 ORDER BY key ASC, value ASC +POSTHOOK: query: select key, value from combine1_1 POSTHOOK: type: QUERY POSTHOOK: Input: default@combine1_1 #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/combine2.q.out ql/src/test/results/clientpositive/combine2.q.out index 20bc062..a05798c 100644 --- ql/src/test/results/clientpositive/combine2.q.out +++ ql/src/test/results/clientpositive/combine2.q.out @@ -5,14 +5,14 @@ POSTHOOK: type: SWITCHDATABASE PREHOOK: query: -- EXCLUDE_OS_WINDOWS -- excluded on windows because of difference in file name encoding logic - +-- SORT_QUERY_RESULTS create table combine2(key string) partitioned by (value string) PREHOOK: type: CREATETABLE POSTHOOK: query: -- EXCLUDE_OS_WINDOWS -- excluded on windows because of difference in file name encoding logic - +-- SORT_QUERY_RESULTS create table combine2(key string) partitioned by (value string) POSTHOOK: type: CREATETABLE @@ -89,10 +89,10 @@ value=val_8 value=val_9 value=| PREHOOK: query: explain -select key, value from combine2 where value is not null order by key +select key, value from combine2 where value is not null PREHOOK: type: QUERY POSTHOOK: query: explain -select key, value from combine2 where value is not null order by key +select key, value from combine2 where value is not null POSTHOOK: type: QUERY POSTHOOK: Lineage: combine2 PARTITION(value=2010-04-21 09:45:00).key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), (src)src.FieldSchema(name:key, type:string, comment:default), (src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: combine2 PARTITION(value=val_0).key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), (src)src.FieldSchema(name:key, type:string, comment:default), (src)src.FieldSchema(name:key, type:string, comment:default), ] @@ -117,27 +117,19 @@ STAGE PLANS: expressions: key (type: string), value (type: string) outputColumnNames: _col0, _col1 Statistics: Num rows: 12 Data size: 14 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + + File Output Operator + compressed: false Statistics: Num rows: 12 Data size: 14 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 12 Data size: 14 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 12 Data size: 14 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator limit: -1 -PREHOOK: query: select key, value from combine2 where value is not null order by key +PREHOOK: query: select key, value from combine2 where value is not null PREHOOK: type: QUERY PREHOOK: Input: default@combine2 PREHOOK: Input: default@combine2@value=2010-04-21 09%3A45%3A00 @@ -149,7 +141,7 @@ PREHOOK: Input: default@combine2@value=val_8 PREHOOK: Input: default@combine2@value=val_9 PREHOOK: Input: default@combine2@value=| #### A masked pattern was here #### -POSTHOOK: query: select key, value from combine2 where value is not null order by key +POSTHOOK: query: select key, value from combine2 where value is not null POSTHOOK: type: QUERY POSTHOOK: Input: default@combine2 POSTHOOK: Input: default@combine2@value=2010-04-21 09%3A45%3A00 diff --git ql/src/test/results/clientpositive/combine2_hadoop20.q.out ql/src/test/results/clientpositive/combine2_hadoop20.q.out index 5ba4f1f..c6f5b58 100644 --- ql/src/test/results/clientpositive/combine2_hadoop20.q.out +++ ql/src/test/results/clientpositive/combine2_hadoop20.q.out @@ -5,12 +5,14 @@ POSTHOOK: type: SWITCHDATABASE PREHOOK: query: -- EXCLUDE_OS_WINDOWS -- excluded on windows because of difference in file name encoding logic +-- SORT_QUERY_RESULTS create table combine2(key string) partitioned by (value string) PREHOOK: type: CREATETABLE POSTHOOK: query: -- EXCLUDE_OS_WINDOWS -- excluded on windows because of difference in file name encoding logic +-- SORT_QUERY_RESULTS create table combine2(key string) partitioned by (value string) POSTHOOK: type: CREATETABLE @@ -87,10 +89,10 @@ value=val_8 value=val_9 value=| PREHOOK: query: explain -select key, value from combine2 where value is not null order by key +select key, value from combine2 where value is not null PREHOOK: type: QUERY POSTHOOK: query: explain -select key, value from combine2 where value is not null order by key +select key, value from combine2 where value is not null POSTHOOK: type: QUERY POSTHOOK: Lineage: combine2 PARTITION(value=2010-04-21 09:45:00).key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), (src)src.FieldSchema(name:key, type:string, comment:default), (src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: combine2 PARTITION(value=val_0).key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), (src)src.FieldSchema(name:key, type:string, comment:default), (src)src.FieldSchema(name:key, type:string, comment:default), ] @@ -115,27 +117,19 @@ STAGE PLANS: expressions: key (type: string), value (type: string) outputColumnNames: _col0, _col1 Statistics: Num rows: 12 Data size: 14 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + + File Output Operator + compressed: false Statistics: Num rows: 12 Data size: 14 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 12 Data size: 14 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 12 Data size: 14 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator limit: -1 -PREHOOK: query: select key, value from combine2 where value is not null order by key +PREHOOK: query: select key, value from combine2 where value is not null PREHOOK: type: QUERY PREHOOK: Input: default@combine2 PREHOOK: Input: default@combine2@value=2010-04-21 09%3A45%3A00 @@ -147,7 +141,7 @@ PREHOOK: Input: default@combine2@value=val_8 PREHOOK: Input: default@combine2@value=val_9 PREHOOK: Input: default@combine2@value=| #### A masked pattern was here #### -POSTHOOK: query: select key, value from combine2 where value is not null order by key +POSTHOOK: query: select key, value from combine2 where value is not null POSTHOOK: type: QUERY POSTHOOK: Input: default@combine2 POSTHOOK: Input: default@combine2@value=2010-04-21 09%3A45%3A00 diff --git ql/src/test/results/clientpositive/correlationoptimizer10.q.out ql/src/test/results/clientpositive/correlationoptimizer10.q.out index c44a746..387774f 100644 --- ql/src/test/results/clientpositive/correlationoptimizer10.q.out +++ ql/src/test/results/clientpositive/correlationoptimizer10.q.out @@ -5,12 +5,15 @@ PREHOOK: query: -- When Correlation Optimizer is turned off, 4 MR jobs are neede -- introduce a GroupByOperator before the ReduceSinkOperator of -- the right table (yy in queries below) -- of LEFT SEMI JOIN. + +-- SORT_QUERY_RESULTS + EXPLAIN SELECT xx.key, xx.cnt FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx LEFT SEMI JOIN src yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt +ON xx.key=yy.key PREHOOK: type: QUERY POSTHOOK: query: -- When Correlation Optimizer is turned off, 4 MR jobs are needed. -- When Correlation Optimizer is turned on, 2 MR jobs are needed. @@ -19,22 +22,24 @@ POSTHOOK: query: -- When Correlation Optimizer is turned off, 4 MR jobs are need -- introduce a GroupByOperator before the ReduceSinkOperator of -- the right table (yy in queries below) -- of LEFT SEMI JOIN. + +-- SORT_QUERY_RESULTS + EXPLAIN SELECT xx.key, xx.cnt FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx LEFT SEMI JOIN src yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt +ON xx.key=yy.key POSTHOOK: type: QUERY STAGE DEPENDENCIES: - Stage-3 is a root stage - Stage-4 depends on stages: Stage-3 - Stage-1 depends on stages: Stage-4 - Stage-2 depends on stages: Stage-1 + Stage-2 is a root stage + Stage-3 depends on stages: Stage-2 + Stage-1 depends on stages: Stage-3 Stage-0 is a root stage STAGE PLANS: - Stage: Stage-3 + Stage: Stage-2 Map Reduce Map Operator Tree: TableScan @@ -80,7 +85,7 @@ STAGE PLANS: output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - Stage: Stage-4 + Stage: Stage-3 Map Reduce Map Operator Tree: TableScan @@ -150,30 +155,11 @@ STAGE PLANS: Statistics: Num rows: 63 Data size: 6393 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - - Stage: Stage-2 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: bigint) - sort order: ++ Statistics: Num rows: 63 Data size: 6393 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: bigint) - Reduce Operator Tree: - Extract - Statistics: Num rows: 63 Data size: 6393 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 63 Data size: 6393 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator @@ -183,7 +169,7 @@ PREHOOK: query: SELECT xx.key, xx.cnt FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx LEFT SEMI JOIN src yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt +ON xx.key=yy.key PREHOOK: type: QUERY PREHOOK: Input: default@src PREHOOK: Input: default@src1 @@ -192,7 +178,7 @@ POSTHOOK: query: SELECT xx.key, xx.cnt FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx LEFT SEMI JOIN src yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt +ON xx.key=yy.key POSTHOOK: type: QUERY POSTHOOK: Input: default@src POSTHOOK: Input: default@src1 @@ -217,18 +203,17 @@ SELECT xx.key, xx.cnt FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx LEFT SEMI JOIN src yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt +ON xx.key=yy.key PREHOOK: type: QUERY POSTHOOK: query: EXPLAIN SELECT xx.key, xx.cnt FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx LEFT SEMI JOIN src yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt +ON xx.key=yy.key POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-2 depends on stages: Stage-1 Stage-0 is a root stage STAGE PLANS: @@ -312,10 +297,11 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Mux Operator Statistics: Num rows: 62 Data size: 6244 Basic stats: COMPLETE Column stats: NONE Join Operator @@ -332,30 +318,11 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe - - Stage: Stage-2 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: bigint) - sort order: ++ - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: bigint) - Reduce Operator Tree: - Extract - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator @@ -365,7 +332,7 @@ PREHOOK: query: SELECT xx.key, xx.cnt FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx LEFT SEMI JOIN src yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt +ON xx.key=yy.key PREHOOK: type: QUERY PREHOOK: Input: default@src PREHOOK: Input: default@src1 @@ -374,7 +341,7 @@ POSTHOOK: query: SELECT xx.key, xx.cnt FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx LEFT SEMI JOIN src yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt +ON xx.key=yy.key POSTHOOK: type: QUERY POSTHOOK: Input: default@src POSTHOOK: Input: default@src1 @@ -405,12 +372,12 @@ EXPLAIN SELECT xx.key, xx.value FROM src1 xx -LEFT SEMI JOIN -(SELECT x.key as key +LEFT SEMI JOIN +(SELECT x.key as key FROM src x JOIN src y ON (x.key = y.key) WHERE x.key < 200 AND y.key > 20) yy -ON xx.key=yy.key ORDER BY xx.key, xx.value +ON xx.key=yy.key PREHOOK: type: QUERY POSTHOOK: query: -- When Correlation Optimizer is turned off, 4 MR jobs are needed. -- When Correlation Optimizer is turned on, 2 MR jobs are needed. @@ -423,17 +390,16 @@ EXPLAIN SELECT xx.key, xx.value FROM src1 xx -LEFT SEMI JOIN -(SELECT x.key as key +LEFT SEMI JOIN +(SELECT x.key as key FROM src x JOIN src y ON (x.key = y.key) WHERE x.key < 200 AND y.key > 20) yy -ON xx.key=yy.key ORDER BY xx.key, xx.value +ON xx.key=yy.key POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage Stage-2 depends on stages: Stage-1 - Stage-3 depends on stages: Stage-2 Stage-0 is a root stage STAGE PLANS: @@ -521,30 +487,11 @@ STAGE PLANS: Statistics: Num rows: 6 Data size: 727 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - - Stage: Stage-3 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: string) - sort order: ++ Statistics: Num rows: 6 Data size: 727 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 6 Data size: 727 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 6 Data size: 727 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator @@ -553,12 +500,12 @@ STAGE PLANS: PREHOOK: query: SELECT xx.key, xx.value FROM src1 xx -LEFT SEMI JOIN -(SELECT x.key as key +LEFT SEMI JOIN +(SELECT x.key as key FROM src x JOIN src y ON (x.key = y.key) WHERE x.key < 200 AND y.key > 20) yy -ON xx.key=yy.key ORDER BY xx.key, xx.value +ON xx.key=yy.key PREHOOK: type: QUERY PREHOOK: Input: default@src PREHOOK: Input: default@src1 @@ -566,12 +513,12 @@ PREHOOK: Input: default@src1 POSTHOOK: query: SELECT xx.key, xx.value FROM src1 xx -LEFT SEMI JOIN -(SELECT x.key as key +LEFT SEMI JOIN +(SELECT x.key as key FROM src x JOIN src y ON (x.key = y.key) WHERE x.key < 200 AND y.key > 20) yy -ON xx.key=yy.key ORDER BY xx.key, xx.value +ON xx.key=yy.key POSTHOOK: type: QUERY POSTHOOK: Input: default@src POSTHOOK: Input: default@src1 @@ -585,27 +532,26 @@ PREHOOK: query: EXPLAIN SELECT xx.key, xx.value FROM src1 xx -LEFT SEMI JOIN -(SELECT x.key as key +LEFT SEMI JOIN +(SELECT x.key as key FROM src x JOIN src y ON (x.key = y.key) WHERE x.key < 200 AND y.key > 20) yy -ON xx.key=yy.key ORDER BY xx.key, xx.value +ON xx.key=yy.key PREHOOK: type: QUERY POSTHOOK: query: EXPLAIN SELECT xx.key, xx.value FROM src1 xx -LEFT SEMI JOIN -(SELECT x.key as key +LEFT SEMI JOIN +(SELECT x.key as key FROM src x JOIN src y ON (x.key = y.key) WHERE x.key < 200 AND y.key > 20) yy -ON xx.key=yy.key ORDER BY xx.key, xx.value +ON xx.key=yy.key POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-2 depends on stages: Stage-1 Stage-0 is a root stage STAGE PLANS: @@ -663,10 +609,11 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Join Operator condition map: Inner Join 0 to 1 @@ -695,30 +642,11 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe - - Stage: Stage-2 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: string) - sort order: ++ - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator @@ -727,12 +655,12 @@ STAGE PLANS: PREHOOK: query: SELECT xx.key, xx.value FROM src1 xx -LEFT SEMI JOIN -(SELECT x.key as key +LEFT SEMI JOIN +(SELECT x.key as key FROM src x JOIN src y ON (x.key = y.key) WHERE x.key < 200 AND y.key > 20) yy -ON xx.key=yy.key ORDER BY xx.key, xx.value +ON xx.key=yy.key PREHOOK: type: QUERY PREHOOK: Input: default@src PREHOOK: Input: default@src1 @@ -740,12 +668,12 @@ PREHOOK: Input: default@src1 POSTHOOK: query: SELECT xx.key, xx.value FROM src1 xx -LEFT SEMI JOIN -(SELECT x.key as key +LEFT SEMI JOIN +(SELECT x.key as key FROM src x JOIN src y ON (x.key = y.key) WHERE x.key < 200 AND y.key > 20) yy -ON xx.key=yy.key ORDER BY xx.key, xx.value +ON xx.key=yy.key POSTHOOK: type: QUERY POSTHOOK: Input: default@src POSTHOOK: Input: default@src1 @@ -757,36 +685,35 @@ POSTHOOK: Input: default@src1 98 val_98 PREHOOK: query: -- When Correlation Optimizer is turned off, 4 MR jobs are needed. -- When Correlation Optimizer is turned on, 2 MR jobs are needed. --- This test is used to test if we can use shared scan for +-- This test is used to test if we can use shared scan for -- xx, yy:x, and yy:y. EXPLAIN SELECT xx.key, xx.value FROM src xx -LEFT SEMI JOIN -(SELECT x.key as key +LEFT SEMI JOIN +(SELECT x.key as key FROM src x JOIN src y ON (x.key = y.key) WHERE x.key < 200 AND x.key > 180) yy -ON xx.key=yy.key ORDER BY xx.key, xx.value +ON xx.key=yy.key PREHOOK: type: QUERY POSTHOOK: query: -- When Correlation Optimizer is turned off, 4 MR jobs are needed. -- When Correlation Optimizer is turned on, 2 MR jobs are needed. --- This test is used to test if we can use shared scan for +-- This test is used to test if we can use shared scan for -- xx, yy:x, and yy:y. EXPLAIN SELECT xx.key, xx.value FROM src xx -LEFT SEMI JOIN -(SELECT x.key as key +LEFT SEMI JOIN +(SELECT x.key as key FROM src x JOIN src y ON (x.key = y.key) WHERE x.key < 200 AND x.key > 180) yy -ON xx.key=yy.key ORDER BY xx.key, xx.value +ON xx.key=yy.key POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage Stage-2 depends on stages: Stage-1 - Stage-3 depends on stages: Stage-2 Stage-0 is a root stage STAGE PLANS: @@ -874,30 +801,11 @@ STAGE PLANS: Statistics: Num rows: 31 Data size: 6393 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - - Stage: Stage-3 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: string) - sort order: ++ Statistics: Num rows: 31 Data size: 6393 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 31 Data size: 6393 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 31 Data size: 6393 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator @@ -906,22 +814,22 @@ STAGE PLANS: PREHOOK: query: SELECT xx.key, xx.value FROM src xx -LEFT SEMI JOIN -(SELECT x.key as key +LEFT SEMI JOIN +(SELECT x.key as key FROM src x JOIN src y ON (x.key = y.key) WHERE x.key < 200 AND x.key > 180) yy -ON xx.key=yy.key ORDER BY xx.key, xx.value +ON xx.key=yy.key PREHOOK: type: QUERY PREHOOK: Input: default@src #### A masked pattern was here #### POSTHOOK: query: SELECT xx.key, xx.value FROM src xx -LEFT SEMI JOIN -(SELECT x.key as key +LEFT SEMI JOIN +(SELECT x.key as key FROM src x JOIN src y ON (x.key = y.key) WHERE x.key < 200 AND x.key > 180) yy -ON xx.key=yy.key ORDER BY xx.key, xx.value +ON xx.key=yy.key POSTHOOK: type: QUERY POSTHOOK: Input: default@src #### A masked pattern was here #### @@ -952,25 +860,24 @@ PREHOOK: query: EXPLAIN SELECT xx.key, xx.value FROM src xx -LEFT SEMI JOIN -(SELECT x.key as key +LEFT SEMI JOIN +(SELECT x.key as key FROM src x JOIN src y ON (x.key = y.key) WHERE x.key < 200 AND x.key > 180) yy -ON xx.key=yy.key ORDER BY xx.key, xx.value +ON xx.key=yy.key PREHOOK: type: QUERY POSTHOOK: query: EXPLAIN SELECT xx.key, xx.value FROM src xx -LEFT SEMI JOIN -(SELECT x.key as key +LEFT SEMI JOIN +(SELECT x.key as key FROM src x JOIN src y ON (x.key = y.key) WHERE x.key < 200 AND x.key > 180) yy -ON xx.key=yy.key ORDER BY xx.key, xx.value +ON xx.key=yy.key POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-2 depends on stages: Stage-1 Stage-0 is a root stage STAGE PLANS: @@ -1028,10 +935,11 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Join Operator condition map: Inner Join 0 to 1 @@ -1060,30 +968,11 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe - - Stage: Stage-2 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: string) - sort order: ++ - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator @@ -1092,22 +981,22 @@ STAGE PLANS: PREHOOK: query: SELECT xx.key, xx.value FROM src xx -LEFT SEMI JOIN -(SELECT x.key as key +LEFT SEMI JOIN +(SELECT x.key as key FROM src x JOIN src y ON (x.key = y.key) WHERE x.key < 200 AND x.key > 180) yy -ON xx.key=yy.key ORDER BY xx.key, xx.value +ON xx.key=yy.key PREHOOK: type: QUERY PREHOOK: Input: default@src #### A masked pattern was here #### POSTHOOK: query: SELECT xx.key, xx.value FROM src xx -LEFT SEMI JOIN -(SELECT x.key as key +LEFT SEMI JOIN +(SELECT x.key as key FROM src x JOIN src y ON (x.key = y.key) WHERE x.key < 200 AND x.key > 180) yy -ON xx.key=yy.key ORDER BY xx.key, xx.value +ON xx.key=yy.key POSTHOOK: type: QUERY POSTHOOK: Input: default@src #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/correlationoptimizer15.q.out ql/src/test/results/clientpositive/correlationoptimizer15.q.out index 12914cc..34794a1 100644 --- ql/src/test/results/clientpositive/correlationoptimizer15.q.out +++ ql/src/test/results/clientpositive/correlationoptimizer15.q.out @@ -1,4 +1,6 @@ -PREHOOK: query: -- When Correlation Optimizer is turned off, 4 MR jobs are needed. +PREHOOK: query: -- SORT_QUERY_RESULTS + +-- When Correlation Optimizer is turned off, 4 MR jobs are needed. -- When Correlation Optimizer is turned on, 2 MR jobs are needed. -- The first job will evaluate subquery xx and xx join yy. EXPLAIN @@ -8,7 +10,9 @@ FROM JOIN src yy ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key PREHOOK: type: QUERY -POSTHOOK: query: -- When Correlation Optimizer is turned off, 4 MR jobs are needed. +POSTHOOK: query: -- SORT_QUERY_RESULTS + +-- When Correlation Optimizer is turned off, 4 MR jobs are needed. -- When Correlation Optimizer is turned on, 2 MR jobs are needed. -- The first job will evaluate subquery xx and xx join yy. EXPLAIN @@ -167,7 +171,7 @@ PREHOOK: query: SELECT xx.key, xx.cnt, yy.key FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN src yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key +ON xx.key=yy.key PREHOOK: type: QUERY PREHOOK: Input: default@src PREHOOK: Input: default@src1 @@ -176,7 +180,7 @@ POSTHOOK: query: SELECT xx.key, xx.cnt, yy.key FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN src yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key +ON xx.key=yy.key POSTHOOK: type: QUERY POSTHOOK: Input: default@src POSTHOOK: Input: default@src1 @@ -223,18 +227,17 @@ SELECT xx.key, xx.cnt, yy.key FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN src yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key +ON xx.key=yy.key PREHOOK: type: QUERY POSTHOOK: query: EXPLAIN SELECT xx.key, xx.cnt, yy.key FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN src yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key +ON xx.key=yy.key POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-2 depends on stages: Stage-1 Stage-0 is a root stage STAGE PLANS: @@ -310,10 +313,11 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Mux Operator Statistics: Num rows: 62 Data size: 6244 Basic stats: COMPLETE Column stats: NONE Join Operator @@ -330,30 +334,11 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe - - Stage: Stage-2 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: bigint), _col2 (type: string) - sort order: +++ - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: bigint), _col2 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator @@ -363,7 +348,7 @@ PREHOOK: query: SELECT xx.key, xx.cnt, yy.key FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN src yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key +ON xx.key=yy.key PREHOOK: type: QUERY PREHOOK: Input: default@src PREHOOK: Input: default@src1 @@ -372,7 +357,7 @@ POSTHOOK: query: SELECT xx.key, xx.cnt, yy.key FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN src yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key +ON xx.key=yy.key POSTHOOK: type: QUERY POSTHOOK: Input: default@src POSTHOOK: Input: default@src1 diff --git ql/src/test/results/clientpositive/correlationoptimizer6.q.out ql/src/test/results/clientpositive/correlationoptimizer6.q.out index 232693d..bdb7f2e 100644 --- ql/src/test/results/clientpositive/correlationoptimizer6.q.out +++ ql/src/test/results/clientpositive/correlationoptimizer6.q.out @@ -1,4 +1,6 @@ -PREHOOK: query: -- When Correlation Optimizer is turned off, 6 MR jobs are needed. +PREHOOK: query: -- SORT_QUERY_RESULTS + +-- When Correlation Optimizer is turned off, 6 MR jobs are needed. -- When Correlation Optimizer is turned on, 2 MR jobs are needed. -- The first job will evaluate subquery xx, subquery yy, and xx join yy. EXPLAIN @@ -7,9 +9,11 @@ FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.cnt +ON xx.key=yy.key PREHOOK: type: QUERY -POSTHOOK: query: -- When Correlation Optimizer is turned off, 6 MR jobs are needed. +POSTHOOK: query: -- SORT_QUERY_RESULTS + +-- When Correlation Optimizer is turned off, 6 MR jobs are needed. -- When Correlation Optimizer is turned on, 2 MR jobs are needed. -- The first job will evaluate subquery xx, subquery yy, and xx join yy. EXPLAIN @@ -18,15 +22,14 @@ FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.cnt +ON xx.key=yy.key POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage Stage-2 depends on stages: Stage-1 - Stage-3 depends on stages: Stage-2, Stage-7 - Stage-4 depends on stages: Stage-3 - Stage-6 is a root stage - Stage-7 depends on stages: Stage-6 + Stage-3 depends on stages: Stage-2, Stage-6 + Stage-5 is a root stage + Stage-6 depends on stages: Stage-5 Stage-0 is a root stage STAGE PLANS: @@ -136,32 +139,13 @@ STAGE PLANS: Statistics: Num rows: 34 Data size: 3459 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - - Stage: Stage-4 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: bigint), _col2 (type: string), _col3 (type: bigint) - sort order: ++++ Statistics: Num rows: 34 Data size: 3459 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: bigint), _col2 (type: string), _col3 (type: bigint) - Reduce Operator Tree: - Extract - Statistics: Num rows: 34 Data size: 3459 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 34 Data size: 3459 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - Stage: Stage-6 + Stage: Stage-5 Map Reduce Map Operator Tree: TableScan @@ -207,7 +191,7 @@ STAGE PLANS: output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - Stage: Stage-7 + Stage: Stage-6 Map Reduce Map Operator Tree: TableScan @@ -244,7 +228,7 @@ FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.cnt +ON xx.key=yy.key PREHOOK: type: QUERY PREHOOK: Input: default@src PREHOOK: Input: default@src1 @@ -254,7 +238,7 @@ FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.cnt +ON xx.key=yy.key POSTHOOK: type: QUERY POSTHOOK: Input: default@src POSTHOOK: Input: default@src1 @@ -280,7 +264,7 @@ FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.cnt +ON xx.key=yy.key PREHOOK: type: QUERY POSTHOOK: query: EXPLAIN SELECT xx.key, xx.cnt, yy.key, yy.cnt @@ -288,11 +272,10 @@ FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.cnt +ON xx.key=yy.key POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-2 depends on stages: Stage-1 Stage-0 is a root stage STAGE PLANS: @@ -376,10 +359,11 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Join Operator condition map: Inner Join 0 to 1 @@ -420,30 +404,11 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe - - Stage: Stage-2 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: bigint), _col2 (type: string), _col3 (type: bigint) - sort order: ++++ - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: bigint), _col2 (type: string), _col3 (type: bigint) - Reduce Operator Tree: - Extract - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator @@ -454,7 +419,7 @@ FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.cnt +ON xx.key=yy.key PREHOOK: type: QUERY PREHOOK: Input: default@src PREHOOK: Input: default@src1 @@ -464,7 +429,7 @@ FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.cnt +ON xx.key=yy.key POSTHOOK: type: QUERY POSTHOOK: Input: default@src POSTHOOK: Input: default@src1 @@ -491,7 +456,7 @@ FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.cnt +ON xx.key=yy.key PREHOOK: type: QUERY POSTHOOK: query: -- Enable hive.auto.convert.join. EXPLAIN @@ -500,11 +465,10 @@ FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.cnt +ON xx.key=yy.key POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-2 is a root stage - Stage-3 depends on stages: Stage-2 Stage-0 is a root stage STAGE PLANS: @@ -618,10 +582,11 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Group By Operator aggregations: count(VALUE._col0) keys: KEY._col0 (type: string) @@ -648,30 +613,11 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe - - Stage: Stage-3 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: bigint), _col2 (type: string), _col3 (type: bigint) - sort order: ++++ - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: bigint), _col2 (type: string), _col3 (type: bigint) - Reduce Operator Tree: - Extract - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator @@ -682,7 +628,7 @@ FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.cnt +ON xx.key=yy.key PREHOOK: type: QUERY PREHOOK: Input: default@src PREHOOK: Input: default@src1 @@ -692,7 +638,7 @@ FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.cnt +ON xx.key=yy.key POSTHOOK: type: QUERY POSTHOOK: Input: default@src POSTHOOK: Input: default@src1 @@ -720,7 +666,7 @@ SELECT xx.key, yy.key, yy.cnt FROM src1 xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x GROUP BY x.key) yy -ON xx.key=yy.key ORDER BY xx.key, yy.key, yy.cnt +ON xx.key=yy.key PREHOOK: type: QUERY POSTHOOK: query: -- When Correlation Optimizer is turned off, 3 MR jobs are needed. -- When Correlation Optimizer is turned on, 2 MR jobs are needed. @@ -730,12 +676,11 @@ SELECT xx.key, yy.key, yy.cnt FROM src1 xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x GROUP BY x.key) yy -ON xx.key=yy.key ORDER BY xx.key, yy.key, yy.cnt +ON xx.key=yy.key POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage Stage-2 depends on stages: Stage-1 - Stage-3 depends on stages: Stage-2 Stage-0 is a root stage STAGE PLANS: @@ -813,30 +758,11 @@ STAGE PLANS: Statistics: Num rows: 31 Data size: 3196 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - - Stage: Stage-3 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint) - sort order: +++ Statistics: Num rows: 31 Data size: 3196 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint) - Reduce Operator Tree: - Extract - Statistics: Num rows: 31 Data size: 3196 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 31 Data size: 3196 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator @@ -846,7 +772,7 @@ PREHOOK: query: SELECT xx.key, yy.key, yy.cnt FROM src1 xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x GROUP BY x.key) yy -ON xx.key=yy.key ORDER BY xx.key, yy.key, yy.cnt +ON xx.key=yy.key PREHOOK: type: QUERY PREHOOK: Input: default@src PREHOOK: Input: default@src1 @@ -855,7 +781,7 @@ POSTHOOK: query: SELECT xx.key, yy.key, yy.cnt FROM src1 xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x GROUP BY x.key) yy -ON xx.key=yy.key ORDER BY xx.key, yy.key, yy.cnt +ON xx.key=yy.key POSTHOOK: type: QUERY POSTHOOK: Input: default@src POSTHOOK: Input: default@src1 @@ -880,18 +806,17 @@ SELECT xx.key, yy.key, yy.cnt FROM src1 xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x GROUP BY x.key) yy -ON xx.key=yy.key ORDER BY xx.key, yy.key, yy.cnt +ON xx.key=yy.key PREHOOK: type: QUERY POSTHOOK: query: EXPLAIN SELECT xx.key, yy.key, yy.cnt FROM src1 xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x GROUP BY x.key) yy -ON xx.key=yy.key ORDER BY xx.key, yy.key, yy.cnt +ON xx.key=yy.key POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-2 depends on stages: Stage-1 Stage-0 is a root stage STAGE PLANS: @@ -945,10 +870,11 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Group By Operator aggregations: count(VALUE._col0) keys: KEY._col0 (type: string) @@ -975,30 +901,11 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe - - Stage: Stage-2 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint) - sort order: +++ - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint) - Reduce Operator Tree: - Extract - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator @@ -1008,7 +915,7 @@ PREHOOK: query: SELECT xx.key, yy.key, yy.cnt FROM src1 xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x GROUP BY x.key) yy -ON xx.key=yy.key ORDER BY xx.key, yy.key, yy.cnt +ON xx.key=yy.key PREHOOK: type: QUERY PREHOOK: Input: default@src PREHOOK: Input: default@src1 @@ -1017,7 +924,7 @@ POSTHOOK: query: SELECT xx.key, yy.key, yy.cnt FROM src1 xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x GROUP BY x.key) yy -ON xx.key=yy.key ORDER BY xx.key, yy.key, yy.cnt +ON xx.key=yy.key POSTHOOK: type: QUERY POSTHOOK: Input: default@src POSTHOOK: Input: default@src1 @@ -1045,7 +952,7 @@ SELECT xx.key, yy.key, yy.cnt FROM src1 xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON xx.key=yy.key ORDER BY xx.key, yy.key, yy.cnt +ON xx.key=yy.key PREHOOK: type: QUERY POSTHOOK: query: -- When Correlation Optimizer is turned off, 4 MR jobs are needed. -- When Correlation Optimizer is turned on, 2 MR jobs are needed. @@ -1055,13 +962,12 @@ SELECT xx.key, yy.key, yy.cnt FROM src1 xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON xx.key=yy.key ORDER BY xx.key, yy.key, yy.cnt +ON xx.key=yy.key POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage Stage-2 depends on stages: Stage-1 Stage-3 depends on stages: Stage-2 - Stage-4 depends on stages: Stage-3 Stage-0 is a root stage STAGE PLANS: @@ -1173,30 +1079,11 @@ STAGE PLANS: Statistics: Num rows: 34 Data size: 3459 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - - Stage: Stage-4 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint) - sort order: +++ Statistics: Num rows: 34 Data size: 3459 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint) - Reduce Operator Tree: - Extract - Statistics: Num rows: 34 Data size: 3459 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 34 Data size: 3459 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator @@ -1206,7 +1093,7 @@ PREHOOK: query: SELECT xx.key, yy.key, yy.cnt FROM src1 xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON xx.key=yy.key ORDER BY xx.key, yy.key, yy.cnt +ON xx.key=yy.key PREHOOK: type: QUERY PREHOOK: Input: default@src PREHOOK: Input: default@src1 @@ -1215,7 +1102,7 @@ POSTHOOK: query: SELECT xx.key, yy.key, yy.cnt FROM src1 xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON xx.key=yy.key ORDER BY xx.key, yy.key, yy.cnt +ON xx.key=yy.key POSTHOOK: type: QUERY POSTHOOK: Input: default@src POSTHOOK: Input: default@src1 @@ -1240,18 +1127,17 @@ SELECT xx.key, yy.key, yy.cnt FROM src1 xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON xx.key=yy.key ORDER BY xx.key, yy.key, yy.cnt +ON xx.key=yy.key PREHOOK: type: QUERY POSTHOOK: query: EXPLAIN SELECT xx.key, yy.key, yy.cnt FROM src1 xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON xx.key=yy.key ORDER BY xx.key, yy.key, yy.cnt +ON xx.key=yy.key POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-2 depends on stages: Stage-1 Stage-0 is a root stage STAGE PLANS: @@ -1303,10 +1189,11 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Join Operator condition map: Inner Join 0 to 1 @@ -1347,30 +1234,11 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe - - Stage: Stage-2 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint) - sort order: +++ - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint) - Reduce Operator Tree: - Extract - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator @@ -1380,7 +1248,7 @@ PREHOOK: query: SELECT xx.key, yy.key, yy.cnt FROM src1 xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON xx.key=yy.key ORDER BY xx.key, yy.key, yy.cnt +ON xx.key=yy.key PREHOOK: type: QUERY PREHOOK: Input: default@src PREHOOK: Input: default@src1 @@ -1389,7 +1257,7 @@ POSTHOOK: query: SELECT xx.key, yy.key, yy.cnt FROM src1 xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON xx.key=yy.key ORDER BY xx.key, yy.key, yy.cnt +ON xx.key=yy.key POSTHOOK: type: QUERY POSTHOOK: Input: default@src POSTHOOK: Input: default@src1 @@ -1417,7 +1285,7 @@ SELECT xx.key, xx.cnt, yy.key FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN src yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key +ON xx.key=yy.key PREHOOK: type: QUERY POSTHOOK: query: -- When Correlation Optimizer is turned off, 4 MR jobs are needed. -- When Correlation Optimizer is turned on, 2 MR jobs are needed. @@ -1427,17 +1295,16 @@ SELECT xx.key, xx.cnt, yy.key FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN src yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key +ON xx.key=yy.key POSTHOOK: type: QUERY STAGE DEPENDENCIES: - Stage-3 is a root stage - Stage-4 depends on stages: Stage-3 - Stage-1 depends on stages: Stage-4 - Stage-2 depends on stages: Stage-1 + Stage-2 is a root stage + Stage-3 depends on stages: Stage-2 + Stage-1 depends on stages: Stage-3 Stage-0 is a root stage STAGE PLANS: - Stage: Stage-3 + Stage: Stage-2 Map Reduce Map Operator Tree: TableScan @@ -1483,7 +1350,7 @@ STAGE PLANS: output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - Stage: Stage-4 + Stage: Stage-3 Map Reduce Map Operator Tree: TableScan @@ -1545,30 +1412,11 @@ STAGE PLANS: Statistics: Num rows: 63 Data size: 6393 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - - Stage: Stage-2 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: bigint), _col2 (type: string) - sort order: +++ Statistics: Num rows: 63 Data size: 6393 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: bigint), _col2 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 63 Data size: 6393 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 63 Data size: 6393 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator @@ -1578,7 +1426,7 @@ PREHOOK: query: SELECT xx.key, xx.cnt, yy.key FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN src yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key +ON xx.key=yy.key PREHOOK: type: QUERY PREHOOK: Input: default@src PREHOOK: Input: default@src1 @@ -1587,7 +1435,7 @@ POSTHOOK: query: SELECT xx.key, xx.cnt, yy.key FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN src yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key +ON xx.key=yy.key POSTHOOK: type: QUERY POSTHOOK: Input: default@src POSTHOOK: Input: default@src1 @@ -1634,18 +1482,17 @@ SELECT xx.key, xx.cnt, yy.key FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN src yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key +ON xx.key=yy.key PREHOOK: type: QUERY POSTHOOK: query: EXPLAIN SELECT xx.key, xx.cnt, yy.key FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN src yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key +ON xx.key=yy.key POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-2 depends on stages: Stage-1 Stage-0 is a root stage STAGE PLANS: @@ -1721,10 +1568,11 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Mux Operator Statistics: Num rows: 62 Data size: 6244 Basic stats: COMPLETE Column stats: NONE Join Operator @@ -1741,30 +1589,11 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe - - Stage: Stage-2 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: bigint), _col2 (type: string) - sort order: +++ - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: bigint), _col2 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator @@ -1774,7 +1603,7 @@ PREHOOK: query: SELECT xx.key, xx.cnt, yy.key FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN src yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key +ON xx.key=yy.key PREHOOK: type: QUERY PREHOOK: Input: default@src PREHOOK: Input: default@src1 @@ -1783,7 +1612,7 @@ POSTHOOK: query: SELECT xx.key, xx.cnt, yy.key FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN src yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key +ON xx.key=yy.key POSTHOOK: type: QUERY POSTHOOK: Input: default@src POSTHOOK: Input: default@src1 @@ -1834,8 +1663,7 @@ FROM src1 xx JOIN src zz ON xx.key=zz.key JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON zz.key=yy.key -ORDER BY xx.key, yy.key, yy.cnt +ON zz.key=yy.key PREHOOK: type: QUERY POSTHOOK: query: -- When Correlation Optimizer is turned off, 4 MR jobs are needed. -- When Correlation Optimizer is turned on, 2 MR jobs are needed. @@ -1846,18 +1674,16 @@ FROM src1 xx JOIN src zz ON xx.key=zz.key JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON zz.key=yy.key -ORDER BY xx.key, yy.key, yy.cnt +ON zz.key=yy.key POSTHOOK: type: QUERY STAGE DEPENDENCIES: - Stage-3 is a root stage - Stage-4 depends on stages: Stage-3 - Stage-1 depends on stages: Stage-4 - Stage-2 depends on stages: Stage-1 + Stage-2 is a root stage + Stage-3 depends on stages: Stage-2 + Stage-1 depends on stages: Stage-3 Stage-0 is a root stage STAGE PLANS: - Stage: Stage-3 + Stage: Stage-2 Map Reduce Map Operator Tree: TableScan @@ -1903,7 +1729,7 @@ STAGE PLANS: output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - Stage: Stage-4 + Stage: Stage-3 Map Reduce Map Operator Tree: TableScan @@ -1975,30 +1801,11 @@ STAGE PLANS: Statistics: Num rows: 127 Data size: 12786 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - - Stage: Stage-2 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint) - sort order: +++ Statistics: Num rows: 127 Data size: 12786 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint) - Reduce Operator Tree: - Extract - Statistics: Num rows: 127 Data size: 12786 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 127 Data size: 12786 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator @@ -2009,8 +1816,7 @@ FROM src1 xx JOIN src zz ON xx.key=zz.key JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON zz.key=yy.key -ORDER BY xx.key, yy.key, yy.cnt +ON zz.key=yy.key PREHOOK: type: QUERY PREHOOK: Input: default@src PREHOOK: Input: default@src1 @@ -2020,8 +1826,7 @@ FROM src1 xx JOIN src zz ON xx.key=zz.key JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON zz.key=yy.key -ORDER BY xx.key, yy.key, yy.cnt +ON zz.key=yy.key POSTHOOK: type: QUERY POSTHOOK: Input: default@src POSTHOOK: Input: default@src1 @@ -2072,8 +1877,7 @@ FROM src1 xx JOIN src zz ON xx.key=zz.key JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON zz.key=yy.key -ORDER BY xx.key, yy.key, yy.cnt +ON zz.key=yy.key PREHOOK: type: QUERY POSTHOOK: query: -- When Correlation Optimizer is turned off, 4 MR jobs are needed. -- When Correlation Optimizer is turned on, 2 MR jobs are needed. @@ -2084,12 +1888,10 @@ FROM src1 xx JOIN src zz ON xx.key=zz.key JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON zz.key=yy.key -ORDER BY xx.key, yy.key, yy.cnt +ON zz.key=yy.key POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-2 depends on stages: Stage-1 Stage-0 is a root stage STAGE PLANS: @@ -2151,10 +1953,11 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Join Operator condition map: Inner Join 0 to 1 @@ -2197,30 +2000,11 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe - - Stage: Stage-2 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint) - sort order: +++ - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint) - Reduce Operator Tree: - Extract - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator @@ -2231,8 +2015,7 @@ FROM src1 xx JOIN src zz ON xx.key=zz.key JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON zz.key=yy.key -ORDER BY xx.key, yy.key, yy.cnt +ON zz.key=yy.key PREHOOK: type: QUERY PREHOOK: Input: default@src PREHOOK: Input: default@src1 @@ -2242,8 +2025,7 @@ FROM src1 xx JOIN src zz ON xx.key=zz.key JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON zz.key=yy.key -ORDER BY xx.key, yy.key, yy.cnt +ON zz.key=yy.key POSTHOOK: type: QUERY POSTHOOK: Input: default@src POSTHOOK: Input: default@src1 @@ -2294,7 +2076,7 @@ FROM src1 xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy ON xx.key=yy.key JOIN src zz -ON yy.key=zz.key ORDER BY xx.key, yy.key, yy.cnt +ON yy.key=zz.key PREHOOK: type: QUERY POSTHOOK: query: -- When Correlation Optimizer is turned off, 4 MR jobs are needed. -- When Correlation Optimizer is turned on, 2 MR jobs are needed. @@ -2305,17 +2087,16 @@ FROM src1 xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy ON xx.key=yy.key JOIN src zz -ON yy.key=zz.key ORDER BY xx.key, yy.key, yy.cnt +ON yy.key=zz.key POSTHOOK: type: QUERY STAGE DEPENDENCIES: - Stage-3 is a root stage - Stage-4 depends on stages: Stage-3 - Stage-1 depends on stages: Stage-4 - Stage-2 depends on stages: Stage-1 + Stage-2 is a root stage + Stage-3 depends on stages: Stage-2 + Stage-1 depends on stages: Stage-3 Stage-0 is a root stage STAGE PLANS: - Stage: Stage-3 + Stage: Stage-2 Map Reduce Map Operator Tree: TableScan @@ -2361,7 +2142,7 @@ STAGE PLANS: output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - Stage: Stage-4 + Stage: Stage-3 Map Reduce Map Operator Tree: TableScan @@ -2433,30 +2214,11 @@ STAGE PLANS: Statistics: Num rows: 127 Data size: 12786 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - - Stage: Stage-2 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint) - sort order: +++ Statistics: Num rows: 127 Data size: 12786 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint) - Reduce Operator Tree: - Extract - Statistics: Num rows: 127 Data size: 12786 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 127 Data size: 12786 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator @@ -2467,7 +2229,7 @@ FROM src1 xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy ON xx.key=yy.key JOIN src zz -ON yy.key=zz.key ORDER BY xx.key, yy.key, yy.cnt +ON yy.key=zz.key PREHOOK: type: QUERY PREHOOK: Input: default@src PREHOOK: Input: default@src1 @@ -2477,7 +2239,7 @@ FROM src1 xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy ON xx.key=yy.key JOIN src zz -ON yy.key=zz.key ORDER BY xx.key, yy.key, yy.cnt +ON yy.key=zz.key POSTHOOK: type: QUERY POSTHOOK: Input: default@src POSTHOOK: Input: default@src1 @@ -2525,7 +2287,7 @@ FROM src1 xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy ON xx.key=yy.key JOIN src zz -ON yy.key=zz.key ORDER BY xx.key, yy.key, yy.cnt +ON yy.key=zz.key PREHOOK: type: QUERY POSTHOOK: query: EXPLAIN SELECT xx.key, yy.key, yy.cnt @@ -2533,11 +2295,10 @@ FROM src1 xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy ON xx.key=yy.key JOIN src zz -ON yy.key=zz.key ORDER BY xx.key, yy.key, yy.cnt +ON yy.key=zz.key POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-2 depends on stages: Stage-1 Stage-0 is a root stage STAGE PLANS: @@ -2599,10 +2360,11 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Join Operator condition map: Inner Join 0 to 1 @@ -2645,30 +2407,11 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe - - Stage: Stage-2 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint) - sort order: +++ - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint) - Reduce Operator Tree: - Extract - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator @@ -2679,7 +2422,7 @@ FROM src1 xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy ON xx.key=yy.key JOIN src zz -ON yy.key=zz.key ORDER BY xx.key, yy.key, yy.cnt +ON yy.key=zz.key PREHOOK: type: QUERY PREHOOK: Input: default@src PREHOOK: Input: default@src1 @@ -2689,7 +2432,7 @@ FROM src1 xx JOIN (SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy ON xx.key=yy.key JOIN src zz -ON yy.key=zz.key ORDER BY xx.key, yy.key, yy.cnt +ON yy.key=zz.key POSTHOOK: type: QUERY POSTHOOK: Input: default@src POSTHOOK: Input: default@src1 @@ -2742,7 +2485,6 @@ FROM JOIN (SELECT y.key as key, count(*) AS cnt FROM src1 y group by y.key) yy ON (xx.key=yy.key) GROUP BY xx.key) tmp JOIN src z ON tmp.key=z.key -ORDER BY tmp.key, tmp.sum1, tmp.sum2, z.key, z.value PREHOOK: type: QUERY POSTHOOK: query: -- When Correlation Optimizer is turned off, 6 MR jobs are needed. -- When Correlation Optimizer is turned on, 2 MR jobs are needed. @@ -2755,15 +2497,13 @@ FROM JOIN (SELECT y.key as key, count(*) AS cnt FROM src1 y group by y.key) yy ON (xx.key=yy.key) GROUP BY xx.key) tmp JOIN src z ON tmp.key=z.key -ORDER BY tmp.key, tmp.sum1, tmp.sum2, z.key, z.value POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-2 depends on stages: Stage-1, Stage-7 + Stage-2 depends on stages: Stage-1, Stage-6 Stage-3 depends on stages: Stage-2 Stage-4 depends on stages: Stage-3 - Stage-5 depends on stages: Stage-4 - Stage-7 is a root stage + Stage-6 is a root stage Stage-0 is a root stage STAGE PLANS: @@ -2912,32 +2652,13 @@ STAGE PLANS: Statistics: Num rows: 31 Data size: 6393 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - - Stage: Stage-5 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: bigint), _col2 (type: bigint), _col3 (type: string), _col4 (type: string) - sort order: +++++ Statistics: Num rows: 31 Data size: 6393 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: bigint), _col2 (type: bigint), _col3 (type: string), _col4 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 31 Data size: 6393 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 31 Data size: 6393 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - Stage: Stage-7 + Stage: Stage-6 Map Reduce Map Operator Tree: TableScan @@ -2988,7 +2709,6 @@ FROM JOIN (SELECT y.key as key, count(*) AS cnt FROM src1 y group by y.key) yy ON (xx.key=yy.key) GROUP BY xx.key) tmp JOIN src z ON tmp.key=z.key -ORDER BY tmp.key, tmp.sum1, tmp.sum2, z.key, z.value PREHOOK: type: QUERY PREHOOK: Input: default@src PREHOOK: Input: default@src1 @@ -3000,7 +2720,6 @@ FROM JOIN (SELECT y.key as key, count(*) AS cnt FROM src1 y group by y.key) yy ON (xx.key=yy.key) GROUP BY xx.key) tmp JOIN src z ON tmp.key=z.key -ORDER BY tmp.key, tmp.sum1, tmp.sum2, z.key, z.value POSTHOOK: type: QUERY POSTHOOK: Input: default@src POSTHOOK: Input: default@src1 @@ -3050,7 +2769,6 @@ FROM JOIN (SELECT y.key as key, count(*) AS cnt FROM src1 y group by y.key) yy ON (xx.key=yy.key) GROUP BY xx.key) tmp JOIN src z ON tmp.key=z.key -ORDER BY tmp.key, tmp.sum1, tmp.sum2, z.key, z.value PREHOOK: type: QUERY POSTHOOK: query: EXPLAIN SELECT tmp.key, tmp.sum1, tmp.sum2, z.key, z.value @@ -3060,11 +2778,9 @@ FROM JOIN (SELECT y.key as key, count(*) AS cnt FROM src1 y group by y.key) yy ON (xx.key=yy.key) GROUP BY xx.key) tmp JOIN src z ON tmp.key=z.key -ORDER BY tmp.key, tmp.sum1, tmp.sum2, z.key, z.value POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-2 depends on stages: Stage-1 Stage-0 is a root stage STAGE PLANS: @@ -3173,10 +2889,11 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Group By Operator aggregations: count(VALUE._col0) keys: KEY._col0 (type: string) @@ -3229,10 +2946,11 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Mux Operator Statistics: Num rows: 89 Data size: 11840 Basic stats: COMPLETE Column stats: NONE Join Operator @@ -3249,30 +2967,11 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe - - Stage: Stage-2 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: bigint), _col2 (type: bigint), _col3 (type: string), _col4 (type: string) - sort order: +++++ - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: bigint), _col2 (type: bigint), _col3 (type: string), _col4 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator @@ -3285,7 +2984,6 @@ FROM JOIN (SELECT y.key as key, count(*) AS cnt FROM src1 y group by y.key) yy ON (xx.key=yy.key) GROUP BY xx.key) tmp JOIN src z ON tmp.key=z.key -ORDER BY tmp.key, tmp.sum1, tmp.sum2, z.key, z.value PREHOOK: type: QUERY PREHOOK: Input: default@src PREHOOK: Input: default@src1 @@ -3297,7 +2995,6 @@ FROM JOIN (SELECT y.key as key, count(*) AS cnt FROM src1 y group by y.key) yy ON (xx.key=yy.key) GROUP BY xx.key) tmp JOIN src z ON tmp.key=z.key -ORDER BY tmp.key, tmp.sum1, tmp.sum2, z.key, z.value POSTHOOK: type: QUERY POSTHOOK: Input: default@src POSTHOOK: Input: default@src1 @@ -3623,7 +3320,7 @@ FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN (SELECT x.key as key, x.value as value, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key, x.value) yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.value, yy.cnt +ON xx.key=yy.key PREHOOK: type: QUERY POSTHOOK: query: EXPLAIN SELECT xx.key, xx.cnt, yy.key, yy.value, yy.cnt @@ -3631,13 +3328,12 @@ FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN (SELECT x.key as key, x.value as value, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key, x.value) yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.value, yy.cnt +ON xx.key=yy.key POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage Stage-2 depends on stages: Stage-1 Stage-3 depends on stages: Stage-2 - Stage-4 depends on stages: Stage-3 Stage-0 is a root stage STAGE PLANS: @@ -3785,10 +3481,11 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Mux Operator Statistics: Num rows: 35 Data size: 3577 Basic stats: COMPLETE Column stats: NONE Join Operator @@ -3805,30 +3502,11 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe - - Stage: Stage-4 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: bigint), _col2 (type: string), _col3 (type: string), _col4 (type: bigint) - sort order: +++++ - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: bigint), _col2 (type: string), _col3 (type: string), _col4 (type: bigint) - Reduce Operator Tree: - Extract - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator @@ -3839,7 +3517,7 @@ FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN (SELECT x.key as key, x.value as value, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key, x.value) yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.value, yy.cnt +ON xx.key=yy.key PREHOOK: type: QUERY PREHOOK: Input: default@src PREHOOK: Input: default@src1 @@ -3849,7 +3527,7 @@ FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN (SELECT x.key as key, x.value as value, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key, x.value) yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.value, yy.cnt +ON xx.key=yy.key POSTHOOK: type: QUERY POSTHOOK: Input: default@src POSTHOOK: Input: default@src1 @@ -3875,7 +3553,7 @@ FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN (SELECT x.key as key, x.value as value, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key, x.value) yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.value, yy.cnt +ON xx.key=yy.key PREHOOK: type: QUERY POSTHOOK: query: EXPLAIN SELECT xx.key, xx.cnt, yy.key, yy.value, yy.cnt @@ -3883,12 +3561,11 @@ FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN (SELECT x.key as key, x.value as value, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key, x.value) yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.value, yy.cnt +ON xx.key=yy.key POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-2 is a root stage Stage-3 depends on stages: Stage-2 - Stage-4 depends on stages: Stage-3 Stage-0 is a root stage STAGE PLANS: @@ -4034,10 +3711,11 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Mux Operator Statistics: Num rows: 49 Data size: 5021 Basic stats: COMPLETE Column stats: NONE Join Operator @@ -4054,30 +3732,11 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe - - Stage: Stage-4 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: bigint), _col2 (type: string), _col3 (type: string), _col4 (type: bigint) - sort order: +++++ - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: bigint), _col2 (type: string), _col3 (type: string), _col4 (type: bigint) - Reduce Operator Tree: - Extract - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator @@ -4088,7 +3747,7 @@ FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN (SELECT x.key as key, x.value as value, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key, x.value) yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.value, yy.cnt +ON xx.key=yy.key PREHOOK: type: QUERY PREHOOK: Input: default@src PREHOOK: Input: default@src1 @@ -4098,7 +3757,7 @@ FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN (SELECT x.key as key, x.value as value, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key, x.value) yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.value, yy.cnt +ON xx.key=yy.key POSTHOOK: type: QUERY POSTHOOK: Input: default@src POSTHOOK: Input: default@src1 diff --git ql/src/test/results/clientpositive/correlationoptimizer7.q.out ql/src/test/results/clientpositive/correlationoptimizer7.q.out index c4bd5ef..99170c4 100644 --- ql/src/test/results/clientpositive/correlationoptimizer7.q.out +++ ql/src/test/results/clientpositive/correlationoptimizer7.q.out @@ -1,26 +1,30 @@ -PREHOOK: query: EXPLAIN +PREHOOK: query: -- SORT_QUERY_RESULTS + +EXPLAIN SELECT xx.key, xx.cnt, yy.key, yy.value FROM (SELECT x.key AS key, count(1) AS cnt FROM src x JOIN src1 y ON (x.key = y.key) GROUP BY x.key) xx JOIN src1 yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.value +ON xx.key=yy.key PREHOOK: type: QUERY -POSTHOOK: query: EXPLAIN +POSTHOOK: query: -- SORT_QUERY_RESULTS + +EXPLAIN SELECT xx.key, xx.cnt, yy.key, yy.value FROM (SELECT x.key AS key, count(1) AS cnt FROM src x JOIN src1 y ON (x.key = y.key) GROUP BY x.key) xx JOIN src1 yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.value +ON xx.key=yy.key POSTHOOK: type: QUERY STAGE DEPENDENCIES: - Stage-4 is a root stage - Stage-2 depends on stages: Stage-4 + Stage-3 is a root stage + Stage-5 depends on stages: Stage-3 Stage-0 is a root stage STAGE PLANS: - Stage: Stage-4 + Stage: Stage-3 Map Reduce Map Operator Tree: TableScan @@ -82,7 +86,7 @@ STAGE PLANS: output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - Stage: Stage-2 + Stage: Stage-5 Map Reduce Map Operator Tree: TableScan @@ -101,11 +105,13 @@ STAGE PLANS: expressions: _col0 (type: string), _col1 (type: bigint), _col2 (type: string), _col3 (type: string) outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 34 Data size: 3459 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: bigint), _col2 (type: string), _col3 (type: string) - sort order: ++++ + File Output Operator + compressed: false Statistics: Num rows: 34 Data size: 3459 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: bigint), _col2 (type: string), _col3 (type: string) + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Local Work: Map Reduce Local Work Alias -> Map Local Tables: @@ -117,16 +123,6 @@ STAGE PLANS: TableScan alias: yy Statistics: Num rows: 1 Data size: 216 Basic stats: COMPLETE Column stats: NONE - Reduce Operator Tree: - Extract - Statistics: Num rows: 34 Data size: 3459 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 34 Data size: 3459 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator @@ -137,7 +133,7 @@ FROM (SELECT x.key AS key, count(1) AS cnt FROM src x JOIN src1 y ON (x.key = y.key) GROUP BY x.key) xx JOIN src1 yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.value +ON xx.key=yy.key PREHOOK: type: QUERY PREHOOK: Input: default@src PREHOOK: Input: default@src1 @@ -147,7 +143,7 @@ FROM (SELECT x.key AS key, count(1) AS cnt FROM src x JOIN src1 y ON (x.key = y.key) GROUP BY x.key) xx JOIN src1 yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.value +ON xx.key=yy.key POSTHOOK: type: QUERY POSTHOOK: Input: default@src POSTHOOK: Input: default@src1 @@ -173,7 +169,7 @@ FROM (SELECT x.key AS key, count(1) AS cnt FROM src x JOIN src1 y ON (x.key = y.key) GROUP BY x.key) xx JOIN src1 yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.value +ON xx.key=yy.key PREHOOK: type: QUERY POSTHOOK: query: EXPLAIN SELECT xx.key, xx.cnt, yy.key, yy.value @@ -181,11 +177,10 @@ FROM (SELECT x.key AS key, count(1) AS cnt FROM src x JOIN src1 y ON (x.key = y.key) GROUP BY x.key) xx JOIN src1 yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.value +ON xx.key=yy.key POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-2 depends on stages: Stage-1 Stage-0 is a root stage STAGE PLANS: @@ -271,10 +266,11 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Mux Operator Statistics: Num rows: 96 Data size: 9913 Basic stats: COMPLETE Column stats: NONE Join Operator @@ -291,30 +287,11 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe - - Stage: Stage-2 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: bigint), _col2 (type: string), _col3 (type: string) - sort order: ++++ - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: bigint), _col2 (type: string), _col3 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator @@ -325,7 +302,7 @@ FROM (SELECT x.key AS key, count(1) AS cnt FROM src x JOIN src1 y ON (x.key = y.key) GROUP BY x.key) xx JOIN src1 yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.value +ON xx.key=yy.key PREHOOK: type: QUERY PREHOOK: Input: default@src PREHOOK: Input: default@src1 @@ -335,7 +312,7 @@ FROM (SELECT x.key AS key, count(1) AS cnt FROM src x JOIN src1 y ON (x.key = y.key) GROUP BY x.key) xx JOIN src1 yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.value +ON xx.key=yy.key POSTHOOK: type: QUERY POSTHOOK: Input: default@src POSTHOOK: Input: default@src1 @@ -359,37 +336,37 @@ PREHOOK: query: -- Without correlation optimizer, we will have 3 MR jobs. -- The first one is a MapJoin and Aggregation (in the Reduce Phase). -- The second one is another MapJoin. The third one is for ordering. -- With the correlation optimizer, right now, we have --- 2 MR jobs. The first one will evaluate the sub-query xx and the join of --- xx and yy. The second one will do the ORDER BY. +-- 1 MR jobs, evaluatinf the sub-query xx and the join of +-- xx and yy. EXPLAIN SELECT xx.key, xx.cnt, yy.key, yy.value FROM (SELECT x.key AS key, count(1) AS cnt FROM src x JOIN src1 y ON (x.key = y.key) GROUP BY x.key) xx JOIN src1 yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.value +ON xx.key=yy.key PREHOOK: type: QUERY POSTHOOK: query: -- Without correlation optimizer, we will have 3 MR jobs. -- The first one is a MapJoin and Aggregation (in the Reduce Phase). -- The second one is another MapJoin. The third one is for ordering. -- With the correlation optimizer, right now, we have --- 2 MR jobs. The first one will evaluate the sub-query xx and the join of --- xx and yy. The second one will do the ORDER BY. +-- 1 MR jobs, evaluatinf the sub-query xx and the join of +-- xx and yy. EXPLAIN SELECT xx.key, xx.cnt, yy.key, yy.value FROM (SELECT x.key AS key, count(1) AS cnt FROM src x JOIN src1 y ON (x.key = y.key) GROUP BY x.key) xx JOIN src1 yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.value +ON xx.key=yy.key POSTHOOK: type: QUERY STAGE DEPENDENCIES: - Stage-4 is a root stage - Stage-2 depends on stages: Stage-4 + Stage-3 is a root stage + Stage-5 depends on stages: Stage-3 Stage-0 is a root stage STAGE PLANS: - Stage: Stage-4 + Stage: Stage-3 Map Reduce Map Operator Tree: TableScan @@ -451,7 +428,7 @@ STAGE PLANS: output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - Stage: Stage-2 + Stage: Stage-5 Map Reduce Map Operator Tree: TableScan @@ -470,11 +447,13 @@ STAGE PLANS: expressions: _col0 (type: string), _col1 (type: bigint), _col2 (type: string), _col3 (type: string) outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 34 Data size: 3459 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: bigint), _col2 (type: string), _col3 (type: string) - sort order: ++++ + File Output Operator + compressed: false Statistics: Num rows: 34 Data size: 3459 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: bigint), _col2 (type: string), _col3 (type: string) + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Local Work: Map Reduce Local Work Alias -> Map Local Tables: @@ -486,16 +465,6 @@ STAGE PLANS: TableScan alias: yy Statistics: Num rows: 1 Data size: 216 Basic stats: COMPLETE Column stats: NONE - Reduce Operator Tree: - Extract - Statistics: Num rows: 34 Data size: 3459 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 34 Data size: 3459 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator @@ -506,7 +475,7 @@ FROM (SELECT x.key AS key, count(1) AS cnt FROM src x JOIN src1 y ON (x.key = y.key) GROUP BY x.key) xx JOIN src1 yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.value +ON xx.key=yy.key PREHOOK: type: QUERY PREHOOK: Input: default@src PREHOOK: Input: default@src1 @@ -516,7 +485,7 @@ FROM (SELECT x.key AS key, count(1) AS cnt FROM src x JOIN src1 y ON (x.key = y.key) GROUP BY x.key) xx JOIN src1 yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.value +ON xx.key=yy.key POSTHOOK: type: QUERY POSTHOOK: Input: default@src POSTHOOK: Input: default@src1 @@ -542,7 +511,7 @@ FROM (SELECT x.key AS key, count(1) AS cnt FROM src x JOIN src1 y ON (x.key = y.key) GROUP BY x.key) xx JOIN src1 yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.value +ON xx.key=yy.key PREHOOK: type: QUERY POSTHOOK: query: EXPLAIN SELECT xx.key, xx.cnt, yy.key, yy.value @@ -550,11 +519,10 @@ FROM (SELECT x.key AS key, count(1) AS cnt FROM src x JOIN src1 y ON (x.key = y.key) GROUP BY x.key) xx JOIN src1 yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.value +ON xx.key=yy.key POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-2 depends on stages: Stage-1 Stage-0 is a root stage STAGE PLANS: @@ -640,10 +608,11 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Mux Operator Statistics: Num rows: 96 Data size: 9913 Basic stats: COMPLETE Column stats: NONE Join Operator @@ -660,30 +629,11 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe - - Stage: Stage-2 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: bigint), _col2 (type: string), _col3 (type: string) - sort order: ++++ - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: bigint), _col2 (type: string), _col3 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator @@ -694,7 +644,7 @@ FROM (SELECT x.key AS key, count(1) AS cnt FROM src x JOIN src1 y ON (x.key = y.key) GROUP BY x.key) xx JOIN src1 yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.value +ON xx.key=yy.key PREHOOK: type: QUERY PREHOOK: Input: default@src PREHOOK: Input: default@src1 @@ -704,7 +654,7 @@ FROM (SELECT x.key AS key, count(1) AS cnt FROM src x JOIN src1 y ON (x.key = y.key) GROUP BY x.key) xx JOIN src1 yy -ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.value +ON xx.key=yy.key POSTHOOK: type: QUERY POSTHOOK: Input: default@src POSTHOOK: Input: default@src1 diff --git ql/src/test/results/clientpositive/correlationoptimizer8.q.out ql/src/test/results/clientpositive/correlationoptimizer8.q.out index 23a5405..ce4a15c 100644 --- ql/src/test/results/clientpositive/correlationoptimizer8.q.out +++ ql/src/test/results/clientpositive/correlationoptimizer8.q.out @@ -1,4 +1,6 @@ -PREHOOK: query: -- When the Correlation Optimizer is turned off, this query will be evaluated by +PREHOOK: query: -- SORT_QUERY_RESULTS + +-- When the Correlation Optimizer is turned off, this query will be evaluated by -- 4 MR jobs. -- When the Correlation Optimizer is turned on, because both inputs of the -- UnionOperator are correlated, we can use 2 MR jobs to evaluate this query. @@ -11,9 +13,11 @@ FROM UNION ALL SELECT x1.key as key, count(1) as cnt from src x1 where x1.key > 100 group by x1.key ) subq1 -JOIN src1 x ON (x.key = subq1.key) ORDER BY x.key, x.value, subq1.cnt +JOIN src1 x ON (x.key = subq1.key) PREHOOK: type: QUERY -POSTHOOK: query: -- When the Correlation Optimizer is turned off, this query will be evaluated by +POSTHOOK: query: -- SORT_QUERY_RESULTS + +-- When the Correlation Optimizer is turned off, this query will be evaluated by -- 4 MR jobs. -- When the Correlation Optimizer is turned on, because both inputs of the -- UnionOperator are correlated, we can use 2 MR jobs to evaluate this query. @@ -26,13 +30,12 @@ FROM UNION ALL SELECT x1.key as key, count(1) as cnt from src x1 where x1.key > 100 group by x1.key ) subq1 -JOIN src1 x ON (x.key = subq1.key) ORDER BY x.key, x.value, subq1.cnt +JOIN src1 x ON (x.key = subq1.key) POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-2 depends on stages: Stage-1, Stage-4 - Stage-3 depends on stages: Stage-2 - Stage-4 is a root stage + Stage-2 depends on stages: Stage-1, Stage-3 + Stage-3 is a root stage Stage-0 is a root stage STAGE PLANS: @@ -124,35 +127,16 @@ STAGE PLANS: Statistics: Num rows: 19 Data size: 1982 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 19 Data size: 1982 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.lazybinary.LazyBinarySerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-3 Map Reduce Map Operator Tree: TableScan - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint) - sort order: +++ - Statistics: Num rows: 19 Data size: 1982 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint) - Reduce Operator Tree: - Extract - Statistics: Num rows: 19 Data size: 1982 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 19 Data size: 1982 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - - Stage: Stage-4 - Map Reduce - Map Operator Tree: - TableScan alias: x1 Statistics: Num rows: 58 Data size: 5812 Basic stats: COMPLETE Column stats: NONE Filter Operator @@ -202,7 +186,7 @@ FROM UNION ALL SELECT x1.key as key, count(1) as cnt from src x1 where x1.key > 100 group by x1.key ) subq1 -JOIN src1 x ON (x.key = subq1.key) ORDER BY x.key, x.value, subq1.cnt +JOIN src1 x ON (x.key = subq1.key) PREHOOK: type: QUERY PREHOOK: Input: default@src PREHOOK: Input: default@src1 @@ -213,7 +197,7 @@ FROM UNION ALL SELECT x1.key as key, count(1) as cnt from src x1 where x1.key > 100 group by x1.key ) subq1 -JOIN src1 x ON (x.key = subq1.key) ORDER BY x.key, x.value, subq1.cnt +JOIN src1 x ON (x.key = subq1.key) POSTHOOK: type: QUERY POSTHOOK: Input: default@src POSTHOOK: Input: default@src1 @@ -238,7 +222,7 @@ FROM UNION ALL SELECT x1.key as key, count(1) as cnt from src x1 where x1.key > 100 group by x1.key ) subq1 -JOIN src1 x ON (x.key = subq1.key) ORDER BY x.key, x.value, subq1.cnt +JOIN src1 x ON (x.key = subq1.key) PREHOOK: type: QUERY POSTHOOK: query: EXPLAIN SELECT x.key, x.value, subq1.cnt @@ -247,11 +231,10 @@ FROM UNION ALL SELECT x1.key as key, count(1) as cnt from src x1 where x1.key > 100 group by x1.key ) subq1 -JOIN src1 x ON (x.key = subq1.key) ORDER BY x.key, x.value, subq1.cnt +JOIN src1 x ON (x.key = subq1.key) POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-2 depends on stages: Stage-1 Stage-0 is a root stage STAGE PLANS: @@ -342,10 +325,11 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Group By Operator aggregations: count(VALUE._col0) keys: KEY._col0 (type: string) @@ -374,10 +358,11 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Mux Operator Statistics: Num rows: 77 Data size: 7940 Basic stats: COMPLETE Column stats: NONE Join Operator @@ -394,30 +379,11 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe - - Stage: Stage-2 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint) - sort order: +++ - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint) - Reduce Operator Tree: - Extract - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator @@ -429,7 +395,7 @@ FROM UNION ALL SELECT x1.key as key, count(1) as cnt from src x1 where x1.key > 100 group by x1.key ) subq1 -JOIN src1 x ON (x.key = subq1.key) ORDER BY x.key, x.value, subq1.cnt +JOIN src1 x ON (x.key = subq1.key) PREHOOK: type: QUERY PREHOOK: Input: default@src PREHOOK: Input: default@src1 @@ -440,7 +406,7 @@ FROM UNION ALL SELECT x1.key as key, count(1) as cnt from src x1 where x1.key > 100 group by x1.key ) subq1 -JOIN src1 x ON (x.key = subq1.key) ORDER BY x.key, x.value, subq1.cnt +JOIN src1 x ON (x.key = subq1.key) POSTHOOK: type: QUERY POSTHOOK: Input: default@src POSTHOOK: Input: default@src1 @@ -471,7 +437,7 @@ FROM UNION ALL SELECT x1.value as key, count(1) as cnt from src1 x1 where x1.key > 100 group by x1.value ) subq1 -LEFT OUTER JOIN src1 x ON (x.key = subq1.key) ORDER BY subq1.key, subq1.cnt, x.key, x.value +LEFT OUTER JOIN src1 x ON (x.key = subq1.key) PREHOOK: type: QUERY POSTHOOK: query: -- When the Correlation Optimizer is turned off, this query will be evaluated by -- 4 MR jobs. @@ -486,13 +452,12 @@ FROM UNION ALL SELECT x1.value as key, count(1) as cnt from src1 x1 where x1.key > 100 group by x1.value ) subq1 -LEFT OUTER JOIN src1 x ON (x.key = subq1.key) ORDER BY subq1.key, subq1.cnt, x.key, x.value +LEFT OUTER JOIN src1 x ON (x.key = subq1.key) POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-2 depends on stages: Stage-1, Stage-4 - Stage-3 depends on stages: Stage-2 - Stage-4 is a root stage + Stage-2 depends on stages: Stage-1, Stage-3 + Stage-3 is a root stage Stage-0 is a root stage STAGE PLANS: @@ -584,35 +549,16 @@ STAGE PLANS: Statistics: Num rows: 9 Data size: 991 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 9 Data size: 991 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.lazybinary.LazyBinarySerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-3 Map Reduce Map Operator Tree: TableScan - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: bigint), _col2 (type: string), _col3 (type: string) - sort order: ++++ - Statistics: Num rows: 9 Data size: 991 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: bigint), _col2 (type: string), _col3 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 9 Data size: 991 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 9 Data size: 991 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - - Stage: Stage-4 - Map Reduce - Map Operator Tree: - TableScan alias: x1 Statistics: Num rows: 1 Data size: 216 Basic stats: COMPLETE Column stats: NONE Filter Operator @@ -662,7 +608,7 @@ FROM UNION ALL SELECT x1.value as key, count(1) as cnt from src1 x1 where x1.key > 100 group by x1.value ) subq1 -LEFT OUTER JOIN src1 x ON (x.key = subq1.key) ORDER BY subq1.key, subq1.cnt, x.key, x.value +LEFT OUTER JOIN src1 x ON (x.key = subq1.key) PREHOOK: type: QUERY PREHOOK: Input: default@src PREHOOK: Input: default@src1 @@ -673,7 +619,7 @@ FROM UNION ALL SELECT x1.value as key, count(1) as cnt from src1 x1 where x1.key > 100 group by x1.value ) subq1 -LEFT OUTER JOIN src1 x ON (x.key = subq1.key) ORDER BY subq1.key, subq1.cnt, x.key, x.value +LEFT OUTER JOIN src1 x ON (x.key = subq1.key) POSTHOOK: type: QUERY POSTHOOK: Input: default@src POSTHOOK: Input: default@src1 @@ -718,7 +664,7 @@ FROM UNION ALL SELECT x1.value as key, count(1) as cnt from src1 x1 where x1.key > 100 group by x1.value ) subq1 -LEFT OUTER JOIN src1 x ON (x.key = subq1.key) ORDER BY subq1.key, subq1.cnt, x.key, x.value +LEFT OUTER JOIN src1 x ON (x.key = subq1.key) PREHOOK: type: QUERY POSTHOOK: query: EXPLAIN SELECT subq1.key, subq1.cnt, x.key, x.value @@ -727,11 +673,10 @@ FROM UNION ALL SELECT x1.value as key, count(1) as cnt from src1 x1 where x1.key > 100 group by x1.value ) subq1 -LEFT OUTER JOIN src1 x ON (x.key = subq1.key) ORDER BY subq1.key, subq1.cnt, x.key, x.value +LEFT OUTER JOIN src1 x ON (x.key = subq1.key) POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-2 depends on stages: Stage-1 Stage-0 is a root stage STAGE PLANS: @@ -822,10 +767,11 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Group By Operator aggregations: count(VALUE._col0) keys: KEY._col0 (type: string) @@ -854,10 +800,11 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Mux Operator Statistics: Num rows: 40 Data size: 4237 Basic stats: COMPLETE Column stats: NONE Join Operator @@ -874,30 +821,11 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe - - Stage: Stage-2 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: bigint), _col2 (type: string), _col3 (type: string) - sort order: ++++ - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: bigint), _col2 (type: string), _col3 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator @@ -909,7 +837,7 @@ FROM UNION ALL SELECT x1.value as key, count(1) as cnt from src1 x1 where x1.key > 100 group by x1.value ) subq1 -LEFT OUTER JOIN src1 x ON (x.key = subq1.key) ORDER BY subq1.key, subq1.cnt, x.key, x.value +LEFT OUTER JOIN src1 x ON (x.key = subq1.key) PREHOOK: type: QUERY PREHOOK: Input: default@src PREHOOK: Input: default@src1 @@ -920,7 +848,7 @@ FROM UNION ALL SELECT x1.value as key, count(1) as cnt from src1 x1 where x1.key > 100 group by x1.value ) subq1 -LEFT OUTER JOIN src1 x ON (x.key = subq1.key) ORDER BY subq1.key, subq1.cnt, x.key, x.value +LEFT OUTER JOIN src1 x ON (x.key = subq1.key) POSTHOOK: type: QUERY POSTHOOK: Input: default@src POSTHOOK: Input: default@src1 @@ -968,7 +896,7 @@ FROM UNION ALL SELECT x1.key as key, count(1) as cnt from src x1 where x1.key > 100 group by x1.key, x1.value ) subq1 -JOIN src1 x ON (x.key = subq1.key) ORDER BY x.key, x.value, subq1.cnt +JOIN src1 x ON (x.key = subq1.key) PREHOOK: type: QUERY POSTHOOK: query: -- When the Correlation Optimizer is turned on, because a input of UnionOperator is -- not correlated, we cannot handle this case right now. So, this query will not be @@ -980,13 +908,12 @@ FROM UNION ALL SELECT x1.key as key, count(1) as cnt from src x1 where x1.key > 100 group by x1.key, x1.value ) subq1 -JOIN src1 x ON (x.key = subq1.key) ORDER BY x.key, x.value, subq1.cnt +JOIN src1 x ON (x.key = subq1.key) POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-2 depends on stages: Stage-1, Stage-4 - Stage-3 depends on stages: Stage-2 - Stage-4 is a root stage + Stage-2 depends on stages: Stage-1, Stage-3 + Stage-3 is a root stage Stage-0 is a root stage STAGE PLANS: @@ -1078,35 +1005,16 @@ STAGE PLANS: Statistics: Num rows: 14 Data size: 1872 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 14 Data size: 1872 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.lazybinary.LazyBinarySerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-3 Map Reduce Map Operator Tree: TableScan - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint) - sort order: +++ - Statistics: Num rows: 14 Data size: 1872 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint) - Reduce Operator Tree: - Extract - Statistics: Num rows: 14 Data size: 1872 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 14 Data size: 1872 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - - Stage: Stage-4 - Map Reduce - Map Operator Tree: - TableScan alias: x1 Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE Filter Operator @@ -1160,7 +1068,7 @@ FROM UNION ALL SELECT count(1) as key, cast(x1.key as INT) as value from src x1 where x1.key > 100 group by x1.key ) subq1 -FULL OUTER JOIN src1 x ON (x.key = subq1.key) ORDER BY subq1.key, subq1.value, x.key, x.value +FULL OUTER JOIN src1 x ON (x.key = subq1.key) PREHOOK: type: QUERY POSTHOOK: query: -- When the Correlation Optimizer is turned on, because a input of UnionOperator is -- not correlated, we cannot handle this case right now. So, this query will not be @@ -1172,13 +1080,12 @@ FROM UNION ALL SELECT count(1) as key, cast(x1.key as INT) as value from src x1 where x1.key > 100 group by x1.key ) subq1 -FULL OUTER JOIN src1 x ON (x.key = subq1.key) ORDER BY subq1.key, subq1.value, x.key, x.value +FULL OUTER JOIN src1 x ON (x.key = subq1.key) POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-2 depends on stages: Stage-1, Stage-4 - Stage-3 depends on stages: Stage-2 - Stage-4 is a root stage + Stage-2 depends on stages: Stage-1, Stage-3 + Stage-3 is a root stage Stage-0 is a root stage STAGE PLANS: @@ -1270,35 +1177,16 @@ STAGE PLANS: Statistics: Num rows: 19 Data size: 1982 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 19 Data size: 1982 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.lazybinary.LazyBinarySerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-3 Map Reduce Map Operator Tree: TableScan - Reduce Output Operator - key expressions: _col0 (type: bigint), _col1 (type: bigint), _col2 (type: string), _col3 (type: string) - sort order: ++++ - Statistics: Num rows: 19 Data size: 1982 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: bigint), _col1 (type: bigint), _col2 (type: string), _col3 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 19 Data size: 1982 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 19 Data size: 1982 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - - Stage: Stage-4 - Map Reduce - Map Operator Tree: - TableScan alias: x1 Statistics: Num rows: 58 Data size: 5812 Basic stats: COMPLETE Column stats: NONE Filter Operator diff --git ql/src/test/results/clientpositive/correlationoptimizer9.q.out ql/src/test/results/clientpositive/correlationoptimizer9.q.out index 31b1be6..1dad1da 100644 --- ql/src/test/results/clientpositive/correlationoptimizer9.q.out +++ ql/src/test/results/clientpositive/correlationoptimizer9.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: CREATE TABLE tmp(c1 INT, c2 INT, c3 STRING, c4 STRING) +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE tmp(c1 INT, c2 INT, c3 STRING, c4 STRING) PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE tmp(c1 INT, c2 INT, c3 STRING, c4 STRING) +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE tmp(c1 INT, c2 INT, c3 STRING, c4 STRING) POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@tmp PREHOOK: query: INSERT OVERWRITE TABLE tmp @@ -23,7 +27,7 @@ FROM (SELECT x.c1 AS key, count(1) AS cnt FROM tmp x WHERE x.c1 < 120 GROUP BY x.c1) xx JOIN (SELECT x1.c2 AS key, count(1) AS cnt FROM tmp x1 WHERE x1.c2 > 100 GROUP BY x1.c2) yy -ON (xx.key = yy.key) ORDER BY xx.key, yy.key, xx.cnt, yy.cnt +ON (xx.key = yy.key) PREHOOK: type: QUERY POSTHOOK: query: EXPLAIN SELECT xx.key, yy.key, xx.cnt, yy.cnt @@ -31,7 +35,7 @@ FROM (SELECT x.c1 AS key, count(1) AS cnt FROM tmp x WHERE x.c1 < 120 GROUP BY x.c1) xx JOIN (SELECT x1.c2 AS key, count(1) AS cnt FROM tmp x1 WHERE x1.c2 > 100 GROUP BY x1.c2) yy -ON (xx.key = yy.key) ORDER BY xx.key, yy.key, xx.cnt, yy.cnt +ON (xx.key = yy.key) POSTHOOK: type: QUERY POSTHOOK: Lineage: tmp.c1 EXPRESSION [(src)x.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: tmp.c2 EXPRESSION [(src)y.FieldSchema(name:key, type:string, comment:default), ] @@ -39,9 +43,8 @@ POSTHOOK: Lineage: tmp.c3 SIMPLE [(src)x.FieldSchema(name:value, type:string, co POSTHOOK: Lineage: tmp.c4 SIMPLE [(src)y.FieldSchema(name:value, type:string, comment:default), ] STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-2 depends on stages: Stage-1, Stage-4 - Stage-3 depends on stages: Stage-2 - Stage-4 is a root stage + Stage-2 depends on stages: Stage-1, Stage-3 + Stage-3 is a root stage Stage-0 is a root stage STAGE PLANS: @@ -120,35 +123,16 @@ STAGE PLANS: Statistics: Num rows: 188 Data size: 4200 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 188 Data size: 4200 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.lazybinary.LazyBinarySerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-3 Map Reduce Map Operator Tree: TableScan - Reduce Output Operator - key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint), _col3 (type: bigint) - sort order: ++++ - Statistics: Num rows: 188 Data size: 4200 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint), _col3 (type: bigint) - Reduce Operator Tree: - Extract - Statistics: Num rows: 188 Data size: 4200 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 188 Data size: 4200 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - - Stage: Stage-4 - Map Reduce - Map Operator Tree: - TableScan alias: x Statistics: Num rows: 1028 Data size: 22964 Basic stats: COMPLETE Column stats: NONE Filter Operator @@ -197,7 +181,7 @@ FROM (SELECT x.c1 AS key, count(1) AS cnt FROM tmp x WHERE x.c1 < 120 GROUP BY x.c1) xx JOIN (SELECT x1.c2 AS key, count(1) AS cnt FROM tmp x1 WHERE x1.c2 > 100 GROUP BY x1.c2) yy -ON (xx.key = yy.key) ORDER BY xx.key, yy.key, xx.cnt, yy.cnt +ON (xx.key = yy.key) PREHOOK: type: QUERY PREHOOK: Input: default@tmp #### A masked pattern was here #### @@ -206,7 +190,7 @@ FROM (SELECT x.c1 AS key, count(1) AS cnt FROM tmp x WHERE x.c1 < 120 GROUP BY x.c1) xx JOIN (SELECT x1.c2 AS key, count(1) AS cnt FROM tmp x1 WHERE x1.c2 > 100 GROUP BY x1.c2) yy -ON (xx.key = yy.key) ORDER BY xx.key, yy.key, xx.cnt, yy.cnt +ON (xx.key = yy.key) POSTHOOK: type: QUERY POSTHOOK: Input: default@tmp #### A masked pattern was here #### @@ -230,7 +214,7 @@ FROM (SELECT x.c1 AS key, count(1) AS cnt FROM tmp x WHERE x.c1 < 120 GROUP BY x.c1) xx JOIN (SELECT x1.c2 AS key, count(1) AS cnt FROM tmp x1 WHERE x1.c2 > 100 GROUP BY x1.c2) yy -ON (xx.key = yy.key) ORDER BY xx.key, yy.key, xx.cnt, yy.cnt +ON (xx.key = yy.key) PREHOOK: type: QUERY POSTHOOK: query: -- The merged table scan should be able to load both c1 and c2 EXPLAIN @@ -239,7 +223,7 @@ FROM (SELECT x.c1 AS key, count(1) AS cnt FROM tmp x WHERE x.c1 < 120 GROUP BY x.c1) xx JOIN (SELECT x1.c2 AS key, count(1) AS cnt FROM tmp x1 WHERE x1.c2 > 100 GROUP BY x1.c2) yy -ON (xx.key = yy.key) ORDER BY xx.key, yy.key, xx.cnt, yy.cnt +ON (xx.key = yy.key) POSTHOOK: type: QUERY POSTHOOK: Lineage: tmp.c1 EXPRESSION [(src)x.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: tmp.c2 EXPRESSION [(src)y.FieldSchema(name:key, type:string, comment:default), ] @@ -247,7 +231,6 @@ POSTHOOK: Lineage: tmp.c3 SIMPLE [(src)x.FieldSchema(name:value, type:string, co POSTHOOK: Lineage: tmp.c4 SIMPLE [(src)y.FieldSchema(name:value, type:string, comment:default), ] STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-2 depends on stages: Stage-1 Stage-0 is a root stage STAGE PLANS: @@ -327,10 +310,11 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Group By Operator aggregations: count(VALUE._col0) keys: KEY._col0 (type: int) @@ -357,30 +341,11 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe - - Stage: Stage-2 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint), _col3 (type: bigint) - sort order: ++++ - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - value expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint), _col3 (type: bigint) - Reduce Operator Tree: - Extract - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator @@ -391,7 +356,7 @@ FROM (SELECT x.c1 AS key, count(1) AS cnt FROM tmp x WHERE x.c1 < 120 GROUP BY x.c1) xx JOIN (SELECT x1.c2 AS key, count(1) AS cnt FROM tmp x1 WHERE x1.c2 > 100 GROUP BY x1.c2) yy -ON (xx.key = yy.key) ORDER BY xx.key, yy.key, xx.cnt, yy.cnt +ON (xx.key = yy.key) PREHOOK: type: QUERY PREHOOK: Input: default@tmp #### A masked pattern was here #### @@ -400,7 +365,7 @@ FROM (SELECT x.c1 AS key, count(1) AS cnt FROM tmp x WHERE x.c1 < 120 GROUP BY x.c1) xx JOIN (SELECT x1.c2 AS key, count(1) AS cnt FROM tmp x1 WHERE x1.c2 > 100 GROUP BY x1.c2) yy -ON (xx.key = yy.key) ORDER BY xx.key, yy.key, xx.cnt, yy.cnt +ON (xx.key = yy.key) POSTHOOK: type: QUERY POSTHOOK: Input: default@tmp #### A masked pattern was here #### @@ -423,7 +388,7 @@ FROM (SELECT x.c1 AS key1, x.c3 AS key2, count(1) AS cnt FROM tmp x WHERE x.c1 < 120 GROUP BY x.c1, x.c3) xx JOIN (SELECT x1.c1 AS key1, x1.c3 AS key2, count(1) AS cnt FROM tmp x1 WHERE x1.c2 > 100 GROUP BY x1.c1, x1.c3) yy -ON (xx.key1 = yy.key1 AND xx.key2 == yy.key2) ORDER BY xx.key1, xx.key2, yy.key1, yy.key2, xx.cnt, yy.cnt +ON (xx.key1 = yy.key1 AND xx.key2 == yy.key2) PREHOOK: type: QUERY POSTHOOK: query: EXPLAIN SELECT xx.key1, xx.key2, yy.key1, yy.key2, xx.cnt, yy.cnt @@ -431,7 +396,7 @@ FROM (SELECT x.c1 AS key1, x.c3 AS key2, count(1) AS cnt FROM tmp x WHERE x.c1 < 120 GROUP BY x.c1, x.c3) xx JOIN (SELECT x1.c1 AS key1, x1.c3 AS key2, count(1) AS cnt FROM tmp x1 WHERE x1.c2 > 100 GROUP BY x1.c1, x1.c3) yy -ON (xx.key1 = yy.key1 AND xx.key2 == yy.key2) ORDER BY xx.key1, xx.key2, yy.key1, yy.key2, xx.cnt, yy.cnt +ON (xx.key1 = yy.key1 AND xx.key2 == yy.key2) POSTHOOK: type: QUERY POSTHOOK: Lineage: tmp.c1 EXPRESSION [(src)x.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: tmp.c2 EXPRESSION [(src)y.FieldSchema(name:key, type:string, comment:default), ] @@ -439,9 +404,8 @@ POSTHOOK: Lineage: tmp.c3 SIMPLE [(src)x.FieldSchema(name:value, type:string, co POSTHOOK: Lineage: tmp.c4 SIMPLE [(src)y.FieldSchema(name:value, type:string, comment:default), ] STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-2 depends on stages: Stage-1, Stage-4 - Stage-3 depends on stages: Stage-2 - Stage-4 is a root stage + Stage-2 depends on stages: Stage-1, Stage-3 + Stage-3 is a root stage Stage-0 is a root stage STAGE PLANS: @@ -520,35 +484,16 @@ STAGE PLANS: Statistics: Num rows: 188 Data size: 4200 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 188 Data size: 4200 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.lazybinary.LazyBinarySerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-3 Map Reduce Map Operator Tree: TableScan - Reduce Output Operator - key expressions: _col0 (type: int), _col1 (type: string), _col2 (type: int), _col3 (type: string), _col4 (type: bigint), _col5 (type: bigint) - sort order: ++++++ - Statistics: Num rows: 188 Data size: 4200 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int), _col1 (type: string), _col2 (type: int), _col3 (type: string), _col4 (type: bigint), _col5 (type: bigint) - Reduce Operator Tree: - Extract - Statistics: Num rows: 188 Data size: 4200 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 188 Data size: 4200 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - - Stage: Stage-4 - Map Reduce - Map Operator Tree: - TableScan alias: x Statistics: Num rows: 1028 Data size: 22964 Basic stats: COMPLETE Column stats: NONE Filter Operator @@ -597,7 +542,7 @@ FROM (SELECT x.c1 AS key1, x.c3 AS key2, count(1) AS cnt FROM tmp x WHERE x.c1 < 120 GROUP BY x.c1, x.c3) xx JOIN (SELECT x1.c1 AS key1, x1.c3 AS key2, count(1) AS cnt FROM tmp x1 WHERE x1.c2 > 100 GROUP BY x1.c1, x1.c3) yy -ON (xx.key1 = yy.key1 AND xx.key2 == yy.key2) ORDER BY xx.key1, xx.key2, yy.key1, yy.key2, xx.cnt, yy.cnt +ON (xx.key1 = yy.key1 AND xx.key2 == yy.key2) PREHOOK: type: QUERY PREHOOK: Input: default@tmp #### A masked pattern was here #### @@ -606,7 +551,7 @@ FROM (SELECT x.c1 AS key1, x.c3 AS key2, count(1) AS cnt FROM tmp x WHERE x.c1 < 120 GROUP BY x.c1, x.c3) xx JOIN (SELECT x1.c1 AS key1, x1.c3 AS key2, count(1) AS cnt FROM tmp x1 WHERE x1.c2 > 100 GROUP BY x1.c1, x1.c3) yy -ON (xx.key1 = yy.key1 AND xx.key2 == yy.key2) ORDER BY xx.key1, xx.key2, yy.key1, yy.key2, xx.cnt, yy.cnt +ON (xx.key1 = yy.key1 AND xx.key2 == yy.key2) POSTHOOK: type: QUERY POSTHOOK: Input: default@tmp #### A masked pattern was here #### @@ -629,7 +574,7 @@ FROM (SELECT x.c1 AS key1, x.c3 AS key2, count(1) AS cnt FROM tmp x WHERE x.c1 < 120 GROUP BY x.c1, x.c3) xx JOIN (SELECT x1.c1 AS key1, x1.c3 AS key2, count(1) AS cnt FROM tmp x1 WHERE x1.c2 > 100 GROUP BY x1.c1, x1.c3) yy -ON (xx.key1 = yy.key1 AND xx.key2 == yy.key2) ORDER BY xx.key1, xx.key2, yy.key1, yy.key2, xx.cnt, yy.cnt +ON (xx.key1 = yy.key1 AND xx.key2 == yy.key2) PREHOOK: type: QUERY POSTHOOK: query: EXPLAIN SELECT xx.key1, xx.key2, yy.key1, yy.key2, xx.cnt, yy.cnt @@ -637,7 +582,7 @@ FROM (SELECT x.c1 AS key1, x.c3 AS key2, count(1) AS cnt FROM tmp x WHERE x.c1 < 120 GROUP BY x.c1, x.c3) xx JOIN (SELECT x1.c1 AS key1, x1.c3 AS key2, count(1) AS cnt FROM tmp x1 WHERE x1.c2 > 100 GROUP BY x1.c1, x1.c3) yy -ON (xx.key1 = yy.key1 AND xx.key2 == yy.key2) ORDER BY xx.key1, xx.key2, yy.key1, yy.key2, xx.cnt, yy.cnt +ON (xx.key1 = yy.key1 AND xx.key2 == yy.key2) POSTHOOK: type: QUERY POSTHOOK: Lineage: tmp.c1 EXPRESSION [(src)x.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: tmp.c2 EXPRESSION [(src)y.FieldSchema(name:key, type:string, comment:default), ] @@ -645,7 +590,6 @@ POSTHOOK: Lineage: tmp.c3 SIMPLE [(src)x.FieldSchema(name:value, type:string, co POSTHOOK: Lineage: tmp.c4 SIMPLE [(src)y.FieldSchema(name:value, type:string, comment:default), ] STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-2 depends on stages: Stage-1 Stage-0 is a root stage STAGE PLANS: @@ -725,10 +669,11 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Group By Operator aggregations: count(VALUE._col0) keys: KEY._col0 (type: int), KEY._col1 (type: string) @@ -755,30 +700,11 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe - - Stage: Stage-2 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: int), _col1 (type: string), _col2 (type: int), _col3 (type: string), _col4 (type: bigint), _col5 (type: bigint) - sort order: ++++++ - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - value expressions: _col0 (type: int), _col1 (type: string), _col2 (type: int), _col3 (type: string), _col4 (type: bigint), _col5 (type: bigint) - Reduce Operator Tree: - Extract - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator @@ -789,7 +715,7 @@ FROM (SELECT x.c1 AS key1, x.c3 AS key2, count(1) AS cnt FROM tmp x WHERE x.c1 < 120 GROUP BY x.c1, x.c3) xx JOIN (SELECT x1.c1 AS key1, x1.c3 AS key2, count(1) AS cnt FROM tmp x1 WHERE x1.c2 > 100 GROUP BY x1.c1, x1.c3) yy -ON (xx.key1 = yy.key1 AND xx.key2 == yy.key2) ORDER BY xx.key1, xx.key2, yy.key1, yy.key2, xx.cnt, yy.cnt +ON (xx.key1 = yy.key1 AND xx.key2 == yy.key2) PREHOOK: type: QUERY PREHOOK: Input: default@tmp #### A masked pattern was here #### @@ -798,7 +724,7 @@ FROM (SELECT x.c1 AS key1, x.c3 AS key2, count(1) AS cnt FROM tmp x WHERE x.c1 < 120 GROUP BY x.c1, x.c3) xx JOIN (SELECT x1.c1 AS key1, x1.c3 AS key2, count(1) AS cnt FROM tmp x1 WHERE x1.c2 > 100 GROUP BY x1.c1, x1.c3) yy -ON (xx.key1 = yy.key1 AND xx.key2 == yy.key2) ORDER BY xx.key1, xx.key2, yy.key1, yy.key2, xx.cnt, yy.cnt +ON (xx.key1 = yy.key1 AND xx.key2 == yy.key2) POSTHOOK: type: QUERY POSTHOOK: Input: default@tmp #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/create_like_view.q.out ql/src/test/results/clientpositive/create_like_view.q.out index 48d4992..1d25f46 100644 --- ql/src/test/results/clientpositive/create_like_view.q.out +++ ql/src/test/results/clientpositive/create_like_view.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: DROP TABLE IF EXISTS table1 +PREHOOK: query: -- SORT_QUERY_RESULTS + +DROP TABLE IF EXISTS table1 PREHOOK: type: DROPTABLE -POSTHOOK: query: DROP TABLE IF EXISTS table1 +POSTHOOK: query: -- SORT_QUERY_RESULTS + +DROP TABLE IF EXISTS table1 POSTHOOK: type: DROPTABLE PREHOOK: query: DROP TABLE IF EXISTS table2 PREHOOK: type: DROPTABLE @@ -172,11 +176,11 @@ POSTHOOK: Lineage: table1.a SIMPLE [(src)src.FieldSchema(name:key, type:string, POSTHOOK: Lineage: table1.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: table2.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: table2.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: SELECT * FROM table1 order by a, b +PREHOOK: query: SELECT * FROM table1 PREHOOK: type: QUERY PREHOOK: Input: default@table1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM table1 order by a, b +POSTHOOK: query: SELECT * FROM table1 POSTHOOK: type: QUERY POSTHOOK: Input: default@table1 #### A masked pattern was here #### @@ -185,11 +189,11 @@ POSTHOOK: Lineage: table1.b SIMPLE [(src)src.FieldSchema(name:value, type:string POSTHOOK: Lineage: table2.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: table2.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] 86 val_86 -PREHOOK: query: SELECT * FROM table2 order by a, b +PREHOOK: query: SELECT * FROM table2 PREHOOK: type: QUERY PREHOOK: Input: default@table2 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM table2 order by a, b +POSTHOOK: query: SELECT * FROM table2 POSTHOOK: type: QUERY POSTHOOK: Input: default@table2 #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/ctas_colname.q.out ql/src/test/results/clientpositive/ctas_colname.q.out index 3d568ab..7be1da2 100644 --- ql/src/test/results/clientpositive/ctas_colname.q.out +++ ql/src/test/results/clientpositive/ctas_colname.q.out @@ -1,12 +1,14 @@ -PREHOOK: query: -- HIVE-4392, column aliases from expressionRR (GBY, etc.) are not valid name for table --- use internal name as column name instead +PREHOOK: query: -- SORT_QUERY_RESULTS + +-- HIVE-4392, column aliases from expressionRR (GBY, etc.) are not valid name for table -- group by explain create table summary as select *, sum(key), count(value) from src PREHOOK: type: CREATETABLE_AS_SELECT -POSTHOOK: query: -- HIVE-4392, column aliases from expressionRR (GBY, etc.) are not valid name for table --- use internal name as column name instead +POSTHOOK: query: -- SORT_QUERY_RESULTS + +-- HIVE-4392, column aliases from expressionRR (GBY, etc.) are not valid name for table -- group by explain @@ -117,11 +119,11 @@ Bucket Columns: [] Sort Columns: [] Storage Desc Params: serialization.format 1 -PREHOOK: query: select * from summary order by `_col0`, `_col1`, `_c1`, `_c2` +PREHOOK: query: select * from summary PREHOOK: type: QUERY PREHOOK: Input: default@summary #### A masked pattern was here #### -POSTHOOK: query: select * from summary order by `_col0`, `_col1`, `_c1`, `_c2` +POSTHOOK: query: select * from summary POSTHOOK: type: QUERY POSTHOOK: Input: default@summary #### A masked pattern was here #### @@ -230,11 +232,11 @@ Bucket Columns: [] Sort Columns: [] Storage Desc Params: serialization.format 1 -PREHOOK: query: select * from x4 order by key, value, rr +PREHOOK: query: select * from x4 PREHOOK: type: QUERY PREHOOK: Input: default@x4 #### A masked pattern was here #### -POSTHOOK: query: select * from x4 order by key, value, rr +POSTHOOK: query: select * from x4 POSTHOOK: type: QUERY POSTHOOK: Input: default@x4 #### A masked pattern was here #### @@ -390,33 +392,33 @@ Bucket Columns: [] Sort Columns: [] Storage Desc Params: serialization.format 1 -PREHOOK: query: select * from x5 order by key, value, lead1 +PREHOOK: query: select * from x5 PREHOOK: type: QUERY PREHOOK: Input: default@x5 #### A masked pattern was here #### -POSTHOOK: query: select * from x5 order by key, value, lead1 +POSTHOOK: query: select * from x5 POSTHOOK: type: QUERY POSTHOOK: Input: default@x5 #### A masked pattern was here #### -0 val_0 NULL 0 val_0 0 0 val_0 0 +0 val_0 NULL 10 val_10 NULL -100 val_100 NULL 100 val_100 100 -103 val_103 NULL +100 val_100 NULL 103 val_103 103 -104 val_104 NULL +103 val_103 NULL 104 val_104 104 +104 val_104 NULL 105 val_105 NULL 11 val_11 NULL 111 val_111 NULL -113 val_113 NULL 113 val_113 113 +113 val_113 NULL 114 val_114 NULL 116 val_116 NULL -118 val_118 NULL 118 val_118 118 +118 val_118 NULL 119 val_119 119 PREHOOK: query: -- sub queries explain @@ -529,11 +531,11 @@ Bucket Columns: [] Sort Columns: [] Storage Desc Params: serialization.format 1 -PREHOOK: query: select * from x6 order by `_col0`, `_c1` +PREHOOK: query: select * from x6 PREHOOK: type: QUERY PREHOOK: Input: default@x6 #### A masked pattern was here #### -POSTHOOK: query: select * from x6 order by `_col0`, `_c1` +POSTHOOK: query: select * from x6 POSTHOOK: type: QUERY POSTHOOK: Input: default@x6 #### A masked pattern was here #### @@ -647,11 +649,11 @@ Bucket Columns: [] Sort Columns: [] Storage Desc Params: serialization.format 1 -PREHOOK: query: select * from x7 order by `_col0` +PREHOOK: query: select * from x7 PREHOOK: type: QUERY PREHOOK: Input: default@x7 #### A masked pattern was here #### -POSTHOOK: query: select * from x7 order by `_col0` +POSTHOOK: query: select * from x7 POSTHOOK: type: QUERY POSTHOOK: Input: default@x7 #### A masked pattern was here #### @@ -1076,11 +1078,11 @@ Bucket Columns: [] Sort Columns: [] Storage Desc Params: serialization.format 1 -PREHOOK: query: select * from x8 order by `_col0` +PREHOOK: query: select * from x8 PREHOOK: type: QUERY PREHOOK: Input: default@x8 #### A masked pattern was here #### -POSTHOOK: query: select * from x8 order by `_col0` +POSTHOOK: query: select * from x8 POSTHOOK: type: QUERY POSTHOOK: Input: default@x8 #### A masked pattern was here #### @@ -1208,11 +1210,11 @@ Bucket Columns: [] Sort Columns: [] Storage Desc Params: serialization.format 1 -PREHOOK: query: select * from x9 order by key, `_c0` +PREHOOK: query: select * from x9 PREHOOK: type: QUERY PREHOOK: Input: default@x9 #### A masked pattern was here #### -POSTHOOK: query: select * from x9 order by key, `_c0` +POSTHOOK: query: select * from x9 POSTHOOK: type: QUERY POSTHOOK: Input: default@x9 #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/custom_input_output_format.q.out ql/src/test/results/clientpositive/custom_input_output_format.q.out index 8f54c96..a63566a 100644 --- ql/src/test/results/clientpositive/custom_input_output_format.q.out +++ ql/src/test/results/clientpositive/custom_input_output_format.q.out @@ -1,8 +1,12 @@ -PREHOOK: query: CREATE TABLE src1_rot13_iof(key STRING, value STRING) +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE src1_rot13_iof(key STRING, value STRING) STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.udf.Rot13InputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.udf.Rot13OutputFormat' PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE src1_rot13_iof(key STRING, value STRING) +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE src1_rot13_iof(key STRING, value STRING) STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.udf.Rot13InputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.udf.Rot13OutputFormat' POSTHOOK: type: CREATETABLE @@ -15,11 +19,11 @@ key string None value string None #### A masked pattern was here #### -PREHOOK: query: SELECT * FROM src1 ORDER BY key, value +PREHOOK: query: SELECT * FROM src1 PREHOOK: type: QUERY PREHOOK: Input: default@src1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM src1 ORDER BY key, value +POSTHOOK: query: SELECT * FROM src1 POSTHOOK: type: QUERY POSTHOOK: Input: default@src1 #### A masked pattern was here #### @@ -58,11 +62,11 @@ POSTHOOK: Input: default@src1 POSTHOOK: Output: default@src1_rot13_iof POSTHOOK: Lineage: src1_rot13_iof.key SIMPLE [(src1)src1.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: src1_rot13_iof.value SIMPLE [(src1)src1.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: SELECT * FROM src1_rot13_iof ORDER BY key, value +PREHOOK: query: SELECT * FROM src1_rot13_iof PREHOOK: type: QUERY PREHOOK: Input: default@src1_rot13_iof #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM src1_rot13_iof ORDER BY key, value +POSTHOOK: query: SELECT * FROM src1_rot13_iof POSTHOOK: type: QUERY POSTHOOK: Input: default@src1_rot13_iof #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/database.q.out ql/src/test/results/clientpositive/database.q.out index 4bd94ff..9eed86d 100644 --- ql/src/test/results/clientpositive/database.q.out +++ ql/src/test/results/clientpositive/database.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: SHOW DATABASES +PREHOOK: query: -- SORT_QUERY_RESULTS + +SHOW DATABASES PREHOOK: type: SHOWDATABASES -POSTHOOK: query: SHOW DATABASES +POSTHOOK: query: -- SORT_QUERY_RESULTS + +SHOW DATABASES POSTHOOK: type: SHOWDATABASES default PREHOOK: query: -- CREATE with comment @@ -263,16 +267,16 @@ POSTHOOK: query: SELECT * FROM src LIMIT 10 POSTHOOK: type: QUERY POSTHOOK: Input: default@src #### A masked pattern was here #### -238 val_238 -86 val_86 -311 val_311 -27 val_27 165 val_165 -409 val_409 +238 val_238 255 val_255 +27 val_27 278 val_278 -98 val_98 +311 val_311 +409 val_409 484 val_484 +86 val_86 +98 val_98 PREHOOK: query: -- DROP DATABASE USE test_db PREHOOK: type: SWITCHDATABASE @@ -552,506 +556,506 @@ POSTHOOK: type: QUERY POSTHOOK: Input: db1@src #### A masked pattern was here #### POSTHOOK: Lineage: temp_tbl2.c EXPRESSION [(temp_tbl)temp_tbl.null, ] -238 val_238 -86 val_86 -311 val_311 -27 val_27 -165 val_165 -409 val_409 -255 val_255 -278 val_278 -98 val_98 -484 val_484 -265 val_265 -193 val_193 -401 val_401 -150 val_150 -273 val_273 -224 val_224 -369 val_369 -66 val_66 +0 val_0 +0 val_0 +0 val_0 +10 val_10 +100 val_100 +100 val_100 +103 val_103 +103 val_103 +104 val_104 +104 val_104 +105 val_105 +11 val_11 +111 val_111 +113 val_113 +113 val_113 +114 val_114 +116 val_116 +118 val_118 +118 val_118 +119 val_119 +119 val_119 +119 val_119 +12 val_12 +12 val_12 +120 val_120 +120 val_120 +125 val_125 +125 val_125 +126 val_126 128 val_128 -213 val_213 -146 val_146 -406 val_406 -429 val_429 -374 val_374 -152 val_152 -469 val_469 +128 val_128 +128 val_128 +129 val_129 +129 val_129 +131 val_131 +133 val_133 +134 val_134 +134 val_134 +136 val_136 +137 val_137 +137 val_137 +138 val_138 +138 val_138 +138 val_138 +138 val_138 +143 val_143 145 val_145 -495 val_495 -37 val_37 -327 val_327 -281 val_281 -277 val_277 -209 val_209 +146 val_146 +146 val_146 +149 val_149 +149 val_149 15 val_15 -82 val_82 -403 val_403 -166 val_166 -417 val_417 -430 val_430 -252 val_252 -292 val_292 -219 val_219 -287 val_287 +15 val_15 +150 val_150 +152 val_152 +152 val_152 153 val_153 -193 val_193 -338 val_338 -446 val_446 -459 val_459 -394 val_394 -237 val_237 -482 val_482 -174 val_174 -413 val_413 -494 val_494 -207 val_207 -199 val_199 -466 val_466 -208 val_208 -174 val_174 -399 val_399 -396 val_396 -247 val_247 -417 val_417 -489 val_489 +155 val_155 +156 val_156 +157 val_157 +158 val_158 +160 val_160 162 val_162 -377 val_377 -397 val_397 -309 val_309 -365 val_365 -266 val_266 -439 val_439 -342 val_342 -367 val_367 -325 val_325 +163 val_163 +164 val_164 +164 val_164 +165 val_165 +165 val_165 +166 val_166 167 val_167 -195 val_195 -475 val_475 +167 val_167 +167 val_167 +168 val_168 +169 val_169 +169 val_169 +169 val_169 +169 val_169 17 val_17 -113 val_113 -155 val_155 -203 val_203 -339 val_339 -0 val_0 -455 val_455 -128 val_128 -311 val_311 -316 val_316 -57 val_57 -302 val_302 -205 val_205 -149 val_149 -438 val_438 -345 val_345 -129 val_129 170 val_170 -20 val_20 -489 val_489 -157 val_157 -378 val_378 -221 val_221 -92 val_92 -111 val_111 -47 val_47 -72 val_72 -4 val_4 -280 val_280 -35 val_35 -427 val_427 -277 val_277 -208 val_208 -356 val_356 -399 val_399 -169 val_169 -382 val_382 -498 val_498 -125 val_125 -386 val_386 -437 val_437 -469 val_469 -192 val_192 -286 val_286 -187 val_187 +172 val_172 +172 val_172 +174 val_174 +174 val_174 +175 val_175 +175 val_175 176 val_176 -54 val_54 -459 val_459 -51 val_51 -138 val_138 -103 val_103 -239 val_239 -213 val_213 -216 val_216 -430 val_430 -278 val_278 176 val_176 -289 val_289 -221 val_221 -65 val_65 -318 val_318 -332 val_332 -311 val_311 -275 val_275 -137 val_137 -241 val_241 -83 val_83 -333 val_333 +177 val_177 +178 val_178 +179 val_179 +179 val_179 +18 val_18 +18 val_18 180 val_180 -284 val_284 -12 val_12 -230 val_230 181 val_181 -67 val_67 -260 val_260 -404 val_404 -384 val_384 -489 val_489 -353 val_353 -373 val_373 -272 val_272 -138 val_138 -217 val_217 -84 val_84 -348 val_348 -466 val_466 -58 val_58 -8 val_8 -411 val_411 -230 val_230 -208 val_208 -348 val_348 -24 val_24 -463 val_463 -431 val_431 -179 val_179 -172 val_172 -42 val_42 -129 val_129 -158 val_158 -119 val_119 -496 val_496 -0 val_0 -322 val_322 -197 val_197 -468 val_468 -393 val_393 -454 val_454 -100 val_100 -298 val_298 -199 val_199 +183 val_183 +186 val_186 +187 val_187 +187 val_187 +187 val_187 +189 val_189 +19 val_19 +190 val_190 191 val_191 -418 val_418 -96 val_96 -26 val_26 -165 val_165 -327 val_327 -230 val_230 -205 val_205 -120 val_120 -131 val_131 -51 val_51 -404 val_404 -43 val_43 -436 val_436 -156 val_156 -469 val_469 -468 val_468 -308 val_308 -95 val_95 +191 val_191 +192 val_192 +193 val_193 +193 val_193 +193 val_193 +194 val_194 +195 val_195 +195 val_195 196 val_196 -288 val_288 -481 val_481 -457 val_457 -98 val_98 -282 val_282 197 val_197 -187 val_187 -318 val_318 -318 val_318 -409 val_409 -470 val_470 -137 val_137 -369 val_369 -316 val_316 -169 val_169 -413 val_413 -85 val_85 -77 val_77 -0 val_0 -490 val_490 -87 val_87 -364 val_364 -179 val_179 -118 val_118 -134 val_134 -395 val_395 -282 val_282 -138 val_138 -238 val_238 -419 val_419 -15 val_15 -118 val_118 -72 val_72 -90 val_90 -307 val_307 -19 val_19 -435 val_435 -10 val_10 -277 val_277 -273 val_273 -306 val_306 +197 val_197 +199 val_199 +199 val_199 +199 val_199 +2 val_2 +20 val_20 +200 val_200 +200 val_200 +201 val_201 +202 val_202 +203 val_203 +203 val_203 +205 val_205 +205 val_205 +207 val_207 +207 val_207 +208 val_208 +208 val_208 +208 val_208 +209 val_209 +209 val_209 +213 val_213 +213 val_213 +214 val_214 +216 val_216 +216 val_216 +217 val_217 +217 val_217 +218 val_218 +219 val_219 +219 val_219 +221 val_221 +221 val_221 +222 val_222 +223 val_223 +223 val_223 +224 val_224 224 val_224 -309 val_309 -389 val_389 -327 val_327 -242 val_242 -369 val_369 -392 val_392 -272 val_272 -331 val_331 -401 val_401 -242 val_242 -452 val_452 -177 val_177 226 val_226 -5 val_5 -497 val_497 -402 val_402 -396 val_396 -317 val_317 -395 val_395 -58 val_58 -35 val_35 -336 val_336 -95 val_95 -11 val_11 -168 val_168 -34 val_34 -229 val_229 -233 val_233 -143 val_143 -472 val_472 -322 val_322 -498 val_498 -160 val_160 -195 val_195 -42 val_42 -321 val_321 -430 val_430 -119 val_119 -489 val_489 -458 val_458 -78 val_78 -76 val_76 -41 val_41 -223 val_223 -492 val_492 -149 val_149 -449 val_449 -218 val_218 228 val_228 -138 val_138 -453 val_453 -30 val_30 -209 val_209 -64 val_64 -468 val_468 -76 val_76 -74 val_74 -342 val_342 -69 val_69 +229 val_229 +229 val_229 230 val_230 -33 val_33 -368 val_368 -103 val_103 -296 val_296 -113 val_113 -216 val_216 -367 val_367 -344 val_344 -167 val_167 -274 val_274 -219 val_219 +230 val_230 +230 val_230 +230 val_230 +230 val_230 +233 val_233 +233 val_233 +235 val_235 +237 val_237 +237 val_237 +238 val_238 +238 val_238 239 val_239 -485 val_485 -116 val_116 -223 val_223 +239 val_239 +24 val_24 +24 val_24 +241 val_241 +242 val_242 +242 val_242 +244 val_244 +247 val_247 +248 val_248 +249 val_249 +252 val_252 +255 val_255 +255 val_255 256 val_256 +256 val_256 +257 val_257 +258 val_258 +26 val_26 +26 val_26 +260 val_260 +262 val_262 263 val_263 -70 val_70 -487 val_487 -480 val_480 -401 val_401 +265 val_265 +265 val_265 +266 val_266 +27 val_27 +272 val_272 +272 val_272 +273 val_273 +273 val_273 +273 val_273 +274 val_274 +275 val_275 +277 val_277 +277 val_277 +277 val_277 +277 val_277 +278 val_278 +278 val_278 +28 val_28 +280 val_280 +280 val_280 +281 val_281 +281 val_281 +282 val_282 +282 val_282 +283 val_283 +284 val_284 +285 val_285 +286 val_286 +287 val_287 288 val_288 -191 val_191 -5 val_5 -244 val_244 -438 val_438 -128 val_128 -467 val_467 -432 val_432 -202 val_202 +288 val_288 +289 val_289 +291 val_291 +292 val_292 +296 val_296 +298 val_298 +298 val_298 +298 val_298 +30 val_30 +302 val_302 +305 val_305 +306 val_306 +307 val_307 +307 val_307 +308 val_308 +309 val_309 +309 val_309 +310 val_310 +311 val_311 +311 val_311 +311 val_311 +315 val_315 316 val_316 -229 val_229 -469 val_469 -463 val_463 -280 val_280 -2 val_2 -35 val_35 -283 val_283 -331 val_331 -235 val_235 -80 val_80 -44 val_44 -193 val_193 +316 val_316 +316 val_316 +317 val_317 +317 val_317 +318 val_318 +318 val_318 +318 val_318 321 val_321 +321 val_321 +322 val_322 +322 val_322 +323 val_323 +325 val_325 +325 val_325 +327 val_327 +327 val_327 +327 val_327 +33 val_33 +331 val_331 +331 val_331 +332 val_332 +333 val_333 +333 val_333 335 val_335 -104 val_104 -466 val_466 +336 val_336 +338 val_338 +339 val_339 +34 val_34 +341 val_341 +342 val_342 +342 val_342 +344 val_344 +344 val_344 +345 val_345 +348 val_348 +348 val_348 +348 val_348 +348 val_348 +348 val_348 +35 val_35 +35 val_35 +35 val_35 +351 val_351 +353 val_353 +353 val_353 +356 val_356 +360 val_360 +362 val_362 +364 val_364 +365 val_365 366 val_366 -175 val_175 +367 val_367 +367 val_367 +368 val_368 +369 val_369 +369 val_369 +369 val_369 +37 val_37 +37 val_37 +373 val_373 +374 val_374 +375 val_375 +377 val_377 +378 val_378 +379 val_379 +382 val_382 +382 val_382 +384 val_384 +384 val_384 +384 val_384 +386 val_386 +389 val_389 +392 val_392 +393 val_393 +394 val_394 +395 val_395 +395 val_395 +396 val_396 +396 val_396 +396 val_396 +397 val_397 +397 val_397 +399 val_399 +399 val_399 +4 val_4 +400 val_400 +401 val_401 +401 val_401 +401 val_401 +401 val_401 +401 val_401 +402 val_402 403 val_403 -483 val_483 -53 val_53 -105 val_105 -257 val_257 +403 val_403 +403 val_403 +404 val_404 +404 val_404 406 val_406 -409 val_409 -190 val_190 406 val_406 -401 val_401 -114 val_114 -258 val_258 -90 val_90 -203 val_203 -262 val_262 -348 val_348 +406 val_406 +406 val_406 +407 val_407 +409 val_409 +409 val_409 +409 val_409 +41 val_41 +411 val_411 +413 val_413 +413 val_413 +414 val_414 +414 val_414 +417 val_417 +417 val_417 +417 val_417 +418 val_418 +419 val_419 +42 val_42 +42 val_42 +421 val_421 424 val_424 -12 val_12 -396 val_396 -201 val_201 -217 val_217 -164 val_164 +424 val_424 +427 val_427 +429 val_429 +429 val_429 +43 val_43 +430 val_430 +430 val_430 +430 val_430 431 val_431 -454 val_454 -478 val_478 -298 val_298 -125 val_125 431 val_431 -164 val_164 -424 val_424 -187 val_187 -382 val_382 -5 val_5 -70 val_70 -397 val_397 -480 val_480 -291 val_291 -24 val_24 -351 val_351 -255 val_255 -104 val_104 -70 val_70 -163 val_163 +431 val_431 +432 val_432 +435 val_435 +436 val_436 +437 val_437 +438 val_438 +438 val_438 438 val_438 -119 val_119 -414 val_414 -200 val_200 -491 val_491 -237 val_237 439 val_439 -360 val_360 -248 val_248 -479 val_479 -305 val_305 -417 val_417 -199 val_199 -444 val_444 -120 val_120 -429 val_429 -169 val_169 +439 val_439 +44 val_44 443 val_443 -323 val_323 -325 val_325 -277 val_277 -230 val_230 -478 val_478 -178 val_178 -468 val_468 -310 val_310 -317 val_317 -333 val_333 -493 val_493 +444 val_444 +446 val_446 +448 val_448 +449 val_449 +452 val_452 +453 val_453 +454 val_454 +454 val_454 +454 val_454 +455 val_455 +457 val_457 +458 val_458 +458 val_458 +459 val_459 +459 val_459 460 val_460 -207 val_207 -249 val_249 -265 val_265 -480 val_480 -83 val_83 -136 val_136 -353 val_353 -172 val_172 -214 val_214 462 val_462 -233 val_233 -406 val_406 -133 val_133 -175 val_175 -189 val_189 -454 val_454 -375 val_375 -401 val_401 -421 val_421 -407 val_407 -384 val_384 -256 val_256 -26 val_26 -134 val_134 -67 val_67 -384 val_384 -379 val_379 -18 val_18 462 val_462 +463 val_463 +463 val_463 +466 val_466 +466 val_466 +466 val_466 +467 val_467 +468 val_468 +468 val_468 +468 val_468 +468 val_468 +469 val_469 +469 val_469 +469 val_469 +469 val_469 +469 val_469 +47 val_47 +470 val_470 +472 val_472 +475 val_475 +477 val_477 +478 val_478 +478 val_478 +479 val_479 +480 val_480 +480 val_480 +480 val_480 +481 val_481 +482 val_482 +483 val_483 +484 val_484 +485 val_485 +487 val_487 +489 val_489 +489 val_489 +489 val_489 +489 val_489 +490 val_490 +491 val_491 492 val_492 -100 val_100 -298 val_298 -9 val_9 -341 val_341 +492 val_492 +493 val_493 +494 val_494 +495 val_495 +496 val_496 +497 val_497 498 val_498 -146 val_146 -458 val_458 -362 val_362 -186 val_186 -285 val_285 -348 val_348 -167 val_167 -18 val_18 -273 val_273 -183 val_183 -281 val_281 -344 val_344 -97 val_97 -469 val_469 -315 val_315 +498 val_498 +498 val_498 +5 val_5 +5 val_5 +5 val_5 +51 val_51 +51 val_51 +53 val_53 +54 val_54 +57 val_57 +58 val_58 +58 val_58 +64 val_64 +65 val_65 +66 val_66 +67 val_67 +67 val_67 +69 val_69 +70 val_70 +70 val_70 +70 val_70 +72 val_72 +72 val_72 +74 val_74 +76 val_76 +76 val_76 +77 val_77 +78 val_78 +8 val_8 +80 val_80 +82 val_82 +83 val_83 +83 val_83 84 val_84 -28 val_28 -37 val_37 -448 val_448 -152 val_152 -348 val_348 -307 val_307 -194 val_194 -414 val_414 -477 val_477 -222 val_222 -126 val_126 +84 val_84 +85 val_85 +86 val_86 +87 val_87 +9 val_9 90 val_90 -169 val_169 -403 val_403 -400 val_400 -200 val_200 +90 val_90 +90 val_90 +92 val_92 +95 val_95 +95 val_95 +96 val_96 +97 val_97 97 val_97 +98 val_98 +98 val_98 PREHOOK: query: -- CREATE Partitioned foreign table CREATE TABLE db1.srcpart(key STRING, value STRING) PARTITIONED BY (ds STRING, hr STRING) @@ -1093,90 +1097,90 @@ POSTHOOK: Input: db1@srcpart POSTHOOK: Input: db1@srcpart@ds=2008-04-08/hr=11 #### A masked pattern was here #### POSTHOOK: Lineage: temp_tbl2.c EXPRESSION [(temp_tbl)temp_tbl.null, ] -86 val_86 -27 val_27 -98 val_98 -66 val_66 -37 val_37 +0 val_0 +0 val_0 +0 val_0 +10 val_10 +11 val_11 +12 val_12 +12 val_12 +15 val_15 15 val_15 -82 val_82 17 val_17 -0 val_0 -57 val_57 +18 val_18 +18 val_18 +19 val_19 +2 val_2 20 val_20 -92 val_92 -47 val_47 -72 val_72 -4 val_4 -35 val_35 -54 val_54 -51 val_51 -65 val_65 -83 val_83 -12 val_12 -67 val_67 -84 val_84 -58 val_58 -8 val_8 24 val_24 -42 val_42 -0 val_0 -96 val_96 +24 val_24 26 val_26 -51 val_51 +26 val_26 +27 val_27 +28 val_28 +30 val_30 +33 val_33 +34 val_34 +35 val_35 +35 val_35 +35 val_35 +37 val_37 +37 val_37 +4 val_4 +41 val_41 +42 val_42 +42 val_42 43 val_43 -95 val_95 -98 val_98 -85 val_85 -77 val_77 -0 val_0 -87 val_87 -15 val_15 -72 val_72 -90 val_90 -19 val_19 -10 val_10 +44 val_44 +47 val_47 +5 val_5 5 val_5 +5 val_5 +51 val_51 +51 val_51 +53 val_53 +54 val_54 +57 val_57 +58 val_58 58 val_58 -35 val_35 -95 val_95 -11 val_11 -34 val_34 -42 val_42 -78 val_78 -76 val_76 -41 val_41 -30 val_30 64 val_64 -76 val_76 -74 val_74 +65 val_65 +66 val_66 +67 val_67 +67 val_67 69 val_69 -33 val_33 70 val_70 -5 val_5 -2 val_2 -35 val_35 -80 val_80 -44 val_44 -53 val_53 -90 val_90 -12 val_12 -5 val_5 70 val_70 -24 val_24 70 val_70 +72 val_72 +72 val_72 +74 val_74 +76 val_76 +76 val_76 +77 val_77 +78 val_78 +8 val_8 +80 val_80 +82 val_82 +83 val_83 83 val_83 -26 val_26 -67 val_67 -18 val_18 -9 val_9 -18 val_18 -97 val_97 84 val_84 -28 val_28 -37 val_37 +84 val_84 +85 val_85 +86 val_86 +87 val_87 +9 val_9 +90 val_90 90 val_90 +90 val_90 +92 val_92 +95 val_95 +95 val_95 +96 val_96 +97 val_97 97 val_97 +98 val_98 +98 val_98 PREHOOK: query: -- SELECT JOINed product of two foreign tables USE db2 PREHOOK: type: SWITCHDATABASE @@ -1290,7 +1294,7 @@ PREHOOK: query: SELECT * FROM ( SELECT value FROM db1.conflict_name UNION ALL SELECT value FROM db2.conflict_name -) subq ORDER BY value +) subq PREHOOK: type: QUERY PREHOOK: Input: db1@conflict_name PREHOOK: Input: db2@conflict_name @@ -1299,7 +1303,7 @@ POSTHOOK: query: SELECT * FROM ( SELECT value FROM db1.conflict_name UNION ALL SELECT value FROM db2.conflict_name -) subq ORDER BY value +) subq POSTHOOK: type: QUERY POSTHOOK: Input: db1@conflict_name POSTHOOK: Input: db2@conflict_name diff --git ql/src/test/results/clientpositive/groupby7_noskew_multi_single_reducer.q.out ql/src/test/results/clientpositive/groupby7_noskew_multi_single_reducer.q.out index 5fcc176..21849c2 100644 --- ql/src/test/results/clientpositive/groupby7_noskew_multi_single_reducer.q.out +++ ql/src/test/results/clientpositive/groupby7_noskew_multi_single_reducer.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: CREATE TABLE DEST1(key INT, value STRING) STORED AS TEXTFILE +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE DEST1(key INT, value STRING) STORED AS TEXTFILE PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE DEST1(key INT, value STRING) STORED AS TEXTFILE +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE DEST1(key INT, value STRING) STORED AS TEXTFILE POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@DEST1 PREHOOK: query: CREATE TABLE DEST2(key INT, value STRING) STORED AS TEXTFILE @@ -184,11 +188,11 @@ POSTHOOK: Lineage: dest1.key EXPRESSION [(src)src.FieldSchema(name:key, type:str POSTHOOK: Lineage: dest1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: dest2.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: dest2.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: SELECT DEST1.* FROM DEST1 ORDER BY key ASC, value ASC +PREHOOK: query: SELECT DEST1.* FROM DEST1 PREHOOK: type: QUERY PREHOOK: Input: default@dest1 #### A masked pattern was here #### -POSTHOOK: query: SELECT DEST1.* FROM DEST1 ORDER BY key ASC, value ASC +POSTHOOK: query: SELECT DEST1.* FROM DEST1 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest1 #### A masked pattern was here #### @@ -198,19 +202,19 @@ POSTHOOK: Lineage: dest2.key EXPRESSION [(src)src.FieldSchema(name:key, type:str POSTHOOK: Lineage: dest2.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ] 0 0.0 10 10.0 -11 11.0 100 200.0 103 206.0 104 208.0 105 105.0 +11 11.0 111 111.0 113 226.0 114 114.0 -PREHOOK: query: SELECT DEST2.* FROM DEST2 ORDER BY key ASC, value ASC +PREHOOK: query: SELECT DEST2.* FROM DEST2 PREHOOK: type: QUERY PREHOOK: Input: default@dest2 #### A masked pattern was here #### -POSTHOOK: query: SELECT DEST2.* FROM DEST2 ORDER BY key ASC, value ASC +POSTHOOK: query: SELECT DEST2.* FROM DEST2 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest2 #### A masked pattern was here #### @@ -220,11 +224,11 @@ POSTHOOK: Lineage: dest2.key EXPRESSION [(src)src.FieldSchema(name:key, type:str POSTHOOK: Lineage: dest2.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ] 0 0.0 10 10.0 -11 11.0 100 200.0 103 206.0 104 208.0 105 105.0 +11 11.0 111 111.0 113 226.0 114 114.0 diff --git ql/src/test/results/clientpositive/groupby_complex_types_multi_single_reducer.q.out ql/src/test/results/clientpositive/groupby_complex_types_multi_single_reducer.q.out index fd98abd..3132d71 100644 --- ql/src/test/results/clientpositive/groupby_complex_types_multi_single_reducer.q.out +++ ql/src/test/results/clientpositive/groupby_complex_types_multi_single_reducer.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: CREATE TABLE DEST1(key ARRAY, value BIGINT) STORED AS TEXTFILE +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE DEST1(key ARRAY, value BIGINT) STORED AS TEXTFILE PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE DEST1(key ARRAY, value BIGINT) STORED AS TEXTFILE +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE DEST1(key ARRAY, value BIGINT) STORED AS TEXTFILE POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@DEST1 PREHOOK: query: CREATE TABLE DEST2(key MAP, value BIGINT) STORED AS TEXTFILE @@ -209,11 +213,11 @@ POSTHOOK: Lineage: dest1.key EXPRESSION [(src)src.FieldSchema(name:key, type:str POSTHOOK: Lineage: dest1.value EXPRESSION [(src)src.null, ] POSTHOOK: Lineage: dest2.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), (src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: dest2.value EXPRESSION [(src)src.null, ] -PREHOOK: query: SELECT DEST1.* FROM DEST1 ORDER BY key[0] ASC, value ASC +PREHOOK: query: SELECT DEST1.* FROM DEST1 PREHOOK: type: QUERY PREHOOK: Input: default@dest1 #### A masked pattern was here #### -POSTHOOK: query: SELECT DEST1.* FROM DEST1 ORDER BY key[0] ASC, value ASC +POSTHOOK: query: SELECT DEST1.* FROM DEST1 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest1 #### A masked pattern was here #### @@ -231,11 +235,11 @@ POSTHOOK: Lineage: dest2.value EXPRESSION [(src)src.null, ] ["111"] 1 ["113"] 2 ["114"] 1 -PREHOOK: query: SELECT DEST2.* FROM DEST2 ORDER BY 1 ASC, value ASC +PREHOOK: query: SELECT DEST2.* FROM DEST2 PREHOOK: type: QUERY PREHOOK: Input: default@dest2 #### A masked pattern was here #### -POSTHOOK: query: SELECT DEST2.* FROM DEST2 ORDER BY 1 ASC, value ASC +POSTHOOK: query: SELECT DEST2.* FROM DEST2 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest2 #### A masked pattern was here #### @@ -243,13 +247,13 @@ POSTHOOK: Lineage: dest1.key EXPRESSION [(src)src.FieldSchema(name:key, type:str POSTHOOK: Lineage: dest1.value EXPRESSION [(src)src.null, ] POSTHOOK: Lineage: dest2.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), (src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: dest2.value EXPRESSION [(src)src.null, ] +{"0":"val_0"} 3 {"10":"val_10"} 1 -{"105":"val_105"} 1 -{"11":"val_11"} 1 -{"111":"val_111"} 1 -{"114":"val_114"} 1 {"100":"val_100"} 2 {"103":"val_103"} 2 {"104":"val_104"} 2 +{"105":"val_105"} 1 +{"11":"val_11"} 1 +{"111":"val_111"} 1 {"113":"val_113"} 2 -{"0":"val_0"} 3 +{"114":"val_114"} 1 diff --git ql/src/test/results/clientpositive/groupby_cube1.q.out ql/src/test/results/clientpositive/groupby_cube1.q.out index 4a92086..c0f4d72 100644 --- ql/src/test/results/clientpositive/groupby_cube1.q.out +++ ql/src/test/results/clientpositive/groupby_cube1.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: CREATE TABLE T1(key STRING, val STRING) STORED AS TEXTFILE +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE T1(key STRING, val STRING) STORED AS TEXTFILE PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE T1(key STRING, val STRING) STORED AS TEXTFILE +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE T1(key STRING, val STRING) STORED AS TEXTFILE POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@T1 PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/T1.txt' INTO TABLE T1 @@ -66,33 +70,31 @@ STAGE PLANS: limit: -1 PREHOOK: query: SELECT key, val, count(1) FROM T1 GROUP BY key, val with cube -ORDER BY key, val PREHOOK: type: QUERY PREHOOK: Input: default@t1 #### A masked pattern was here #### POSTHOOK: query: SELECT key, val, count(1) FROM T1 GROUP BY key, val with cube -ORDER BY key, val POSTHOOK: type: QUERY POSTHOOK: Input: default@t1 #### A masked pattern was here #### -NULL NULL 6 -NULL 11 1 -NULL 12 1 -NULL 13 1 -NULL 17 1 -NULL 18 1 -NULL 28 1 -1 NULL 1 1 11 1 -2 NULL 1 +1 NULL 1 2 12 1 -3 NULL 1 +2 NULL 1 3 13 1 -7 NULL 1 +3 NULL 1 7 17 1 -8 NULL 2 +7 NULL 1 8 18 1 8 28 1 +8 NULL 2 +NULL 11 1 +NULL 12 1 +NULL 13 1 +NULL 17 1 +NULL 18 1 +NULL 28 1 +NULL NULL 6 PREHOOK: query: EXPLAIN SELECT key, count(distinct val) FROM T1 GROUP BY key with cube PREHOOK: type: QUERY @@ -150,21 +152,19 @@ STAGE PLANS: limit: -1 PREHOOK: query: SELECT key, count(distinct val) FROM T1 GROUP BY key with cube -ORDER BY key PREHOOK: type: QUERY PREHOOK: Input: default@t1 #### A masked pattern was here #### POSTHOOK: query: SELECT key, count(distinct val) FROM T1 GROUP BY key with cube -ORDER BY key POSTHOOK: type: QUERY POSTHOOK: Input: default@t1 #### A masked pattern was here #### -NULL 6 1 1 2 1 3 1 7 1 8 2 +NULL 6 PREHOOK: query: EXPLAIN SELECT key, val, count(1) FROM T1 GROUP BY key, val with cube PREHOOK: type: QUERY @@ -247,33 +247,31 @@ STAGE PLANS: limit: -1 PREHOOK: query: SELECT key, val, count(1) FROM T1 GROUP BY key, val with cube -ORDER BY key, val PREHOOK: type: QUERY PREHOOK: Input: default@t1 #### A masked pattern was here #### POSTHOOK: query: SELECT key, val, count(1) FROM T1 GROUP BY key, val with cube -ORDER BY key, val POSTHOOK: type: QUERY POSTHOOK: Input: default@t1 #### A masked pattern was here #### -NULL NULL 6 -NULL 11 1 -NULL 12 1 -NULL 13 1 -NULL 17 1 -NULL 18 1 -NULL 28 1 -1 NULL 1 1 11 1 -2 NULL 1 +1 NULL 1 2 12 1 -3 NULL 1 +2 NULL 1 3 13 1 -7 NULL 1 +3 NULL 1 7 17 1 -8 NULL 2 +7 NULL 1 8 18 1 8 28 1 +8 NULL 2 +NULL 11 1 +NULL 12 1 +NULL 13 1 +NULL 17 1 +NULL 18 1 +NULL 28 1 +NULL NULL 6 PREHOOK: query: EXPLAIN SELECT key, count(distinct val) FROM T1 GROUP BY key with cube PREHOOK: type: QUERY @@ -331,21 +329,19 @@ STAGE PLANS: limit: -1 PREHOOK: query: SELECT key, count(distinct val) FROM T1 GROUP BY key with cube -ORDER BY key PREHOOK: type: QUERY PREHOOK: Input: default@t1 #### A masked pattern was here #### POSTHOOK: query: SELECT key, count(distinct val) FROM T1 GROUP BY key with cube -ORDER BY key POSTHOOK: type: QUERY POSTHOOK: Input: default@t1 #### A masked pattern was here #### -NULL 6 1 1 2 1 3 1 7 1 8 2 +NULL 6 PREHOOK: query: CREATE TABLE T2(key1 STRING, key2 STRING, val INT) STORED AS TEXTFILE PREHOOK: type: CREATETABLE POSTHOOK: query: CREATE TABLE T2(key1 STRING, key2 STRING, val INT) STORED AS TEXTFILE diff --git ql/src/test/results/clientpositive/groupby_grouping_sets4.q.out ql/src/test/results/clientpositive/groupby_grouping_sets4.q.out index f5d3633..7179c45 100644 --- ql/src/test/results/clientpositive/groupby_grouping_sets4.q.out +++ ql/src/test/results/clientpositive/groupby_grouping_sets4.q.out @@ -1,8 +1,12 @@ -PREHOOK: query: -- Set merging to false above to make the explain more readable +PREHOOK: query: -- SORT_QUERY_RESULTS + +-- Set merging to false above to make the explain more readable CREATE TABLE T1(a STRING, b STRING, c STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ' STORED AS TEXTFILE PREHOOK: type: CREATETABLE -POSTHOOK: query: -- Set merging to false above to make the explain more readable +POSTHOOK: query: -- SORT_QUERY_RESULTS + +-- Set merging to false above to make the explain more readable CREATE TABLE T1(a STRING, b STRING, c STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ' STORED AS TEXTFILE POSTHOOK: type: CREATETABLE @@ -19,7 +23,7 @@ SELECT * FROM (SELECT a, b, count(*) from T1 where a < 3 group by a, b with cube) subq1 join (SELECT a, b, count(*) from T1 where a < 3 group by a, b with cube) subq2 -on subq1.a = subq2.a order by subq1.a, subq1.b, subq2.a, subq2.b +on subq1.a = subq2.a PREHOOK: type: QUERY POSTHOOK: query: -- This tests that cubes and rollups work fine inside sub-queries. EXPLAIN @@ -27,13 +31,12 @@ SELECT * FROM (SELECT a, b, count(*) from T1 where a < 3 group by a, b with cube) subq1 join (SELECT a, b, count(*) from T1 where a < 3 group by a, b with cube) subq2 -on subq1.a = subq2.a order by subq1.a, subq1.b, subq2.a, subq2.b +on subq1.a = subq2.a POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-2 depends on stages: Stage-1, Stage-4 - Stage-3 depends on stages: Stage-2 - Stage-4 is a root stage + Stage-2 depends on stages: Stage-1, Stage-3 + Stage-3 is a root stage Stage-0 is a root stage STAGE PLANS: @@ -112,35 +115,16 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-3 Map Reduce Map Operator Tree: TableScan - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: string), _col3 (type: string), _col4 (type: string) - sort order: ++++ - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint), _col3 (type: string), _col4 (type: string), _col5 (type: bigint) - Reduce Operator Tree: - Extract - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - - Stage: Stage-4 - Map Reduce - Map Operator Tree: - TableScan alias: t1 Statistics: Num rows: 0 Data size: 36 Basic stats: PARTIAL Column stats: NONE Filter Operator @@ -188,7 +172,7 @@ PREHOOK: query: SELECT * FROM (SELECT a, b, count(*) from T1 where a < 3 group by a, b with cube) subq1 join (SELECT a, b, count(*) from T1 where a < 3 group by a, b with cube) subq2 -on subq1.a = subq2.a order by subq1.a, subq1.b, subq2.a, subq2.b +on subq1.a = subq2.a PREHOOK: type: QUERY PREHOOK: Input: default@t1 #### A masked pattern was here #### @@ -196,23 +180,23 @@ POSTHOOK: query: SELECT * FROM (SELECT a, b, count(*) from T1 where a < 3 group by a, b with cube) subq1 join (SELECT a, b, count(*) from T1 where a < 3 group by a, b with cube) subq2 -on subq1.a = subq2.a order by subq1.a, subq1.b, subq2.a, subq2.b +on subq1.a = subq2.a POSTHOOK: type: QUERY POSTHOOK: Input: default@t1 #### A masked pattern was here #### -1 NULL 1 1 NULL 1 -1 NULL 1 1 1 1 -1 1 1 1 NULL 1 1 1 1 1 1 1 -2 NULL 2 2 NULL 2 -2 NULL 2 2 2 1 -2 NULL 2 2 3 1 -2 2 1 2 NULL 2 +1 1 1 1 NULL 1 +1 NULL 1 1 1 1 +1 NULL 1 1 NULL 1 2 2 1 2 2 1 2 2 1 2 3 1 -2 3 1 2 NULL 2 +2 2 1 2 NULL 2 2 3 1 2 2 1 2 3 1 2 3 1 +2 3 1 2 NULL 2 +2 NULL 2 2 2 1 +2 NULL 2 2 3 1 +2 NULL 2 2 NULL 2 PREHOOK: query: -- Since 4 grouping sets would be generated for each sub-query, an additional MR job should be created -- for each of them EXPLAIN @@ -220,7 +204,7 @@ SELECT * FROM (SELECT a, b, count(*) from T1 where a < 3 group by a, b with cube) subq1 join (SELECT a, b, count(*) from T1 where a < 3 group by a, b with cube) subq2 -on subq1.a = subq2.a order by subq1.a, subq1.b, subq2.a, subq2.b +on subq1.a = subq2.a PREHOOK: type: QUERY POSTHOOK: query: -- Since 4 grouping sets would be generated for each sub-query, an additional MR job should be created -- for each of them @@ -229,15 +213,14 @@ SELECT * FROM (SELECT a, b, count(*) from T1 where a < 3 group by a, b with cube) subq1 join (SELECT a, b, count(*) from T1 where a < 3 group by a, b with cube) subq2 -on subq1.a = subq2.a order by subq1.a, subq1.b, subq2.a, subq2.b +on subq1.a = subq2.a POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage Stage-2 depends on stages: Stage-1 - Stage-3 depends on stages: Stage-2, Stage-6 - Stage-4 depends on stages: Stage-3 - Stage-5 is a root stage - Stage-6 depends on stages: Stage-5 + Stage-3 depends on stages: Stage-2, Stage-5 + Stage-4 is a root stage + Stage-5 depends on stages: Stage-4 Stage-0 is a root stage STAGE PLANS: @@ -340,35 +323,16 @@ STAGE PLANS: Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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.lazybinary.LazyBinarySerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-4 Map Reduce Map Operator Tree: TableScan - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: string), _col3 (type: string), _col4 (type: string) - sort order: ++++ - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint), _col3 (type: string), _col4 (type: string), _col5 (type: bigint) - Reduce Operator Tree: - Extract - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - - Stage: Stage-5 - Map Reduce - Map Operator Tree: - TableScan alias: t1 Statistics: Num rows: 0 Data size: 36 Basic stats: PARTIAL Column stats: NONE Filter Operator @@ -404,7 +368,7 @@ STAGE PLANS: output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - Stage: Stage-6 + Stage: Stage-5 Map Reduce Map Operator Tree: TableScan @@ -440,7 +404,7 @@ PREHOOK: query: SELECT * FROM (SELECT a, b, count(*) from T1 where a < 3 group by a, b with cube) subq1 join (SELECT a, b, count(*) from T1 where a < 3 group by a, b with cube) subq2 -on subq1.a = subq2.a order by subq1.a, subq1.b, subq2.a, subq2.b +on subq1.a = subq2.a PREHOOK: type: QUERY PREHOOK: Input: default@t1 #### A masked pattern was here #### @@ -448,20 +412,20 @@ POSTHOOK: query: SELECT * FROM (SELECT a, b, count(*) from T1 where a < 3 group by a, b with cube) subq1 join (SELECT a, b, count(*) from T1 where a < 3 group by a, b with cube) subq2 -on subq1.a = subq2.a order by subq1.a, subq1.b, subq2.a, subq2.b +on subq1.a = subq2.a POSTHOOK: type: QUERY POSTHOOK: Input: default@t1 #### A masked pattern was here #### -1 NULL 1 1 NULL 1 -1 NULL 1 1 1 1 -1 1 1 1 NULL 1 1 1 1 1 1 1 -2 NULL 2 2 NULL 2 -2 NULL 2 2 2 1 -2 NULL 2 2 3 1 -2 2 1 2 NULL 2 +1 1 1 1 NULL 1 +1 NULL 1 1 1 1 +1 NULL 1 1 NULL 1 2 2 1 2 2 1 2 2 1 2 3 1 -2 3 1 2 NULL 2 +2 2 1 2 NULL 2 2 3 1 2 2 1 2 3 1 2 3 1 +2 3 1 2 NULL 2 +2 NULL 2 2 2 1 +2 NULL 2 2 3 1 +2 NULL 2 2 NULL 2 diff --git ql/src/test/results/clientpositive/groupby_multi_single_reducer.q.out ql/src/test/results/clientpositive/groupby_multi_single_reducer.q.out index fe00553..2186818 100644 --- ql/src/test/results/clientpositive/groupby_multi_single_reducer.q.out +++ ql/src/test/results/clientpositive/groupby_multi_single_reducer.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: CREATE TABLE dest_g2(key STRING, c1 INT, c2 STRING, c3 INT, c4 INT) STORED AS TEXTFILE +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE dest_g2(key STRING, c1 INT, c2 STRING, c3 INT, c4 INT) STORED AS TEXTFILE PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE dest_g2(key STRING, c1 INT, c2 STRING, c3 INT, c4 INT) STORED AS TEXTFILE +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE dest_g2(key STRING, c1 INT, c2 STRING, c3 INT, c4 INT) STORED AS TEXTFILE POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@dest_g2 PREHOOK: query: CREATE TABLE dest_g3(key STRING, c1 INT, c2 STRING, c3 INT, c4 INT) STORED AS TEXTFILE @@ -197,11 +201,11 @@ POSTHOOK: Lineage: dest_g4.c2 EXPRESSION [(src)src.FieldSchema(name:value, type: POSTHOOK: Lineage: dest_g4.c3 EXPRESSION [(src)src.null, ] POSTHOOK: Lineage: dest_g4.c4 EXPRESSION [(src)src.null, ] POSTHOOK: Lineage: dest_g4.key SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: SELECT * FROM dest_g2 ORDER BY key ASC, c1 ASC, c2 ASC, c3 ASC, c4 ASC +PREHOOK: query: SELECT * FROM dest_g2 PREHOOK: type: QUERY PREHOOK: Input: default@dest_g2 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM dest_g2 ORDER BY key ASC, c1 ASC, c2 ASC, c3 ASC, c4 ASC +POSTHOOK: query: SELECT * FROM dest_g2 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest_g2 #### A masked pattern was here #### @@ -225,11 +229,11 @@ POSTHOOK: Lineage: dest_g4.key SIMPLE [(src)src.FieldSchema(name:value, type:str 7 6 7735.0 447 10 8 8 8762.0 595 10 9 7 91047.0 577 12 -PREHOOK: query: SELECT * FROM dest_g3 ORDER BY key ASC, c1 ASC, c2 ASC, c3 ASC, c4 ASC +PREHOOK: query: SELECT * FROM dest_g3 PREHOOK: type: QUERY PREHOOK: Input: default@dest_g3 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM dest_g3 ORDER BY key ASC, c1 ASC, c2 ASC, c3 ASC, c4 ASC +POSTHOOK: query: SELECT * FROM dest_g3 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest_g3 #### A masked pattern was here #### @@ -253,11 +257,11 @@ POSTHOOK: Lineage: dest_g4.key SIMPLE [(src)src.FieldSchema(name:value, type:str 2 69 225571.0 15780 111 3 62 332004.0 20119 99 4 74 452763.0 30965 124 -PREHOOK: query: SELECT * FROM dest_g4 ORDER BY key ASC, c1 ASC, c2 ASC, c3 ASC, c4 ASC +PREHOOK: query: SELECT * FROM dest_g4 PREHOOK: type: QUERY PREHOOK: Input: default@dest_g4 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM dest_g4 ORDER BY key ASC, c1 ASC, c2 ASC, c3 ASC, c4 ASC +POSTHOOK: query: SELECT * FROM dest_g4 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest_g4 #### A masked pattern was here #### @@ -635,11 +639,11 @@ POSTHOOK: Lineage: dest_h3.c2 EXPRESSION [(src)src.FieldSchema(name:key, type:st POSTHOOK: Lineage: dest_h3.c3 EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: dest_h3.c4 EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: dest_h3.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] -PREHOOK: query: SELECT * FROM dest_g2 ORDER BY key ASC, c1 ASC, c2 ASC, c3 ASC, c4 ASC +PREHOOK: query: SELECT * FROM dest_g2 PREHOOK: type: QUERY PREHOOK: Input: default@dest_g2 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM dest_g2 ORDER BY key ASC, c1 ASC, c2 ASC, c3 ASC, c4 ASC +POSTHOOK: query: SELECT * FROM dest_g2 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest_g2 #### A masked pattern was here #### @@ -688,11 +692,11 @@ POSTHOOK: Lineage: dest_h3.key EXPRESSION [(src)src.FieldSchema(name:key, type:s 7 6 7735.0 447 10 8 8 8762.0 595 10 9 7 91047.0 577 12 -PREHOOK: query: SELECT * FROM dest_g3 ORDER BY key ASC, c1 ASC, c2 ASC, c3 ASC, c4 ASC +PREHOOK: query: SELECT * FROM dest_g3 PREHOOK: type: QUERY PREHOOK: Input: default@dest_g3 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM dest_g3 ORDER BY key ASC, c1 ASC, c2 ASC, c3 ASC, c4 ASC +POSTHOOK: query: SELECT * FROM dest_g3 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest_g3 #### A masked pattern was here #### @@ -741,11 +745,11 @@ POSTHOOK: Lineage: dest_h3.key EXPRESSION [(src)src.FieldSchema(name:key, type:s 2 69 225571.0 15780 111 3 62 332004.0 20119 99 4 74 452763.0 30965 124 -PREHOOK: query: SELECT * FROM dest_g4 ORDER BY key ASC, c1 ASC, c2 ASC, c3 ASC, c4 ASC +PREHOOK: query: SELECT * FROM dest_g4 PREHOOK: type: QUERY PREHOOK: Input: default@dest_g4 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM dest_g4 ORDER BY key ASC, c1 ASC, c2 ASC, c3 ASC, c4 ASC +POSTHOOK: query: SELECT * FROM dest_g4 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest_g4 #### A masked pattern was here #### @@ -799,11 +803,11 @@ POSTHOOK: Lineage: dest_h3.key EXPRESSION [(src)src.FieldSchema(name:key, type:s 7 6 7735.0 447 10 8 8 8762.0 595 10 9 7 91047.0 577 12 -PREHOOK: query: SELECT * FROM dest_h2 ORDER BY key ASC, c1 ASC, c2 ASC, c3 ASC, c4 ASC +PREHOOK: query: SELECT * FROM dest_h2 PREHOOK: type: QUERY PREHOOK: Input: default@dest_h2 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM dest_h2 ORDER BY key ASC, c1 ASC, c2 ASC, c3 ASC, c4 ASC +POSTHOOK: query: SELECT * FROM dest_h2 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest_h2 #### A masked pattern was here #### @@ -857,11 +861,11 @@ POSTHOOK: Lineage: dest_h3.key EXPRESSION [(src)src.FieldSchema(name:key, type:s 1 8 11263.0 1263 10 1 9 12294.0 2294 14 1 9 12654.0 2654 16 -PREHOOK: query: SELECT * FROM dest_h3 ORDER BY key ASC, c1 ASC, c2 ASC, c3 ASC, c4 ASC +PREHOOK: query: SELECT * FROM dest_h3 PREHOOK: type: QUERY PREHOOK: Input: default@dest_h3 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM dest_h3 ORDER BY key ASC, c1 ASC, c2 ASC, c3 ASC, c4 ASC +POSTHOOK: query: SELECT * FROM dest_h3 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest_h3 #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/groupby_rollup1.q.out ql/src/test/results/clientpositive/groupby_rollup1.q.out index 1f2e757..99760e8 100644 --- ql/src/test/results/clientpositive/groupby_rollup1.q.out +++ ql/src/test/results/clientpositive/groupby_rollup1.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: CREATE TABLE T1(key STRING, val STRING) STORED AS TEXTFILE +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE T1(key STRING, val STRING) STORED AS TEXTFILE PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE T1(key STRING, val STRING) STORED AS TEXTFILE +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE T1(key STRING, val STRING) STORED AS TEXTFILE POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@T1 PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/T1.txt' INTO TABLE T1 @@ -66,27 +70,25 @@ STAGE PLANS: limit: -1 PREHOOK: query: SELECT key, val, count(1) FROM T1 GROUP BY key, val with rollup -ORDER BY key, val PREHOOK: type: QUERY PREHOOK: Input: default@t1 #### A masked pattern was here #### POSTHOOK: query: SELECT key, val, count(1) FROM T1 GROUP BY key, val with rollup -ORDER BY key, val POSTHOOK: type: QUERY POSTHOOK: Input: default@t1 #### A masked pattern was here #### -NULL NULL 6 -1 NULL 1 1 11 1 -2 NULL 1 +1 NULL 1 2 12 1 -3 NULL 1 +2 NULL 1 3 13 1 -7 NULL 1 +3 NULL 1 7 17 1 -8 NULL 2 +7 NULL 1 8 18 1 8 28 1 +8 NULL 2 +NULL NULL 6 PREHOOK: query: EXPLAIN SELECT key, count(distinct val) FROM T1 GROUP BY key with rollup PREHOOK: type: QUERY @@ -144,21 +146,19 @@ STAGE PLANS: limit: -1 PREHOOK: query: SELECT key, count(distinct val) FROM T1 GROUP BY key with rollup -ORDER BY key PREHOOK: type: QUERY PREHOOK: Input: default@t1 #### A masked pattern was here #### POSTHOOK: query: SELECT key, count(distinct val) FROM T1 GROUP BY key with rollup -ORDER BY key POSTHOOK: type: QUERY POSTHOOK: Input: default@t1 #### A masked pattern was here #### -NULL 6 1 1 2 1 3 1 7 1 8 2 +NULL 6 PREHOOK: query: EXPLAIN SELECT key, val, count(1) FROM T1 GROUP BY key, val with rollup PREHOOK: type: QUERY @@ -241,27 +241,25 @@ STAGE PLANS: limit: -1 PREHOOK: query: SELECT key, val, count(1) FROM T1 GROUP BY key, val with rollup -ORDER BY key, val PREHOOK: type: QUERY PREHOOK: Input: default@t1 #### A masked pattern was here #### POSTHOOK: query: SELECT key, val, count(1) FROM T1 GROUP BY key, val with rollup -ORDER BY key, val POSTHOOK: type: QUERY POSTHOOK: Input: default@t1 #### A masked pattern was here #### -NULL NULL 6 -1 NULL 1 1 11 1 -2 NULL 1 +1 NULL 1 2 12 1 -3 NULL 1 +2 NULL 1 3 13 1 -7 NULL 1 +3 NULL 1 7 17 1 -8 NULL 2 +7 NULL 1 8 18 1 8 28 1 +8 NULL 2 +NULL NULL 6 PREHOOK: query: EXPLAIN SELECT key, count(distinct val) FROM T1 GROUP BY key with rollup PREHOOK: type: QUERY @@ -319,21 +317,19 @@ STAGE PLANS: limit: -1 PREHOOK: query: SELECT key, count(distinct val) FROM T1 GROUP BY key with rollup -ORDER BY key PREHOOK: type: QUERY PREHOOK: Input: default@t1 #### A masked pattern was here #### POSTHOOK: query: SELECT key, count(distinct val) FROM T1 GROUP BY key with rollup -ORDER BY key POSTHOOK: type: QUERY POSTHOOK: Input: default@t1 #### A masked pattern was here #### -NULL 6 1 1 2 1 3 1 7 1 8 2 +NULL 6 PREHOOK: query: CREATE TABLE T2(key1 STRING, key2 STRING, val INT) STORED AS TEXTFILE PREHOOK: type: CREATETABLE POSTHOOK: query: CREATE TABLE T2(key1 STRING, key2 STRING, val INT) STORED AS TEXTFILE diff --git ql/src/test/results/clientpositive/groupby_sort_1.q.out ql/src/test/results/clientpositive/groupby_sort_1.q.out index b1f7f41..f591e58 100644 --- ql/src/test/results/clientpositive/groupby_sort_1.q.out +++ ql/src/test/results/clientpositive/groupby_sort_1.q.out @@ -1,7 +1,11 @@ -PREHOOK: query: CREATE TABLE T1(key STRING, val STRING) +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE T1(key STRING, val STRING) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS STORED AS TEXTFILE PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE T1(key STRING, val STRING) +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE T1(key STRING, val STRING) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS STORED AS TEXTFILE POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@T1 @@ -32,14 +36,12 @@ POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comm POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] PREHOOK: query: -- The plan should be converted to a map-side group by if the group by key -- matches the sorted key --- addind a order by at the end to make the test results deterministic EXPLAIN EXTENDED INSERT OVERWRITE TABLE outputTbl1 SELECT key, count(1) FROM T1 GROUP BY key PREHOOK: type: QUERY POSTHOOK: query: -- The plan should be converted to a map-side group by if the group by key -- matches the sorted key --- addind a order by at the end to make the test results deterministic EXPLAIN EXTENDED INSERT OVERWRITE TABLE outputTbl1 SELECT key, count(1) FROM T1 GROUP BY key @@ -366,11 +368,11 @@ POSTHOOK: Lineage: outputtbl1.cnt EXPRESSION [(t1)t1.null, ] POSTHOOK: Lineage: outputtbl1.key EXPRESSION [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] -PREHOOK: query: SELECT * FROM outputTbl1 ORDER BY key +PREHOOK: query: SELECT * FROM outputTbl1 PREHOOK: type: QUERY PREHOOK: Input: default@outputtbl1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM outputTbl1 ORDER BY key +POSTHOOK: query: SELECT * FROM outputTbl1 POSTHOOK: type: QUERY POSTHOOK: Input: default@outputtbl1 #### A masked pattern was here #### @@ -597,11 +599,11 @@ POSTHOOK: Lineage: outputtbl2.key1 EXPRESSION [(t1)t1.FieldSchema(name:key, type POSTHOOK: Lineage: outputtbl2.key2 SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] -PREHOOK: query: SELECT * FROM outputTbl2 ORDER BY key1, key2 +PREHOOK: query: SELECT * FROM outputTbl2 PREHOOK: type: QUERY PREHOOK: Input: default@outputtbl2 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM outputTbl2 ORDER BY key1, key2 +POSTHOOK: query: SELECT * FROM outputTbl2 POSTHOOK: type: QUERY POSTHOOK: Input: default@outputtbl2 #### A masked pattern was here #### @@ -1015,11 +1017,11 @@ POSTHOOK: Lineage: outputtbl2.key1 EXPRESSION [(t1)t1.FieldSchema(name:key, type POSTHOOK: Lineage: outputtbl2.key2 SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] -PREHOOK: query: SELECT * FROM outputTbl1 ORDER BY key +PREHOOK: query: SELECT * FROM outputTbl1 PREHOOK: type: QUERY PREHOOK: Input: default@outputtbl1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM outputTbl1 ORDER BY key +POSTHOOK: query: SELECT * FROM outputTbl1 POSTHOOK: type: QUERY POSTHOOK: Input: default@outputtbl1 #### A masked pattern was here #### @@ -1440,11 +1442,11 @@ POSTHOOK: Lineage: outputtbl2.key1 EXPRESSION [(t1)t1.FieldSchema(name:key, type POSTHOOK: Lineage: outputtbl2.key2 SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] -PREHOOK: query: SELECT * FROM outputTbl1 ORDER BY key +PREHOOK: query: SELECT * FROM outputTbl1 PREHOOK: type: QUERY PREHOOK: Input: default@outputtbl1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM outputTbl1 ORDER BY key +POSTHOOK: query: SELECT * FROM outputTbl1 POSTHOOK: type: QUERY POSTHOOK: Input: default@outputtbl1 #### A masked pattern was here #### @@ -1836,11 +1838,11 @@ POSTHOOK: Lineage: outputtbl3.key1 SIMPLE [] POSTHOOK: Lineage: outputtbl3.key2 EXPRESSION [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] -PREHOOK: query: SELECT * FROM outputTbl3 ORDER BY key1, key2 +PREHOOK: query: SELECT * FROM outputTbl3 PREHOOK: type: QUERY PREHOOK: Input: default@outputtbl3 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM outputTbl3 ORDER BY key1, key2 +POSTHOOK: query: SELECT * FROM outputTbl3 POSTHOOK: type: QUERY POSTHOOK: Input: default@outputtbl3 #### A masked pattern was here #### @@ -2111,11 +2113,11 @@ POSTHOOK: Lineage: outputtbl4.key2 SIMPLE [] POSTHOOK: Lineage: outputtbl4.key3 SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] -PREHOOK: query: SELECT * FROM outputTbl4 ORDER BY key1, key2, key3 +PREHOOK: query: SELECT * FROM outputTbl4 PREHOOK: type: QUERY PREHOOK: Input: default@outputtbl4 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM outputTbl4 ORDER BY key1, key2, key3 +POSTHOOK: query: SELECT * FROM outputTbl4 POSTHOOK: type: QUERY POSTHOOK: Input: default@outputtbl4 #### A masked pattern was here #### @@ -2390,11 +2392,11 @@ POSTHOOK: Lineage: outputtbl4.key2 SIMPLE [] POSTHOOK: Lineage: outputtbl4.key3 SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] -PREHOOK: query: SELECT * FROM outputTbl3 ORDER BY key1, key2 +PREHOOK: query: SELECT * FROM outputTbl3 PREHOOK: type: QUERY PREHOOK: Input: default@outputtbl3 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM outputTbl3 ORDER BY key1, key2 +POSTHOOK: query: SELECT * FROM outputTbl3 POSTHOOK: type: QUERY POSTHOOK: Input: default@outputtbl3 #### A masked pattern was here #### @@ -2718,11 +2720,11 @@ POSTHOOK: Lineage: outputtbl4.key2 SIMPLE [] POSTHOOK: Lineage: outputtbl4.key3 SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] -PREHOOK: query: SELECT * FROM outputTbl1 ORDER BY key +PREHOOK: query: SELECT * FROM outputTbl1 PREHOOK: type: QUERY PREHOOK: Input: default@outputtbl1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM outputTbl1 ORDER BY key +POSTHOOK: query: SELECT * FROM outputTbl1 POSTHOOK: type: QUERY POSTHOOK: Input: default@outputtbl1 #### A masked pattern was here #### @@ -2749,11 +2751,11 @@ POSTHOOK: Lineage: outputtbl4.key2 SIMPLE [] POSTHOOK: Lineage: outputtbl4.key3 SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] +14 1 +16 2 2 1 4 1 6 1 -14 1 -16 2 PREHOOK: query: -- group by followed by a union EXPLAIN EXTENDED INSERT OVERWRITE TABLE outputTbl1 @@ -3276,11 +3278,11 @@ POSTHOOK: Lineage: outputtbl4.key2 SIMPLE [] POSTHOOK: Lineage: outputtbl4.key3 SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] -PREHOOK: query: SELECT * FROM outputTbl1 ORDER BY key +PREHOOK: query: SELECT * FROM outputTbl1 PREHOOK: type: QUERY PREHOOK: Input: default@outputtbl1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM outputTbl1 ORDER BY key +POSTHOOK: query: SELECT * FROM outputTbl1 POSTHOOK: type: QUERY POSTHOOK: Input: default@outputtbl1 #### A masked pattern was here #### @@ -3963,11 +3965,11 @@ POSTHOOK: Lineage: outputtbl4.key2 SIMPLE [] POSTHOOK: Lineage: outputtbl4.key3 SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] -PREHOOK: query: SELECT * FROM outputTbl1 ORDER BY key +PREHOOK: query: SELECT * FROM outputTbl1 PREHOOK: type: QUERY PREHOOK: Input: default@outputtbl1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM outputTbl1 ORDER BY key +POSTHOOK: query: SELECT * FROM outputTbl1 POSTHOOK: type: QUERY POSTHOOK: Input: default@outputtbl1 #### A masked pattern was here #### @@ -3999,6 +4001,8 @@ POSTHOOK: Lineage: outputtbl4.key3 SIMPLE [(t1)t1.FieldSchema(name:val, type:str POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] 1 1 +14 1 +16 2 2 1 2 1 3 1 @@ -4006,8 +4010,6 @@ POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comm 6 1 7 1 8 2 -14 1 -16 2 PREHOOK: query: -- group by followed by a join EXPLAIN EXTENDED INSERT OVERWRITE TABLE outputTbl1 @@ -4368,11 +4370,11 @@ POSTHOOK: Lineage: outputtbl4.key2 SIMPLE [] POSTHOOK: Lineage: outputtbl4.key3 SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] -PREHOOK: query: SELECT * FROM outputTbl1 ORDER BY key +PREHOOK: query: SELECT * FROM outputTbl1 PREHOOK: type: QUERY PREHOOK: Input: default@outputtbl1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM outputTbl1 ORDER BY key +POSTHOOK: query: SELECT * FROM outputTbl1 POSTHOOK: type: QUERY POSTHOOK: Input: default@outputtbl1 #### A masked pattern was here #### @@ -5128,11 +5130,11 @@ POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comm POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: t2.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t2.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] -PREHOOK: query: SELECT * FROM outputTbl1 ORDER BY key +PREHOOK: query: SELECT * FROM outputTbl1 PREHOOK: type: QUERY PREHOOK: Input: default@outputtbl1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM outputTbl1 ORDER BY key +POSTHOOK: query: SELECT * FROM outputTbl1 POSTHOOK: type: QUERY POSTHOOK: Input: default@outputtbl1 #### A masked pattern was here #### @@ -5620,11 +5622,11 @@ POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comm POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: t2.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t2.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] -PREHOOK: query: SELECT * FROM outputTbl4 ORDER BY key1, key2, key3 +PREHOOK: query: SELECT * FROM outputTbl4 PREHOOK: type: QUERY PREHOOK: Input: default@outputtbl4 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM outputTbl4 ORDER BY key1, key2, key3 +POSTHOOK: query: SELECT * FROM outputTbl4 POSTHOOK: type: QUERY POSTHOOK: Input: default@outputtbl4 #### A masked pattern was here #### @@ -6131,13 +6133,11 @@ POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comm POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: t2.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t2.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] -PREHOOK: query: SELECT * FROM outputTbl5 -ORDER BY key1, key2, key3, key4 +PREHOOK: query: SELECT * FROM outputTbl5 PREHOOK: type: QUERY PREHOOK: Input: default@outputtbl5 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM outputTbl5 -ORDER BY key1, key2, key3, key4 +POSTHOOK: query: SELECT * FROM outputTbl5 POSTHOOK: type: QUERY POSTHOOK: Input: default@outputtbl5 #### A masked pattern was here #### @@ -6679,11 +6679,11 @@ POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comm POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: t2.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t2.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] -PREHOOK: query: SELECT * FROM outputTbl4 ORDER BY key1, key2, key3 +PREHOOK: query: SELECT * FROM outputTbl4 PREHOOK: type: QUERY PREHOOK: Input: default@outputtbl4 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM outputTbl4 ORDER BY key1, key2, key3 +POSTHOOK: query: SELECT * FROM outputTbl4 POSTHOOK: type: QUERY POSTHOOK: Input: default@outputtbl4 #### A masked pattern was here #### @@ -7271,11 +7271,11 @@ POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comm POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: t2.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t2.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] -PREHOOK: query: SELECT * FROM outputTbl4 ORDER BY key1, key2, key3 +PREHOOK: query: SELECT * FROM outputTbl4 PREHOOK: type: QUERY PREHOOK: Input: default@outputtbl4 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM outputTbl4 ORDER BY key1, key2, key3 +POSTHOOK: query: SELECT * FROM outputTbl4 POSTHOOK: type: QUERY POSTHOOK: Input: default@outputtbl4 #### A masked pattern was here #### @@ -7673,11 +7673,11 @@ POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comm POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: t2.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t2.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] -PREHOOK: query: select * from DEST1 ORDER BY key, cnt +PREHOOK: query: select * from DEST1 PREHOOK: type: QUERY PREHOOK: Input: default@dest1 #### A masked pattern was here #### -POSTHOOK: query: select * from DEST1 ORDER BY key, cnt +POSTHOOK: query: select * from DEST1 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest1 #### A masked pattern was here #### @@ -7741,11 +7741,11 @@ POSTHOOK: Lineage: t2.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comm 3 1 7 1 8 2 -PREHOOK: query: select * from DEST2 ORDER BY key, val, val +PREHOOK: query: select * from DEST2 PREHOOK: type: QUERY PREHOOK: Input: default@dest2 #### A masked pattern was here #### -POSTHOOK: query: select * from DEST2 ORDER BY key, val, val +POSTHOOK: query: select * from DEST2 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest2 #### A masked pattern was here #### @@ -8057,11 +8057,11 @@ POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comm POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: t2.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t2.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] -PREHOOK: query: select * from DEST1 ORDER BY key, cnt +PREHOOK: query: select * from DEST1 PREHOOK: type: QUERY PREHOOK: Input: default@dest1 #### A masked pattern was here #### -POSTHOOK: query: select * from DEST1 ORDER BY key, cnt +POSTHOOK: query: select * from DEST1 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest1 #### A masked pattern was here #### @@ -8126,11 +8126,11 @@ POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comm POSTHOOK: Lineage: t2.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t2.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] 8 2 -PREHOOK: query: select * from DEST2 ORDER BY key, val, cnt +PREHOOK: query: select * from DEST2 PREHOOK: type: QUERY PREHOOK: Input: default@dest2 #### A masked pattern was here #### -POSTHOOK: query: select * from DEST2 ORDER BY key, val, cnt +POSTHOOK: query: select * from DEST2 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest2 #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/groupby_sort_2.q.out ql/src/test/results/clientpositive/groupby_sort_2.q.out index 559e98f..539cb9a 100644 --- ql/src/test/results/clientpositive/groupby_sort_2.q.out +++ ql/src/test/results/clientpositive/groupby_sort_2.q.out @@ -1,7 +1,11 @@ -PREHOOK: query: CREATE TABLE T1(key STRING, val STRING) +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE T1(key STRING, val STRING) CLUSTERED BY (key) SORTED BY (val) INTO 2 BUCKETS STORED AS TEXTFILE PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE T1(key STRING, val STRING) +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE T1(key STRING, val STRING) CLUSTERED BY (key) SORTED BY (val) INTO 2 BUCKETS STORED AS TEXTFILE POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@T1 @@ -31,13 +35,13 @@ POSTHOOK: Output: default@outputTbl1 POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] PREHOOK: query: -- The plan should not be converted to a map-side group by even though the group by key --- matches the sorted key. Adding a order by at the end to make the test results deterministic +-- matches the sorted key. EXPLAIN INSERT OVERWRITE TABLE outputTbl1 SELECT val, count(1) FROM T1 GROUP BY val PREHOOK: type: QUERY POSTHOOK: query: -- The plan should not be converted to a map-side group by even though the group by key --- matches the sorted key. Adding a order by at the end to make the test results deterministic +-- matches the sorted key. EXPLAIN INSERT OVERWRITE TABLE outputTbl1 SELECT val, count(1) FROM T1 GROUP BY val @@ -120,11 +124,11 @@ POSTHOOK: Lineage: outputtbl1.cnt EXPRESSION [(t1)t1.null, ] POSTHOOK: Lineage: outputtbl1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] -PREHOOK: query: SELECT * FROM outputTbl1 ORDER BY val +PREHOOK: query: SELECT * FROM outputTbl1 PREHOOK: type: QUERY PREHOOK: Input: default@outputtbl1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM outputTbl1 ORDER BY val +POSTHOOK: query: SELECT * FROM outputTbl1 POSTHOOK: type: QUERY POSTHOOK: Input: default@outputtbl1 #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/groupby_sort_3.q.out ql/src/test/results/clientpositive/groupby_sort_3.q.out index a8fc962..01c9414 100644 --- ql/src/test/results/clientpositive/groupby_sort_3.q.out +++ ql/src/test/results/clientpositive/groupby_sort_3.q.out @@ -1,7 +1,11 @@ -PREHOOK: query: CREATE TABLE T1(key STRING, val STRING) +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE T1(key STRING, val STRING) CLUSTERED BY (key) SORTED BY (key, val) INTO 2 BUCKETS STORED AS TEXTFILE PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE T1(key STRING, val STRING) +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE T1(key STRING, val STRING) CLUSTERED BY (key) SORTED BY (key, val) INTO 2 BUCKETS STORED AS TEXTFILE POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@T1 @@ -149,11 +153,11 @@ POSTHOOK: Lineage: outputtbl1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:stri POSTHOOK: Lineage: outputtbl1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] -PREHOOK: query: SELECT * FROM outputTbl1 ORDER BY key, val +PREHOOK: query: SELECT * FROM outputTbl1 PREHOOK: type: QUERY PREHOOK: Input: default@outputtbl1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM outputTbl1 ORDER BY key, val +POSTHOOK: query: SELECT * FROM outputTbl1 POSTHOOK: type: QUERY POSTHOOK: Input: default@outputtbl1 #### A masked pattern was here #### @@ -302,11 +306,11 @@ POSTHOOK: Lineage: outputtbl2.cnt EXPRESSION [(t1)t1.null, ] POSTHOOK: Lineage: outputtbl2.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] -PREHOOK: query: SELECT * FROM outputTbl2 ORDER BY key +PREHOOK: query: SELECT * FROM outputTbl2 PREHOOK: type: QUERY PREHOOK: Input: default@outputtbl2 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM outputTbl2 ORDER BY key +POSTHOOK: query: SELECT * FROM outputTbl2 POSTHOOK: type: QUERY POSTHOOK: Input: default@outputtbl2 #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/groupby_sort_4.q.out ql/src/test/results/clientpositive/groupby_sort_4.q.out index f1fb04e..99c02c4 100644 --- ql/src/test/results/clientpositive/groupby_sort_4.q.out +++ ql/src/test/results/clientpositive/groupby_sort_4.q.out @@ -1,7 +1,11 @@ -PREHOOK: query: CREATE TABLE T1(key STRING, val STRING) +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE T1(key STRING, val STRING) CLUSTERED BY (key, val) SORTED BY (key) INTO 2 BUCKETS STORED AS TEXTFILE PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE T1(key STRING, val STRING) +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE T1(key STRING, val STRING) CLUSTERED BY (key, val) SORTED BY (key) INTO 2 BUCKETS STORED AS TEXTFILE POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@T1 @@ -120,11 +124,11 @@ POSTHOOK: Lineage: outputtbl1.cnt EXPRESSION [(t1)t1.null, ] POSTHOOK: Lineage: outputtbl1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] -PREHOOK: query: SELECT * FROM outputTbl1 ORDER BY key +PREHOOK: query: SELECT * FROM outputTbl1 PREHOOK: type: QUERY PREHOOK: Input: default@outputtbl1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM outputTbl1 ORDER BY key +POSTHOOK: query: SELECT * FROM outputTbl1 POSTHOOK: type: QUERY POSTHOOK: Input: default@outputtbl1 #### A masked pattern was here #### @@ -240,11 +244,11 @@ POSTHOOK: Lineage: outputtbl2.key SIMPLE [(t1)t1.FieldSchema(name:key, type:stri POSTHOOK: Lineage: outputtbl2.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] -PREHOOK: query: SELECT * FROM outputTbl2 ORDER BY key, val +PREHOOK: query: SELECT * FROM outputTbl2 PREHOOK: type: QUERY PREHOOK: Input: default@outputtbl2 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM outputTbl2 ORDER BY key, val +POSTHOOK: query: SELECT * FROM outputTbl2 POSTHOOK: type: QUERY POSTHOOK: Input: default@outputtbl2 #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/groupby_sort_5.q.out ql/src/test/results/clientpositive/groupby_sort_5.q.out index 8156361..c6e1065 100644 --- ql/src/test/results/clientpositive/groupby_sort_5.q.out +++ ql/src/test/results/clientpositive/groupby_sort_5.q.out @@ -1,7 +1,11 @@ -PREHOOK: query: CREATE TABLE T1(key STRING, val STRING) +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE T1(key STRING, val STRING) CLUSTERED BY (val) SORTED BY (key, val) INTO 2 BUCKETS STORED AS TEXTFILE PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE T1(key STRING, val STRING) +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE T1(key STRING, val STRING) CLUSTERED BY (val) SORTED BY (key, val) INTO 2 BUCKETS STORED AS TEXTFILE POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@T1 @@ -153,11 +157,11 @@ POSTHOOK: Lineage: outputtbl1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:stri POSTHOOK: Lineage: outputtbl1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] -PREHOOK: query: SELECT * FROM outputTbl1 ORDER BY key, val +PREHOOK: query: SELECT * FROM outputTbl1 PREHOOK: type: QUERY PREHOOK: Input: default@outputtbl1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM outputTbl1 ORDER BY key, val +POSTHOOK: query: SELECT * FROM outputTbl1 POSTHOOK: type: QUERY POSTHOOK: Input: default@outputtbl1 #### A masked pattern was here #### @@ -358,11 +362,11 @@ POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comm POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] -PREHOOK: query: SELECT * FROM outputTbl1 ORDER BY key, val +PREHOOK: query: SELECT * FROM outputTbl1 PREHOOK: type: QUERY PREHOOK: Input: default@outputtbl1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM outputTbl1 ORDER BY key, val +POSTHOOK: query: SELECT * FROM outputTbl1 POSTHOOK: type: QUERY POSTHOOK: Input: default@outputtbl1 #### A masked pattern was here #### @@ -586,11 +590,11 @@ POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comm POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] -PREHOOK: query: SELECT * FROM outputTbl2 ORDER BY key +PREHOOK: query: SELECT * FROM outputTbl2 PREHOOK: type: QUERY PREHOOK: Input: default@outputtbl2 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM outputTbl2 ORDER BY key +POSTHOOK: query: SELECT * FROM outputTbl2 POSTHOOK: type: QUERY POSTHOOK: Input: default@outputtbl2 #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/groupby_sort_6.q.out ql/src/test/results/clientpositive/groupby_sort_6.q.out index 3362408..a75cede 100644 --- ql/src/test/results/clientpositive/groupby_sort_6.q.out +++ ql/src/test/results/clientpositive/groupby_sort_6.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: CREATE TABLE T1(key STRING, val STRING) PARTITIONED BY (ds string) +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE T1(key STRING, val STRING) PARTITIONED BY (ds string) PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE T1(key STRING, val STRING) PARTITIONED BY (ds string) +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE T1(key STRING, val STRING) PARTITIONED BY (ds string) POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@T1 PREHOOK: query: CREATE TABLE outputTbl1(key int, cnt int) @@ -131,11 +135,11 @@ POSTHOOK: Input: default@t1 POSTHOOK: Output: default@outputtbl1 POSTHOOK: Lineage: outputtbl1.cnt EXPRESSION [(t1)t1.null, ] POSTHOOK: Lineage: outputtbl1.key EXPRESSION [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] -PREHOOK: query: SELECT * FROM outputTbl1 ORDER BY key +PREHOOK: query: SELECT * FROM outputTbl1 PREHOOK: type: QUERY PREHOOK: Input: default@outputtbl1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM outputTbl1 ORDER BY key +POSTHOOK: query: SELECT * FROM outputTbl1 POSTHOOK: type: QUERY POSTHOOK: Input: default@outputtbl1 #### A masked pattern was here #### @@ -287,11 +291,11 @@ POSTHOOK: Lineage: outputtbl1.cnt EXPRESSION [(t1)t1.null, ] POSTHOOK: Lineage: outputtbl1.cnt EXPRESSION [(t1)t1.null, ] POSTHOOK: Lineage: outputtbl1.key EXPRESSION [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: outputtbl1.key EXPRESSION [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] -PREHOOK: query: SELECT * FROM outputTbl1 ORDER BY key +PREHOOK: query: SELECT * FROM outputTbl1 PREHOOK: type: QUERY PREHOOK: Input: default@outputtbl1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM outputTbl1 ORDER BY key +POSTHOOK: query: SELECT * FROM outputTbl1 POSTHOOK: type: QUERY POSTHOOK: Input: default@outputtbl1 #### A masked pattern was here #### @@ -512,11 +516,11 @@ POSTHOOK: Lineage: outputtbl1.cnt EXPRESSION [(t1)t1.null, ] POSTHOOK: Lineage: outputtbl1.key EXPRESSION [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: outputtbl1.key EXPRESSION [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: outputtbl1.key EXPRESSION [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] -PREHOOK: query: SELECT * FROM outputTbl1 ORDER BY key +PREHOOK: query: SELECT * FROM outputTbl1 PREHOOK: type: QUERY PREHOOK: Input: default@outputtbl1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM outputTbl1 ORDER BY key +POSTHOOK: query: SELECT * FROM outputTbl1 POSTHOOK: type: QUERY POSTHOOK: Input: default@outputtbl1 #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/groupby_sort_7.q.out ql/src/test/results/clientpositive/groupby_sort_7.q.out index f6bcf56..48c83c4 100644 --- ql/src/test/results/clientpositive/groupby_sort_7.q.out +++ ql/src/test/results/clientpositive/groupby_sort_7.q.out @@ -1,7 +1,11 @@ -PREHOOK: query: CREATE TABLE T1(key STRING, val STRING) PARTITIONED BY (ds string) +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE T1(key STRING, val STRING) PARTITIONED BY (ds string) CLUSTERED BY (val) SORTED BY (key, val) INTO 2 BUCKETS STORED AS TEXTFILE PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE T1(key STRING, val STRING) PARTITIONED BY (ds string) +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE T1(key STRING, val STRING) PARTITIONED BY (ds string) CLUSTERED BY (val) SORTED BY (key, val) INTO 2 BUCKETS STORED AS TEXTFILE POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@T1 @@ -158,11 +162,11 @@ POSTHOOK: Lineage: outputtbl1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:stri POSTHOOK: Lineage: outputtbl1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: t1 PARTITION(ds=1).key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t1 PARTITION(ds=1).val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] -PREHOOK: query: SELECT * FROM outputTbl1 ORDER BY key, val +PREHOOK: query: SELECT * FROM outputTbl1 PREHOOK: type: QUERY PREHOOK: Input: default@outputtbl1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM outputTbl1 ORDER BY key, val +POSTHOOK: query: SELECT * FROM outputTbl1 POSTHOOK: type: QUERY POSTHOOK: Input: default@outputtbl1 #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/groupby_sort_skew_1.q.out ql/src/test/results/clientpositive/groupby_sort_skew_1.q.out index d1937b9..a1ba7f6 100644 --- ql/src/test/results/clientpositive/groupby_sort_skew_1.q.out +++ ql/src/test/results/clientpositive/groupby_sort_skew_1.q.out @@ -1,7 +1,11 @@ -PREHOOK: query: CREATE TABLE T1(key STRING, val STRING) +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE T1(key STRING, val STRING) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS STORED AS TEXTFILE PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE T1(key STRING, val STRING) +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE T1(key STRING, val STRING) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS STORED AS TEXTFILE POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@T1 @@ -32,14 +36,12 @@ POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comm POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] PREHOOK: query: -- The plan should be converted to a map-side group by if the group by key -- matches the sorted key --- addind a order by at the end to make the test results deterministic EXPLAIN EXTENDED INSERT OVERWRITE TABLE outputTbl1 SELECT key, count(1) FROM T1 GROUP BY key PREHOOK: type: QUERY POSTHOOK: query: -- The plan should be converted to a map-side group by if the group by key -- matches the sorted key --- addind a order by at the end to make the test results deterministic EXPLAIN EXTENDED INSERT OVERWRITE TABLE outputTbl1 SELECT key, count(1) FROM T1 GROUP BY key @@ -366,11 +368,11 @@ POSTHOOK: Lineage: outputtbl1.cnt EXPRESSION [(t1)t1.null, ] POSTHOOK: Lineage: outputtbl1.key EXPRESSION [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] -PREHOOK: query: SELECT * FROM outputTbl1 ORDER BY key +PREHOOK: query: SELECT * FROM outputTbl1 PREHOOK: type: QUERY PREHOOK: Input: default@outputtbl1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM outputTbl1 ORDER BY key +POSTHOOK: query: SELECT * FROM outputTbl1 POSTHOOK: type: QUERY POSTHOOK: Input: default@outputtbl1 #### A masked pattern was here #### @@ -661,11 +663,11 @@ POSTHOOK: Lineage: outputtbl2.key1 EXPRESSION [(t1)t1.FieldSchema(name:key, type POSTHOOK: Lineage: outputtbl2.key2 SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] -PREHOOK: query: SELECT * FROM outputTbl2 ORDER BY key1, key2 +PREHOOK: query: SELECT * FROM outputTbl2 PREHOOK: type: QUERY PREHOOK: Input: default@outputtbl2 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM outputTbl2 ORDER BY key1, key2 +POSTHOOK: query: SELECT * FROM outputTbl2 POSTHOOK: type: QUERY POSTHOOK: Input: default@outputtbl2 #### A masked pattern was here #### @@ -1079,11 +1081,11 @@ POSTHOOK: Lineage: outputtbl2.key1 EXPRESSION [(t1)t1.FieldSchema(name:key, type POSTHOOK: Lineage: outputtbl2.key2 SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] -PREHOOK: query: SELECT * FROM outputTbl1 ORDER BY key +PREHOOK: query: SELECT * FROM outputTbl1 PREHOOK: type: QUERY PREHOOK: Input: default@outputtbl1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM outputTbl1 ORDER BY key +POSTHOOK: query: SELECT * FROM outputTbl1 POSTHOOK: type: QUERY POSTHOOK: Input: default@outputtbl1 #### A masked pattern was here #### @@ -1504,11 +1506,11 @@ POSTHOOK: Lineage: outputtbl2.key1 EXPRESSION [(t1)t1.FieldSchema(name:key, type POSTHOOK: Lineage: outputtbl2.key2 SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] -PREHOOK: query: SELECT * FROM outputTbl1 ORDER BY key +PREHOOK: query: SELECT * FROM outputTbl1 PREHOOK: type: QUERY PREHOOK: Input: default@outputtbl1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM outputTbl1 ORDER BY key +POSTHOOK: query: SELECT * FROM outputTbl1 POSTHOOK: type: QUERY POSTHOOK: Input: default@outputtbl1 #### A masked pattern was here #### @@ -1900,11 +1902,11 @@ POSTHOOK: Lineage: outputtbl3.key1 SIMPLE [] POSTHOOK: Lineage: outputtbl3.key2 EXPRESSION [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] -PREHOOK: query: SELECT * FROM outputTbl3 ORDER BY key1, key2 +PREHOOK: query: SELECT * FROM outputTbl3 PREHOOK: type: QUERY PREHOOK: Input: default@outputtbl3 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM outputTbl3 ORDER BY key1, key2 +POSTHOOK: query: SELECT * FROM outputTbl3 POSTHOOK: type: QUERY POSTHOOK: Input: default@outputtbl3 #### A masked pattern was here #### @@ -2239,11 +2241,11 @@ POSTHOOK: Lineage: outputtbl4.key2 SIMPLE [] POSTHOOK: Lineage: outputtbl4.key3 SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] -PREHOOK: query: SELECT * FROM outputTbl4 ORDER BY key1, key2, key3 +PREHOOK: query: SELECT * FROM outputTbl4 PREHOOK: type: QUERY PREHOOK: Input: default@outputtbl4 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM outputTbl4 ORDER BY key1, key2, key3 +POSTHOOK: query: SELECT * FROM outputTbl4 POSTHOOK: type: QUERY POSTHOOK: Input: default@outputtbl4 #### A masked pattern was here #### @@ -2582,11 +2584,11 @@ POSTHOOK: Lineage: outputtbl4.key2 SIMPLE [] POSTHOOK: Lineage: outputtbl4.key3 SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] -PREHOOK: query: SELECT * FROM outputTbl3 ORDER BY key1, key2 +PREHOOK: query: SELECT * FROM outputTbl3 PREHOOK: type: QUERY PREHOOK: Input: default@outputtbl3 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM outputTbl3 ORDER BY key1, key2 +POSTHOOK: query: SELECT * FROM outputTbl3 POSTHOOK: type: QUERY POSTHOOK: Input: default@outputtbl3 #### A masked pattern was here #### @@ -2974,11 +2976,11 @@ POSTHOOK: Lineage: outputtbl4.key2 SIMPLE [] POSTHOOK: Lineage: outputtbl4.key3 SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] -PREHOOK: query: SELECT * FROM outputTbl1 ORDER BY key +PREHOOK: query: SELECT * FROM outputTbl1 PREHOOK: type: QUERY PREHOOK: Input: default@outputtbl1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM outputTbl1 ORDER BY key +POSTHOOK: query: SELECT * FROM outputTbl1 POSTHOOK: type: QUERY POSTHOOK: Input: default@outputtbl1 #### A masked pattern was here #### @@ -3005,11 +3007,11 @@ POSTHOOK: Lineage: outputtbl4.key2 SIMPLE [] POSTHOOK: Lineage: outputtbl4.key3 SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] +14 1 +16 2 2 1 4 1 6 1 -14 1 -16 2 PREHOOK: query: -- group by followed by a union EXPLAIN EXTENDED INSERT OVERWRITE TABLE outputTbl1 @@ -3532,11 +3534,11 @@ POSTHOOK: Lineage: outputtbl4.key2 SIMPLE [] POSTHOOK: Lineage: outputtbl4.key3 SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] -PREHOOK: query: SELECT * FROM outputTbl1 ORDER BY key +PREHOOK: query: SELECT * FROM outputTbl1 PREHOOK: type: QUERY PREHOOK: Input: default@outputtbl1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM outputTbl1 ORDER BY key +POSTHOOK: query: SELECT * FROM outputTbl1 POSTHOOK: type: QUERY POSTHOOK: Input: default@outputtbl1 #### A masked pattern was here #### @@ -4283,11 +4285,11 @@ POSTHOOK: Lineage: outputtbl4.key2 SIMPLE [] POSTHOOK: Lineage: outputtbl4.key3 SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] -PREHOOK: query: SELECT * FROM outputTbl1 ORDER BY key +PREHOOK: query: SELECT * FROM outputTbl1 PREHOOK: type: QUERY PREHOOK: Input: default@outputtbl1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM outputTbl1 ORDER BY key +POSTHOOK: query: SELECT * FROM outputTbl1 POSTHOOK: type: QUERY POSTHOOK: Input: default@outputtbl1 #### A masked pattern was here #### @@ -4319,6 +4321,8 @@ POSTHOOK: Lineage: outputtbl4.key3 SIMPLE [(t1)t1.FieldSchema(name:val, type:str POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] 1 1 +14 1 +16 2 2 1 2 1 3 1 @@ -4326,8 +4330,6 @@ POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comm 6 1 7 1 8 2 -14 1 -16 2 PREHOOK: query: -- group by followed by a join EXPLAIN EXTENDED INSERT OVERWRITE TABLE outputTbl1 @@ -4688,11 +4690,11 @@ POSTHOOK: Lineage: outputtbl4.key2 SIMPLE [] POSTHOOK: Lineage: outputtbl4.key3 SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] -PREHOOK: query: SELECT * FROM outputTbl1 ORDER BY key +PREHOOK: query: SELECT * FROM outputTbl1 PREHOOK: type: QUERY PREHOOK: Input: default@outputtbl1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM outputTbl1 ORDER BY key +POSTHOOK: query: SELECT * FROM outputTbl1 POSTHOOK: type: QUERY POSTHOOK: Input: default@outputtbl1 #### A masked pattern was here #### @@ -5576,11 +5578,11 @@ POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comm POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: t2.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t2.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] -PREHOOK: query: SELECT * FROM outputTbl1 ORDER BY key +PREHOOK: query: SELECT * FROM outputTbl1 PREHOOK: type: QUERY PREHOOK: Input: default@outputtbl1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM outputTbl1 ORDER BY key +POSTHOOK: query: SELECT * FROM outputTbl1 POSTHOOK: type: QUERY POSTHOOK: Input: default@outputtbl1 #### A masked pattern was here #### @@ -6068,11 +6070,11 @@ POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comm POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: t2.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t2.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] -PREHOOK: query: SELECT * FROM outputTbl4 ORDER BY key1, key2, key3 +PREHOOK: query: SELECT * FROM outputTbl4 PREHOOK: type: QUERY PREHOOK: Input: default@outputtbl4 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM outputTbl4 ORDER BY key1, key2, key3 +POSTHOOK: query: SELECT * FROM outputTbl4 POSTHOOK: type: QUERY POSTHOOK: Input: default@outputtbl4 #### A masked pattern was here #### @@ -7127,11 +7129,11 @@ POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comm POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: t2.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t2.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] -PREHOOK: query: SELECT * FROM outputTbl4 ORDER BY key1, key2, key3 +PREHOOK: query: SELECT * FROM outputTbl4 PREHOOK: type: QUERY PREHOOK: Input: default@outputtbl4 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM outputTbl4 ORDER BY key1, key2, key3 +POSTHOOK: query: SELECT * FROM outputTbl4 POSTHOOK: type: QUERY POSTHOOK: Input: default@outputtbl4 #### A masked pattern was here #### @@ -7719,11 +7721,11 @@ POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comm POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: t2.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t2.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] -PREHOOK: query: SELECT * FROM outputTbl4 ORDER BY key1, key2, key3 +PREHOOK: query: SELECT * FROM outputTbl4 PREHOOK: type: QUERY PREHOOK: Input: default@outputtbl4 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM outputTbl4 ORDER BY key1, key2, key3 +POSTHOOK: query: SELECT * FROM outputTbl4 POSTHOOK: type: QUERY POSTHOOK: Input: default@outputtbl4 #### A masked pattern was here #### @@ -8146,11 +8148,11 @@ POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comm POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: t2.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t2.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] -PREHOOK: query: select * from DEST1 ORDER BY key, cnt +PREHOOK: query: select * from DEST1 PREHOOK: type: QUERY PREHOOK: Input: default@dest1 #### A masked pattern was here #### -POSTHOOK: query: select * from DEST1 ORDER BY key, cnt +POSTHOOK: query: select * from DEST1 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest1 #### A masked pattern was here #### @@ -8214,11 +8216,11 @@ POSTHOOK: Lineage: t2.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comm 3 1 7 1 8 2 -PREHOOK: query: select * from DEST2 ORDER BY key, val, val +PREHOOK: query: select * from DEST2 PREHOOK: type: QUERY PREHOOK: Input: default@dest2 #### A masked pattern was here #### -POSTHOOK: query: select * from DEST2 ORDER BY key, val, val +POSTHOOK: query: select * from DEST2 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest2 #### A masked pattern was here #### @@ -8555,11 +8557,11 @@ POSTHOOK: Lineage: t1.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comm POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: t2.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t2.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] -PREHOOK: query: select * from DEST1 ORDER BY key, cnt +PREHOOK: query: select * from DEST1 PREHOOK: type: QUERY PREHOOK: Input: default@dest1 #### A masked pattern was here #### -POSTHOOK: query: select * from DEST1 ORDER BY key, cnt +POSTHOOK: query: select * from DEST1 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest1 #### A masked pattern was here #### @@ -8624,11 +8626,11 @@ POSTHOOK: Lineage: t1.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comm POSTHOOK: Lineage: t2.key SIMPLE [(t1)t1.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: t2.val SIMPLE [(t1)t1.FieldSchema(name:val, type:string, comment:null), ] 8 2 -PREHOOK: query: select * from DEST2 ORDER BY key, val, cnt +PREHOOK: query: select * from DEST2 PREHOOK: type: QUERY PREHOOK: Input: default@dest2 #### A masked pattern was here #### -POSTHOOK: query: select * from DEST2 ORDER BY key, val, cnt +POSTHOOK: query: select * from DEST2 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest2 #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/index_auto.q.out ql/src/test/results/clientpositive/index_auto.q.out index 717032a..ef20f1f 100644 --- ql/src/test/results/clientpositive/index_auto.q.out +++ ql/src/test/results/clientpositive/index_auto.q.out @@ -1,14 +1,16 @@ PREHOOK: query: -- try the query without indexing, with manual indexing, and with automatic indexing +-- SORT_QUERY_RESULTS -- without indexing -SELECT key, value FROM src WHERE key > 80 AND key < 100 ORDER BY key +SELECT key, value FROM src WHERE key > 80 AND key < 100 PREHOOK: type: QUERY PREHOOK: Input: default@src #### A masked pattern was here #### POSTHOOK: query: -- try the query without indexing, with manual indexing, and with automatic indexing +-- SORT_QUERY_RESULTS -- without indexing -SELECT key, value FROM src WHERE key > 80 AND key < 100 ORDER BY key +SELECT key, value FROM src WHERE key > 80 AND key < 100 POSTHOOK: type: QUERY POSTHOOK: Input: default@src #### A masked pattern was here #### @@ -60,9 +62,9 @@ POSTHOOK: Input: default@default__src_src_index__ POSTHOOK: Lineage: default__src_src_index__._bucketname SIMPLE [(src)src.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] POSTHOOK: Lineage: default__src_src_index__._offsets EXPRESSION [(src)src.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] POSTHOOK: Lineage: default__src_src_index__.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] -PREHOOK: query: EXPLAIN SELECT key, value FROM src WHERE key > 80 AND key < 100 ORDER BY key +PREHOOK: query: EXPLAIN SELECT key, value FROM src WHERE key > 80 AND key < 100 PREHOOK: type: QUERY -POSTHOOK: query: EXPLAIN SELECT key, value FROM src WHERE key > 80 AND key < 100 ORDER BY key +POSTHOOK: query: EXPLAIN SELECT key, value FROM src WHERE key > 80 AND key < 100 POSTHOOK: type: QUERY POSTHOOK: Lineage: default__src_src_index__._bucketname SIMPLE [(src)src.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] POSTHOOK: Lineage: default__src_src_index__._offsets EXPRESSION [(src)src.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] @@ -85,31 +87,23 @@ STAGE PLANS: expressions: key (type: string), value (type: string) outputColumnNames: _col0, _col1 Statistics: Num rows: 3 Data size: 601 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + + File Output Operator + compressed: false Statistics: Num rows: 3 Data size: 601 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 3 Data size: 601 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 3 Data size: 601 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator limit: -1 -PREHOOK: query: SELECT key, value FROM src WHERE key > 80 AND key < 100 ORDER BY key +PREHOOK: query: SELECT key, value FROM src WHERE key > 80 AND key < 100 PREHOOK: type: QUERY PREHOOK: Input: default@src #### A masked pattern was here #### -POSTHOOK: query: SELECT key, value FROM src WHERE key > 80 AND key < 100 ORDER BY key +POSTHOOK: query: SELECT key, value FROM src WHERE key > 80 AND key < 100 POSTHOOK: type: QUERY POSTHOOK: Input: default@src #### A masked pattern was here #### @@ -136,10 +130,10 @@ POSTHOOK: Lineage: default__src_src_index__.key SIMPLE [(src)src.FieldSchema(nam 98 val_98 98 val_98 PREHOOK: query: -- automatic indexing -EXPLAIN SELECT key, value FROM src WHERE key > 80 AND key < 100 ORDER BY key +EXPLAIN SELECT key, value FROM src WHERE key > 80 AND key < 100 PREHOOK: type: QUERY POSTHOOK: query: -- automatic indexing -EXPLAIN SELECT key, value FROM src WHERE key > 80 AND key < 100 ORDER BY key +EXPLAIN SELECT key, value FROM src WHERE key > 80 AND key < 100 POSTHOOK: type: QUERY POSTHOOK: Lineage: default__src_src_index__._bucketname SIMPLE [(src)src.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] POSTHOOK: Lineage: default__src_src_index__._offsets EXPRESSION [(src)src.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] @@ -203,21 +197,13 @@ STAGE PLANS: expressions: key (type: string), value (type: string) outputColumnNames: _col0, _col1 Statistics: Num rows: 3 Data size: 601 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + + File Output Operator + compressed: false Statistics: Num rows: 3 Data size: 601 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 3 Data size: 601 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 3 Data size: 601 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-4 Map Reduce @@ -251,12 +237,12 @@ STAGE PLANS: Fetch Operator limit: -1 -PREHOOK: query: SELECT key, value FROM src WHERE key > 80 AND key < 100 ORDER BY key +PREHOOK: query: SELECT key, value FROM src WHERE key > 80 AND key < 100 PREHOOK: type: QUERY PREHOOK: Input: default@default__src_src_index__ PREHOOK: Input: default@src #### A masked pattern was here #### -POSTHOOK: query: SELECT key, value FROM src WHERE key > 80 AND key < 100 ORDER BY key +POSTHOOK: query: SELECT key, value FROM src WHERE key > 80 AND key < 100 POSTHOOK: type: QUERY POSTHOOK: Input: default@default__src_src_index__ POSTHOOK: Input: default@src diff --git ql/src/test/results/clientpositive/index_auto_file_format.q.out ql/src/test/results/clientpositive/index_auto_file_format.q.out index 71154a0..3666056 100644 --- ql/src/test/results/clientpositive/index_auto_file_format.q.out +++ ql/src/test/results/clientpositive/index_auto_file_format.q.out @@ -1,7 +1,9 @@ -PREHOOK: query: -- test automatic use of index on different file formats +PREHOOK: query: -- SORT_QUERY_RESULTS +-- test automatic use of index on different file formats CREATE INDEX src_index ON TABLE src(key) as 'COMPACT' WITH DEFERRED REBUILD PREHOOK: type: CREATEINDEX -POSTHOOK: query: -- test automatic use of index on different file formats +POSTHOOK: query: -- SORT_QUERY_RESULTS +-- test automatic use of index on different file formats CREATE INDEX src_index ON TABLE src(key) as 'COMPACT' WITH DEFERRED REBUILD POSTHOOK: type: CREATEINDEX POSTHOOK: Output: default@default__src_src_index__ @@ -16,9 +18,9 @@ POSTHOOK: Output: default@default__src_src_index__ POSTHOOK: Lineage: default__src_src_index__._bucketname SIMPLE [(src)src.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] POSTHOOK: Lineage: default__src_src_index__._offsets EXPRESSION [(src)src.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] POSTHOOK: Lineage: default__src_src_index__.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] -PREHOOK: query: EXPLAIN SELECT key, value FROM src WHERE key=86 ORDER BY key +PREHOOK: query: EXPLAIN SELECT key, value FROM src WHERE key=86 PREHOOK: type: QUERY -POSTHOOK: query: EXPLAIN SELECT key, value FROM src WHERE key=86 ORDER BY key +POSTHOOK: query: EXPLAIN SELECT key, value FROM src WHERE key=86 POSTHOOK: type: QUERY POSTHOOK: Lineage: default__src_src_index__._bucketname SIMPLE [(src)src.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] POSTHOOK: Lineage: default__src_src_index__._offsets EXPRESSION [(src)src.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] @@ -82,21 +84,13 @@ STAGE PLANS: expressions: key (type: string), value (type: string) outputColumnNames: _col0, _col1 Statistics: Num rows: 14 Data size: 2805 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + + File Output Operator + compressed: false Statistics: Num rows: 14 Data size: 2805 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 14 Data size: 2805 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 14 Data size: 2805 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-4 Map Reduce @@ -130,12 +124,12 @@ STAGE PLANS: Fetch Operator limit: -1 -PREHOOK: query: SELECT key, value FROM src WHERE key=86 ORDER BY key +PREHOOK: query: SELECT key, value FROM src WHERE key=86 PREHOOK: type: QUERY PREHOOK: Input: default@default__src_src_index__ PREHOOK: Input: default@src #### A masked pattern was here #### -POSTHOOK: query: SELECT key, value FROM src WHERE key=86 ORDER BY key +POSTHOOK: query: SELECT key, value FROM src WHERE key=86 POSTHOOK: type: QUERY POSTHOOK: Input: default@default__src_src_index__ POSTHOOK: Input: default@src @@ -144,9 +138,9 @@ POSTHOOK: Lineage: default__src_src_index__._bucketname SIMPLE [(src)src.FieldSc POSTHOOK: Lineage: default__src_src_index__._offsets EXPRESSION [(src)src.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] POSTHOOK: Lineage: default__src_src_index__.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] 86 val_86 -PREHOOK: query: EXPLAIN SELECT key, value FROM src WHERE key=86 ORDER BY key +PREHOOK: query: EXPLAIN SELECT key, value FROM src WHERE key=86 PREHOOK: type: QUERY -POSTHOOK: query: EXPLAIN SELECT key, value FROM src WHERE key=86 ORDER BY key +POSTHOOK: query: EXPLAIN SELECT key, value FROM src WHERE key=86 POSTHOOK: type: QUERY POSTHOOK: Lineage: default__src_src_index__._bucketname SIMPLE [(src)src.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] POSTHOOK: Lineage: default__src_src_index__._offsets EXPRESSION [(src)src.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] @@ -210,21 +204,13 @@ STAGE PLANS: expressions: key (type: string), value (type: string) outputColumnNames: _col0, _col1 Statistics: Num rows: 14 Data size: 2805 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + + File Output Operator + compressed: false Statistics: Num rows: 14 Data size: 2805 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 14 Data size: 2805 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 14 Data size: 2805 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-4 Map Reduce @@ -258,12 +244,12 @@ STAGE PLANS: Fetch Operator limit: -1 -PREHOOK: query: SELECT key, value FROM src WHERE key=86 ORDER BY key +PREHOOK: query: SELECT key, value FROM src WHERE key=86 PREHOOK: type: QUERY PREHOOK: Input: default@default__src_src_index__ PREHOOK: Input: default@src #### A masked pattern was here #### -POSTHOOK: query: SELECT key, value FROM src WHERE key=86 ORDER BY key +POSTHOOK: query: SELECT key, value FROM src WHERE key=86 POSTHOOK: type: QUERY POSTHOOK: Input: default@default__src_src_index__ POSTHOOK: Input: default@src diff --git ql/src/test/results/clientpositive/index_auto_mult_tables.q.out ql/src/test/results/clientpositive/index_auto_mult_tables.q.out index 5a21497..b524814 100644 --- ql/src/test/results/clientpositive/index_auto_mult_tables.q.out +++ ql/src/test/results/clientpositive/index_auto_mult_tables.q.out @@ -1,16 +1,17 @@ -PREHOOK: query: -- try the query without indexing, with manual indexing, and with automatic indexing +PREHOOK: query: -- SORT_QUERY_RESULTS +-- try the query without indexing, with manual indexing, and with automatic indexing -- without indexing -EXPLAIN SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key +EXPLAIN SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 PREHOOK: type: QUERY -POSTHOOK: query: -- try the query without indexing, with manual indexing, and with automatic indexing +POSTHOOK: query: -- SORT_QUERY_RESULTS +-- try the query without indexing, with manual indexing, and with automatic indexing -- without indexing -EXPLAIN SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key +EXPLAIN SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-2 depends on stages: Stage-1 Stage-0 is a root stage STAGE PLANS: @@ -55,36 +56,17 @@ STAGE PLANS: Statistics: Num rows: 2 Data size: 220 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - - Stage: Stage-2 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + Statistics: Num rows: 2 Data size: 220 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 2 Data size: 220 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 2 Data size: 220 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator limit: -1 -PREHOOK: query: SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key +PREHOOK: query: SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 PREHOOK: type: QUERY PREHOOK: Input: default@src PREHOOK: Input: default@srcpart @@ -93,7 +75,7 @@ PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=11 PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=12 #### A masked pattern was here #### -POSTHOOK: query: SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key +POSTHOOK: query: SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 POSTHOOK: type: QUERY POSTHOOK: Input: default@src POSTHOOK: Input: default@srcpart @@ -206,9 +188,9 @@ POSTHOOK: Lineage: default__srcpart_srcpart_index__ PARTITION(ds=2008-04-09,hr=1 POSTHOOK: Lineage: default__srcpart_srcpart_index__ PARTITION(ds=2008-04-09,hr=12)._bucketname SIMPLE [(srcpart)srcpart.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] POSTHOOK: Lineage: default__srcpart_srcpart_index__ PARTITION(ds=2008-04-09,hr=12)._offset SIMPLE [(srcpart)srcpart.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] POSTHOOK: Lineage: default__srcpart_srcpart_index__ PARTITION(ds=2008-04-09,hr=12).key SIMPLE [(srcpart)srcpart.FieldSchema(name:key, type:string, comment:default), ] -PREHOOK: query: EXPLAIN SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key +PREHOOK: query: EXPLAIN SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 PREHOOK: type: QUERY -POSTHOOK: query: EXPLAIN SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key +POSTHOOK: query: EXPLAIN SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 POSTHOOK: type: QUERY POSTHOOK: Lineage: default__src_src_index__._bitmaps EXPRESSION [(src)src.FieldSchema(name:ROW__OFFSET__INSIDE__BLOCK, type:bigint, comment:), ] POSTHOOK: Lineage: default__src_src_index__._bucketname SIMPLE [(src)src.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] @@ -219,16 +201,15 @@ POSTHOOK: Lineage: default__srcpart_srcpart_index__ PARTITION(ds=2008-04-09,hr=1 POSTHOOK: Lineage: default__srcpart_srcpart_index__ PARTITION(ds=2008-04-09,hr=12)._offset SIMPLE [(srcpart)srcpart.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] POSTHOOK: Lineage: default__srcpart_srcpart_index__ PARTITION(ds=2008-04-09,hr=12).key SIMPLE [(srcpart)srcpart.FieldSchema(name:key, type:string, comment:default), ] STAGE DEPENDENCIES: - Stage-5 is a root stage - Stage-4 depends on stages: Stage-5 - Stage-1 depends on stages: Stage-4, Stage-6 - Stage-2 depends on stages: Stage-1 - Stage-7 is a root stage - Stage-6 depends on stages: Stage-7 + Stage-4 is a root stage + Stage-3 depends on stages: Stage-4 + Stage-1 depends on stages: Stage-3, Stage-5 + Stage-6 is a root stage + Stage-5 depends on stages: Stage-6 Stage-0 is a root stage STAGE PLANS: - Stage: Stage-5 + Stage: Stage-4 Map Reduce Map Operator Tree: TableScan @@ -265,7 +246,7 @@ STAGE PLANS: output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - Stage: Stage-4 + Stage: Stage-3 Move Operator files: hdfs directory: true @@ -314,32 +295,13 @@ STAGE PLANS: Statistics: Num rows: 2 Data size: 220 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - - Stage: Stage-2 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + Statistics: Num rows: 2 Data size: 220 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 2 Data size: 220 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 2 Data size: 220 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - Stage: Stage-7 + Stage: Stage-6 Map Reduce Map Operator Tree: TableScan @@ -376,7 +338,7 @@ STAGE PLANS: output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - Stage: Stage-6 + Stage: Stage-5 Move Operator files: hdfs directory: true @@ -386,7 +348,7 @@ STAGE PLANS: Fetch Operator limit: -1 -PREHOOK: query: SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key +PREHOOK: query: SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 PREHOOK: type: QUERY PREHOOK: Input: default@default__src_src_index__ PREHOOK: Input: default@default__srcpart_srcpart_index__ @@ -401,7 +363,7 @@ PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=11 PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=12 #### A masked pattern was here #### -POSTHOOK: query: SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key +POSTHOOK: query: SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 POSTHOOK: type: QUERY POSTHOOK: Input: default@default__src_src_index__ POSTHOOK: Input: default@default__srcpart_srcpart_index__ diff --git ql/src/test/results/clientpositive/index_auto_mult_tables_compact.q.out ql/src/test/results/clientpositive/index_auto_mult_tables_compact.q.out index 411953f..69c7c0b 100644 --- ql/src/test/results/clientpositive/index_auto_mult_tables_compact.q.out +++ ql/src/test/results/clientpositive/index_auto_mult_tables_compact.q.out @@ -1,16 +1,17 @@ -PREHOOK: query: -- try the query without indexing, with manual indexing, and with automatic indexing +PREHOOK: query: -- SORT_QUERY_RESULTS +-- try the query without indexing, with manual indexing, and with automatic indexing -- without indexing -EXPLAIN SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key +EXPLAIN SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 PREHOOK: type: QUERY -POSTHOOK: query: -- try the query without indexing, with manual indexing, and with automatic indexing +POSTHOOK: query: -- SORT_QUERY_RESULTS +-- try the query without indexing, with manual indexing, and with automatic indexing -- without indexing -EXPLAIN SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key +EXPLAIN SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-2 depends on stages: Stage-1 Stage-0 is a root stage STAGE PLANS: @@ -55,36 +56,17 @@ STAGE PLANS: Statistics: Num rows: 2 Data size: 220 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - - Stage: Stage-2 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + Statistics: Num rows: 2 Data size: 220 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 2 Data size: 220 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 2 Data size: 220 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator limit: -1 -PREHOOK: query: SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key +PREHOOK: query: SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 PREHOOK: type: QUERY PREHOOK: Input: default@src PREHOOK: Input: default@srcpart @@ -93,7 +75,7 @@ PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=11 PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=12 #### A masked pattern was here #### -POSTHOOK: query: SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key +POSTHOOK: query: SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 POSTHOOK: type: QUERY POSTHOOK: Input: default@src POSTHOOK: Input: default@srcpart @@ -203,10 +185,10 @@ POSTHOOK: Lineage: default__srcpart_srcpart_index__ PARTITION(ds=2008-04-09,hr=1 POSTHOOK: Lineage: default__srcpart_srcpart_index__ PARTITION(ds=2008-04-09,hr=12)._offsets EXPRESSION [(srcpart)srcpart.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] POSTHOOK: Lineage: default__srcpart_srcpart_index__ PARTITION(ds=2008-04-09,hr=12).key SIMPLE [(srcpart)srcpart.FieldSchema(name:key, type:string, comment:default), ] PREHOOK: query: -- automatic indexing -EXPLAIN SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key +EXPLAIN SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 PREHOOK: type: QUERY POSTHOOK: query: -- automatic indexing -EXPLAIN SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key +EXPLAIN SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 POSTHOOK: type: QUERY POSTHOOK: Lineage: default__src_src_index__._bucketname SIMPLE [(src)src.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] POSTHOOK: Lineage: default__src_src_index__._offsets EXPRESSION [(src)src.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] @@ -215,26 +197,25 @@ POSTHOOK: Lineage: default__srcpart_srcpart_index__ PARTITION(ds=2008-04-09,hr=1 POSTHOOK: Lineage: default__srcpart_srcpart_index__ PARTITION(ds=2008-04-09,hr=12)._offsets EXPRESSION [(srcpart)srcpart.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] POSTHOOK: Lineage: default__srcpart_srcpart_index__ PARTITION(ds=2008-04-09,hr=12).key SIMPLE [(srcpart)srcpart.FieldSchema(name:key, type:string, comment:default), ] STAGE DEPENDENCIES: - Stage-5 is a root stage - Stage-10 depends on stages: Stage-5 , consists of Stage-7, Stage-6, Stage-8 - Stage-7 - Stage-4 depends on stages: Stage-7, Stage-6, Stage-9 - Stage-1 depends on stages: Stage-4, Stage-11 - Stage-2 depends on stages: Stage-1 + Stage-4 is a root stage + Stage-9 depends on stages: Stage-4 , consists of Stage-6, Stage-5, Stage-7 Stage-6 - Stage-8 - Stage-9 depends on stages: Stage-8 - Stage-12 is a root stage - Stage-17 depends on stages: Stage-12 , consists of Stage-14, Stage-13, Stage-15 - Stage-14 - Stage-11 depends on stages: Stage-14, Stage-13, Stage-16 + Stage-3 depends on stages: Stage-6, Stage-5, Stage-8 + Stage-1 depends on stages: Stage-3, Stage-10 + Stage-5 + Stage-7 + Stage-8 depends on stages: Stage-7 + Stage-11 is a root stage + Stage-16 depends on stages: Stage-11 , consists of Stage-13, Stage-12, Stage-14 Stage-13 - Stage-15 - Stage-16 depends on stages: Stage-15 + Stage-10 depends on stages: Stage-13, Stage-12, Stage-15 + Stage-12 + Stage-14 + Stage-15 depends on stages: Stage-14 Stage-0 is a root stage STAGE PLANS: - Stage: Stage-5 + Stage: Stage-4 Map Reduce Map Operator Tree: TableScan @@ -252,16 +233,16 @@ STAGE PLANS: output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - Stage: Stage-10 + Stage: Stage-9 Conditional Operator - Stage: Stage-7 + Stage: Stage-6 Move Operator files: hdfs directory: true #### A masked pattern was here #### - Stage: Stage-4 + Stage: Stage-3 Move Operator files: hdfs directory: true @@ -310,32 +291,13 @@ STAGE PLANS: Statistics: Num rows: 2 Data size: 220 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - - Stage: Stage-2 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + Statistics: Num rows: 2 Data size: 220 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 2 Data size: 220 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 2 Data size: 220 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - Stage: Stage-6 + Stage: Stage-5 Map Reduce Map Operator Tree: TableScan @@ -346,7 +308,7 @@ STAGE PLANS: output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - Stage: Stage-8 + Stage: Stage-7 Map Reduce Map Operator Tree: TableScan @@ -357,13 +319,13 @@ STAGE PLANS: output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - Stage: Stage-9 + Stage: Stage-8 Move Operator files: hdfs directory: true #### A masked pattern was here #### - Stage: Stage-12 + Stage: Stage-11 Map Reduce Map Operator Tree: TableScan @@ -381,22 +343,22 @@ STAGE PLANS: output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - Stage: Stage-17 + Stage: Stage-16 Conditional Operator - Stage: Stage-14 + Stage: Stage-13 Move Operator files: hdfs directory: true #### A masked pattern was here #### - Stage: Stage-11 + Stage: Stage-10 Move Operator files: hdfs directory: true #### A masked pattern was here #### - Stage: Stage-13 + Stage: Stage-12 Map Reduce Map Operator Tree: TableScan @@ -407,7 +369,7 @@ STAGE PLANS: output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - Stage: Stage-15 + Stage: Stage-14 Map Reduce Map Operator Tree: TableScan @@ -418,7 +380,7 @@ STAGE PLANS: output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - Stage: Stage-16 + Stage: Stage-15 Move Operator files: hdfs directory: true @@ -428,7 +390,7 @@ STAGE PLANS: Fetch Operator limit: -1 -PREHOOK: query: SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key +PREHOOK: query: SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 PREHOOK: type: QUERY PREHOOK: Input: default@default__src_src_index__ PREHOOK: Input: default@default__srcpart_srcpart_index__ @@ -443,7 +405,7 @@ PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=11 PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=12 #### A masked pattern was here #### -POSTHOOK: query: SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key +POSTHOOK: query: SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 POSTHOOK: type: QUERY POSTHOOK: Input: default@default__src_src_index__ POSTHOOK: Input: default@default__srcpart_srcpart_index__ diff --git ql/src/test/results/clientpositive/index_auto_multiple.q.out ql/src/test/results/clientpositive/index_auto_multiple.q.out index 3207d4a..70581d5 100644 --- ql/src/test/results/clientpositive/index_auto_multiple.q.out +++ ql/src/test/results/clientpositive/index_auto_multiple.q.out @@ -1,8 +1,10 @@ -PREHOOK: query: -- With multiple indexes, make sure we choose which to use in a consistent order +PREHOOK: query: -- SORT_QUERY_RESULTS +-- With multiple indexes, make sure we choose which to use in a consistent order CREATE INDEX src_key_index ON TABLE src(key) as 'COMPACT' WITH DEFERRED REBUILD PREHOOK: type: CREATEINDEX -POSTHOOK: query: -- With multiple indexes, make sure we choose which to use in a consistent order +POSTHOOK: query: -- SORT_QUERY_RESULTS +-- With multiple indexes, make sure we choose which to use in a consistent order CREATE INDEX src_key_index ON TABLE src(key) as 'COMPACT' WITH DEFERRED REBUILD POSTHOOK: type: CREATEINDEX @@ -37,9 +39,9 @@ POSTHOOK: Lineage: default__src_src_key_index__.key SIMPLE [(src)src.FieldSchema POSTHOOK: Lineage: default__src_src_val_index__._bucketname SIMPLE [(src)src.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] POSTHOOK: Lineage: default__src_src_val_index__._offsets EXPRESSION [(src)src.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] POSTHOOK: Lineage: default__src_src_val_index__.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: EXPLAIN SELECT key, value FROM src WHERE key=86 ORDER BY key +PREHOOK: query: EXPLAIN SELECT key, value FROM src WHERE key=86 PREHOOK: type: QUERY -POSTHOOK: query: EXPLAIN SELECT key, value FROM src WHERE key=86 ORDER BY key +POSTHOOK: query: EXPLAIN SELECT key, value FROM src WHERE key=86 POSTHOOK: type: QUERY POSTHOOK: Lineage: default__src_src_key_index__._bucketname SIMPLE [(src)src.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] POSTHOOK: Lineage: default__src_src_key_index__._offsets EXPRESSION [(src)src.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] @@ -106,21 +108,13 @@ STAGE PLANS: expressions: key (type: string), value (type: string) outputColumnNames: _col0, _col1 Statistics: Num rows: 14 Data size: 2805 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + + File Output Operator + compressed: false Statistics: Num rows: 14 Data size: 2805 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 14 Data size: 2805 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 14 Data size: 2805 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-4 Map Reduce @@ -154,12 +148,12 @@ STAGE PLANS: Fetch Operator limit: -1 -PREHOOK: query: SELECT key, value FROM src WHERE key=86 ORDER BY key +PREHOOK: query: SELECT key, value FROM src WHERE key=86 PREHOOK: type: QUERY PREHOOK: Input: default@default__src_src_key_index__ PREHOOK: Input: default@src #### A masked pattern was here #### -POSTHOOK: query: SELECT key, value FROM src WHERE key=86 ORDER BY key +POSTHOOK: query: SELECT key, value FROM src WHERE key=86 POSTHOOK: type: QUERY POSTHOOK: Input: default@default__src_src_key_index__ POSTHOOK: Input: default@src diff --git ql/src/test/results/clientpositive/index_auto_partitioned.q.out ql/src/test/results/clientpositive/index_auto_partitioned.q.out index 11d25fc..8d731f6 100644 --- ql/src/test/results/clientpositive/index_auto_partitioned.q.out +++ ql/src/test/results/clientpositive/index_auto_partitioned.q.out @@ -1,7 +1,9 @@ -PREHOOK: query: -- test automatic use of index on table with partitions +PREHOOK: query: -- SORT_QUERY_RESULTS +-- test automatic use of index on table with partitions CREATE INDEX src_part_index ON TABLE srcpart(key) as 'COMPACT' WITH DEFERRED REBUILD PREHOOK: type: CREATEINDEX -POSTHOOK: query: -- test automatic use of index on table with partitions +POSTHOOK: query: -- SORT_QUERY_RESULTS +-- test automatic use of index on table with partitions CREATE INDEX src_part_index ON TABLE srcpart(key) as 'COMPACT' WITH DEFERRED REBUILD POSTHOOK: type: CREATEINDEX POSTHOOK: Output: default@default__srcpart_src_part_index__ @@ -30,9 +32,9 @@ POSTHOOK: Output: default@default__srcpart_src_part_index__@ds=2008-04-09/hr=12 POSTHOOK: Lineage: default__srcpart_src_part_index__ PARTITION(ds=2008-04-09,hr=12)._bucketname SIMPLE [(srcpart)srcpart.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] POSTHOOK: Lineage: default__srcpart_src_part_index__ PARTITION(ds=2008-04-09,hr=12)._offsets EXPRESSION [(srcpart)srcpart.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] POSTHOOK: Lineage: default__srcpart_src_part_index__ PARTITION(ds=2008-04-09,hr=12).key SIMPLE [(srcpart)srcpart.FieldSchema(name:key, type:string, comment:default), ] -PREHOOK: query: EXPLAIN SELECT key, value FROM srcpart WHERE key=86 AND ds='2008-04-09' ORDER BY key +PREHOOK: query: EXPLAIN SELECT key, value FROM srcpart WHERE key=86 AND ds='2008-04-09' PREHOOK: type: QUERY -POSTHOOK: query: EXPLAIN SELECT key, value FROM srcpart WHERE key=86 AND ds='2008-04-09' ORDER BY key +POSTHOOK: query: EXPLAIN SELECT key, value FROM srcpart WHERE key=86 AND ds='2008-04-09' POSTHOOK: type: QUERY POSTHOOK: Lineage: default__srcpart_src_part_index__ PARTITION(ds=2008-04-09,hr=12)._bucketname SIMPLE [(srcpart)srcpart.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] POSTHOOK: Lineage: default__srcpart_src_part_index__ PARTITION(ds=2008-04-09,hr=12)._offsets EXPRESSION [(srcpart)srcpart.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] @@ -96,21 +98,13 @@ STAGE PLANS: expressions: key (type: string), value (type: string) outputColumnNames: _col0, _col1 Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + + File Output Operator + compressed: false Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-4 Map Reduce @@ -144,7 +138,7 @@ STAGE PLANS: Fetch Operator limit: -1 -PREHOOK: query: SELECT key, value FROM srcpart WHERE key=86 AND ds='2008-04-09' ORDER BY key +PREHOOK: query: SELECT key, value FROM srcpart WHERE key=86 AND ds='2008-04-09' PREHOOK: type: QUERY PREHOOK: Input: default@default__srcpart_src_part_index__ PREHOOK: Input: default@default__srcpart_src_part_index__@ds=2008-04-09/hr=11 @@ -153,7 +147,7 @@ PREHOOK: Input: default@srcpart PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=11 PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=12 #### A masked pattern was here #### -POSTHOOK: query: SELECT key, value FROM srcpart WHERE key=86 AND ds='2008-04-09' ORDER BY key +POSTHOOK: query: SELECT key, value FROM srcpart WHERE key=86 AND ds='2008-04-09' POSTHOOK: type: QUERY POSTHOOK: Input: default@default__srcpart_src_part_index__ POSTHOOK: Input: default@default__srcpart_src_part_index__@ds=2008-04-09/hr=11 diff --git ql/src/test/results/clientpositive/index_auto_self_join.q.out ql/src/test/results/clientpositive/index_auto_self_join.q.out index ee748b9..5189f5e 100644 --- ql/src/test/results/clientpositive/index_auto_self_join.q.out +++ ql/src/test/results/clientpositive/index_auto_self_join.q.out @@ -1,14 +1,15 @@ -PREHOOK: query: -- try the query without indexing, with manual indexing, and with automatic indexing +PREHOOK: query: -- SORT_QUERY_RESULTS +-- try the query without indexing, with manual indexing, and with automatic indexing -EXPLAIN SELECT a.key, b.key FROM src a JOIN src b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key +EXPLAIN SELECT a.key, b.key FROM src a JOIN src b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 PREHOOK: type: QUERY -POSTHOOK: query: -- try the query without indexing, with manual indexing, and with automatic indexing +POSTHOOK: query: -- SORT_QUERY_RESULTS +-- try the query without indexing, with manual indexing, and with automatic indexing -EXPLAIN SELECT a.key, b.key FROM src a JOIN src b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key +EXPLAIN SELECT a.key, b.key FROM src a JOIN src b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-2 depends on stages: Stage-1 Stage-0 is a root stage STAGE PLANS: @@ -54,40 +55,21 @@ STAGE PLANS: Statistics: Num rows: 3 Data size: 661 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - - Stage: Stage-2 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + Statistics: Num rows: 3 Data size: 661 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 3 Data size: 661 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 3 Data size: 661 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator limit: -1 -PREHOOK: query: SELECT a.key, b.key FROM src a JOIN src b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key +PREHOOK: query: SELECT a.key, b.key FROM src a JOIN src b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 PREHOOK: type: QUERY PREHOOK: Input: default@src #### A masked pattern was here #### -POSTHOOK: query: SELECT a.key, b.key FROM src a JOIN src b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key +POSTHOOK: query: SELECT a.key, b.key FROM src a JOIN src b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 POSTHOOK: type: QUERY POSTHOOK: Input: default@src #### A masked pattern was here #### @@ -120,25 +102,24 @@ POSTHOOK: Lineage: default__src_src_index__._bitmaps EXPRESSION [(src)src.FieldS POSTHOOK: Lineage: default__src_src_index__._bucketname SIMPLE [(src)src.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] POSTHOOK: Lineage: default__src_src_index__._offset SIMPLE [(src)src.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] POSTHOOK: Lineage: default__src_src_index__.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] -PREHOOK: query: EXPLAIN SELECT a.key, b.key FROM src a JOIN src b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key +PREHOOK: query: EXPLAIN SELECT a.key, b.key FROM src a JOIN src b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 PREHOOK: type: QUERY -POSTHOOK: query: EXPLAIN SELECT a.key, b.key FROM src a JOIN src b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key +POSTHOOK: query: EXPLAIN SELECT a.key, b.key FROM src a JOIN src b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 POSTHOOK: type: QUERY POSTHOOK: Lineage: default__src_src_index__._bitmaps EXPRESSION [(src)src.FieldSchema(name:ROW__OFFSET__INSIDE__BLOCK, type:bigint, comment:), ] POSTHOOK: Lineage: default__src_src_index__._bucketname SIMPLE [(src)src.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] POSTHOOK: Lineage: default__src_src_index__._offset SIMPLE [(src)src.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] POSTHOOK: Lineage: default__src_src_index__.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] STAGE DEPENDENCIES: - Stage-5 is a root stage - Stage-4 depends on stages: Stage-5 - Stage-1 depends on stages: Stage-4, Stage-6 - Stage-2 depends on stages: Stage-1 - Stage-7 is a root stage - Stage-6 depends on stages: Stage-7 + Stage-4 is a root stage + Stage-3 depends on stages: Stage-4 + Stage-1 depends on stages: Stage-3, Stage-5 + Stage-6 is a root stage + Stage-5 depends on stages: Stage-6 Stage-0 is a root stage STAGE PLANS: - Stage: Stage-5 + Stage: Stage-4 Map Reduce Map Operator Tree: TableScan @@ -175,7 +156,7 @@ STAGE PLANS: output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - Stage: Stage-4 + Stage: Stage-3 Move Operator files: hdfs directory: true @@ -225,32 +206,13 @@ STAGE PLANS: Statistics: Num rows: 3 Data size: 661 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - - Stage: Stage-2 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + Statistics: Num rows: 3 Data size: 661 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 3 Data size: 661 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 3 Data size: 661 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - Stage: Stage-7 + Stage: Stage-6 Map Reduce Map Operator Tree: TableScan @@ -287,7 +249,7 @@ STAGE PLANS: output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - Stage: Stage-6 + Stage: Stage-5 Move Operator files: hdfs directory: true @@ -297,12 +259,12 @@ STAGE PLANS: Fetch Operator limit: -1 -PREHOOK: query: SELECT a.key, b.key FROM src a JOIN src b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key +PREHOOK: query: SELECT a.key, b.key FROM src a JOIN src b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 PREHOOK: type: QUERY PREHOOK: Input: default@default__src_src_index__ PREHOOK: Input: default@src #### A masked pattern was here #### -POSTHOOK: query: SELECT a.key, b.key FROM src a JOIN src b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key +POSTHOOK: query: SELECT a.key, b.key FROM src a JOIN src b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 POSTHOOK: type: QUERY POSTHOOK: Input: default@default__src_src_index__ POSTHOOK: Input: default@src diff --git ql/src/test/results/clientpositive/index_auto_unused.q.out ql/src/test/results/clientpositive/index_auto_unused.q.out index ef6a0a1..90d999a 100644 --- ql/src/test/results/clientpositive/index_auto_unused.q.out +++ ql/src/test/results/clientpositive/index_auto_unused.q.out @@ -1,8 +1,10 @@ -PREHOOK: query: -- test cases where the index should not be used automatically +PREHOOK: query: -- SORT_QUERY_RESULTS +-- test cases where the index should not be used automatically CREATE INDEX src_index ON TABLE src(key) as 'COMPACT' WITH DEFERRED REBUILD PREHOOK: type: CREATEINDEX -POSTHOOK: query: -- test cases where the index should not be used automatically +POSTHOOK: query: -- SORT_QUERY_RESULTS +-- test cases where the index should not be used automatically CREATE INDEX src_index ON TABLE src(key) as 'COMPACT' WITH DEFERRED REBUILD POSTHOOK: type: CREATEINDEX @@ -19,10 +21,10 @@ POSTHOOK: Lineage: default__src_src_index__._bucketname SIMPLE [(src)src.FieldSc POSTHOOK: Lineage: default__src_src_index__._offsets EXPRESSION [(src)src.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] POSTHOOK: Lineage: default__src_src_index__.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] PREHOOK: query: -- min size too large (src is less than 5G) -EXPLAIN SELECT * FROM src WHERE key > 80 AND key < 100 ORDER BY key +EXPLAIN SELECT * FROM src WHERE key > 80 AND key < 100 PREHOOK: type: QUERY POSTHOOK: query: -- min size too large (src is less than 5G) -EXPLAIN SELECT * FROM src WHERE key > 80 AND key < 100 ORDER BY key +EXPLAIN SELECT * FROM src WHERE key > 80 AND key < 100 POSTHOOK: type: QUERY POSTHOOK: Lineage: default__src_src_index__._bucketname SIMPLE [(src)src.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] POSTHOOK: Lineage: default__src_src_index__._offsets EXPRESSION [(src)src.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] @@ -46,31 +48,23 @@ STAGE PLANS: expressions: key (type: string), value (type: string) outputColumnNames: _col0, _col1 Statistics: Num rows: 3 Data size: 601 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + + File Output Operator + compressed: false Statistics: Num rows: 3 Data size: 601 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 3 Data size: 601 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 3 Data size: 601 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator limit: -1 -PREHOOK: query: SELECT * FROM src WHERE key > 80 AND key < 100 ORDER BY key +PREHOOK: query: SELECT * FROM src WHERE key > 80 AND key < 100 PREHOOK: type: QUERY PREHOOK: Input: default@src #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM src WHERE key > 80 AND key < 100 ORDER BY key +POSTHOOK: query: SELECT * FROM src WHERE key > 80 AND key < 100 POSTHOOK: type: QUERY POSTHOOK: Input: default@src #### A masked pattern was here #### @@ -97,10 +91,10 @@ POSTHOOK: Lineage: default__src_src_index__.key SIMPLE [(src)src.FieldSchema(nam 98 val_98 98 val_98 PREHOOK: query: -- max size too small -EXPLAIN SELECT * FROM src WHERE key > 80 AND key < 100 ORDER BY key +EXPLAIN SELECT * FROM src WHERE key > 80 AND key < 100 PREHOOK: type: QUERY POSTHOOK: query: -- max size too small -EXPLAIN SELECT * FROM src WHERE key > 80 AND key < 100 ORDER BY key +EXPLAIN SELECT * FROM src WHERE key > 80 AND key < 100 POSTHOOK: type: QUERY POSTHOOK: Lineage: default__src_src_index__._bucketname SIMPLE [(src)src.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] POSTHOOK: Lineage: default__src_src_index__._offsets EXPRESSION [(src)src.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] @@ -124,31 +118,23 @@ STAGE PLANS: expressions: key (type: string), value (type: string) outputColumnNames: _col0, _col1 Statistics: Num rows: 3 Data size: 601 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + + File Output Operator + compressed: false Statistics: Num rows: 3 Data size: 601 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 3 Data size: 601 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 3 Data size: 601 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator limit: -1 -PREHOOK: query: SELECT * FROM src WHERE key > 80 AND key < 100 ORDER BY key +PREHOOK: query: SELECT * FROM src WHERE key > 80 AND key < 100 PREHOOK: type: QUERY PREHOOK: Input: default@src #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM src WHERE key > 80 AND key < 100 ORDER BY key +POSTHOOK: query: SELECT * FROM src WHERE key > 80 AND key < 100 POSTHOOK: type: QUERY POSTHOOK: Input: default@src #### A masked pattern was here #### @@ -175,10 +161,10 @@ POSTHOOK: Lineage: default__src_src_index__.key SIMPLE [(src)src.FieldSchema(nam 98 val_98 98 val_98 PREHOOK: query: -- OR predicate not supported by compact indexes -EXPLAIN SELECT * FROM src WHERE key < 10 OR key > 480 ORDER BY key +EXPLAIN SELECT * FROM src WHERE key < 10 OR key > 480 PREHOOK: type: QUERY POSTHOOK: query: -- OR predicate not supported by compact indexes -EXPLAIN SELECT * FROM src WHERE key < 10 OR key > 480 ORDER BY key +EXPLAIN SELECT * FROM src WHERE key < 10 OR key > 480 POSTHOOK: type: QUERY POSTHOOK: Lineage: default__src_src_index__._bucketname SIMPLE [(src)src.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] POSTHOOK: Lineage: default__src_src_index__._offsets EXPRESSION [(src)src.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] @@ -202,31 +188,23 @@ STAGE PLANS: expressions: key (type: string), value (type: string) outputColumnNames: _col0, _col1 Statistics: Num rows: 18 Data size: 3607 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + + File Output Operator + compressed: false Statistics: Num rows: 18 Data size: 3607 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 18 Data size: 3607 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 18 Data size: 3607 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator limit: -1 -PREHOOK: query: SELECT * FROM src WHERE key < 10 OR key > 480 ORDER BY key +PREHOOK: query: SELECT * FROM src WHERE key < 10 OR key > 480 PREHOOK: type: QUERY PREHOOK: Input: default@src #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM src WHERE key < 10 OR key > 480 ORDER BY key +POSTHOOK: query: SELECT * FROM src WHERE key < 10 OR key > 480 POSTHOOK: type: QUERY POSTHOOK: Input: default@src #### A masked pattern was here #### @@ -296,9 +274,9 @@ POSTHOOK: Lineage: default__src_src_index__.key SIMPLE [(src)src.FieldSchema(nam POSTHOOK: Lineage: default__src_src_val_index__._bucketname SIMPLE [(src)src.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] POSTHOOK: Lineage: default__src_src_val_index__._offsets EXPRESSION [(src)src.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] POSTHOOK: Lineage: default__src_src_val_index__.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: EXPLAIN SELECT * FROM src WHERE key > 80 AND key < 100 ORDER BY key +PREHOOK: query: EXPLAIN SELECT * FROM src WHERE key > 80 AND key < 100 PREHOOK: type: QUERY -POSTHOOK: query: EXPLAIN SELECT * FROM src WHERE key > 80 AND key < 100 ORDER BY key +POSTHOOK: query: EXPLAIN SELECT * FROM src WHERE key > 80 AND key < 100 POSTHOOK: type: QUERY POSTHOOK: Lineage: default__src_src_index__._bucketname SIMPLE [(src)src.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] POSTHOOK: Lineage: default__src_src_index__._offsets EXPRESSION [(src)src.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] @@ -325,31 +303,23 @@ STAGE PLANS: expressions: key (type: string), value (type: string) outputColumnNames: _col0, _col1 Statistics: Num rows: 3 Data size: 601 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + + File Output Operator + compressed: false Statistics: Num rows: 3 Data size: 601 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 3 Data size: 601 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 3 Data size: 601 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator limit: -1 -PREHOOK: query: SELECT * FROM src WHERE key > 80 AND key < 100 ORDER BY key +PREHOOK: query: SELECT * FROM src WHERE key > 80 AND key < 100 PREHOOK: type: QUERY PREHOOK: Input: default@src #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM src WHERE key > 80 AND key < 100 ORDER BY key +POSTHOOK: query: SELECT * FROM src WHERE key > 80 AND key < 100 POSTHOOK: type: QUERY POSTHOOK: Input: default@src #### A masked pattern was here #### @@ -420,9 +390,9 @@ POSTHOOK: Lineage: default__src_src_val_index__.value SIMPLE [(src)src.FieldSche POSTHOOK: Lineage: default__srcpart_src_part_index__ PARTITION(ds=2008-04-08,hr=11)._bucketname SIMPLE [(srcpart)srcpart.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] POSTHOOK: Lineage: default__srcpart_src_part_index__ PARTITION(ds=2008-04-08,hr=11)._offsets EXPRESSION [(srcpart)srcpart.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] POSTHOOK: Lineage: default__srcpart_src_part_index__ PARTITION(ds=2008-04-08,hr=11).key SIMPLE [(srcpart)srcpart.FieldSchema(name:key, type:string, comment:default), ] -PREHOOK: query: EXPLAIN SELECT * FROM srcpart WHERE ds='2008-04-09' AND hr=12 AND key < 10 ORDER BY key +PREHOOK: query: EXPLAIN SELECT * FROM srcpart WHERE ds='2008-04-09' AND hr=12 AND key < 10 PREHOOK: type: QUERY -POSTHOOK: query: EXPLAIN SELECT * FROM srcpart WHERE ds='2008-04-09' AND hr=12 AND key < 10 ORDER BY key +POSTHOOK: query: EXPLAIN SELECT * FROM srcpart WHERE ds='2008-04-09' AND hr=12 AND key < 10 POSTHOOK: type: QUERY POSTHOOK: Lineage: default__src_src_index__._bucketname SIMPLE [(src)src.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] POSTHOOK: Lineage: default__src_src_index__._offsets EXPRESSION [(src)src.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] @@ -452,32 +422,24 @@ STAGE PLANS: expressions: key (type: string), value (type: string), ds (type: string), hr (type: string) outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 9 Data size: 1803 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + + File Output Operator + compressed: false Statistics: Num rows: 9 Data size: 1803 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string), _col3 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 9 Data size: 1803 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 9 Data size: 1803 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator limit: -1 -PREHOOK: query: SELECT * FROM srcpart WHERE ds='2008-04-09' AND hr=12 AND key < 10 ORDER BY key +PREHOOK: query: SELECT * FROM srcpart WHERE ds='2008-04-09' AND hr=12 AND key < 10 PREHOOK: type: QUERY PREHOOK: Input: default@srcpart PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=12 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM srcpart WHERE ds='2008-04-09' AND hr=12 AND key < 10 ORDER BY key +POSTHOOK: query: SELECT * FROM srcpart WHERE ds='2008-04-09' AND hr=12 AND key < 10 POSTHOOK: type: QUERY POSTHOOK: Input: default@srcpart POSTHOOK: Input: default@srcpart@ds=2008-04-09/hr=12 diff --git ql/src/test/results/clientpositive/index_bitmap.q.out ql/src/test/results/clientpositive/index_bitmap.q.out index 2c7c050..ead912f 100644 --- ql/src/test/results/clientpositive/index_bitmap.q.out +++ ql/src/test/results/clientpositive/index_bitmap.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: DROP INDEX srcpart_index_proj on srcpart +PREHOOK: query: -- SORT_QUERY_RESULTS + +DROP INDEX srcpart_index_proj on srcpart PREHOOK: type: DROPINDEX -POSTHOOK: query: DROP INDEX srcpart_index_proj on srcpart +POSTHOOK: query: -- SORT_QUERY_RESULTS + +DROP INDEX srcpart_index_proj on srcpart POSTHOOK: type: DROPINDEX PREHOOK: query: EXPLAIN CREATE INDEX srcpart_index_proj ON TABLE srcpart(key) as 'BITMAP' WITH DEFERRED REBUILD @@ -45,12 +49,12 @@ POSTHOOK: Lineage: default__srcpart_srcpart_index_proj__ PARTITION(ds=2008-04-09 POSTHOOK: Lineage: default__srcpart_srcpart_index_proj__ PARTITION(ds=2008-04-09,hr=12)._bucketname SIMPLE [(srcpart)srcpart.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] POSTHOOK: Lineage: default__srcpart_srcpart_index_proj__ PARTITION(ds=2008-04-09,hr=12)._offset SIMPLE [(srcpart)srcpart.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] POSTHOOK: Lineage: default__srcpart_srcpart_index_proj__ PARTITION(ds=2008-04-09,hr=12).key SIMPLE [(srcpart)srcpart.FieldSchema(name:key, type:string, comment:default), ] -PREHOOK: query: SELECT x.* FROM default__srcpart_srcpart_index_proj__ x WHERE x.ds = '2008-04-08' and x.hr = 11 ORDER BY key +PREHOOK: query: SELECT x.* FROM default__srcpart_srcpart_index_proj__ x WHERE x.ds = '2008-04-08' and x.hr = 11 PREHOOK: type: QUERY PREHOOK: Input: default@default__srcpart_srcpart_index_proj__ PREHOOK: Input: default@default__srcpart_srcpart_index_proj__@ds=2008-04-08/hr=11 #### A masked pattern was here #### -POSTHOOK: query: SELECT x.* FROM default__srcpart_srcpart_index_proj__ x WHERE x.ds = '2008-04-08' and x.hr = 11 ORDER BY key +POSTHOOK: query: SELECT x.* FROM default__srcpart_srcpart_index_proj__ x WHERE x.ds = '2008-04-08' and x.hr = 11 POSTHOOK: type: QUERY POSTHOOK: Input: default@default__srcpart_srcpart_index_proj__ POSTHOOK: Input: default@default__srcpart_srcpart_index_proj__@ds=2008-04-08/hr=11 @@ -78,13 +82,13 @@ POSTHOOK: Lineage: default__srcpart_srcpart_index_proj__ PARTITION(ds=2008-04-09 POSTHOOK: Lineage: default__srcpart_srcpart_index_proj__ PARTITION(ds=2008-04-09,hr=12)._bucketname SIMPLE [(srcpart)srcpart.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] POSTHOOK: Lineage: default__srcpart_srcpart_index_proj__ PARTITION(ds=2008-04-09,hr=12)._offset SIMPLE [(srcpart)srcpart.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] POSTHOOK: Lineage: default__srcpart_srcpart_index_proj__ PARTITION(ds=2008-04-09,hr=12).key SIMPLE [(srcpart)srcpart.FieldSchema(name:key, type:string, comment:default), ] -PREHOOK: query: SELECT key, value FROM srcpart WHERE key=100 AND ds = '2008-04-08' ORDER BY key +PREHOOK: query: SELECT key, value FROM srcpart WHERE key=100 AND ds = '2008-04-08' PREHOOK: type: QUERY PREHOOK: Input: default@srcpart PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 #### A masked pattern was here #### -POSTHOOK: query: SELECT key, value FROM srcpart WHERE key=100 AND ds = '2008-04-08' ORDER BY key +POSTHOOK: query: SELECT key, value FROM srcpart WHERE key=100 AND ds = '2008-04-08' POSTHOOK: type: QUERY POSTHOOK: Input: default@srcpart POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 @@ -115,12 +119,12 @@ POSTHOOK: Lineage: default__srcpart_srcpart_index_proj__ PARTITION(ds=2008-04-09 POSTHOOK: Lineage: default__srcpart_srcpart_index_proj__ PARTITION(ds=2008-04-09,hr=12)._bucketname SIMPLE [(srcpart)srcpart.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] POSTHOOK: Lineage: default__srcpart_srcpart_index_proj__ PARTITION(ds=2008-04-09,hr=12)._offset SIMPLE [(srcpart)srcpart.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] POSTHOOK: Lineage: default__srcpart_srcpart_index_proj__ PARTITION(ds=2008-04-09,hr=12).key SIMPLE [(srcpart)srcpart.FieldSchema(name:key, type:string, comment:default), ] -PREHOOK: query: SELECT key, value FROM srcpart WHERE key=100 AND ds = '2008-04-08' and hr = 11 ORDER BY key +PREHOOK: query: SELECT key, value FROM srcpart WHERE key=100 AND ds = '2008-04-08' and hr = 11 PREHOOK: type: QUERY PREHOOK: Input: default@srcpart PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 #### A masked pattern was here #### -POSTHOOK: query: SELECT key, value FROM srcpart WHERE key=100 AND ds = '2008-04-08' and hr = 11 ORDER BY key +POSTHOOK: query: SELECT key, value FROM srcpart WHERE key=100 AND ds = '2008-04-08' and hr = 11 POSTHOOK: type: QUERY POSTHOOK: Input: default@srcpart POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 @@ -131,12 +135,12 @@ POSTHOOK: Lineage: default__srcpart_srcpart_index_proj__ PARTITION(ds=2008-04-09 POSTHOOK: Lineage: default__srcpart_srcpart_index_proj__ PARTITION(ds=2008-04-09,hr=12).key SIMPLE [(srcpart)srcpart.FieldSchema(name:key, type:string, comment:default), ] 100 val_100 100 val_100 -PREHOOK: query: SELECT key, value FROM srcpart WHERE key=100 AND ds = '2008-04-08' and hr = 11 ORDER BY key +PREHOOK: query: SELECT key, value FROM srcpart WHERE key=100 AND ds = '2008-04-08' and hr = 11 PREHOOK: type: QUERY PREHOOK: Input: default@srcpart PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 #### A masked pattern was here #### -POSTHOOK: query: SELECT key, value FROM srcpart WHERE key=100 AND ds = '2008-04-08' and hr = 11 ORDER BY key +POSTHOOK: query: SELECT key, value FROM srcpart WHERE key=100 AND ds = '2008-04-08' and hr = 11 POSTHOOK: type: QUERY POSTHOOK: Input: default@srcpart POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 @@ -261,7 +265,7 @@ POSTHOOK: Lineage: default__srcpart_srcpart_index_proj__ PARTITION(ds=2008-04-09 POSTHOOK: Lineage: default__srcpart_srcpart_index_proj__ PARTITION(ds=2008-04-09,hr=12)._bucketname SIMPLE [(srcpart)srcpart.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] POSTHOOK: Lineage: default__srcpart_srcpart_index_proj__ PARTITION(ds=2008-04-09,hr=12)._offset SIMPLE [(srcpart)srcpart.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] POSTHOOK: Lineage: default__srcpart_srcpart_index_proj__ PARTITION(ds=2008-04-09,hr=12).key SIMPLE [(srcpart)srcpart.FieldSchema(name:key, type:string, comment:default), ] -PREHOOK: query: SELECT key, value FROM srcpart WHERE key=100 ORDER BY key +PREHOOK: query: SELECT key, value FROM srcpart WHERE key=100 PREHOOK: type: QUERY PREHOOK: Input: default@srcpart PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 @@ -269,7 +273,7 @@ PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=11 PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=12 #### A masked pattern was here #### -POSTHOOK: query: SELECT key, value FROM srcpart WHERE key=100 ORDER BY key +POSTHOOK: query: SELECT key, value FROM srcpart WHERE key=100 POSTHOOK: type: QUERY POSTHOOK: Input: default@srcpart POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 @@ -293,7 +297,7 @@ POSTHOOK: Lineage: default__srcpart_srcpart_index_proj__ PARTITION(ds=2008-04-09 100 val_100 100 val_100 100 val_100 -PREHOOK: query: SELECT key, value FROM srcpart WHERE key=100 ORDER BY key +PREHOOK: query: SELECT key, value FROM srcpart WHERE key=100 PREHOOK: type: QUERY PREHOOK: Input: default@srcpart PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 @@ -301,7 +305,7 @@ PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=11 PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=12 #### A masked pattern was here #### -POSTHOOK: query: SELECT key, value FROM srcpart WHERE key=100 ORDER BY key +POSTHOOK: query: SELECT key, value FROM srcpart WHERE key=100 POSTHOOK: type: QUERY POSTHOOK: Input: default@srcpart POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 diff --git ql/src/test/results/clientpositive/index_bitmap1.q.out ql/src/test/results/clientpositive/index_bitmap1.q.out index 96af69f..e17e79b 100644 --- ql/src/test/results/clientpositive/index_bitmap1.q.out +++ ql/src/test/results/clientpositive/index_bitmap1.q.out @@ -1,7 +1,11 @@ -PREHOOK: query: EXPLAIN +PREHOOK: query: -- SORT_QUERY_RESULTS + +EXPLAIN CREATE INDEX src_index ON TABLE src(key) as 'BITMAP' WITH DEFERRED REBUILD PREHOOK: type: CREATEINDEX -POSTHOOK: query: EXPLAIN +POSTHOOK: query: -- SORT_QUERY_RESULTS + +EXPLAIN CREATE INDEX src_index ON TABLE src(key) as 'BITMAP' WITH DEFERRED REBUILD POSTHOOK: type: CREATEINDEX STAGE DEPENDENCIES: @@ -27,11 +31,11 @@ POSTHOOK: Lineage: default__src_src_index__._bitmaps EXPRESSION [(src)src.FieldS POSTHOOK: Lineage: default__src_src_index__._bucketname SIMPLE [(src)src.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] POSTHOOK: Lineage: default__src_src_index__._offset SIMPLE [(src)src.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] POSTHOOK: Lineage: default__src_src_index__.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] -PREHOOK: query: SELECT x.* FROM default__src_src_index__ x ORDER BY key +PREHOOK: query: SELECT x.* FROM default__src_src_index__ x PREHOOK: type: QUERY PREHOOK: Input: default@default__src_src_index__ #### A masked pattern was here #### -POSTHOOK: query: SELECT x.* FROM default__src_src_index__ x ORDER BY key +POSTHOOK: query: SELECT x.* FROM default__src_src_index__ x POSTHOOK: type: QUERY POSTHOOK: Input: default@default__src_src_index__ #### A masked pattern was here #### @@ -54,11 +58,11 @@ POSTHOOK: Lineage: default__src_src_index__._bitmaps EXPRESSION [(src)src.FieldS POSTHOOK: Lineage: default__src_src_index__._bucketname SIMPLE [(src)src.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] POSTHOOK: Lineage: default__src_src_index__._offset SIMPLE [(src)src.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] POSTHOOK: Lineage: default__src_src_index__.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] -PREHOOK: query: SELECT key, value FROM src WHERE key=100 ORDER BY key +PREHOOK: query: SELECT key, value FROM src WHERE key=100 PREHOOK: type: QUERY PREHOOK: Input: default@src #### A masked pattern was here #### -POSTHOOK: query: SELECT key, value FROM src WHERE key=100 ORDER BY key +POSTHOOK: query: SELECT key, value FROM src WHERE key=100 POSTHOOK: type: QUERY POSTHOOK: Input: default@src #### A masked pattern was here #### @@ -68,11 +72,11 @@ POSTHOOK: Lineage: default__src_src_index__._offset SIMPLE [(src)src.FieldSchema POSTHOOK: Lineage: default__src_src_index__.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] 100 val_100 100 val_100 -PREHOOK: query: SELECT key, value FROM src WHERE key=100 ORDER BY key +PREHOOK: query: SELECT key, value FROM src WHERE key=100 PREHOOK: type: QUERY PREHOOK: Input: default@src #### A masked pattern was here #### -POSTHOOK: query: SELECT key, value FROM src WHERE key=100 ORDER BY key +POSTHOOK: query: SELECT key, value FROM src WHERE key=100 POSTHOOK: type: QUERY POSTHOOK: Input: default@src #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/index_bitmap2.q.out ql/src/test/results/clientpositive/index_bitmap2.q.out index 2b9d98e..8fa3c32 100644 --- ql/src/test/results/clientpositive/index_bitmap2.q.out +++ ql/src/test/results/clientpositive/index_bitmap2.q.out @@ -1,7 +1,11 @@ -PREHOOK: query: EXPLAIN +PREHOOK: query: -- SORT_QUERY_RESULTS + +EXPLAIN CREATE INDEX src1_index ON TABLE src(key) as 'BITMAP' WITH DEFERRED REBUILD PREHOOK: type: CREATEINDEX -POSTHOOK: query: EXPLAIN +POSTHOOK: query: -- SORT_QUERY_RESULTS + +EXPLAIN CREATE INDEX src1_index ON TABLE src(key) as 'BITMAP' WITH DEFERRED REBUILD POSTHOOK: type: CREATEINDEX STAGE DEPENDENCIES: @@ -60,11 +64,11 @@ POSTHOOK: Lineage: default__src_src2_index__._bitmaps EXPRESSION [(src)src.Field POSTHOOK: Lineage: default__src_src2_index__._bucketname SIMPLE [(src)src.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] POSTHOOK: Lineage: default__src_src2_index__._offset SIMPLE [(src)src.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] POSTHOOK: Lineage: default__src_src2_index__.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: SELECT * FROM default__src_src1_index__ ORDER BY key +PREHOOK: query: SELECT * FROM default__src_src1_index__ PREHOOK: type: QUERY PREHOOK: Input: default@default__src_src1_index__ #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM default__src_src1_index__ ORDER BY key +POSTHOOK: query: SELECT * FROM default__src_src1_index__ POSTHOOK: type: QUERY POSTHOOK: Input: default@default__src_src1_index__ #### A masked pattern was here #### @@ -77,11 +81,11 @@ POSTHOOK: Lineage: default__src_src2_index__._bucketname SIMPLE [(src)src.FieldS POSTHOOK: Lineage: default__src_src2_index__._offset SIMPLE [(src)src.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] POSTHOOK: Lineage: default__src_src2_index__.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] #### A masked pattern was here #### -PREHOOK: query: SELECT * FROM default__src_src2_index__ ORDER BY value +PREHOOK: query: SELECT * FROM default__src_src2_index__ PREHOOK: type: QUERY PREHOOK: Input: default@default__src_src2_index__ #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM default__src_src2_index__ ORDER BY value +POSTHOOK: query: SELECT * FROM default__src_src2_index__ POSTHOOK: type: QUERY POSTHOOK: Input: default@default__src_src2_index__ #### A masked pattern was here #### @@ -126,11 +130,11 @@ POSTHOOK: Lineage: default__src_src2_index__._bitmaps EXPRESSION [(src)src.Field POSTHOOK: Lineage: default__src_src2_index__._bucketname SIMPLE [(src)src.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] POSTHOOK: Lineage: default__src_src2_index__._offset SIMPLE [(src)src.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] POSTHOOK: Lineage: default__src_src2_index__.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: SELECT key, value FROM src WHERE key=0 OR value = "val_2" ORDER BY key +PREHOOK: query: SELECT key, value FROM src WHERE key=0 OR value = "val_2" PREHOOK: type: QUERY PREHOOK: Input: default@src #### A masked pattern was here #### -POSTHOOK: query: SELECT key, value FROM src WHERE key=0 OR value = "val_2" ORDER BY key +POSTHOOK: query: SELECT key, value FROM src WHERE key=0 OR value = "val_2" POSTHOOK: type: QUERY POSTHOOK: Input: default@src #### A masked pattern was here #### @@ -146,11 +150,11 @@ POSTHOOK: Lineage: default__src_src2_index__.value SIMPLE [(src)src.FieldSchema( 0 val_0 0 val_0 2 val_2 -PREHOOK: query: SELECT key, value FROM src WHERE key=0 OR value = "val_2" ORDER BY key +PREHOOK: query: SELECT key, value FROM src WHERE key=0 OR value = "val_2" PREHOOK: type: QUERY PREHOOK: Input: default@src #### A masked pattern was here #### -POSTHOOK: query: SELECT key, value FROM src WHERE key=0 OR value = "val_2" ORDER BY key +POSTHOOK: query: SELECT key, value FROM src WHERE key=0 OR value = "val_2" POSTHOOK: type: QUERY POSTHOOK: Input: default@src #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/index_bitmap_auto_partitioned.q.out ql/src/test/results/clientpositive/index_bitmap_auto_partitioned.q.out index 9b32022..b7e9ddc 100644 --- ql/src/test/results/clientpositive/index_bitmap_auto_partitioned.q.out +++ ql/src/test/results/clientpositive/index_bitmap_auto_partitioned.q.out @@ -1,7 +1,11 @@ -PREHOOK: query: -- test automatic use of index on table with partitions +PREHOOK: query: -- SORT_QUERY_RESULTS + +-- test automatic use of index on table with partitions CREATE INDEX src_part_index ON TABLE srcpart(key) as 'BITMAP' WITH DEFERRED REBUILD PREHOOK: type: CREATEINDEX -POSTHOOK: query: -- test automatic use of index on table with partitions +POSTHOOK: query: -- SORT_QUERY_RESULTS + +-- test automatic use of index on table with partitions CREATE INDEX src_part_index ON TABLE srcpart(key) as 'BITMAP' WITH DEFERRED REBUILD POSTHOOK: type: CREATEINDEX POSTHOOK: Output: default@default__srcpart_src_part_index__ @@ -31,9 +35,9 @@ POSTHOOK: Lineage: default__srcpart_src_part_index__ PARTITION(ds=2008-04-09,hr= POSTHOOK: Lineage: default__srcpart_src_part_index__ PARTITION(ds=2008-04-09,hr=12)._bucketname SIMPLE [(srcpart)srcpart.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] POSTHOOK: Lineage: default__srcpart_src_part_index__ PARTITION(ds=2008-04-09,hr=12)._offset SIMPLE [(srcpart)srcpart.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] POSTHOOK: Lineage: default__srcpart_src_part_index__ PARTITION(ds=2008-04-09,hr=12).key SIMPLE [(srcpart)srcpart.FieldSchema(name:key, type:string, comment:default), ] -PREHOOK: query: EXPLAIN SELECT key, value FROM srcpart WHERE key=86 AND ds='2008-04-09' ORDER BY key +PREHOOK: query: EXPLAIN SELECT key, value FROM srcpart WHERE key=86 AND ds='2008-04-09' PREHOOK: type: QUERY -POSTHOOK: query: EXPLAIN SELECT key, value FROM srcpart WHERE key=86 AND ds='2008-04-09' ORDER BY key +POSTHOOK: query: EXPLAIN SELECT key, value FROM srcpart WHERE key=86 AND ds='2008-04-09' POSTHOOK: type: QUERY POSTHOOK: Lineage: default__srcpart_src_part_index__ PARTITION(ds=2008-04-09,hr=12)._bitmaps EXPRESSION [(srcpart)srcpart.FieldSchema(name:ROW__OFFSET__INSIDE__BLOCK, type:bigint, comment:), ] POSTHOOK: Lineage: default__srcpart_src_part_index__ PARTITION(ds=2008-04-09,hr=12)._bucketname SIMPLE [(srcpart)srcpart.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] @@ -103,27 +107,19 @@ STAGE PLANS: expressions: key (type: string), value (type: string) outputColumnNames: _col0, _col1 Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + + File Output Operator + compressed: false Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator limit: -1 -PREHOOK: query: SELECT key, value FROM srcpart WHERE key=86 AND ds='2008-04-09' ORDER BY key +PREHOOK: query: SELECT key, value FROM srcpart WHERE key=86 AND ds='2008-04-09' PREHOOK: type: QUERY PREHOOK: Input: default@default__srcpart_src_part_index__ PREHOOK: Input: default@default__srcpart_src_part_index__@ds=2008-04-09/hr=11 @@ -132,7 +128,7 @@ PREHOOK: Input: default@srcpart PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=11 PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=12 #### A masked pattern was here #### -POSTHOOK: query: SELECT key, value FROM srcpart WHERE key=86 AND ds='2008-04-09' ORDER BY key +POSTHOOK: query: SELECT key, value FROM srcpart WHERE key=86 AND ds='2008-04-09' POSTHOOK: type: QUERY POSTHOOK: Input: default@default__srcpart_src_part_index__ POSTHOOK: Input: default@default__srcpart_src_part_index__@ds=2008-04-09/hr=11 diff --git ql/src/test/results/clientpositive/index_bitmap_compression.q.out ql/src/test/results/clientpositive/index_bitmap_compression.q.out index 65bbc3f..1eacb42 100644 --- ql/src/test/results/clientpositive/index_bitmap_compression.q.out +++ ql/src/test/results/clientpositive/index_bitmap_compression.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: CREATE INDEX src_index ON TABLE src(key) as 'BITMAP' WITH DEFERRED REBUILD +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE INDEX src_index ON TABLE src(key) as 'BITMAP' WITH DEFERRED REBUILD PREHOOK: type: CREATEINDEX -POSTHOOK: query: CREATE INDEX src_index ON TABLE src(key) as 'BITMAP' WITH DEFERRED REBUILD +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE INDEX src_index ON TABLE src(key) as 'BITMAP' WITH DEFERRED REBUILD POSTHOOK: type: CREATEINDEX POSTHOOK: Output: default@default__src_src_index__ PREHOOK: query: ALTER INDEX src_index ON src REBUILD @@ -16,10 +20,10 @@ POSTHOOK: Lineage: default__src_src_index__._bucketname SIMPLE [(src)src.FieldSc POSTHOOK: Lineage: default__src_src_index__._offset SIMPLE [(src)src.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] POSTHOOK: Lineage: default__src_src_index__.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] PREHOOK: query: -- automatic indexing -EXPLAIN SELECT key, value FROM src WHERE key > 80 AND key < 100 ORDER BY key +EXPLAIN SELECT key, value FROM src WHERE key > 80 AND key < 100 PREHOOK: type: QUERY POSTHOOK: query: -- automatic indexing -EXPLAIN SELECT key, value FROM src WHERE key > 80 AND key < 100 ORDER BY key +EXPLAIN SELECT key, value FROM src WHERE key > 80 AND key < 100 POSTHOOK: type: QUERY POSTHOOK: Lineage: default__src_src_index__._bitmaps EXPRESSION [(src)src.FieldSchema(name:ROW__OFFSET__INSIDE__BLOCK, type:bigint, comment:), ] POSTHOOK: Lineage: default__src_src_index__._bucketname SIMPLE [(src)src.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] @@ -89,32 +93,24 @@ STAGE PLANS: expressions: key (type: string), value (type: string) outputColumnNames: _col0, _col1 Statistics: Num rows: 3 Data size: 601 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + + File Output Operator + compressed: false Statistics: Num rows: 3 Data size: 601 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 3 Data size: 601 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 3 Data size: 601 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator limit: -1 -PREHOOK: query: SELECT key, value FROM src WHERE key > 80 AND key < 100 ORDER BY key +PREHOOK: query: SELECT key, value FROM src WHERE key > 80 AND key < 100 PREHOOK: type: QUERY PREHOOK: Input: default@default__src_src_index__ PREHOOK: Input: default@src #### A masked pattern was here #### -POSTHOOK: query: SELECT key, value FROM src WHERE key > 80 AND key < 100 ORDER BY key +POSTHOOK: query: SELECT key, value FROM src WHERE key > 80 AND key < 100 POSTHOOK: type: QUERY POSTHOOK: Input: default@default__src_src_index__ POSTHOOK: Input: default@src diff --git ql/src/test/results/clientpositive/index_bitmap_rc.q.out ql/src/test/results/clientpositive/index_bitmap_rc.q.out index 9f8657f..4fe7c55 100644 --- ql/src/test/results/clientpositive/index_bitmap_rc.q.out +++ ql/src/test/results/clientpositive/index_bitmap_rc.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: CREATE TABLE srcpart_rc (key int, value string) PARTITIONED BY (ds string, hr int) STORED AS RCFILE +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE srcpart_rc (key int, value string) PARTITIONED BY (ds string, hr int) STORED AS RCFILE PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE srcpart_rc (key int, value string) PARTITIONED BY (ds string, hr int) STORED AS RCFILE +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE srcpart_rc (key int, value string) PARTITIONED BY (ds string, hr int) STORED AS RCFILE POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@srcpart_rc PREHOOK: query: INSERT OVERWRITE TABLE srcpart_rc PARTITION (ds='2008-04-08', hr=11) SELECT key, value FROM srcpart WHERE ds = '2008-04-08' AND hr = 11 @@ -130,12 +134,12 @@ POSTHOOK: Lineage: srcpart_rc PARTITION(ds=2008-04-09,hr=11).key EXPRESSION [(sr POSTHOOK: Lineage: srcpart_rc PARTITION(ds=2008-04-09,hr=11).value SIMPLE [(srcpart)srcpart.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: srcpart_rc PARTITION(ds=2008-04-09,hr=12).key EXPRESSION [(srcpart)srcpart.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: srcpart_rc PARTITION(ds=2008-04-09,hr=12).value SIMPLE [(srcpart)srcpart.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: SELECT x.* FROM default__srcpart_rc_srcpart_rc_index__ x WHERE x.ds = '2008-04-08' and x.hr = 11 ORDER BY key +PREHOOK: query: SELECT x.* FROM default__srcpart_rc_srcpart_rc_index__ x WHERE x.ds = '2008-04-08' and x.hr = 11 PREHOOK: type: QUERY PREHOOK: Input: default@default__srcpart_rc_srcpart_rc_index__ PREHOOK: Input: default@default__srcpart_rc_srcpart_rc_index__@ds=2008-04-08/hr=11 #### A masked pattern was here #### -POSTHOOK: query: SELECT x.* FROM default__srcpart_rc_srcpart_rc_index__ x WHERE x.ds = '2008-04-08' and x.hr = 11 ORDER BY key +POSTHOOK: query: SELECT x.* FROM default__srcpart_rc_srcpart_rc_index__ x WHERE x.ds = '2008-04-08' and x.hr = 11 POSTHOOK: type: QUERY POSTHOOK: Input: default@default__srcpart_rc_srcpart_rc_index__ POSTHOOK: Input: default@default__srcpart_rc_srcpart_rc_index__@ds=2008-04-08/hr=11 @@ -179,13 +183,13 @@ POSTHOOK: Lineage: srcpart_rc PARTITION(ds=2008-04-09,hr=11).key EXPRESSION [(sr POSTHOOK: Lineage: srcpart_rc PARTITION(ds=2008-04-09,hr=11).value SIMPLE [(srcpart)srcpart.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: srcpart_rc PARTITION(ds=2008-04-09,hr=12).key EXPRESSION [(srcpart)srcpart.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: srcpart_rc PARTITION(ds=2008-04-09,hr=12).value SIMPLE [(srcpart)srcpart.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: SELECT key, value FROM srcpart_rc WHERE key=100 AND ds = '2008-04-08' ORDER BY key +PREHOOK: query: SELECT key, value FROM srcpart_rc WHERE key=100 AND ds = '2008-04-08' PREHOOK: type: QUERY PREHOOK: Input: default@srcpart_rc PREHOOK: Input: default@srcpart_rc@ds=2008-04-08/hr=11 PREHOOK: Input: default@srcpart_rc@ds=2008-04-08/hr=12 #### A masked pattern was here #### -POSTHOOK: query: SELECT key, value FROM srcpart_rc WHERE key=100 AND ds = '2008-04-08' ORDER BY key +POSTHOOK: query: SELECT key, value FROM srcpart_rc WHERE key=100 AND ds = '2008-04-08' POSTHOOK: type: QUERY POSTHOOK: Input: default@srcpart_rc POSTHOOK: Input: default@srcpart_rc@ds=2008-04-08/hr=11 @@ -232,12 +236,12 @@ POSTHOOK: Lineage: srcpart_rc PARTITION(ds=2008-04-09,hr=11).key EXPRESSION [(sr POSTHOOK: Lineage: srcpart_rc PARTITION(ds=2008-04-09,hr=11).value SIMPLE [(srcpart)srcpart.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: srcpart_rc PARTITION(ds=2008-04-09,hr=12).key EXPRESSION [(srcpart)srcpart.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: srcpart_rc PARTITION(ds=2008-04-09,hr=12).value SIMPLE [(srcpart)srcpart.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: SELECT key, value FROM srcpart_rc WHERE key=100 AND ds = '2008-04-08' and hr = 11 ORDER BY key +PREHOOK: query: SELECT key, value FROM srcpart_rc WHERE key=100 AND ds = '2008-04-08' and hr = 11 PREHOOK: type: QUERY PREHOOK: Input: default@srcpart_rc PREHOOK: Input: default@srcpart_rc@ds=2008-04-08/hr=11 #### A masked pattern was here #### -POSTHOOK: query: SELECT key, value FROM srcpart_rc WHERE key=100 AND ds = '2008-04-08' and hr = 11 ORDER BY key +POSTHOOK: query: SELECT key, value FROM srcpart_rc WHERE key=100 AND ds = '2008-04-08' and hr = 11 POSTHOOK: type: QUERY POSTHOOK: Input: default@srcpart_rc POSTHOOK: Input: default@srcpart_rc@ds=2008-04-08/hr=11 @@ -256,12 +260,12 @@ POSTHOOK: Lineage: srcpart_rc PARTITION(ds=2008-04-09,hr=12).key EXPRESSION [(sr POSTHOOK: Lineage: srcpart_rc PARTITION(ds=2008-04-09,hr=12).value SIMPLE [(srcpart)srcpart.FieldSchema(name:value, type:string, comment:default), ] 100 val_100 100 val_100 -PREHOOK: query: SELECT key, value FROM srcpart_rc WHERE key=100 AND ds = '2008-04-08' and hr = 11 ORDER BY key +PREHOOK: query: SELECT key, value FROM srcpart_rc WHERE key=100 AND ds = '2008-04-08' and hr = 11 PREHOOK: type: QUERY PREHOOK: Input: default@srcpart_rc PREHOOK: Input: default@srcpart_rc@ds=2008-04-08/hr=11 #### A masked pattern was here #### -POSTHOOK: query: SELECT key, value FROM srcpart_rc WHERE key=100 AND ds = '2008-04-08' and hr = 11 ORDER BY key +POSTHOOK: query: SELECT key, value FROM srcpart_rc WHERE key=100 AND ds = '2008-04-08' and hr = 11 POSTHOOK: type: QUERY POSTHOOK: Input: default@srcpart_rc POSTHOOK: Input: default@srcpart_rc@ds=2008-04-08/hr=11 @@ -442,7 +446,7 @@ POSTHOOK: Lineage: srcpart_rc PARTITION(ds=2008-04-09,hr=11).key EXPRESSION [(sr POSTHOOK: Lineage: srcpart_rc PARTITION(ds=2008-04-09,hr=11).value SIMPLE [(srcpart)srcpart.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: srcpart_rc PARTITION(ds=2008-04-09,hr=12).key EXPRESSION [(srcpart)srcpart.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: srcpart_rc PARTITION(ds=2008-04-09,hr=12).value SIMPLE [(srcpart)srcpart.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: SELECT key, value FROM srcpart_rc WHERE key=100 ORDER BY key +PREHOOK: query: SELECT key, value FROM srcpart_rc WHERE key=100 PREHOOK: type: QUERY PREHOOK: Input: default@srcpart_rc PREHOOK: Input: default@srcpart_rc@ds=2008-04-08/hr=11 @@ -450,7 +454,7 @@ PREHOOK: Input: default@srcpart_rc@ds=2008-04-08/hr=12 PREHOOK: Input: default@srcpart_rc@ds=2008-04-09/hr=11 PREHOOK: Input: default@srcpart_rc@ds=2008-04-09/hr=12 #### A masked pattern was here #### -POSTHOOK: query: SELECT key, value FROM srcpart_rc WHERE key=100 ORDER BY key +POSTHOOK: query: SELECT key, value FROM srcpart_rc WHERE key=100 POSTHOOK: type: QUERY POSTHOOK: Input: default@srcpart_rc POSTHOOK: Input: default@srcpart_rc@ds=2008-04-08/hr=11 @@ -482,7 +486,7 @@ POSTHOOK: Lineage: srcpart_rc PARTITION(ds=2008-04-09,hr=12).value SIMPLE [(srcp 100 val_100 100 val_100 100 val_100 -PREHOOK: query: SELECT key, value FROM srcpart_rc WHERE key=100 ORDER BY key +PREHOOK: query: SELECT key, value FROM srcpart_rc WHERE key=100 PREHOOK: type: QUERY PREHOOK: Input: default@srcpart_rc PREHOOK: Input: default@srcpart_rc@ds=2008-04-08/hr=11 @@ -490,7 +494,7 @@ PREHOOK: Input: default@srcpart_rc@ds=2008-04-08/hr=12 PREHOOK: Input: default@srcpart_rc@ds=2008-04-09/hr=11 PREHOOK: Input: default@srcpart_rc@ds=2008-04-09/hr=12 #### A masked pattern was here #### -POSTHOOK: query: SELECT key, value FROM srcpart_rc WHERE key=100 ORDER BY key +POSTHOOK: query: SELECT key, value FROM srcpart_rc WHERE key=100 POSTHOOK: type: QUERY POSTHOOK: Input: default@srcpart_rc POSTHOOK: Input: default@srcpart_rc@ds=2008-04-08/hr=11 diff --git ql/src/test/results/clientpositive/index_compact.q.out ql/src/test/results/clientpositive/index_compact.q.out index e30fa7f..762edac 100644 --- ql/src/test/results/clientpositive/index_compact.q.out +++ ql/src/test/results/clientpositive/index_compact.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: DROP INDEX srcpart_index_proj on srcpart +PREHOOK: query: -- SORT_QUERY_RESULTS + +DROP INDEX srcpart_index_proj on srcpart PREHOOK: type: DROPINDEX -POSTHOOK: query: DROP INDEX srcpart_index_proj on srcpart +POSTHOOK: query: -- SORT_QUERY_RESULTS + +DROP INDEX srcpart_index_proj on srcpart POSTHOOK: type: DROPINDEX PREHOOK: query: EXPLAIN CREATE INDEX srcpart_index_proj ON TABLE srcpart(key) as 'COMPACT' WITH DEFERRED REBUILD @@ -44,12 +48,12 @@ POSTHOOK: Output: default@default__srcpart_srcpart_index_proj__@ds=2008-04-09/hr POSTHOOK: Lineage: default__srcpart_srcpart_index_proj__ PARTITION(ds=2008-04-09,hr=12)._bucketname SIMPLE [(srcpart)srcpart.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] POSTHOOK: Lineage: default__srcpart_srcpart_index_proj__ PARTITION(ds=2008-04-09,hr=12)._offsets EXPRESSION [(srcpart)srcpart.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] POSTHOOK: Lineage: default__srcpart_srcpart_index_proj__ PARTITION(ds=2008-04-09,hr=12).key SIMPLE [(srcpart)srcpart.FieldSchema(name:key, type:string, comment:default), ] -PREHOOK: query: SELECT x.* FROM default__srcpart_srcpart_index_proj__ x WHERE x.ds = '2008-04-08' and x.hr = 11 ORDER BY key +PREHOOK: query: SELECT x.* FROM default__srcpart_srcpart_index_proj__ x WHERE x.ds = '2008-04-08' and x.hr = 11 PREHOOK: type: QUERY PREHOOK: Input: default@default__srcpart_srcpart_index_proj__ PREHOOK: Input: default@default__srcpart_srcpart_index_proj__@ds=2008-04-08/hr=11 #### A masked pattern was here #### -POSTHOOK: query: SELECT x.* FROM default__srcpart_srcpart_index_proj__ x WHERE x.ds = '2008-04-08' and x.hr = 11 ORDER BY key +POSTHOOK: query: SELECT x.* FROM default__srcpart_srcpart_index_proj__ x WHERE x.ds = '2008-04-08' and x.hr = 11 POSTHOOK: type: QUERY POSTHOOK: Input: default@default__srcpart_srcpart_index_proj__ POSTHOOK: Input: default@default__srcpart_srcpart_index_proj__@ds=2008-04-08/hr=11 @@ -71,13 +75,13 @@ POSTHOOK: Input: default@default__srcpart_srcpart_index_proj__@ds=2008-04-08/hr= POSTHOOK: Lineage: default__srcpart_srcpart_index_proj__ PARTITION(ds=2008-04-09,hr=12)._bucketname SIMPLE [(srcpart)srcpart.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] POSTHOOK: Lineage: default__srcpart_srcpart_index_proj__ PARTITION(ds=2008-04-09,hr=12)._offsets EXPRESSION [(srcpart)srcpart.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] POSTHOOK: Lineage: default__srcpart_srcpart_index_proj__ PARTITION(ds=2008-04-09,hr=12).key SIMPLE [(srcpart)srcpart.FieldSchema(name:key, type:string, comment:default), ] -PREHOOK: query: SELECT key, value FROM srcpart WHERE key=100 AND ds = '2008-04-08' ORDER BY key +PREHOOK: query: SELECT key, value FROM srcpart WHERE key=100 AND ds = '2008-04-08' PREHOOK: type: QUERY PREHOOK: Input: default@srcpart PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 #### A masked pattern was here #### -POSTHOOK: query: SELECT key, value FROM srcpart WHERE key=100 AND ds = '2008-04-08' ORDER BY key +POSTHOOK: query: SELECT key, value FROM srcpart WHERE key=100 AND ds = '2008-04-08' POSTHOOK: type: QUERY POSTHOOK: Input: default@srcpart POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 @@ -102,12 +106,12 @@ POSTHOOK: Input: default@default__srcpart_srcpart_index_proj__@ds=2008-04-08/hr= POSTHOOK: Lineage: default__srcpart_srcpart_index_proj__ PARTITION(ds=2008-04-09,hr=12)._bucketname SIMPLE [(srcpart)srcpart.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] POSTHOOK: Lineage: default__srcpart_srcpart_index_proj__ PARTITION(ds=2008-04-09,hr=12)._offsets EXPRESSION [(srcpart)srcpart.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] POSTHOOK: Lineage: default__srcpart_srcpart_index_proj__ PARTITION(ds=2008-04-09,hr=12).key SIMPLE [(srcpart)srcpart.FieldSchema(name:key, type:string, comment:default), ] -PREHOOK: query: SELECT key, value FROM srcpart WHERE key=100 AND ds = '2008-04-08' and hr = 11 ORDER BY key +PREHOOK: query: SELECT key, value FROM srcpart WHERE key=100 AND ds = '2008-04-08' and hr = 11 PREHOOK: type: QUERY PREHOOK: Input: default@srcpart PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 #### A masked pattern was here #### -POSTHOOK: query: SELECT key, value FROM srcpart WHERE key=100 AND ds = '2008-04-08' and hr = 11 ORDER BY key +POSTHOOK: query: SELECT key, value FROM srcpart WHERE key=100 AND ds = '2008-04-08' and hr = 11 POSTHOOK: type: QUERY POSTHOOK: Input: default@srcpart POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 @@ -117,12 +121,12 @@ POSTHOOK: Lineage: default__srcpart_srcpart_index_proj__ PARTITION(ds=2008-04-09 POSTHOOK: Lineage: default__srcpart_srcpart_index_proj__ PARTITION(ds=2008-04-09,hr=12).key SIMPLE [(srcpart)srcpart.FieldSchema(name:key, type:string, comment:default), ] 100 val_100 100 val_100 -PREHOOK: query: SELECT key, value FROM srcpart WHERE key=100 AND ds = '2008-04-08' and hr = 11 ORDER BY key +PREHOOK: query: SELECT key, value FROM srcpart WHERE key=100 AND ds = '2008-04-08' and hr = 11 PREHOOK: type: QUERY PREHOOK: Input: default@srcpart PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 #### A masked pattern was here #### -POSTHOOK: query: SELECT key, value FROM srcpart WHERE key=100 AND ds = '2008-04-08' and hr = 11 ORDER BY key +POSTHOOK: query: SELECT key, value FROM srcpart WHERE key=100 AND ds = '2008-04-08' and hr = 11 POSTHOOK: type: QUERY POSTHOOK: Input: default@srcpart POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 @@ -233,7 +237,7 @@ POSTHOOK: Lineage: default__srcpart_srcpart_index_proj__ PARTITION(ds=2008-04-09 POSTHOOK: Lineage: default__srcpart_srcpart_index_proj__ PARTITION(ds=2008-04-09,hr=12)._bucketname SIMPLE [(srcpart)srcpart.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] POSTHOOK: Lineage: default__srcpart_srcpart_index_proj__ PARTITION(ds=2008-04-09,hr=12)._offsets EXPRESSION [(srcpart)srcpart.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] POSTHOOK: Lineage: default__srcpart_srcpart_index_proj__ PARTITION(ds=2008-04-09,hr=12).key SIMPLE [(srcpart)srcpart.FieldSchema(name:key, type:string, comment:default), ] -PREHOOK: query: SELECT key, value FROM srcpart WHERE key=100 ORDER BY key +PREHOOK: query: SELECT key, value FROM srcpart WHERE key=100 PREHOOK: type: QUERY PREHOOK: Input: default@srcpart PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 @@ -241,7 +245,7 @@ PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=11 PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=12 #### A masked pattern was here #### -POSTHOOK: query: SELECT key, value FROM srcpart WHERE key=100 ORDER BY key +POSTHOOK: query: SELECT key, value FROM srcpart WHERE key=100 POSTHOOK: type: QUERY POSTHOOK: Input: default@srcpart POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 @@ -263,7 +267,7 @@ POSTHOOK: Lineage: default__srcpart_srcpart_index_proj__ PARTITION(ds=2008-04-09 100 val_100 100 val_100 100 val_100 -PREHOOK: query: SELECT key, value FROM srcpart WHERE key=100 ORDER BY key +PREHOOK: query: SELECT key, value FROM srcpart WHERE key=100 PREHOOK: type: QUERY PREHOOK: Input: default@srcpart PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 @@ -271,7 +275,7 @@ PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=11 PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=12 #### A masked pattern was here #### -POSTHOOK: query: SELECT key, value FROM srcpart WHERE key=100 ORDER BY key +POSTHOOK: query: SELECT key, value FROM srcpart WHERE key=100 POSTHOOK: type: QUERY POSTHOOK: Input: default@srcpart POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 diff --git ql/src/test/results/clientpositive/index_compact_1.q.out ql/src/test/results/clientpositive/index_compact_1.q.out index a92eefa..0d097d9 100644 --- ql/src/test/results/clientpositive/index_compact_1.q.out +++ ql/src/test/results/clientpositive/index_compact_1.q.out @@ -1,7 +1,11 @@ -PREHOOK: query: EXPLAIN +PREHOOK: query: -- SORT_QUERY_RESULTS + +EXPLAIN CREATE INDEX src_index ON TABLE src(key) as 'COMPACT' WITH DEFERRED REBUILD PREHOOK: type: CREATEINDEX -POSTHOOK: query: EXPLAIN +POSTHOOK: query: -- SORT_QUERY_RESULTS + +EXPLAIN CREATE INDEX src_index ON TABLE src(key) as 'COMPACT' WITH DEFERRED REBUILD POSTHOOK: type: CREATEINDEX STAGE DEPENDENCIES: @@ -26,11 +30,11 @@ POSTHOOK: Output: default@default__src_src_index__ POSTHOOK: Lineage: default__src_src_index__._bucketname SIMPLE [(src)src.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] POSTHOOK: Lineage: default__src_src_index__._offsets EXPRESSION [(src)src.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] POSTHOOK: Lineage: default__src_src_index__.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] -PREHOOK: query: SELECT x.* FROM default__src_src_index__ x ORDER BY key +PREHOOK: query: SELECT x.* FROM default__src_src_index__ x PREHOOK: type: QUERY PREHOOK: Input: default@default__src_src_index__ #### A masked pattern was here #### -POSTHOOK: query: SELECT x.* FROM default__src_src_index__ x ORDER BY key +POSTHOOK: query: SELECT x.* FROM default__src_src_index__ x POSTHOOK: type: QUERY POSTHOOK: Input: default@default__src_src_index__ #### A masked pattern was here #### @@ -47,11 +51,11 @@ POSTHOOK: Input: default@default__src_src_index__ POSTHOOK: Lineage: default__src_src_index__._bucketname SIMPLE [(src)src.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] POSTHOOK: Lineage: default__src_src_index__._offsets EXPRESSION [(src)src.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] POSTHOOK: Lineage: default__src_src_index__.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] -PREHOOK: query: SELECT key, value FROM src WHERE key=100 ORDER BY key +PREHOOK: query: SELECT key, value FROM src WHERE key=100 PREHOOK: type: QUERY PREHOOK: Input: default@src #### A masked pattern was here #### -POSTHOOK: query: SELECT key, value FROM src WHERE key=100 ORDER BY key +POSTHOOK: query: SELECT key, value FROM src WHERE key=100 POSTHOOK: type: QUERY POSTHOOK: Input: default@src #### A masked pattern was here #### @@ -60,11 +64,11 @@ POSTHOOK: Lineage: default__src_src_index__._offsets EXPRESSION [(src)src.FieldS POSTHOOK: Lineage: default__src_src_index__.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] 100 val_100 100 val_100 -PREHOOK: query: SELECT key, value FROM src WHERE key=100 ORDER BY key +PREHOOK: query: SELECT key, value FROM src WHERE key=100 PREHOOK: type: QUERY PREHOOK: Input: default@src #### A masked pattern was here #### -POSTHOOK: query: SELECT key, value FROM src WHERE key=100 ORDER BY key +POSTHOOK: query: SELECT key, value FROM src WHERE key=100 POSTHOOK: type: QUERY POSTHOOK: Input: default@src #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/index_compact_2.q.out ql/src/test/results/clientpositive/index_compact_2.q.out index 6cde30d..1079e93 100644 --- ql/src/test/results/clientpositive/index_compact_2.q.out +++ ql/src/test/results/clientpositive/index_compact_2.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: CREATE TABLE srcpart_rc (key int, value string) PARTITIONED BY (ds string, hr int) STORED AS RCFILE +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE srcpart_rc (key int, value string) PARTITIONED BY (ds string, hr int) STORED AS RCFILE PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE srcpart_rc (key int, value string) PARTITIONED BY (ds string, hr int) STORED AS RCFILE +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE srcpart_rc (key int, value string) PARTITIONED BY (ds string, hr int) STORED AS RCFILE POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@srcpart_rc PREHOOK: query: INSERT OVERWRITE TABLE srcpart_rc PARTITION (ds='2008-04-08', hr=11) SELECT key, value FROM srcpart WHERE ds = '2008-04-08' AND hr = 11 @@ -109,12 +113,12 @@ POSTHOOK: Lineage: srcpart_rc PARTITION(ds=2008-04-09,hr=11).key EXPRESSION [(sr POSTHOOK: Lineage: srcpart_rc PARTITION(ds=2008-04-09,hr=11).value SIMPLE [(srcpart)srcpart.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: srcpart_rc PARTITION(ds=2008-04-09,hr=12).key EXPRESSION [(srcpart)srcpart.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: srcpart_rc PARTITION(ds=2008-04-09,hr=12).value SIMPLE [(srcpart)srcpart.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: SELECT x.* FROM default__srcpart_rc_srcpart_rc_index__ x WHERE x.ds = '2008-04-08' and x.hr = 11 ORDER BY key +PREHOOK: query: SELECT x.* FROM default__srcpart_rc_srcpart_rc_index__ x WHERE x.ds = '2008-04-08' and x.hr = 11 PREHOOK: type: QUERY PREHOOK: Input: default@default__srcpart_rc_srcpart_rc_index__ PREHOOK: Input: default@default__srcpart_rc_srcpart_rc_index__@ds=2008-04-08/hr=11 #### A masked pattern was here #### -POSTHOOK: query: SELECT x.* FROM default__srcpart_rc_srcpart_rc_index__ x WHERE x.ds = '2008-04-08' and x.hr = 11 ORDER BY key +POSTHOOK: query: SELECT x.* FROM default__srcpart_rc_srcpart_rc_index__ x WHERE x.ds = '2008-04-08' and x.hr = 11 POSTHOOK: type: QUERY POSTHOOK: Input: default@default__srcpart_rc_srcpart_rc_index__ POSTHOOK: Input: default@default__srcpart_rc_srcpart_rc_index__@ds=2008-04-08/hr=11 @@ -152,13 +156,13 @@ POSTHOOK: Lineage: srcpart_rc PARTITION(ds=2008-04-09,hr=11).key EXPRESSION [(sr POSTHOOK: Lineage: srcpart_rc PARTITION(ds=2008-04-09,hr=11).value SIMPLE [(srcpart)srcpart.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: srcpart_rc PARTITION(ds=2008-04-09,hr=12).key EXPRESSION [(srcpart)srcpart.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: srcpart_rc PARTITION(ds=2008-04-09,hr=12).value SIMPLE [(srcpart)srcpart.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: SELECT key, value FROM srcpart_rc WHERE key=100 AND ds = '2008-04-08' ORDER BY key +PREHOOK: query: SELECT key, value FROM srcpart_rc WHERE key=100 AND ds = '2008-04-08' PREHOOK: type: QUERY PREHOOK: Input: default@srcpart_rc PREHOOK: Input: default@srcpart_rc@ds=2008-04-08/hr=11 PREHOOK: Input: default@srcpart_rc@ds=2008-04-08/hr=12 #### A masked pattern was here #### -POSTHOOK: query: SELECT key, value FROM srcpart_rc WHERE key=100 AND ds = '2008-04-08' ORDER BY key +POSTHOOK: query: SELECT key, value FROM srcpart_rc WHERE key=100 AND ds = '2008-04-08' POSTHOOK: type: QUERY POSTHOOK: Input: default@srcpart_rc POSTHOOK: Input: default@srcpart_rc@ds=2008-04-08/hr=11 @@ -199,12 +203,12 @@ POSTHOOK: Lineage: srcpart_rc PARTITION(ds=2008-04-09,hr=11).key EXPRESSION [(sr POSTHOOK: Lineage: srcpart_rc PARTITION(ds=2008-04-09,hr=11).value SIMPLE [(srcpart)srcpart.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: srcpart_rc PARTITION(ds=2008-04-09,hr=12).key EXPRESSION [(srcpart)srcpart.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: srcpart_rc PARTITION(ds=2008-04-09,hr=12).value SIMPLE [(srcpart)srcpart.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: SELECT key, value FROM srcpart_rc WHERE key=100 AND ds = '2008-04-08' and hr = 11 ORDER BY key +PREHOOK: query: SELECT key, value FROM srcpart_rc WHERE key=100 AND ds = '2008-04-08' and hr = 11 PREHOOK: type: QUERY PREHOOK: Input: default@srcpart_rc PREHOOK: Input: default@srcpart_rc@ds=2008-04-08/hr=11 #### A masked pattern was here #### -POSTHOOK: query: SELECT key, value FROM srcpart_rc WHERE key=100 AND ds = '2008-04-08' and hr = 11 ORDER BY key +POSTHOOK: query: SELECT key, value FROM srcpart_rc WHERE key=100 AND ds = '2008-04-08' and hr = 11 POSTHOOK: type: QUERY POSTHOOK: Input: default@srcpart_rc POSTHOOK: Input: default@srcpart_rc@ds=2008-04-08/hr=11 @@ -222,12 +226,12 @@ POSTHOOK: Lineage: srcpart_rc PARTITION(ds=2008-04-09,hr=12).key EXPRESSION [(sr POSTHOOK: Lineage: srcpart_rc PARTITION(ds=2008-04-09,hr=12).value SIMPLE [(srcpart)srcpart.FieldSchema(name:value, type:string, comment:default), ] 100 val_100 100 val_100 -PREHOOK: query: SELECT key, value FROM srcpart_rc WHERE key=100 AND ds = '2008-04-08' and hr = 11 ORDER BY key +PREHOOK: query: SELECT key, value FROM srcpart_rc WHERE key=100 AND ds = '2008-04-08' and hr = 11 PREHOOK: type: QUERY PREHOOK: Input: default@srcpart_rc PREHOOK: Input: default@srcpart_rc@ds=2008-04-08/hr=11 #### A masked pattern was here #### -POSTHOOK: query: SELECT key, value FROM srcpart_rc WHERE key=100 AND ds = '2008-04-08' and hr = 11 ORDER BY key +POSTHOOK: query: SELECT key, value FROM srcpart_rc WHERE key=100 AND ds = '2008-04-08' and hr = 11 POSTHOOK: type: QUERY POSTHOOK: Input: default@srcpart_rc POSTHOOK: Input: default@srcpart_rc@ds=2008-04-08/hr=11 @@ -335,7 +339,7 @@ POSTHOOK: Lineage: srcpart_rc PARTITION(ds=2008-04-09,hr=11).key EXPRESSION [(sr POSTHOOK: Lineage: srcpart_rc PARTITION(ds=2008-04-09,hr=11).value SIMPLE [(srcpart)srcpart.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: srcpart_rc PARTITION(ds=2008-04-09,hr=12).key EXPRESSION [(srcpart)srcpart.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: srcpart_rc PARTITION(ds=2008-04-09,hr=12).value SIMPLE [(srcpart)srcpart.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: SELECT x.* FROM default__srcpart_rc_srcpart_rc_index__ x ORDER BY key +PREHOOK: query: SELECT x.* FROM default__srcpart_rc_srcpart_rc_index__ x PREHOOK: type: QUERY PREHOOK: Input: default@default__srcpart_rc_srcpart_rc_index__ PREHOOK: Input: default@default__srcpart_rc_srcpart_rc_index__@ds=2008-04-08/hr=11 @@ -343,7 +347,7 @@ PREHOOK: Input: default@default__srcpart_rc_srcpart_rc_index__@ds=2008-04-08/hr= PREHOOK: Input: default@default__srcpart_rc_srcpart_rc_index__@ds=2008-04-09/hr=11 PREHOOK: Input: default@default__srcpart_rc_srcpart_rc_index__@ds=2008-04-09/hr=12 #### A masked pattern was here #### -POSTHOOK: query: SELECT x.* FROM default__srcpart_rc_srcpart_rc_index__ x ORDER BY key +POSTHOOK: query: SELECT x.* FROM default__srcpart_rc_srcpart_rc_index__ x POSTHOOK: type: QUERY POSTHOOK: Input: default@default__srcpart_rc_srcpart_rc_index__ POSTHOOK: Input: default@default__srcpart_rc_srcpart_rc_index__@ds=2008-04-08/hr=11 @@ -394,7 +398,7 @@ POSTHOOK: Lineage: srcpart_rc PARTITION(ds=2008-04-09,hr=11).key EXPRESSION [(sr POSTHOOK: Lineage: srcpart_rc PARTITION(ds=2008-04-09,hr=11).value SIMPLE [(srcpart)srcpart.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: srcpart_rc PARTITION(ds=2008-04-09,hr=12).key EXPRESSION [(srcpart)srcpart.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: srcpart_rc PARTITION(ds=2008-04-09,hr=12).value SIMPLE [(srcpart)srcpart.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: SELECT key, value FROM srcpart_rc WHERE key=100 ORDER BY key +PREHOOK: query: SELECT key, value FROM srcpart_rc WHERE key=100 PREHOOK: type: QUERY PREHOOK: Input: default@srcpart_rc PREHOOK: Input: default@srcpart_rc@ds=2008-04-08/hr=11 @@ -402,7 +406,7 @@ PREHOOK: Input: default@srcpart_rc@ds=2008-04-08/hr=12 PREHOOK: Input: default@srcpart_rc@ds=2008-04-09/hr=11 PREHOOK: Input: default@srcpart_rc@ds=2008-04-09/hr=12 #### A masked pattern was here #### -POSTHOOK: query: SELECT key, value FROM srcpart_rc WHERE key=100 ORDER BY key +POSTHOOK: query: SELECT key, value FROM srcpart_rc WHERE key=100 POSTHOOK: type: QUERY POSTHOOK: Input: default@srcpart_rc POSTHOOK: Input: default@srcpart_rc@ds=2008-04-08/hr=11 @@ -432,7 +436,7 @@ POSTHOOK: Lineage: srcpart_rc PARTITION(ds=2008-04-09,hr=12).value SIMPLE [(srcp 100 val_100 100 val_100 100 val_100 -PREHOOK: query: SELECT key, value FROM srcpart_rc WHERE key=100 ORDER BY key +PREHOOK: query: SELECT key, value FROM srcpart_rc WHERE key=100 PREHOOK: type: QUERY PREHOOK: Input: default@srcpart_rc PREHOOK: Input: default@srcpart_rc@ds=2008-04-08/hr=11 @@ -440,7 +444,7 @@ PREHOOK: Input: default@srcpart_rc@ds=2008-04-08/hr=12 PREHOOK: Input: default@srcpart_rc@ds=2008-04-09/hr=11 PREHOOK: Input: default@srcpart_rc@ds=2008-04-09/hr=12 #### A masked pattern was here #### -POSTHOOK: query: SELECT key, value FROM srcpart_rc WHERE key=100 ORDER BY key +POSTHOOK: query: SELECT key, value FROM srcpart_rc WHERE key=100 POSTHOOK: type: QUERY POSTHOOK: Input: default@srcpart_rc POSTHOOK: Input: default@srcpart_rc@ds=2008-04-08/hr=11 diff --git ql/src/test/results/clientpositive/index_compact_3.q.out ql/src/test/results/clientpositive/index_compact_3.q.out index 55457ce..f0013b7 100644 --- ql/src/test/results/clientpositive/index_compact_3.q.out +++ ql/src/test/results/clientpositive/index_compact_3.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: CREATE TABLE src_index_test_rc (key int, value string) STORED AS RCFILE +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE src_index_test_rc (key int, value string) STORED AS RCFILE PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE src_index_test_rc (key int, value string) STORED AS RCFILE +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE src_index_test_rc (key int, value string) STORED AS RCFILE POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@src_index_test_rc PREHOOK: query: INSERT OVERWRITE TABLE src_index_test_rc SELECT * FROM src @@ -33,11 +37,11 @@ POSTHOOK: Lineage: default__src_index_test_rc_src_index__._offsets EXPRESSION [( POSTHOOK: Lineage: default__src_index_test_rc_src_index__.key SIMPLE [(src_index_test_rc)src_index_test_rc.FieldSchema(name:key, type:int, comment:null), ] POSTHOOK: Lineage: src_index_test_rc.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: src_index_test_rc.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: SELECT x.* FROM default__src_index_test_rc_src_index__ x ORDER BY key +PREHOOK: query: SELECT x.* FROM default__src_index_test_rc_src_index__ x PREHOOK: type: QUERY PREHOOK: Input: default@default__src_index_test_rc_src_index__ #### A masked pattern was here #### -POSTHOOK: query: SELECT x.* FROM default__src_index_test_rc_src_index__ x ORDER BY key +POSTHOOK: query: SELECT x.* FROM default__src_index_test_rc_src_index__ x POSTHOOK: type: QUERY POSTHOOK: Input: default@default__src_index_test_rc_src_index__ #### A masked pattern was here #### @@ -58,11 +62,11 @@ POSTHOOK: Lineage: default__src_index_test_rc_src_index__._offsets EXPRESSION [( POSTHOOK: Lineage: default__src_index_test_rc_src_index__.key SIMPLE [(src_index_test_rc)src_index_test_rc.FieldSchema(name:key, type:int, comment:null), ] POSTHOOK: Lineage: src_index_test_rc.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: src_index_test_rc.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: SELECT key, value FROM src_index_test_rc WHERE key=100 ORDER BY key +PREHOOK: query: SELECT key, value FROM src_index_test_rc WHERE key=100 PREHOOK: type: QUERY PREHOOK: Input: default@src_index_test_rc #### A masked pattern was here #### -POSTHOOK: query: SELECT key, value FROM src_index_test_rc WHERE key=100 ORDER BY key +POSTHOOK: query: SELECT key, value FROM src_index_test_rc WHERE key=100 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_index_test_rc #### A masked pattern was here #### @@ -73,11 +77,11 @@ POSTHOOK: Lineage: src_index_test_rc.key EXPRESSION [(src)src.FieldSchema(name:k POSTHOOK: Lineage: src_index_test_rc.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] 100 val_100 100 val_100 -PREHOOK: query: SELECT key, value FROM src_index_test_rc WHERE key=100 ORDER BY key +PREHOOK: query: SELECT key, value FROM src_index_test_rc WHERE key=100 PREHOOK: type: QUERY PREHOOK: Input: default@src_index_test_rc #### A masked pattern was here #### -POSTHOOK: query: SELECT key, value FROM src_index_test_rc WHERE key=100 ORDER BY key +POSTHOOK: query: SELECT key, value FROM src_index_test_rc WHERE key=100 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_index_test_rc #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/index_compression.q.out ql/src/test/results/clientpositive/index_compression.q.out index dfb2045..ce69015 100644 --- ql/src/test/results/clientpositive/index_compression.q.out +++ ql/src/test/results/clientpositive/index_compression.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: CREATE INDEX src_index ON TABLE src(key) as 'COMPACT' WITH DEFERRED REBUILD +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE INDEX src_index ON TABLE src(key) as 'COMPACT' WITH DEFERRED REBUILD PREHOOK: type: CREATEINDEX -POSTHOOK: query: CREATE INDEX src_index ON TABLE src(key) as 'COMPACT' WITH DEFERRED REBUILD +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE INDEX src_index ON TABLE src(key) as 'COMPACT' WITH DEFERRED REBUILD POSTHOOK: type: CREATEINDEX POSTHOOK: Output: default@default__src_src_index__ PREHOOK: query: ALTER INDEX src_index ON src REBUILD @@ -15,10 +19,10 @@ POSTHOOK: Lineage: default__src_src_index__._bucketname SIMPLE [(src)src.FieldSc POSTHOOK: Lineage: default__src_src_index__._offsets EXPRESSION [(src)src.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] POSTHOOK: Lineage: default__src_src_index__.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] PREHOOK: query: -- automatic indexing -EXPLAIN SELECT key, value FROM src WHERE key > 80 AND key < 100 ORDER BY key +EXPLAIN SELECT key, value FROM src WHERE key > 80 AND key < 100 PREHOOK: type: QUERY POSTHOOK: query: -- automatic indexing -EXPLAIN SELECT key, value FROM src WHERE key > 80 AND key < 100 ORDER BY key +EXPLAIN SELECT key, value FROM src WHERE key > 80 AND key < 100 POSTHOOK: type: QUERY POSTHOOK: Lineage: default__src_src_index__._bucketname SIMPLE [(src)src.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] POSTHOOK: Lineage: default__src_src_index__._offsets EXPRESSION [(src)src.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] @@ -82,21 +86,13 @@ STAGE PLANS: expressions: key (type: string), value (type: string) outputColumnNames: _col0, _col1 Statistics: Num rows: 3 Data size: 601 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + + File Output Operator + compressed: false Statistics: Num rows: 3 Data size: 601 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 3 Data size: 601 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 3 Data size: 601 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-4 Map Reduce @@ -130,12 +126,12 @@ STAGE PLANS: Fetch Operator limit: -1 -PREHOOK: query: SELECT key, value FROM src WHERE key > 80 AND key < 100 ORDER BY key +PREHOOK: query: SELECT key, value FROM src WHERE key > 80 AND key < 100 PREHOOK: type: QUERY PREHOOK: Input: default@default__src_src_index__ PREHOOK: Input: default@src #### A masked pattern was here #### -POSTHOOK: query: SELECT key, value FROM src WHERE key > 80 AND key < 100 ORDER BY key +POSTHOOK: query: SELECT key, value FROM src WHERE key > 80 AND key < 100 POSTHOOK: type: QUERY POSTHOOK: Input: default@default__src_src_index__ POSTHOOK: Input: default@src diff --git ql/src/test/results/clientpositive/index_serde.q.out ql/src/test/results/clientpositive/index_serde.q.out index 75cca00..96c9b39 100644 --- ql/src/test/results/clientpositive/index_serde.q.out +++ ql/src/test/results/clientpositive/index_serde.q.out @@ -1,4 +1,5 @@ -PREHOOK: query: -- Want to ensure we can build and use indices on tables stored with SerDes +PREHOOK: query: -- SORT_QUERY_RESULTS +-- Want to ensure we can build and use indices on tables stored with SerDes -- Build the (Avro backed) table CREATE TABLE doctors ROW FORMAT @@ -29,7 +30,8 @@ TBLPROPERTIES ('avro.schema.literal'='{ ] }') PREHOOK: type: CREATETABLE -POSTHOOK: query: -- Want to ensure we can build and use indices on tables stored with SerDes +POSTHOOK: query: -- SORT_QUERY_RESULTS +-- Want to ensure we can build and use indices on tables stored with SerDes -- Build the (Avro backed) table CREATE TABLE doctors ROW FORMAT @@ -101,9 +103,9 @@ POSTHOOK: Output: default@default__doctors_doctors_index__ POSTHOOK: Lineage: default__doctors_doctors_index__._bucketname SIMPLE [(doctors)doctors.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] POSTHOOK: Lineage: default__doctors_doctors_index__._offsets EXPRESSION [(doctors)doctors.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] POSTHOOK: Lineage: default__doctors_doctors_index__.number SIMPLE [(doctors)doctors.FieldSchema(name:number, type:int, comment:from deserializer), ] -PREHOOK: query: EXPLAIN SELECT * FROM doctors WHERE number > 6 ORDER BY number +PREHOOK: query: EXPLAIN SELECT * FROM doctors WHERE number > 6 PREHOOK: type: QUERY -POSTHOOK: query: EXPLAIN SELECT * FROM doctors WHERE number > 6 ORDER BY number +POSTHOOK: query: EXPLAIN SELECT * FROM doctors WHERE number > 6 POSTHOOK: type: QUERY POSTHOOK: Lineage: default__doctors_doctors_index__._bucketname SIMPLE [(doctors)doctors.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] POSTHOOK: Lineage: default__doctors_doctors_index__._offsets EXPRESSION [(doctors)doctors.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] @@ -167,21 +169,13 @@ STAGE PLANS: expressions: number (type: int), first_name (type: string), last_name (type: string) outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: int) - sort order: + + File Output Operator + compressed: false Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - value expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-4 Map Reduce @@ -215,12 +209,12 @@ STAGE PLANS: Fetch Operator limit: -1 -PREHOOK: query: SELECT * FROM doctors WHERE number > 6 ORDER BY number +PREHOOK: query: SELECT * FROM doctors WHERE number > 6 PREHOOK: type: QUERY PREHOOK: Input: default@default__doctors_doctors_index__ PREHOOK: Input: default@doctors #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM doctors WHERE number > 6 ORDER BY number +POSTHOOK: query: SELECT * FROM doctors WHERE number > 6 POSTHOOK: type: QUERY POSTHOOK: Input: default@default__doctors_doctors_index__ POSTHOOK: Input: default@doctors @@ -228,11 +222,11 @@ POSTHOOK: Input: default@doctors POSTHOOK: Lineage: default__doctors_doctors_index__._bucketname SIMPLE [(doctors)doctors.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] POSTHOOK: Lineage: default__doctors_doctors_index__._offsets EXPRESSION [(doctors)doctors.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ] POSTHOOK: Lineage: default__doctors_doctors_index__.number SIMPLE [(doctors)doctors.FieldSchema(name:number, type:int, comment:from deserializer), ] +10 David Tennant +11 Matt Smith 7 Sylvester McCoy 8 Paul McGann 9 Christopher Eccleston -10 David Tennant -11 Matt Smith PREHOOK: query: DROP INDEX doctors_index ON doctors PREHOOK: type: DROPINDEX POSTHOOK: query: DROP INDEX doctors_index ON doctors diff --git ql/src/test/results/clientpositive/innerjoin.q.out ql/src/test/results/clientpositive/innerjoin.q.out index 3cd4a15..95fd2a0 100644 --- ql/src/test/results/clientpositive/innerjoin.q.out +++ ql/src/test/results/clientpositive/innerjoin.q.out @@ -1,21 +1,24 @@ -PREHOOK: query: CREATE TABLE dest_j1(key INT, value STRING) STORED AS TEXTFILE +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE dest_j1(key INT, value STRING) STORED AS TEXTFILE PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE dest_j1(key INT, value STRING) STORED AS TEXTFILE +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE dest_j1(key INT, value STRING) STORED AS TEXTFILE POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@dest_j1 PREHOOK: query: EXPLAIN FROM src src1 INNER JOIN src src2 ON (src1.key = src2.key) -INSERT OVERWRITE TABLE dest_j1 SELECT src1.key, src2.value ORDER BY src1.key, src2.value +INSERT OVERWRITE TABLE dest_j1 SELECT src1.key, src2.value PREHOOK: type: QUERY POSTHOOK: query: EXPLAIN FROM src src1 INNER JOIN src src2 ON (src1.key = src2.key) -INSERT OVERWRITE TABLE dest_j1 SELECT src1.key, src2.value ORDER BY src1.key, src2.value +INSERT OVERWRITE TABLE dest_j1 SELECT src1.key, src2.value POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-2 depends on stages: Stage-1 - Stage-0 depends on stages: Stage-2 - Stage-3 depends on stages: Stage-0 + Stage-0 depends on stages: Stage-1 + Stage-2 depends on stages: Stage-0 STAGE PLANS: Stage: Stage-1 @@ -49,30 +52,7 @@ STAGE PLANS: outputColumnNames: _col0, _col5 Statistics: Num rows: 63 Data size: 6393 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col0 (type: string), _col5 (type: string) - outputColumnNames: _col0, _col1 - Statistics: Num rows: 63 Data size: 6393 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - - Stage: Stage-2 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: string) - sort order: ++ - Statistics: Num rows: 63 Data size: 6393 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string) - Reduce Operator Tree: - Extract - Statistics: Num rows: 63 Data size: 6393 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: UDFToInteger(_col0) (type: int), _col1 (type: string) + expressions: UDFToInteger(_col0) (type: int), _col5 (type: string) outputColumnNames: _col0, _col1 Statistics: Num rows: 63 Data size: 6393 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -94,16 +74,16 @@ STAGE PLANS: serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe name: default.dest_j1 - Stage: Stage-3 + Stage: Stage-2 Stats-Aggr Operator PREHOOK: query: FROM src src1 INNER JOIN src src2 ON (src1.key = src2.key) -INSERT OVERWRITE TABLE dest_j1 SELECT src1.key, src2.value ORDER BY src1.key, src2.value +INSERT OVERWRITE TABLE dest_j1 SELECT src1.key, src2.value PREHOOK: type: QUERY PREHOOK: Input: default@src PREHOOK: Output: default@dest_j1 POSTHOOK: query: FROM src src1 INNER JOIN src src2 ON (src1.key = src2.key) -INSERT OVERWRITE TABLE dest_j1 SELECT src1.key, src2.value ORDER BY src1.key, src2.value +INSERT OVERWRITE TABLE dest_j1 SELECT src1.key, src2.value POSTHOOK: type: QUERY POSTHOOK: Input: default@src POSTHOOK: Output: default@dest_j1 diff --git ql/src/test/results/clientpositive/input11_limit.q.out ql/src/test/results/clientpositive/input11_limit.q.out index 6970a07..ed778c1 100644 --- ql/src/test/results/clientpositive/input11_limit.q.out +++ ql/src/test/results/clientpositive/input11_limit.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: CREATE TABLE dest1(key INT, value STRING) STORED AS TEXTFILE +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE dest1(key INT, value STRING) STORED AS TEXTFILE PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE dest1(key INT, value STRING) STORED AS TEXTFILE +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE dest1(key INT, value STRING) STORED AS TEXTFILE POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@dest1 PREHOOK: query: EXPLAIN @@ -81,11 +85,11 @@ POSTHOOK: Input: default@src POSTHOOK: Output: default@dest1 POSTHOOK: Lineage: dest1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: dest1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: SELECT dest1.* FROM dest1 ORDER BY dest1.key ASC, dest1.value ASC +PREHOOK: query: SELECT dest1.* FROM dest1 PREHOOK: type: QUERY PREHOOK: Input: default@dest1 #### A masked pattern was here #### -POSTHOOK: query: SELECT dest1.* FROM dest1 ORDER BY dest1.key ASC, dest1.value ASC +POSTHOOK: query: SELECT dest1.* FROM dest1 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest1 #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/input1_limit.q.out ql/src/test/results/clientpositive/input1_limit.q.out index 5ec6d83..f2eeb10 100644 --- ql/src/test/results/clientpositive/input1_limit.q.out +++ ql/src/test/results/clientpositive/input1_limit.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: CREATE TABLE dest1(key INT, value STRING) STORED AS TEXTFILE +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE dest1(key INT, value STRING) STORED AS TEXTFILE PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE dest1(key INT, value STRING) STORED AS TEXTFILE +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE dest1(key INT, value STRING) STORED AS TEXTFILE POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@dest1 PREHOOK: query: CREATE TABLE dest2(key INT, value STRING) STORED AS TEXTFILE @@ -153,11 +157,11 @@ POSTHOOK: Lineage: dest1.key EXPRESSION [(src)src.FieldSchema(name:key, type:str POSTHOOK: Lineage: dest1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: dest2.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: dest2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: SELECT dest1.* FROM dest1 ORDER BY dest1.key ASC, dest1.value ASC +PREHOOK: query: SELECT dest1.* FROM dest1 PREHOOK: type: QUERY PREHOOK: Input: default@dest1 #### A masked pattern was here #### -POSTHOOK: query: SELECT dest1.* FROM dest1 ORDER BY dest1.key ASC, dest1.value ASC +POSTHOOK: query: SELECT dest1.* FROM dest1 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest1 #### A masked pattern was here #### @@ -175,11 +179,11 @@ POSTHOOK: Lineage: dest2.value SIMPLE [(src)src.FieldSchema(name:value, type:str 82 val_82 86 val_86 98 val_98 -PREHOOK: query: SELECT dest2.* FROM dest2 ORDER BY dest2.key ASC, dest2.value ASC +PREHOOK: query: SELECT dest2.* FROM dest2 PREHOOK: type: QUERY PREHOOK: Input: default@dest2 #### A masked pattern was here #### -POSTHOOK: query: SELECT dest2.* FROM dest2 ORDER BY dest2.key ASC, dest2.value ASC +POSTHOOK: query: SELECT dest2.* FROM dest2 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest2 #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/input40.q.out ql/src/test/results/clientpositive/input40.q.out index f6213ec..5f50e46 100644 --- ql/src/test/results/clientpositive/input40.q.out +++ ql/src/test/results/clientpositive/input40.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: create table tmp_insert_test (key string, value string) stored as textfile +PREHOOK: query: -- SORT_QUERY_RESULTS + +create table tmp_insert_test (key string, value string) stored as textfile PREHOOK: type: CREATETABLE -POSTHOOK: query: create table tmp_insert_test (key string, value string) stored as textfile +POSTHOOK: query: -- SORT_QUERY_RESULTS + +create table tmp_insert_test (key string, value string) stored as textfile POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@tmp_insert_test PREHOOK: query: load data local inpath '../../data/files/kv1.txt' into table tmp_insert_test @@ -17,506 +21,506 @@ POSTHOOK: query: select * from tmp_insert_test POSTHOOK: type: QUERY POSTHOOK: Input: default@tmp_insert_test #### A masked pattern was here #### -238 val_238 -86 val_86 -311 val_311 -27 val_27 -165 val_165 -409 val_409 -255 val_255 -278 val_278 -98 val_98 -484 val_484 -265 val_265 -193 val_193 -401 val_401 -150 val_150 -273 val_273 -224 val_224 -369 val_369 -66 val_66 +0 val_0 +0 val_0 +0 val_0 +10 val_10 +100 val_100 +100 val_100 +103 val_103 +103 val_103 +104 val_104 +104 val_104 +105 val_105 +11 val_11 +111 val_111 +113 val_113 +113 val_113 +114 val_114 +116 val_116 +118 val_118 +118 val_118 +119 val_119 +119 val_119 +119 val_119 +12 val_12 +12 val_12 +120 val_120 +120 val_120 +125 val_125 +125 val_125 +126 val_126 128 val_128 -213 val_213 -146 val_146 -406 val_406 -429 val_429 -374 val_374 -152 val_152 -469 val_469 +128 val_128 +128 val_128 +129 val_129 +129 val_129 +131 val_131 +133 val_133 +134 val_134 +134 val_134 +136 val_136 +137 val_137 +137 val_137 +138 val_138 +138 val_138 +138 val_138 +138 val_138 +143 val_143 145 val_145 -495 val_495 -37 val_37 -327 val_327 -281 val_281 -277 val_277 -209 val_209 +146 val_146 +146 val_146 +149 val_149 +149 val_149 15 val_15 -82 val_82 -403 val_403 -166 val_166 -417 val_417 -430 val_430 -252 val_252 -292 val_292 -219 val_219 -287 val_287 +15 val_15 +150 val_150 +152 val_152 +152 val_152 153 val_153 -193 val_193 -338 val_338 -446 val_446 -459 val_459 -394 val_394 -237 val_237 -482 val_482 -174 val_174 -413 val_413 -494 val_494 -207 val_207 -199 val_199 -466 val_466 -208 val_208 -174 val_174 -399 val_399 -396 val_396 -247 val_247 -417 val_417 -489 val_489 +155 val_155 +156 val_156 +157 val_157 +158 val_158 +160 val_160 162 val_162 -377 val_377 -397 val_397 -309 val_309 -365 val_365 -266 val_266 -439 val_439 -342 val_342 -367 val_367 -325 val_325 +163 val_163 +164 val_164 +164 val_164 +165 val_165 +165 val_165 +166 val_166 167 val_167 -195 val_195 -475 val_475 +167 val_167 +167 val_167 +168 val_168 +169 val_169 +169 val_169 +169 val_169 +169 val_169 17 val_17 -113 val_113 -155 val_155 -203 val_203 -339 val_339 -0 val_0 -455 val_455 -128 val_128 -311 val_311 -316 val_316 -57 val_57 -302 val_302 -205 val_205 -149 val_149 -438 val_438 -345 val_345 -129 val_129 170 val_170 +172 val_172 +172 val_172 +174 val_174 +174 val_174 +175 val_175 +175 val_175 +176 val_176 +176 val_176 +177 val_177 +178 val_178 +179 val_179 +179 val_179 +18 val_18 +18 val_18 +180 val_180 +181 val_181 +183 val_183 +186 val_186 +187 val_187 +187 val_187 +187 val_187 +189 val_189 +19 val_19 +190 val_190 +191 val_191 +191 val_191 +192 val_192 +193 val_193 +193 val_193 +193 val_193 +194 val_194 +195 val_195 +195 val_195 +196 val_196 +197 val_197 +197 val_197 +199 val_199 +199 val_199 +199 val_199 +2 val_2 20 val_20 -489 val_489 -157 val_157 -378 val_378 -221 val_221 -92 val_92 -111 val_111 -47 val_47 -72 val_72 -4 val_4 -280 val_280 -35 val_35 -427 val_427 -277 val_277 +200 val_200 +200 val_200 +201 val_201 +202 val_202 +203 val_203 +203 val_203 +205 val_205 +205 val_205 +207 val_207 +207 val_207 208 val_208 -356 val_356 -399 val_399 -169 val_169 -382 val_382 -498 val_498 -125 val_125 -386 val_386 -437 val_437 -469 val_469 -192 val_192 -286 val_286 -187 val_187 -176 val_176 -54 val_54 -459 val_459 -51 val_51 -138 val_138 -103 val_103 -239 val_239 +208 val_208 +208 val_208 +209 val_209 +209 val_209 213 val_213 +213 val_213 +214 val_214 216 val_216 -430 val_430 -278 val_278 -176 val_176 -289 val_289 +216 val_216 +217 val_217 +217 val_217 +218 val_218 +219 val_219 +219 val_219 221 val_221 -65 val_65 -318 val_318 -332 val_332 -311 val_311 -275 val_275 -137 val_137 -241 val_241 -83 val_83 -333 val_333 -180 val_180 -284 val_284 -12 val_12 +221 val_221 +222 val_222 +223 val_223 +223 val_223 +224 val_224 +224 val_224 +226 val_226 +228 val_228 +229 val_229 +229 val_229 230 val_230 -181 val_181 -67 val_67 -260 val_260 -404 val_404 -384 val_384 -489 val_489 -353 val_353 -373 val_373 -272 val_272 -138 val_138 -217 val_217 -84 val_84 -348 val_348 -466 val_466 -58 val_58 -8 val_8 -411 val_411 230 val_230 -208 val_208 -348 val_348 +230 val_230 +230 val_230 +230 val_230 +233 val_233 +233 val_233 +235 val_235 +237 val_237 +237 val_237 +238 val_238 +238 val_238 +239 val_239 +239 val_239 24 val_24 -463 val_463 -431 val_431 -179 val_179 -172 val_172 -42 val_42 -129 val_129 -158 val_158 -119 val_119 -496 val_496 -0 val_0 -322 val_322 -197 val_197 -468 val_468 -393 val_393 -454 val_454 -100 val_100 -298 val_298 -199 val_199 -191 val_191 -418 val_418 -96 val_96 +24 val_24 +241 val_241 +242 val_242 +242 val_242 +244 val_244 +247 val_247 +248 val_248 +249 val_249 +252 val_252 +255 val_255 +255 val_255 +256 val_256 +256 val_256 +257 val_257 +258 val_258 26 val_26 -165 val_165 -327 val_327 -230 val_230 -205 val_205 -120 val_120 -131 val_131 -51 val_51 -404 val_404 -43 val_43 -436 val_436 -156 val_156 -469 val_469 -468 val_468 -308 val_308 -95 val_95 -196 val_196 -288 val_288 -481 val_481 -457 val_457 -98 val_98 +26 val_26 +260 val_260 +262 val_262 +263 val_263 +265 val_265 +265 val_265 +266 val_266 +27 val_27 +272 val_272 +272 val_272 +273 val_273 +273 val_273 +273 val_273 +274 val_274 +275 val_275 +277 val_277 +277 val_277 +277 val_277 +277 val_277 +278 val_278 +278 val_278 +28 val_28 +280 val_280 +280 val_280 +281 val_281 +281 val_281 282 val_282 -197 val_197 -187 val_187 -318 val_318 -318 val_318 -409 val_409 -470 val_470 -137 val_137 -369 val_369 -316 val_316 -169 val_169 -413 val_413 -85 val_85 -77 val_77 -0 val_0 -490 val_490 -87 val_87 -364 val_364 -179 val_179 -118 val_118 -134 val_134 -395 val_395 282 val_282 -138 val_138 -238 val_238 -419 val_419 -15 val_15 -118 val_118 -72 val_72 -90 val_90 -307 val_307 -19 val_19 -435 val_435 -10 val_10 -277 val_277 -273 val_273 +283 val_283 +284 val_284 +285 val_285 +286 val_286 +287 val_287 +288 val_288 +288 val_288 +289 val_289 +291 val_291 +292 val_292 +296 val_296 +298 val_298 +298 val_298 +298 val_298 +30 val_30 +302 val_302 +305 val_305 306 val_306 -224 val_224 +307 val_307 +307 val_307 +308 val_308 309 val_309 -389 val_389 +309 val_309 +310 val_310 +311 val_311 +311 val_311 +311 val_311 +315 val_315 +316 val_316 +316 val_316 +316 val_316 +317 val_317 +317 val_317 +318 val_318 +318 val_318 +318 val_318 +321 val_321 +321 val_321 +322 val_322 +322 val_322 +323 val_323 +325 val_325 +325 val_325 327 val_327 -242 val_242 -369 val_369 -392 val_392 -272 val_272 +327 val_327 +327 val_327 +33 val_33 331 val_331 -401 val_401 -242 val_242 -452 val_452 -177 val_177 -226 val_226 -5 val_5 -497 val_497 -402 val_402 -396 val_396 -317 val_317 -395 val_395 -58 val_58 -35 val_35 +331 val_331 +332 val_332 +333 val_333 +333 val_333 +335 val_335 336 val_336 -95 val_95 -11 val_11 -168 val_168 +338 val_338 +339 val_339 34 val_34 -229 val_229 -233 val_233 -143 val_143 -472 val_472 -322 val_322 -498 val_498 -160 val_160 -195 val_195 -42 val_42 -321 val_321 -430 val_430 -119 val_119 -489 val_489 -458 val_458 -78 val_78 -76 val_76 -41 val_41 -223 val_223 -492 val_492 -149 val_149 -449 val_449 -218 val_218 -228 val_228 -138 val_138 -453 val_453 -30 val_30 -209 val_209 -64 val_64 -468 val_468 -76 val_76 -74 val_74 +341 val_341 +342 val_342 342 val_342 -69 val_69 -230 val_230 -33 val_33 -368 val_368 -103 val_103 -296 val_296 -113 val_113 -216 val_216 -367 val_367 344 val_344 -167 val_167 -274 val_274 -219 val_219 -239 val_239 -485 val_485 -116 val_116 -223 val_223 -256 val_256 -263 val_263 -70 val_70 -487 val_487 -480 val_480 -401 val_401 -288 val_288 -191 val_191 -5 val_5 -244 val_244 -438 val_438 -128 val_128 -467 val_467 -432 val_432 -202 val_202 -316 val_316 -229 val_229 -469 val_469 -463 val_463 -280 val_280 -2 val_2 +344 val_344 +345 val_345 +348 val_348 +348 val_348 +348 val_348 +348 val_348 +348 val_348 35 val_35 -283 val_283 -331 val_331 -235 val_235 -80 val_80 -44 val_44 -193 val_193 -321 val_321 -335 val_335 -104 val_104 -466 val_466 +35 val_35 +35 val_35 +351 val_351 +353 val_353 +353 val_353 +356 val_356 +360 val_360 +362 val_362 +364 val_364 +365 val_365 366 val_366 -175 val_175 -403 val_403 -483 val_483 -53 val_53 -105 val_105 -257 val_257 -406 val_406 -409 val_409 -190 val_190 -406 val_406 +367 val_367 +367 val_367 +368 val_368 +369 val_369 +369 val_369 +369 val_369 +37 val_37 +37 val_37 +373 val_373 +374 val_374 +375 val_375 +377 val_377 +378 val_378 +379 val_379 +382 val_382 +382 val_382 +384 val_384 +384 val_384 +384 val_384 +386 val_386 +389 val_389 +392 val_392 +393 val_393 +394 val_394 +395 val_395 +395 val_395 +396 val_396 +396 val_396 +396 val_396 +397 val_397 +397 val_397 +399 val_399 +399 val_399 +4 val_4 +400 val_400 401 val_401 -114 val_114 -258 val_258 -90 val_90 -203 val_203 -262 val_262 -348 val_348 +401 val_401 +401 val_401 +401 val_401 +401 val_401 +402 val_402 +403 val_403 +403 val_403 +403 val_403 +404 val_404 +404 val_404 +406 val_406 +406 val_406 +406 val_406 +406 val_406 +407 val_407 +409 val_409 +409 val_409 +409 val_409 +41 val_41 +411 val_411 +413 val_413 +413 val_413 +414 val_414 +414 val_414 +417 val_417 +417 val_417 +417 val_417 +418 val_418 +419 val_419 +42 val_42 +42 val_42 +421 val_421 424 val_424 -12 val_12 -396 val_396 -201 val_201 -217 val_217 -164 val_164 +424 val_424 +427 val_427 +429 val_429 +429 val_429 +43 val_43 +430 val_430 +430 val_430 +430 val_430 431 val_431 -454 val_454 -478 val_478 -298 val_298 -125 val_125 431 val_431 -164 val_164 -424 val_424 -187 val_187 -382 val_382 -5 val_5 -70 val_70 -397 val_397 -480 val_480 -291 val_291 -24 val_24 -351 val_351 -255 val_255 -104 val_104 -70 val_70 -163 val_163 +431 val_431 +432 val_432 +435 val_435 +436 val_436 +437 val_437 +438 val_438 +438 val_438 438 val_438 -119 val_119 -414 val_414 -200 val_200 -491 val_491 -237 val_237 439 val_439 -360 val_360 -248 val_248 -479 val_479 -305 val_305 -417 val_417 -199 val_199 -444 val_444 -120 val_120 -429 val_429 -169 val_169 +439 val_439 +44 val_44 443 val_443 -323 val_323 -325 val_325 -277 val_277 -230 val_230 -478 val_478 -178 val_178 -468 val_468 -310 val_310 -317 val_317 -333 val_333 -493 val_493 +444 val_444 +446 val_446 +448 val_448 +449 val_449 +452 val_452 +453 val_453 +454 val_454 +454 val_454 +454 val_454 +455 val_455 +457 val_457 +458 val_458 +458 val_458 +459 val_459 +459 val_459 460 val_460 -207 val_207 -249 val_249 -265 val_265 -480 val_480 -83 val_83 -136 val_136 -353 val_353 -172 val_172 -214 val_214 462 val_462 -233 val_233 -406 val_406 -133 val_133 -175 val_175 -189 val_189 -454 val_454 -375 val_375 -401 val_401 -421 val_421 -407 val_407 -384 val_384 -256 val_256 -26 val_26 -134 val_134 -67 val_67 -384 val_384 -379 val_379 -18 val_18 462 val_462 +463 val_463 +463 val_463 +466 val_466 +466 val_466 +466 val_466 +467 val_467 +468 val_468 +468 val_468 +468 val_468 +468 val_468 +469 val_469 +469 val_469 +469 val_469 +469 val_469 +469 val_469 +47 val_47 +470 val_470 +472 val_472 +475 val_475 +477 val_477 +478 val_478 +478 val_478 +479 val_479 +480 val_480 +480 val_480 +480 val_480 +481 val_481 +482 val_482 +483 val_483 +484 val_484 +485 val_485 +487 val_487 +489 val_489 +489 val_489 +489 val_489 +489 val_489 +490 val_490 +491 val_491 492 val_492 -100 val_100 -298 val_298 -9 val_9 -341 val_341 +492 val_492 +493 val_493 +494 val_494 +495 val_495 +496 val_496 +497 val_497 498 val_498 -146 val_146 -458 val_458 -362 val_362 -186 val_186 -285 val_285 -348 val_348 -167 val_167 -18 val_18 -273 val_273 -183 val_183 -281 val_281 -344 val_344 -97 val_97 -469 val_469 -315 val_315 +498 val_498 +498 val_498 +5 val_5 +5 val_5 +5 val_5 +51 val_51 +51 val_51 +53 val_53 +54 val_54 +57 val_57 +58 val_58 +58 val_58 +64 val_64 +65 val_65 +66 val_66 +67 val_67 +67 val_67 +69 val_69 +70 val_70 +70 val_70 +70 val_70 +72 val_72 +72 val_72 +74 val_74 +76 val_76 +76 val_76 +77 val_77 +78 val_78 +8 val_8 +80 val_80 +82 val_82 +83 val_83 +83 val_83 84 val_84 -28 val_28 -37 val_37 -448 val_448 -152 val_152 -348 val_348 -307 val_307 -194 val_194 -414 val_414 -477 val_477 -222 val_222 -126 val_126 +84 val_84 +85 val_85 +86 val_86 +87 val_87 +9 val_9 90 val_90 -169 val_169 -403 val_403 -400 val_400 -200 val_200 +90 val_90 +90 val_90 +92 val_92 +95 val_95 +95 val_95 +96 val_96 +97 val_97 97 val_97 +98 val_98 +98 val_98 PREHOOK: query: create table tmp_insert_test_p (key string, value string) partitioned by (ds string) stored as textfile PREHOOK: type: CREATETABLE POSTHOOK: query: create table tmp_insert_test_p (key string, value string) partitioned by (ds string) stored as textfile @@ -530,13 +534,11 @@ POSTHOOK: type: LOAD POSTHOOK: Output: default@tmp_insert_test_p POSTHOOK: Output: default@tmp_insert_test_p@ds=2009-08-01 PREHOOK: query: select * from tmp_insert_test_p where ds= '2009-08-01' -order by key, value PREHOOK: type: QUERY PREHOOK: Input: default@tmp_insert_test_p PREHOOK: Input: default@tmp_insert_test_p@ds=2009-08-01 #### A masked pattern was here #### POSTHOOK: query: select * from tmp_insert_test_p where ds= '2009-08-01' -order by key, value POSTHOOK: type: QUERY POSTHOOK: Input: default@tmp_insert_test_p POSTHOOK: Input: default@tmp_insert_test_p@ds=2009-08-01 @@ -1048,13 +1050,11 @@ POSTHOOK: query: load data local inpath '../../data/files/kv2.txt' into table tm POSTHOOK: type: LOAD POSTHOOK: Output: default@tmp_insert_test_p@ds=2009-08-01 PREHOOK: query: select * from tmp_insert_test_p where ds= '2009-08-01' -order by key, value PREHOOK: type: QUERY PREHOOK: Input: default@tmp_insert_test_p PREHOOK: Input: default@tmp_insert_test_p@ds=2009-08-01 #### A masked pattern was here #### POSTHOOK: query: select * from tmp_insert_test_p where ds= '2009-08-01' -order by key, value POSTHOOK: type: QUERY POSTHOOK: Input: default@tmp_insert_test_p POSTHOOK: Input: default@tmp_insert_test_p@ds=2009-08-01 diff --git ql/src/test/results/clientpositive/input42.q.out ql/src/test/results/clientpositive/input42.q.out index 4499205..c48a0f1 100644 --- ql/src/test/results/clientpositive/input42.q.out +++ ql/src/test/results/clientpositive/input42.q.out @@ -1,8 +1,12 @@ -PREHOOK: query: explain extended -select * from srcpart a where a.ds='2008-04-08' order by a.key, a.hr +PREHOOK: query: -- SORT_QUERY_RESULTS + +explain extended +select * from srcpart a where a.ds='2008-04-08' PREHOOK: type: QUERY -POSTHOOK: query: explain extended -select * from srcpart a where a.ds='2008-04-08' order by a.key, a.hr +POSTHOOK: query: -- SORT_QUERY_RESULTS + +explain extended +select * from srcpart a where a.ds='2008-04-08' POSTHOOK: type: QUERY ABSTRACT SYNTAX TREE: @@ -26,47 +30,17 @@ TOK_QUERY a ds '2008-04-08' - TOK_ORDERBY - TOK_TABSORTCOLNAMEASC - . - TOK_TABLE_OR_COL - a - key - TOK_TABSORTCOLNAMEASC - . - TOK_TABLE_OR_COL - a - hr STAGE DEPENDENCIES: - Stage-1 is a root stage Stage-0 is a root stage STAGE PLANS: - Stage: Stage-1 - Map Reduce - Map Operator Tree: - TableScan - alias: a - Statistics: Num rows: 58 Data size: 11624 Basic stats: COMPLETE Column stats: NONE - GatherStats: false - Select Operator - expressions: key (type: string), value (type: string), ds (type: string), hr (type: string) - outputColumnNames: _col0, _col1, _col2, _col3 - Statistics: Num rows: 58 Data size: 11624 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string), _col3 (type: string) - sort order: ++ - Statistics: Num rows: 58 Data size: 11624 Basic stats: COMPLETE Column stats: NONE - tag: -1 - value expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string), _col3 (type: string) - Path -> Alias: -#### A masked pattern was here #### - Path -> Partition: -#### A masked pattern was here #### + Stage: Stage-0 + Fetch Operator + limit: -1 + Partition Description: Partition - base file name: hr=11 input format: org.apache.hadoop.mapred.TextInputFormat output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat partition values: @@ -106,9 +80,7 @@ STAGE PLANS: serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe name: default.srcpart name: default.srcpart -#### A masked pattern was here #### Partition - base file name: hr=12 input format: org.apache.hadoop.mapred.TextInputFormat output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat partition values: @@ -148,46 +120,24 @@ STAGE PLANS: serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe name: default.srcpart name: default.srcpart - Truncated Path -> Alias: - /srcpart/ds=2008-04-08/hr=11 [a] - /srcpart/ds=2008-04-08/hr=12 [a] - Needs Tagging: false - Reduce Operator Tree: - Extract + Processor Tree: + TableScan + alias: a Statistics: Num rows: 58 Data size: 11624 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - GlobalTableId: 0 -#### A masked pattern was here #### - NumFilesPerFileSink: 1 + GatherStats: false + Select Operator + expressions: key (type: string), value (type: string), ds (type: string), hr (type: string) + outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 58 Data size: 11624 Basic stats: COMPLETE Column stats: NONE -#### A masked pattern was here #### - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - properties: - columns _col0,_col1,_col2,_col3 - columns.types string:string:string:string - escape.delim \ - hive.serialization.extend.nesting.levels true - serialization.format 1 - serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - TotalFiles: 1 - GatherStats: false - MultiFileSpray: false - - Stage: Stage-0 - Fetch Operator - limit: -1 + ListSink -PREHOOK: query: select * from srcpart a where a.ds='2008-04-08' order by a.key, a.hr +PREHOOK: query: select * from srcpart a where a.ds='2008-04-08' PREHOOK: type: QUERY PREHOOK: Input: default@srcpart PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 #### A masked pattern was here #### -POSTHOOK: query: select * from srcpart a where a.ds='2008-04-08' order by a.key, a.hr +POSTHOOK: query: select * from srcpart a where a.ds='2008-04-08' POSTHOOK: type: QUERY POSTHOOK: Input: default@srcpart POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 @@ -1194,10 +1144,10 @@ POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 98 val_98 2008-04-08 12 98 val_98 2008-04-08 12 PREHOOK: query: explain extended -select * from srcpart a where a.ds='2008-04-08' and key < 200 order by a.key, a.hr +select * from srcpart a where a.ds='2008-04-08' and key < 200 PREHOOK: type: QUERY POSTHOOK: query: explain extended -select * from srcpart a where a.ds='2008-04-08' and key < 200 order by a.key, a.hr +select * from srcpart a where a.ds='2008-04-08' and key < 200 POSTHOOK: type: QUERY ABSTRACT SYNTAX TREE: @@ -1226,17 +1176,6 @@ TOK_QUERY TOK_TABLE_OR_COL key 200 - TOK_ORDERBY - TOK_TABSORTCOLNAMEASC - . - TOK_TABLE_OR_COL - a - key - TOK_TABSORTCOLNAMEASC - . - TOK_TABLE_OR_COL - a - hr STAGE DEPENDENCIES: @@ -1259,12 +1198,27 @@ STAGE PLANS: expressions: key (type: string), value (type: string), ds (type: string), hr (type: string) outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 19 Data size: 3807 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string), _col3 (type: string) - sort order: ++ + File Output Operator + compressed: false + GlobalTableId: 0 +#### A masked pattern was here #### + NumFilesPerFileSink: 1 Statistics: Num rows: 19 Data size: 3807 Basic stats: COMPLETE Column stats: NONE - tag: -1 - value expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string), _col3 (type: string) +#### A masked pattern was here #### + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + properties: + columns _col0,_col1,_col2,_col3 + columns.types string:string:string:string + escape.delim \ + hive.serialization.extend.nesting.levels true + serialization.format 1 + serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + TotalFiles: 1 + GatherStats: false + MultiFileSpray: false Path -> Alias: #### A masked pattern was here #### Path -> Partition: @@ -1355,43 +1309,18 @@ STAGE PLANS: Truncated Path -> Alias: /srcpart/ds=2008-04-08/hr=11 [a] /srcpart/ds=2008-04-08/hr=12 [a] - Needs Tagging: false - Reduce Operator Tree: - Extract - Statistics: Num rows: 19 Data size: 3807 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - GlobalTableId: 0 -#### A masked pattern was here #### - NumFilesPerFileSink: 1 - Statistics: Num rows: 19 Data size: 3807 Basic stats: COMPLETE Column stats: NONE -#### A masked pattern was here #### - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - properties: - columns _col0,_col1,_col2,_col3 - columns.types string:string:string:string - escape.delim \ - hive.serialization.extend.nesting.levels true - serialization.format 1 - serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - TotalFiles: 1 - GatherStats: false - MultiFileSpray: false Stage: Stage-0 Fetch Operator limit: -1 -PREHOOK: query: select * from srcpart a where a.ds='2008-04-08' and key < 200 order by a.key, a.hr +PREHOOK: query: select * from srcpart a where a.ds='2008-04-08' and key < 200 PREHOOK: type: QUERY PREHOOK: Input: default@srcpart PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 #### A masked pattern was here #### -POSTHOOK: query: select * from srcpart a where a.ds='2008-04-08' and key < 200 order by a.key, a.hr +POSTHOOK: query: select * from srcpart a where a.ds='2008-04-08' and key < 200 POSTHOOK: type: QUERY POSTHOOK: Input: default@srcpart POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 @@ -1776,10 +1705,10 @@ POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 98 val_98 2008-04-08 12 98 val_98 2008-04-08 12 PREHOOK: query: explain extended -select * from srcpart a where a.ds='2008-04-08' and rand(100) < 0.1 order by a.key, a.hr +select * from srcpart a where a.ds='2008-04-08' and rand(100) < 0.1 PREHOOK: type: QUERY POSTHOOK: query: explain extended -select * from srcpart a where a.ds='2008-04-08' and rand(100) < 0.1 order by a.key, a.hr +select * from srcpart a where a.ds='2008-04-08' and rand(100) < 0.1 POSTHOOK: type: QUERY ABSTRACT SYNTAX TREE: @@ -1809,17 +1738,6 @@ TOK_QUERY rand 100 0.1 - TOK_ORDERBY - TOK_TABSORTCOLNAMEASC - . - TOK_TABLE_OR_COL - a - key - TOK_TABSORTCOLNAMEASC - . - TOK_TABLE_OR_COL - a - hr STAGE DEPENDENCIES: @@ -1842,12 +1760,27 @@ STAGE PLANS: expressions: key (type: string), value (type: string), ds (type: string), hr (type: string) outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 19 Data size: 3807 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string), _col3 (type: string) - sort order: ++ + File Output Operator + compressed: false + GlobalTableId: 0 +#### A masked pattern was here #### + NumFilesPerFileSink: 1 Statistics: Num rows: 19 Data size: 3807 Basic stats: COMPLETE Column stats: NONE - tag: -1 - value expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string), _col3 (type: string) +#### A masked pattern was here #### + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + properties: + columns _col0,_col1,_col2,_col3 + columns.types string:string:string:string + escape.delim \ + hive.serialization.extend.nesting.levels true + serialization.format 1 + serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + TotalFiles: 1 + GatherStats: false + MultiFileSpray: false Path -> Alias: #### A masked pattern was here #### Path -> Partition: @@ -1938,43 +1871,18 @@ STAGE PLANS: Truncated Path -> Alias: /srcpart/ds=2008-04-08/hr=11 [a] /srcpart/ds=2008-04-08/hr=12 [a] - Needs Tagging: false - Reduce Operator Tree: - Extract - Statistics: Num rows: 19 Data size: 3807 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - GlobalTableId: 0 -#### A masked pattern was here #### - NumFilesPerFileSink: 1 - Statistics: Num rows: 19 Data size: 3807 Basic stats: COMPLETE Column stats: NONE -#### A masked pattern was here #### - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - properties: - columns _col0,_col1,_col2,_col3 - columns.types string:string:string:string - escape.delim \ - hive.serialization.extend.nesting.levels true - serialization.format 1 - serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - TotalFiles: 1 - GatherStats: false - MultiFileSpray: false Stage: Stage-0 Fetch Operator limit: -1 -PREHOOK: query: select * from srcpart a where a.ds='2008-04-08' and rand(100) < 0.1 order by a.key, a.hr +PREHOOK: query: select * from srcpart a where a.ds='2008-04-08' and rand(100) < 0.1 PREHOOK: type: QUERY PREHOOK: Input: default@srcpart PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 #### A masked pattern was here #### -POSTHOOK: query: select * from srcpart a where a.ds='2008-04-08' and rand(100) < 0.1 order by a.key, a.hr +POSTHOOK: query: select * from srcpart a where a.ds='2008-04-08' and rand(100) < 0.1 POSTHOOK: type: QUERY POSTHOOK: Input: default@srcpart POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 diff --git ql/src/test/results/clientpositive/input_lazyserde.q.out ql/src/test/results/clientpositive/input_lazyserde.q.out index 066374a..c5cf8e9 100644 --- ql/src/test/results/clientpositive/input_lazyserde.q.out +++ ql/src/test/results/clientpositive/input_lazyserde.q.out @@ -1,4 +1,6 @@ -PREHOOK: query: CREATE TABLE dest1(a array, b array, c map, d int, e string) +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE dest1(a array, b array, c map, d int, e string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '1' COLLECTION ITEMS TERMINATED BY '2' @@ -6,7 +8,9 @@ MAP KEYS TERMINATED BY '3' LINES TERMINATED BY '10' STORED AS TEXTFILE PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE dest1(a array, b array, c map, d int, e string) +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE dest1(a array, b array, c map, d int, e string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '1' COLLECTION ITEMS TERMINATED BY '2' @@ -97,6 +101,7 @@ POSTHOOK: Lineage: dest1.b SIMPLE [(src_thrift)src_thrift.FieldSchema(name:lstri POSTHOOK: Lineage: dest1.c SIMPLE [(src_thrift)src_thrift.FieldSchema(name:mstringstring, type:map, comment:from deserializer), ] POSTHOOK: Lineage: dest1.d SIMPLE [(src_thrift)src_thrift.FieldSchema(name:aint, type:int, comment:from deserializer), ] POSTHOOK: Lineage: dest1.e SIMPLE [(src_thrift)src_thrift.FieldSchema(name:astring, type:string, comment:from deserializer), ] +NULL NULL NULL 0 NULL [0,0,0] ["0","0","0"] {"key_0":"value_0"} 1712634731 record_0 [1,2,3] ["10","100","1000"] {"key_1":"value_1"} 465985200 record_1 [2,4,6] ["20","200","2000"] {"key_2":"value_2"} -751827638 record_2 @@ -107,7 +112,6 @@ POSTHOOK: Lineage: dest1.e SIMPLE [(src_thrift)src_thrift.FieldSchema(name:astri [7,14,21] ["70","700","7000"] {"key_7":"value_7"} -1461153973 record_7 [8,16,24] ["80","800","8000"] {"key_8":"value_8"} 1638581578 record_8 [9,18,27] ["90","900","9000"] {"key_9":"value_9"} 336964413 record_9 -NULL NULL NULL 0 NULL PREHOOK: query: SELECT dest1.a[0], dest1.b[0], dest1.c['key2'], dest1.d, dest1.e FROM dest1 CLUSTER BY 1 PREHOOK: type: QUERY PREHOOK: Input: default@dest1 @@ -169,11 +173,11 @@ POSTHOOK: Lineage: dest1.b SIMPLE [(src_thrift)src_thrift.FieldSchema(name:lstri POSTHOOK: Lineage: dest1.c SIMPLE [(src_thrift)src_thrift.FieldSchema(name:mstringstring, type:map, comment:from deserializer), ] POSTHOOK: Lineage: dest1.d SIMPLE [(src_thrift)src_thrift.FieldSchema(name:aint, type:int, comment:from deserializer), ] POSTHOOK: Lineage: dest1.e SIMPLE [(src_thrift)src_thrift.FieldSchema(name:astring, type:string, comment:from deserializer), ] -PREHOOK: query: SELECT * from dest1 ORDER BY 1 ASC +PREHOOK: query: SELECT * from dest1 PREHOOK: type: QUERY PREHOOK: Input: default@dest1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * from dest1 ORDER BY 1 ASC +POSTHOOK: query: SELECT * from dest1 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest1 #### A masked pattern was here #### @@ -183,6 +187,7 @@ POSTHOOK: Lineage: dest1.b SIMPLE [(src_thrift)src_thrift.FieldSchema(name:lstri POSTHOOK: Lineage: dest1.c SIMPLE [(src_thrift)src_thrift.FieldSchema(name:mstringstring, type:map, comment:from deserializer), ] POSTHOOK: Lineage: dest1.d SIMPLE [(src_thrift)src_thrift.FieldSchema(name:aint, type:int, comment:from deserializer), ] POSTHOOK: Lineage: dest1.e SIMPLE [(src_thrift)src_thrift.FieldSchema(name:astring, type:string, comment:from deserializer), ] +NULL [0,0,0] [1,2,3] [2,4,6] @@ -193,7 +198,6 @@ POSTHOOK: Lineage: dest1.e SIMPLE [(src_thrift)src_thrift.FieldSchema(name:astri [7,14,21] [8,16,24] [9,18,27] -NULL PREHOOK: query: DROP TABLE dest1 PREHOOK: type: DROPTABLE PREHOOK: Input: default@dest1 @@ -234,11 +238,11 @@ POSTHOOK: Lineage: dest1.b SIMPLE [(src_thrift)src_thrift.FieldSchema(name:lstri POSTHOOK: Lineage: dest1.c SIMPLE [(src_thrift)src_thrift.FieldSchema(name:mstringstring, type:map, comment:from deserializer), ] POSTHOOK: Lineage: dest1.d SIMPLE [(src_thrift)src_thrift.FieldSchema(name:aint, type:int, comment:from deserializer), ] POSTHOOK: Lineage: dest1.e SIMPLE [(src_thrift)src_thrift.FieldSchema(name:astring, type:string, comment:from deserializer), ] -PREHOOK: query: SELECT * from dest1 ORDER BY 1 ASC +PREHOOK: query: SELECT * from dest1 PREHOOK: type: QUERY PREHOOK: Input: default@dest1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * from dest1 ORDER BY 1 ASC +POSTHOOK: query: SELECT * from dest1 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest1 #### A masked pattern was here #### @@ -249,6 +253,7 @@ POSTHOOK: Lineage: dest1.b SIMPLE [(src_thrift)src_thrift.FieldSchema(name:lstri POSTHOOK: Lineage: dest1.c SIMPLE [(src_thrift)src_thrift.FieldSchema(name:mstringstring, type:map, comment:from deserializer), ] POSTHOOK: Lineage: dest1.d SIMPLE [(src_thrift)src_thrift.FieldSchema(name:aint, type:int, comment:from deserializer), ] POSTHOOK: Lineage: dest1.e SIMPLE [(src_thrift)src_thrift.FieldSchema(name:astring, type:string, comment:from deserializer), ] +NULL {"key_0":"value_0"} {"key_1":"value_1"} {"key_2":"value_2"} @@ -259,4 +264,3 @@ POSTHOOK: Lineage: dest1.e SIMPLE [(src_thrift)src_thrift.FieldSchema(name:astri {"key_7":"value_7"} {"key_8":"value_8"} {"key_9":"value_9"} -NULL diff --git ql/src/test/results/clientpositive/input_part9.q.out ql/src/test/results/clientpositive/input_part9.q.out index eb404bd..773e23c 100644 --- ql/src/test/results/clientpositive/input_part9.q.out +++ ql/src/test/results/clientpositive/input_part9.q.out @@ -1,8 +1,12 @@ -PREHOOK: query: EXPLAIN EXTENDED -SELECT x.* FROM SRCPART x WHERE key IS NOT NULL AND ds = '2008-04-08' order by x.key, x.hr +PREHOOK: query: -- SORT_QUERY_RESULTS + +EXPLAIN EXTENDED +SELECT x.* FROM SRCPART x WHERE key IS NOT NULL AND ds = '2008-04-08' PREHOOK: type: QUERY -POSTHOOK: query: EXPLAIN EXTENDED -SELECT x.* FROM SRCPART x WHERE key IS NOT NULL AND ds = '2008-04-08' order by x.key, x.hr +POSTHOOK: query: -- SORT_QUERY_RESULTS + +EXPLAIN EXTENDED +SELECT x.* FROM SRCPART x WHERE key IS NOT NULL AND ds = '2008-04-08' POSTHOOK: type: QUERY ABSTRACT SYNTAX TREE: @@ -31,17 +35,6 @@ TOK_QUERY TOK_TABLE_OR_COL ds '2008-04-08' - TOK_ORDERBY - TOK_TABSORTCOLNAMEASC - . - TOK_TABLE_OR_COL - x - key - TOK_TABSORTCOLNAMEASC - . - TOK_TABLE_OR_COL - x - hr STAGE DEPENDENCIES: @@ -64,12 +57,27 @@ STAGE PLANS: expressions: key (type: string), value (type: string), ds (type: string), hr (type: string) outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string), _col3 (type: string) - sort order: ++ + File Output Operator + compressed: false + GlobalTableId: 0 +#### A masked pattern was here #### + NumFilesPerFileSink: 1 Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE - tag: -1 - value expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string), _col3 (type: string) +#### A masked pattern was here #### + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + properties: + columns _col0,_col1,_col2,_col3 + columns.types string:string:string:string + escape.delim \ + hive.serialization.extend.nesting.levels true + serialization.format 1 + serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + TotalFiles: 1 + GatherStats: false + MultiFileSpray: false Path -> Alias: #### A masked pattern was here #### Path -> Partition: @@ -160,43 +168,18 @@ STAGE PLANS: Truncated Path -> Alias: /srcpart/ds=2008-04-08/hr=11 [x] /srcpart/ds=2008-04-08/hr=12 [x] - Needs Tagging: false - Reduce Operator Tree: - Extract - Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - GlobalTableId: 0 -#### A masked pattern was here #### - NumFilesPerFileSink: 1 - Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE -#### A masked pattern was here #### - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - properties: - columns _col0,_col1,_col2,_col3 - columns.types string:string:string:string - escape.delim \ - hive.serialization.extend.nesting.levels true - serialization.format 1 - serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - TotalFiles: 1 - GatherStats: false - MultiFileSpray: false Stage: Stage-0 Fetch Operator limit: -1 -PREHOOK: query: SELECT x.* FROM SRCPART x WHERE key IS NOT NULL AND ds = '2008-04-08' order by x.key, x.hr +PREHOOK: query: SELECT x.* FROM SRCPART x WHERE key IS NOT NULL AND ds = '2008-04-08' PREHOOK: type: QUERY PREHOOK: Input: default@srcpart PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 #### A masked pattern was here #### -POSTHOOK: query: SELECT x.* FROM SRCPART x WHERE key IS NOT NULL AND ds = '2008-04-08' order by x.key, x.hr +POSTHOOK: query: SELECT x.* FROM SRCPART x WHERE key IS NOT NULL AND ds = '2008-04-08' POSTHOOK: type: QUERY POSTHOOK: Input: default@srcpart POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 diff --git ql/src/test/results/clientpositive/insert1.q.out ql/src/test/results/clientpositive/insert1.q.out index 31ceff2..82b4491 100644 --- ql/src/test/results/clientpositive/insert1.q.out +++ ql/src/test/results/clientpositive/insert1.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: create table insert1(key int, value string) stored as textfile +PREHOOK: query: -- SORT_QUERY_RESULTS + +create table insert1(key int, value string) stored as textfile PREHOOK: type: CREATETABLE -POSTHOOK: query: create table insert1(key int, value string) stored as textfile +POSTHOOK: query: -- SORT_QUERY_RESULTS + +create table insert1(key int, value string) stored as textfile POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@insert1 PREHOOK: query: create table insert2(key int, value string) stored as textfile @@ -612,11 +616,11 @@ POSTHOOK: Lineage: insert1.key SIMPLE [(insert2)a.FieldSchema(name:key, type:int POSTHOOK: Lineage: insert1.value SIMPLE [(insert2)a.FieldSchema(name:value, type:string, comment:null), ] POSTHOOK: Lineage: result.col1 SIMPLE [] POSTHOOK: Lineage: result.col1 SIMPLE [] -PREHOOK: query: SELECT * FROM result order by col1 +PREHOOK: query: SELECT * FROM result PREHOOK: type: QUERY PREHOOK: Input: db2@result #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM result order by col1 +POSTHOOK: query: SELECT * FROM result POSTHOOK: type: QUERY POSTHOOK: Input: db2@result #### A masked pattern was here #### @@ -678,11 +682,11 @@ POSTHOOK: Lineage: result.col1 SIMPLE [] POSTHOOK: Lineage: result.col1 SIMPLE [] POSTHOOK: Lineage: result.col1 SIMPLE [] POSTHOOK: Lineage: result.col1 SIMPLE [] -PREHOOK: query: SELECT * FROM db1.result order by col1 +PREHOOK: query: SELECT * FROM db1.result PREHOOK: type: QUERY PREHOOK: Input: db1@result #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM db1.result order by col1 +POSTHOOK: query: SELECT * FROM db1.result POSTHOOK: type: QUERY POSTHOOK: Input: db1@result #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/join18_multi_distinct.q.out ql/src/test/results/clientpositive/join18_multi_distinct.q.out index 4b99884..309a289 100644 --- ql/src/test/results/clientpositive/join18_multi_distinct.q.out +++ ql/src/test/results/clientpositive/join18_multi_distinct.q.out @@ -1,4 +1,6 @@ -PREHOOK: query: EXPLAIN +PREHOOK: query: -- SORT_QUERY_RESULTS + +EXPLAIN SELECT a.key, a.value, b.key, b.value1, b.value2 FROM ( @@ -10,9 +12,11 @@ PREHOOK: query: EXPLAIN count(distinct(src2.key)) AS value2 FROM src1 src2 group by src2.key ) b - ON (a.key = b.key) ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value1 ASC, b.value2 ASC + ON (a.key = b.key) PREHOOK: type: QUERY -POSTHOOK: query: EXPLAIN +POSTHOOK: query: -- SORT_QUERY_RESULTS + +EXPLAIN SELECT a.key, a.value, b.key, b.value1, b.value2 FROM ( @@ -24,13 +28,12 @@ POSTHOOK: query: EXPLAIN count(distinct(src2.key)) AS value2 FROM src1 src2 group by src2.key ) b - ON (a.key = b.key) ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value1 ASC, b.value2 ASC + ON (a.key = b.key) POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-2 depends on stages: Stage-1, Stage-4 - Stage-3 depends on stages: Stage-2 - Stage-4 is a root stage + Stage-2 depends on stages: Stage-1, Stage-3 + Stage-3 is a root stage Stage-0 is a root stage STAGE PLANS: @@ -106,35 +109,16 @@ STAGE PLANS: Statistics: Num rows: 15 Data size: 3085 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 15 Data size: 3085 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.lazybinary.LazyBinarySerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-3 Map Reduce Map Operator Tree: TableScan - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: bigint), _col2 (type: string), _col3 (type: bigint), _col4 (type: bigint) - sort order: +++++ - Statistics: Num rows: 15 Data size: 3085 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: bigint), _col2 (type: string), _col3 (type: bigint), _col4 (type: bigint) - Reduce Operator Tree: - Extract - Statistics: Num rows: 15 Data size: 3085 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 15 Data size: 3085 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - - Stage: Stage-4 - Map Reduce - Map Operator Tree: - TableScan alias: src1 Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE Select Operator @@ -186,7 +170,7 @@ PREHOOK: query: SELECT a.key, a.value, b.key, b.value1, b.value2 count(distinct(src2.key)) AS value2 FROM src1 src2 group by src2.key ) b - ON (a.key = b.key) ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value1 ASC, b.value2 ASC + ON (a.key = b.key) PREHOOK: type: QUERY PREHOOK: Input: default@src PREHOOK: Input: default@src1 @@ -202,12 +186,11 @@ POSTHOOK: query: SELECT a.key, a.value, b.key, b.value1, b.value2 count(distinct(src2.key)) AS value2 FROM src1 src2 group by src2.key ) b - ON (a.key = b.key) ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value1 ASC, b.value2 ASC + ON (a.key = b.key) POSTHOOK: type: QUERY POSTHOOK: Input: default@src POSTHOOK: Input: default@src1 #### A masked pattern was here #### -NULL NULL 7 1 0 3 NULL NULL NULL 10 1 NULL NULL NULL 100 2 NULL NULL NULL @@ -517,3 +500,4 @@ NULL NULL 7 1 96 1 NULL NULL NULL 97 2 NULL NULL NULL 98 2 98 1 1 +NULL NULL 7 1 diff --git ql/src/test/results/clientpositive/join25.q.out ql/src/test/results/clientpositive/join25.q.out index 88a9f2f..ee51916 100644 --- ql/src/test/results/clientpositive/join25.q.out +++ ql/src/test/results/clientpositive/join25.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: CREATE TABLE dest_j1(key INT, value STRING, val2 STRING) STORED AS TEXTFILE +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE dest_j1(key INT, value STRING, val2 STRING) STORED AS TEXTFILE PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE dest_j1(key INT, value STRING, val2 STRING) STORED AS TEXTFILE +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE dest_j1(key INT, value STRING, val2 STRING) STORED AS TEXTFILE POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@dest_j1 PREHOOK: query: EXPLAIN @@ -134,20 +138,17 @@ POSTHOOK: Output: default@dest_j1 POSTHOOK: Lineage: dest_j1.key EXPRESSION [(src1)x.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: dest_j1.val2 SIMPLE [(src)y.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: dest_j1.value SIMPLE [(src1)x.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from dest_j1 x order by x.key +PREHOOK: query: select * from dest_j1 x PREHOOK: type: QUERY PREHOOK: Input: default@dest_j1 #### A masked pattern was here #### -POSTHOOK: query: select * from dest_j1 x order by x.key +POSTHOOK: query: select * from dest_j1 x POSTHOOK: type: QUERY POSTHOOK: Input: default@dest_j1 #### A masked pattern was here #### POSTHOOK: Lineage: dest_j1.key EXPRESSION [(src1)x.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: dest_j1.val2 SIMPLE [(src)y.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: dest_j1.value SIMPLE [(src1)x.FieldSchema(name:value, type:string, comment:default), ] -66 val_66 val_66 -98 val_98 val_98 -98 val_98 val_98 128 val_128 128 val_128 128 val_128 @@ -182,3 +183,6 @@ POSTHOOK: Lineage: dest_j1.value SIMPLE [(src1)x.FieldSchema(name:value, type:st 406 val_406 val_406 406 val_406 val_406 406 val_406 val_406 +66 val_66 val_66 +98 val_98 val_98 +98 val_98 val_98 diff --git ql/src/test/results/clientpositive/join26.q.out ql/src/test/results/clientpositive/join26.q.out index b2e254b..10b1b86 100644 --- ql/src/test/results/clientpositive/join26.q.out +++ ql/src/test/results/clientpositive/join26.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: CREATE TABLE dest_j1(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE dest_j1(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE dest_j1(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE dest_j1(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@dest_j1 PREHOOK: query: EXPLAIN EXTENDED @@ -419,11 +423,11 @@ POSTHOOK: Output: default@dest_j1 POSTHOOK: Lineage: dest_j1.key SIMPLE [(src1)x.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: dest_j1.val2 SIMPLE [(src)y.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: dest_j1.value SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from dest_j1 x order by x.key +PREHOOK: query: select * from dest_j1 x PREHOOK: type: QUERY PREHOOK: Input: default@dest_j1 #### A masked pattern was here #### -POSTHOOK: query: select * from dest_j1 x order by x.key +POSTHOOK: query: select * from dest_j1 x POSTHOOK: type: QUERY POSTHOOK: Input: default@dest_j1 #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/join27.q.out ql/src/test/results/clientpositive/join27.q.out index 3a1d6aa..c475717 100644 --- ql/src/test/results/clientpositive/join27.q.out +++ ql/src/test/results/clientpositive/join27.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: CREATE TABLE dest_j1(key INT, value STRING, val2 STRING) STORED AS TEXTFILE +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE dest_j1(key INT, value STRING, val2 STRING) STORED AS TEXTFILE PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE dest_j1(key INT, value STRING, val2 STRING) STORED AS TEXTFILE +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE dest_j1(key INT, value STRING, val2 STRING) STORED AS TEXTFILE POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@dest_j1 PREHOOK: query: EXPLAIN @@ -134,32 +138,17 @@ POSTHOOK: Output: default@dest_j1 POSTHOOK: Lineage: dest_j1.key EXPRESSION [(src1)x.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: dest_j1.val2 SIMPLE [(src)y.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: dest_j1.value SIMPLE [(src1)x.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from dest_j1 x order by x.key, x.value +PREHOOK: query: select * from dest_j1 PREHOOK: type: QUERY PREHOOK: Input: default@dest_j1 #### A masked pattern was here #### -POSTHOOK: query: select * from dest_j1 x order by x.key, x.value +POSTHOOK: query: select * from dest_j1 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest_j1 #### A masked pattern was here #### POSTHOOK: Lineage: dest_j1.key EXPRESSION [(src1)x.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: dest_j1.val2 SIMPLE [(src)y.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: dest_j1.value SIMPLE [(src1)x.FieldSchema(name:value, type:string, comment:default), ] -NULL val_165 val_165 -NULL val_165 val_165 -NULL val_193 val_193 -NULL val_193 val_193 -NULL val_193 val_193 -NULL val_265 val_265 -NULL val_265 val_265 -NULL val_27 val_27 -NULL val_409 val_409 -NULL val_409 val_409 -NULL val_409 val_409 -NULL val_484 val_484 -66 val_66 val_66 -98 val_98 val_98 -98 val_98 val_98 146 val_146 val_146 146 val_146 val_146 150 val_150 val_150 @@ -186,3 +175,18 @@ NULL val_484 val_484 406 val_406 val_406 406 val_406 val_406 406 val_406 val_406 +66 val_66 val_66 +98 val_98 val_98 +98 val_98 val_98 +NULL val_165 val_165 +NULL val_165 val_165 +NULL val_193 val_193 +NULL val_193 val_193 +NULL val_193 val_193 +NULL val_265 val_265 +NULL val_265 val_265 +NULL val_27 val_27 +NULL val_409 val_409 +NULL val_409 val_409 +NULL val_409 val_409 +NULL val_484 val_484 diff --git ql/src/test/results/clientpositive/join28.q.out ql/src/test/results/clientpositive/join28.q.out index 68b3b71..51e60cf 100644 --- ql/src/test/results/clientpositive/join28.q.out +++ ql/src/test/results/clientpositive/join28.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: CREATE TABLE dest_j1(key STRING, value STRING) STORED AS TEXTFILE +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE dest_j1(key STRING, value STRING) STORED AS TEXTFILE PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE dest_j1(key STRING, value STRING) STORED AS TEXTFILE +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE dest_j1(key STRING, value STRING) STORED AS TEXTFILE POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@dest_j1 PREHOOK: query: -- Since the inputs are small, it should be automatically converted to mapjoin @@ -131,11 +135,11 @@ POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 POSTHOOK: Output: default@dest_j1 POSTHOOK: Lineage: dest_j1.key EXPRESSION [(src1)x.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: dest_j1.value SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from dest_j1 x order by x.key +PREHOOK: query: select * from dest_j1 PREHOOK: type: QUERY PREHOOK: Input: default@dest_j1 #### A masked pattern was here #### -POSTHOOK: query: select * from dest_j1 x order by x.key +POSTHOOK: query: select * from dest_j1 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest_j1 #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/join29.q.out ql/src/test/results/clientpositive/join29.q.out index d35538c..9d1b655 100644 --- ql/src/test/results/clientpositive/join29.q.out +++ ql/src/test/results/clientpositive/join29.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: CREATE TABLE dest_j1(key STRING, cnt1 INT, cnt2 INT) +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE dest_j1(key STRING, cnt1 INT, cnt2 INT) PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE dest_j1(key STRING, cnt1 INT, cnt2 INT) +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE dest_j1(key STRING, cnt1 INT, cnt2 INT) POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@dest_j1 PREHOOK: query: -- Since the inputs are small, it should be automatically converted to mapjoin @@ -252,11 +256,11 @@ POSTHOOK: Output: default@dest_j1 POSTHOOK: Lineage: dest_j1.cnt1 EXPRESSION [(src1)x.null, ] POSTHOOK: Lineage: dest_j1.cnt2 EXPRESSION [(src)y.null, ] POSTHOOK: Lineage: dest_j1.key SIMPLE [(src1)x.FieldSchema(name:key, type:string, comment:default), ] -PREHOOK: query: select * from dest_j1 x order by x.key +PREHOOK: query: select * from dest_j1 PREHOOK: type: QUERY PREHOOK: Input: default@dest_j1 #### A masked pattern was here #### -POSTHOOK: query: select * from dest_j1 x order by x.key +POSTHOOK: query: select * from dest_j1 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest_j1 #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/join30.q.out ql/src/test/results/clientpositive/join30.q.out index bc52568..1409cb2 100644 --- ql/src/test/results/clientpositive/join30.q.out +++ ql/src/test/results/clientpositive/join30.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: CREATE TABLE dest_j1(key INT, cnt INT) +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE dest_j1(key INT, cnt INT) PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE dest_j1(key INT, cnt INT) +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE dest_j1(key INT, cnt INT) POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@dest_j1 PREHOOK: query: EXPLAIN @@ -108,18 +112,16 @@ POSTHOOK: Input: default@src1 POSTHOOK: Output: default@dest_j1 POSTHOOK: Lineage: dest_j1.cnt EXPRESSION [(src1)x.null, (src)y.null, ] POSTHOOK: Lineage: dest_j1.key EXPRESSION [(src1)x.FieldSchema(name:key, type:string, comment:default), ] -PREHOOK: query: select * from dest_j1 x order by x.key +PREHOOK: query: select * from dest_j1 PREHOOK: type: QUERY PREHOOK: Input: default@dest_j1 #### A masked pattern was here #### -POSTHOOK: query: select * from dest_j1 x order by x.key +POSTHOOK: query: select * from dest_j1 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest_j1 #### A masked pattern was here #### POSTHOOK: Lineage: dest_j1.cnt EXPRESSION [(src1)x.null, (src)y.null, ] POSTHOOK: Lineage: dest_j1.key EXPRESSION [(src1)x.FieldSchema(name:key, type:string, comment:default), ] -66 1 -98 2 128 3 146 2 150 1 @@ -133,3 +135,5 @@ POSTHOOK: Lineage: dest_j1.key EXPRESSION [(src1)x.FieldSchema(name:key, type:st 369 3 401 5 406 4 +66 1 +98 2 diff --git ql/src/test/results/clientpositive/join31.q.out ql/src/test/results/clientpositive/join31.q.out index 0005c87..d528feb 100644 --- ql/src/test/results/clientpositive/join31.q.out +++ ql/src/test/results/clientpositive/join31.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: CREATE TABLE dest_j1(key STRING, cnt INT) +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE dest_j1(key STRING, cnt INT) PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE dest_j1(key STRING, cnt INT) +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE dest_j1(key STRING, cnt INT) POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@dest_j1 PREHOOK: query: -- Since the inputs are small, it should be automatically converted to mapjoin @@ -297,11 +301,11 @@ POSTHOOK: Input: default@src1 POSTHOOK: Output: default@dest_j1 POSTHOOK: Lineage: dest_j1.cnt EXPRESSION [(src1)x.null, (src)y.null, ] POSTHOOK: Lineage: dest_j1.key SIMPLE [(src1)x.FieldSchema(name:key, type:string, comment:default), ] -PREHOOK: query: select * from dest_j1 x order by x.key +PREHOOK: query: select * from dest_j1 PREHOOK: type: QUERY PREHOOK: Input: default@dest_j1 #### A masked pattern was here #### -POSTHOOK: query: select * from dest_j1 x order by x.key +POSTHOOK: query: select * from dest_j1 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest_j1 #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/join32.q.out ql/src/test/results/clientpositive/join32.q.out index 7a9c173..0d7f7de 100644 --- ql/src/test/results/clientpositive/join32.q.out +++ ql/src/test/results/clientpositive/join32.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: CREATE TABLE dest_j1(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE dest_j1(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE dest_j1(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE dest_j1(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@dest_j1 PREHOOK: query: -- Since the inputs are small, it should be automatically converted to mapjoin @@ -400,11 +404,11 @@ POSTHOOK: Output: default@dest_j1 POSTHOOK: Lineage: dest_j1.key SIMPLE [(src1)x.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: dest_j1.val2 EXPRESSION [(src)y.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: dest_j1.value SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from dest_j1 x order by x.key +PREHOOK: query: select * from dest_j1 PREHOOK: type: QUERY PREHOOK: Input: default@dest_j1 #### A masked pattern was here #### -POSTHOOK: query: select * from dest_j1 x order by x.key +POSTHOOK: query: select * from dest_j1 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest_j1 #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/join32_lessSize.q.out ql/src/test/results/clientpositive/join32_lessSize.q.out index 0f1cf0c..e9fc9db 100644 --- ql/src/test/results/clientpositive/join32_lessSize.q.out +++ ql/src/test/results/clientpositive/join32_lessSize.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: CREATE TABLE dest_j1(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE dest_j1(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE dest_j1(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE dest_j1(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@dest_j1 PREHOOK: query: CREATE TABLE dest_j2(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE @@ -458,11 +462,11 @@ POSTHOOK: Output: default@dest_j1 POSTHOOK: Lineage: dest_j1.key SIMPLE [(src1)x.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: dest_j1.val2 EXPRESSION [(src)y.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: dest_j1.value SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from dest_j1 x order by x.value +PREHOOK: query: select * from dest_j1 PREHOOK: type: QUERY PREHOOK: Input: default@dest_j1 #### A masked pattern was here #### -POSTHOOK: query: select * from dest_j1 x order by x.value +POSTHOOK: query: select * from dest_j1 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest_j1 #### A masked pattern was here #### @@ -1579,11 +1583,11 @@ POSTHOOK: Lineage: dest_j1.val2 EXPRESSION [(src)y.FieldSchema(name:value, type: POSTHOOK: Lineage: dest_j1.val2 SIMPLE [(src)y.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: dest_j1.value SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: dest_j1.value SIMPLE [(src1)z.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from dest_j1 x order by x.value +PREHOOK: query: select * from dest_j1 PREHOOK: type: QUERY PREHOOK: Input: default@dest_j1 #### A masked pattern was here #### -POSTHOOK: query: select * from dest_j1 x order by x.value +POSTHOOK: query: select * from dest_j1 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest_j1 #### A masked pattern was here #### @@ -2159,11 +2163,11 @@ POSTHOOK: Lineage: dest_j1.value SIMPLE [(src1)z.FieldSchema(name:value, type:st POSTHOOK: Lineage: dest_j2.key SIMPLE [(src1)x.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: dest_j2.val2 SIMPLE [(src1)x.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: dest_j2.value SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from dest_j2 x order by x.value +PREHOOK: query: select * from dest_j2 PREHOOK: type: QUERY PREHOOK: Input: default@dest_j2 #### A masked pattern was here #### -POSTHOOK: query: select * from dest_j2 x order by x.value +POSTHOOK: query: select * from dest_j2 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest_j2 #### A masked pattern was here #### @@ -2758,11 +2762,11 @@ POSTHOOK: Lineage: dest_j2.val2 SIMPLE [(src1)x.FieldSchema(name:value, type:str POSTHOOK: Lineage: dest_j2.val2 SIMPLE [(src1)x.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: dest_j2.value SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: dest_j2.value SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from dest_j2 x order by x.value +PREHOOK: query: select * from dest_j2 PREHOOK: type: QUERY PREHOOK: Input: default@dest_j2 #### A masked pattern was here #### -POSTHOOK: query: select * from dest_j2 x order by x.value +POSTHOOK: query: select * from dest_j2 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest_j2 #### A masked pattern was here #### @@ -2778,16 +2782,23 @@ POSTHOOK: Lineage: dest_j2.val2 SIMPLE [(src1)x.FieldSchema(name:value, type:str POSTHOOK: Lineage: dest_j2.val2 SIMPLE [(src1)x.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: dest_j2.value SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: dest_j2.value SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ] -146 val_146 val_146 -146 val_146 val_146 -146 val_146 val_146 -146 val_146 val_146 -150 val_150 val_150 val_165 val_165 val_165 val_165 val_193 val_193 val_193 val_193 val_193 val_193 + val_265 val_265 + val_265 val_265 + val_27 val_27 + val_409 val_409 + val_409 val_409 + val_409 val_409 + val_484 val_484 +146 val_146 val_146 +146 val_146 val_146 +146 val_146 val_146 +146 val_146 val_146 +150 val_150 val_150 213 val_213 val_213 213 val_213 val_213 213 val_213 val_213 @@ -2800,9 +2811,6 @@ POSTHOOK: Lineage: dest_j2.value SIMPLE [(srcpart)z.FieldSchema(name:value, type 255 val_255 val_255 255 val_255 val_255 255 val_255 val_255 - val_265 val_265 - val_265 val_265 - val_27 val_27 273 val_273 val_273 273 val_273 val_273 273 val_273 val_273 @@ -2866,10 +2874,6 @@ POSTHOOK: Lineage: dest_j2.value SIMPLE [(srcpart)z.FieldSchema(name:value, type 406 val_406 val_406 406 val_406 val_406 406 val_406 val_406 - val_409 val_409 - val_409 val_409 - val_409 val_409 - val_484 val_484 66 val_66 val_66 98 val_98 val_98 98 val_98 val_98 @@ -3032,11 +3036,11 @@ POSTHOOK: Lineage: dest_j2.val2 SIMPLE [(src1)x.FieldSchema(name:value, type:str POSTHOOK: Lineage: dest_j2.value SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: dest_j2.value SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: dest_j2.value SIMPLE [(srcpart)x.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from dest_j2 x order by x.value +PREHOOK: query: select * from dest_j2 PREHOOK: type: QUERY PREHOOK: Input: default@dest_j2 #### A masked pattern was here #### -POSTHOOK: query: select * from dest_j2 x order by x.value +POSTHOOK: query: select * from dest_j2 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest_j2 #### A masked pattern was here #### @@ -3303,11 +3307,11 @@ POSTHOOK: Lineage: dest_j2.value SIMPLE [(srcpart)z.FieldSchema(name:value, type POSTHOOK: Lineage: dest_j2.value SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: dest_j2.value SIMPLE [(srcpart)x.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: dest_j2.value SIMPLE [(srcpart)y.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from dest_j2 x order by x.value +PREHOOK: query: select * from dest_j2 PREHOOK: type: QUERY PREHOOK: Input: default@dest_j2 #### A masked pattern was here #### -POSTHOOK: query: select * from dest_j2 x order by x.value +POSTHOOK: query: select * from dest_j2 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest_j2 #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/join33.q.out ql/src/test/results/clientpositive/join33.q.out index 7a9c173..0d7f7de 100644 --- ql/src/test/results/clientpositive/join33.q.out +++ ql/src/test/results/clientpositive/join33.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: CREATE TABLE dest_j1(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE dest_j1(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE dest_j1(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE dest_j1(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@dest_j1 PREHOOK: query: -- Since the inputs are small, it should be automatically converted to mapjoin @@ -400,11 +404,11 @@ POSTHOOK: Output: default@dest_j1 POSTHOOK: Lineage: dest_j1.key SIMPLE [(src1)x.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: dest_j1.val2 EXPRESSION [(src)y.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: dest_j1.value SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from dest_j1 x order by x.key +PREHOOK: query: select * from dest_j1 PREHOOK: type: QUERY PREHOOK: Input: default@dest_j1 #### A masked pattern was here #### -POSTHOOK: query: select * from dest_j1 x order by x.key +POSTHOOK: query: select * from dest_j1 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest_j1 #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/join34.q.out ql/src/test/results/clientpositive/join34.q.out index af04fbd..458c32f 100644 --- ql/src/test/results/clientpositive/join34.q.out +++ ql/src/test/results/clientpositive/join34.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: CREATE TABLE dest_j1(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE dest_j1(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE dest_j1(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE dest_j1(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@dest_j1 PREHOOK: query: -- Since the inputs are small, it should be automatically converted to mapjoin @@ -404,11 +408,11 @@ POSTHOOK: Output: default@dest_j1 POSTHOOK: Lineage: dest_j1.key SIMPLE [(src1)x.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: dest_j1.val2 EXPRESSION [(src)x.FieldSchema(name:value, type:string, comment:default), (src)x1.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: dest_j1.value SIMPLE [(src1)x.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from dest_j1 x order by x.key +PREHOOK: query: select * from dest_j1 PREHOOK: type: QUERY PREHOOK: Input: default@dest_j1 #### A masked pattern was here #### -POSTHOOK: query: select * from dest_j1 x order by x.key +POSTHOOK: query: select * from dest_j1 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest_j1 #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/join35.q.out ql/src/test/results/clientpositive/join35.q.out index 400e858..cfcc95d 100644 --- ql/src/test/results/clientpositive/join35.q.out +++ ql/src/test/results/clientpositive/join35.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: CREATE TABLE dest_j1(key STRING, value STRING, val2 INT) STORED AS TEXTFILE +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE dest_j1(key STRING, value STRING, val2 INT) STORED AS TEXTFILE PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE dest_j1(key STRING, value STRING, val2 INT) STORED AS TEXTFILE +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE dest_j1(key STRING, value STRING, val2 INT) STORED AS TEXTFILE POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@dest_j1 PREHOOK: query: -- Since the inputs are small, it should be automatically converted to mapjoin @@ -933,11 +937,11 @@ POSTHOOK: Output: default@dest_j1 POSTHOOK: Lineage: dest_j1.key SIMPLE [(src1)x.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: dest_j1.val2 EXPRESSION [(src)x.null, (src)x1.null, ] POSTHOOK: Lineage: dest_j1.value SIMPLE [(src1)x.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from dest_j1 x order by x.key +PREHOOK: query: select * from dest_j1 PREHOOK: type: QUERY PREHOOK: Input: default@dest_j1 #### A masked pattern was here #### -POSTHOOK: query: select * from dest_j1 x order by x.key +POSTHOOK: query: select * from dest_j1 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest_j1 #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/join36.q.out ql/src/test/results/clientpositive/join36.q.out index 7bf7e44..22c5223 100644 --- ql/src/test/results/clientpositive/join36.q.out +++ ql/src/test/results/clientpositive/join36.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: CREATE TABLE tmp1(key INT, cnt INT) +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE tmp1(key INT, cnt INT) PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE tmp1(key INT, cnt INT) +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE tmp1(key INT, cnt INT) POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@tmp1 PREHOOK: query: CREATE TABLE tmp2(key INT, cnt INT) @@ -178,11 +182,11 @@ POSTHOOK: Lineage: tmp1.cnt EXPRESSION [(src)src.null, ] POSTHOOK: Lineage: tmp1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: tmp2.cnt EXPRESSION [(src)src.null, ] POSTHOOK: Lineage: tmp2.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] -PREHOOK: query: select * from dest_j1 x order by x.key +PREHOOK: query: select * from dest_j1 PREHOOK: type: QUERY PREHOOK: Input: default@dest_j1 #### A masked pattern was here #### -POSTHOOK: query: select * from dest_j1 x order by x.key +POSTHOOK: query: select * from dest_j1 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest_j1 #### A masked pattern was here #### @@ -194,72 +198,19 @@ POSTHOOK: Lineage: tmp1.key EXPRESSION [(src)src.FieldSchema(name:key, type:stri POSTHOOK: Lineage: tmp2.cnt EXPRESSION [(src)src.null, ] POSTHOOK: Lineage: tmp2.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] 0 3 3 -2 1 1 -4 1 1 -5 3 3 -8 1 1 -9 1 1 10 1 1 -11 1 1 -12 2 2 -15 2 2 -17 1 1 -18 2 2 -19 1 1 -20 1 1 -24 2 2 -26 2 2 -27 1 1 -28 1 1 -30 1 1 -33 1 1 -34 1 1 -35 3 3 -37 2 2 -41 1 1 -42 2 2 -43 1 1 -44 1 1 -47 1 1 -51 2 2 -53 1 1 -54 1 1 -57 1 1 -58 2 2 -64 1 1 -65 1 1 -66 1 1 -67 2 2 -69 1 1 -70 3 3 -72 2 2 -74 1 1 -76 2 2 -77 1 1 -78 1 1 -80 1 1 -82 1 1 -83 2 2 -84 2 2 -85 1 1 -86 1 1 -87 1 1 -90 3 3 -92 1 1 -95 2 2 -96 1 1 -97 2 2 -98 2 2 100 2 2 103 2 2 104 2 2 105 1 1 +11 1 1 111 1 1 113 2 2 114 1 1 116 1 1 118 2 2 119 3 3 +12 2 2 120 2 2 125 2 2 126 1 1 @@ -275,6 +226,7 @@ POSTHOOK: Lineage: tmp2.key EXPRESSION [(src)src.FieldSchema(name:key, type:stri 145 1 1 146 2 2 149 2 2 +15 2 2 150 1 1 152 2 2 153 1 1 @@ -291,6 +243,7 @@ POSTHOOK: Lineage: tmp2.key EXPRESSION [(src)src.FieldSchema(name:key, type:stri 167 3 3 168 1 1 169 4 4 +17 1 1 170 1 1 172 2 2 174 2 2 @@ -299,12 +252,14 @@ POSTHOOK: Lineage: tmp2.key EXPRESSION [(src)src.FieldSchema(name:key, type:stri 177 1 1 178 1 1 179 2 2 +18 2 2 180 1 1 181 1 1 183 1 1 186 1 1 187 3 3 189 1 1 +19 1 1 190 1 1 191 2 2 192 1 1 @@ -314,6 +269,8 @@ POSTHOOK: Lineage: tmp2.key EXPRESSION [(src)src.FieldSchema(name:key, type:stri 196 1 1 197 2 2 199 3 3 +2 1 1 +20 1 1 200 2 2 201 1 1 202 1 1 @@ -341,6 +298,7 @@ POSTHOOK: Lineage: tmp2.key EXPRESSION [(src)src.FieldSchema(name:key, type:stri 237 2 2 238 2 2 239 2 2 +24 2 2 241 1 1 242 2 2 244 1 1 @@ -352,17 +310,20 @@ POSTHOOK: Lineage: tmp2.key EXPRESSION [(src)src.FieldSchema(name:key, type:stri 256 2 2 257 1 1 258 1 1 +26 2 2 260 1 1 262 1 1 263 1 1 265 2 2 266 1 1 +27 1 1 272 2 2 273 3 3 274 1 1 275 1 1 277 4 4 278 2 2 +28 1 1 280 2 2 281 2 2 282 2 2 @@ -377,6 +338,7 @@ POSTHOOK: Lineage: tmp2.key EXPRESSION [(src)src.FieldSchema(name:key, type:stri 292 1 1 296 1 1 298 3 3 +30 1 1 302 1 1 305 1 1 306 1 1 @@ -394,6 +356,7 @@ POSTHOOK: Lineage: tmp2.key EXPRESSION [(src)src.FieldSchema(name:key, type:stri 323 1 1 325 2 2 327 3 3 +33 1 1 331 2 2 332 1 1 333 2 2 @@ -401,11 +364,13 @@ POSTHOOK: Lineage: tmp2.key EXPRESSION [(src)src.FieldSchema(name:key, type:stri 336 1 1 338 1 1 339 1 1 +34 1 1 341 1 1 342 2 2 344 2 2 345 1 1 348 5 5 +35 3 3 351 1 1 353 2 2 356 1 1 @@ -417,6 +382,7 @@ POSTHOOK: Lineage: tmp2.key EXPRESSION [(src)src.FieldSchema(name:key, type:stri 367 2 2 368 1 1 369 3 3 +37 2 2 373 1 1 374 1 1 375 1 1 @@ -434,6 +400,7 @@ POSTHOOK: Lineage: tmp2.key EXPRESSION [(src)src.FieldSchema(name:key, type:stri 396 3 3 397 2 2 399 2 2 +4 1 1 400 1 1 401 5 5 402 1 1 @@ -442,16 +409,19 @@ POSTHOOK: Lineage: tmp2.key EXPRESSION [(src)src.FieldSchema(name:key, type:stri 406 4 4 407 1 1 409 3 3 +41 1 1 411 1 1 413 2 2 414 2 2 417 3 3 418 1 1 419 1 1 +42 2 2 421 1 1 424 2 2 427 1 1 429 2 2 +43 1 1 430 3 3 431 3 3 432 1 1 @@ -460,6 +430,7 @@ POSTHOOK: Lineage: tmp2.key EXPRESSION [(src)src.FieldSchema(name:key, type:stri 437 1 1 438 3 3 439 2 2 +44 1 1 443 1 1 444 1 1 446 1 1 @@ -479,6 +450,7 @@ POSTHOOK: Lineage: tmp2.key EXPRESSION [(src)src.FieldSchema(name:key, type:stri 467 1 1 468 4 4 469 5 5 +47 1 1 470 1 1 472 1 1 475 1 1 @@ -502,3 +474,35 @@ POSTHOOK: Lineage: tmp2.key EXPRESSION [(src)src.FieldSchema(name:key, type:stri 496 1 1 497 1 1 498 3 3 +5 3 3 +51 2 2 +53 1 1 +54 1 1 +57 1 1 +58 2 2 +64 1 1 +65 1 1 +66 1 1 +67 2 2 +69 1 1 +70 3 3 +72 2 2 +74 1 1 +76 2 2 +77 1 1 +78 1 1 +8 1 1 +80 1 1 +82 1 1 +83 2 2 +84 2 2 +85 1 1 +86 1 1 +87 1 1 +9 1 1 +90 3 3 +92 1 1 +95 2 2 +96 1 1 +97 2 2 +98 2 2 diff --git ql/src/test/results/clientpositive/join37.q.out ql/src/test/results/clientpositive/join37.q.out index 900054e..d165cdf 100644 --- ql/src/test/results/clientpositive/join37.q.out +++ ql/src/test/results/clientpositive/join37.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: CREATE TABLE dest_j1(key INT, value STRING, val2 STRING) STORED AS TEXTFILE +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE dest_j1(key INT, value STRING, val2 STRING) STORED AS TEXTFILE PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE dest_j1(key INT, value STRING, val2 STRING) STORED AS TEXTFILE +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE dest_j1(key INT, value STRING, val2 STRING) STORED AS TEXTFILE POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@dest_j1 PREHOOK: query: EXPLAIN @@ -134,20 +138,17 @@ POSTHOOK: Output: default@dest_j1 POSTHOOK: Lineage: dest_j1.key EXPRESSION [(src1)x.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: dest_j1.val2 SIMPLE [(src)y.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: dest_j1.value SIMPLE [(src1)x.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from dest_j1 x order by x.key +PREHOOK: query: select * from dest_j1 PREHOOK: type: QUERY PREHOOK: Input: default@dest_j1 #### A masked pattern was here #### -POSTHOOK: query: select * from dest_j1 x order by x.key +POSTHOOK: query: select * from dest_j1 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest_j1 #### A masked pattern was here #### POSTHOOK: Lineage: dest_j1.key EXPRESSION [(src1)x.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: dest_j1.val2 SIMPLE [(src)y.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: dest_j1.value SIMPLE [(src1)x.FieldSchema(name:value, type:string, comment:default), ] -66 val_66 val_66 -98 val_98 val_98 -98 val_98 val_98 128 val_128 128 val_128 128 val_128 @@ -182,3 +183,6 @@ POSTHOOK: Lineage: dest_j1.value SIMPLE [(src1)x.FieldSchema(name:value, type:st 406 val_406 val_406 406 val_406 val_406 406 val_406 val_406 +66 val_66 val_66 +98 val_98 val_98 +98 val_98 val_98 diff --git ql/src/test/results/clientpositive/join39.q.out ql/src/test/results/clientpositive/join39.q.out index 50e963d..61c75f5 100644 --- ql/src/test/results/clientpositive/join39.q.out +++ ql/src/test/results/clientpositive/join39.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: CREATE TABLE dest_j1(key STRING, value STRING, key1 string, val2 STRING) STORED AS TEXTFILE +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE dest_j1(key STRING, value STRING, key1 string, val2 STRING) STORED AS TEXTFILE PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE dest_j1(key STRING, value STRING, key1 string, val2 STRING) STORED AS TEXTFILE +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE dest_j1(key STRING, value STRING, key1 string, val2 STRING) STORED AS TEXTFILE POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@dest_j1 PREHOOK: query: explain @@ -151,11 +155,11 @@ POSTHOOK: Lineage: dest_j1.key SIMPLE [(src)x.FieldSchema(name:key, type:string, POSTHOOK: Lineage: dest_j1.key1 SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: dest_j1.val2 SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: dest_j1.value SIMPLE [(src)x.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from dest_j1 x order by x.key +PREHOOK: query: select * from dest_j1 PREHOOK: type: QUERY PREHOOK: Input: default@dest_j1 #### A masked pattern was here #### -POSTHOOK: query: select * from dest_j1 x order by x.key +POSTHOOK: query: select * from dest_j1 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest_j1 #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/join_1to1.q.out ql/src/test/results/clientpositive/join_1to1.q.out index 08d8482..29ddf39 100644 --- ql/src/test/results/clientpositive/join_1to1.q.out +++ ql/src/test/results/clientpositive/join_1to1.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: CREATE TABLE join_1to1_1(key1 int, key2 int, value int) +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE join_1to1_1(key1 int, key2 int, value int) PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE join_1to1_1(key1 int, key2 int, value int) +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE join_1to1_1(key1 int, key2 int, value int) POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@join_1to1_1 PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/in5.txt' INTO TABLE join_1to1_1 @@ -20,17 +24,16 @@ PREHOOK: Output: default@join_1to1_2 POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/in6.txt' INTO TABLE join_1to1_2 POSTHOOK: type: LOAD POSTHOOK: Output: default@join_1to1_2 -PREHOOK: query: SELECT * FROM join_1to1_1 a join join_1to1_2 b on a.key1 = b.key1 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +PREHOOK: query: SELECT * FROM join_1to1_1 a join join_1to1_2 b on a.key1 = b.key1 PREHOOK: type: QUERY PREHOOK: Input: default@join_1to1_1 PREHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM join_1to1_1 a join join_1to1_2 b on a.key1 = b.key1 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +POSTHOOK: query: SELECT * FROM join_1to1_1 a join join_1to1_2 b on a.key1 = b.key1 POSTHOOK: type: QUERY POSTHOOK: Input: default@join_1to1_1 POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -5 10005 66 5 10005 66 20 10020 66 20 10020 66 25 10025 88 25 10025 66 30 10030 66 30 10030 88 @@ -39,6 +42,7 @@ POSTHOOK: Input: default@join_1to1_2 40 10040 66 40 10040 88 40 10040 88 40 10040 66 40 10040 88 40 10040 88 +5 10005 66 5 10005 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 50 10050 88 @@ -60,22 +64,16 @@ POSTHOOK: Input: default@join_1to1_2 80 10040 88 80 10040 66 80 10040 88 80 10040 66 80 10040 88 80 10040 66 -PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 PREHOOK: type: QUERY PREHOOK: Input: default@join_1to1_1 PREHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 POSTHOOK: type: QUERY POSTHOOK: Input: default@join_1to1_1 POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -NULL NULL NULL NULL NULL 66 -NULL NULL NULL NULL 10050 66 -NULL NULL NULL 10 10010 66 -NULL NULL 66 NULL NULL NULL -NULL 10050 66 NULL NULL NULL -5 10005 66 5 10005 66 15 10015 66 NULL NULL NULL 20 10020 66 20 10020 66 25 10025 88 25 10025 66 @@ -85,6 +83,7 @@ NULL 10050 66 NULL NULL NULL 40 10040 66 40 10040 88 40 10040 88 40 10040 66 40 10040 88 40 10040 88 +5 10005 66 5 10005 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 50 10050 88 @@ -106,29 +105,26 @@ NULL 10050 66 NULL NULL NULL 80 10040 88 80 10040 66 80 10040 88 80 10040 66 80 10040 88 80 10040 66 -PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.value = 66 and b.value = 66 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +NULL 10050 66 NULL NULL NULL +NULL NULL 66 NULL NULL NULL +NULL NULL NULL 10 10010 66 +NULL NULL NULL NULL 10050 66 +NULL NULL NULL NULL NULL 66 +PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.value = 66 and b.value = 66 PREHOOK: type: QUERY PREHOOK: Input: default@join_1to1_1 PREHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.value = 66 and b.value = 66 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.value = 66 and b.value = 66 POSTHOOK: type: QUERY POSTHOOK: Input: default@join_1to1_1 POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -NULL NULL NULL NULL NULL 66 -NULL NULL NULL NULL 10050 66 -NULL NULL NULL 10 10010 66 -NULL NULL NULL 25 10025 66 -NULL NULL NULL 80 10040 66 -NULL NULL NULL 80 10040 66 -NULL NULL 66 NULL NULL NULL -NULL 10050 66 NULL NULL NULL -5 10005 66 5 10005 66 15 10015 66 NULL NULL NULL 20 10020 66 20 10020 66 30 10030 66 NULL NULL NULL 40 10040 66 40 10040 66 +5 10005 66 5 10005 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 60 10040 66 60 10040 66 @@ -137,22 +133,24 @@ NULL 10050 66 NULL NULL NULL 60 10040 66 60 10040 66 70 10040 66 NULL NULL NULL 70 10040 66 NULL NULL NULL -PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +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 80 10040 66 +NULL NULL NULL 80 10040 66 +NULL NULL NULL NULL 10050 66 +NULL NULL NULL NULL NULL 66 +PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 PREHOOK: type: QUERY PREHOOK: Input: default@join_1to1_1 PREHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 POSTHOOK: type: QUERY POSTHOOK: Input: default@join_1to1_1 POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -NULL NULL NULL NULL NULL 66 -NULL NULL NULL NULL 10050 66 -NULL NULL NULL 10 10010 66 -NULL NULL 66 NULL NULL NULL -NULL 10050 66 NULL NULL NULL -5 10005 66 5 10005 66 15 10015 66 NULL NULL NULL 20 10020 66 20 10020 66 25 10025 88 25 10025 66 @@ -162,6 +160,7 @@ NULL 10050 66 NULL NULL NULL 40 10040 66 40 10040 88 40 10040 88 40 10040 66 40 10040 88 40 10040 88 +5 10005 66 5 10005 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 50 10050 88 @@ -183,29 +182,26 @@ NULL 10050 66 NULL NULL NULL 80 10040 88 80 10040 66 80 10040 88 80 10040 66 80 10040 88 80 10040 66 -PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 and a.value = 66 and b.value = 66 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +NULL 10050 66 NULL NULL NULL +NULL NULL 66 NULL NULL NULL +NULL NULL NULL 10 10010 66 +NULL NULL NULL NULL 10050 66 +NULL NULL NULL NULL NULL 66 +PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 and a.value = 66 and b.value = 66 PREHOOK: type: QUERY PREHOOK: Input: default@join_1to1_1 PREHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 and a.value = 66 and b.value = 66 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 and a.value = 66 and b.value = 66 POSTHOOK: type: QUERY POSTHOOK: Input: default@join_1to1_1 POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -NULL NULL NULL NULL NULL 66 -NULL NULL NULL NULL 10050 66 -NULL NULL NULL 10 10010 66 -NULL NULL NULL 25 10025 66 -NULL NULL NULL 80 10040 66 -NULL NULL NULL 80 10040 66 -NULL NULL 66 NULL NULL NULL -NULL 10050 66 NULL NULL NULL -5 10005 66 5 10005 66 15 10015 66 NULL NULL NULL 20 10020 66 20 10020 66 30 10030 66 NULL NULL NULL 40 10040 66 40 10040 66 +5 10005 66 5 10005 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 60 10040 66 60 10040 66 @@ -214,17 +210,24 @@ NULL 10050 66 NULL NULL NULL 60 10040 66 60 10040 66 70 10040 66 NULL NULL NULL 70 10040 66 NULL NULL NULL -PREHOOK: query: SELECT * FROM join_1to1_1 a join join_1to1_2 b on a.key1 = b.key1 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +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 80 10040 66 +NULL NULL NULL 80 10040 66 +NULL NULL NULL NULL 10050 66 +NULL NULL NULL NULL NULL 66 +PREHOOK: query: SELECT * FROM join_1to1_1 a join join_1to1_2 b on a.key1 = b.key1 PREHOOK: type: QUERY PREHOOK: Input: default@join_1to1_1 PREHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM join_1to1_1 a join join_1to1_2 b on a.key1 = b.key1 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +POSTHOOK: query: SELECT * FROM join_1to1_1 a join join_1to1_2 b on a.key1 = b.key1 POSTHOOK: type: QUERY POSTHOOK: Input: default@join_1to1_1 POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -5 10005 66 5 10005 66 20 10020 66 20 10020 66 25 10025 88 25 10025 66 30 10030 66 30 10030 88 @@ -233,6 +236,7 @@ POSTHOOK: Input: default@join_1to1_2 40 10040 66 40 10040 88 40 10040 88 40 10040 66 40 10040 88 40 10040 88 +5 10005 66 5 10005 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 50 10050 88 @@ -254,22 +258,16 @@ POSTHOOK: Input: default@join_1to1_2 80 10040 88 80 10040 66 80 10040 88 80 10040 66 80 10040 88 80 10040 66 -PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 PREHOOK: type: QUERY PREHOOK: Input: default@join_1to1_1 PREHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 POSTHOOK: type: QUERY POSTHOOK: Input: default@join_1to1_1 POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -NULL NULL NULL NULL NULL 66 -NULL NULL NULL NULL 10050 66 -NULL NULL NULL 10 10010 66 -NULL NULL 66 NULL NULL NULL -NULL 10050 66 NULL NULL NULL -5 10005 66 5 10005 66 15 10015 66 NULL NULL NULL 20 10020 66 20 10020 66 25 10025 88 25 10025 66 @@ -279,6 +277,7 @@ NULL 10050 66 NULL NULL NULL 40 10040 66 40 10040 88 40 10040 88 40 10040 66 40 10040 88 40 10040 88 +5 10005 66 5 10005 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 50 10050 88 @@ -300,29 +299,26 @@ NULL 10050 66 NULL NULL NULL 80 10040 88 80 10040 66 80 10040 88 80 10040 66 80 10040 88 80 10040 66 -PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.value = 66 and b.value = 66 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +NULL 10050 66 NULL NULL NULL +NULL NULL 66 NULL NULL NULL +NULL NULL NULL 10 10010 66 +NULL NULL NULL NULL 10050 66 +NULL NULL NULL NULL NULL 66 +PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.value = 66 and b.value = 66 PREHOOK: type: QUERY PREHOOK: Input: default@join_1to1_1 PREHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.value = 66 and b.value = 66 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.value = 66 and b.value = 66 POSTHOOK: type: QUERY POSTHOOK: Input: default@join_1to1_1 POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -NULL NULL NULL NULL NULL 66 -NULL NULL NULL NULL 10050 66 -NULL NULL NULL 10 10010 66 -NULL NULL NULL 25 10025 66 -NULL NULL NULL 80 10040 66 -NULL NULL NULL 80 10040 66 -NULL NULL 66 NULL NULL NULL -NULL 10050 66 NULL NULL NULL -5 10005 66 5 10005 66 15 10015 66 NULL NULL NULL 20 10020 66 20 10020 66 30 10030 66 NULL NULL NULL 40 10040 66 40 10040 66 +5 10005 66 5 10005 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 60 10040 66 60 10040 66 @@ -331,22 +327,24 @@ NULL 10050 66 NULL NULL NULL 60 10040 66 60 10040 66 70 10040 66 NULL NULL NULL 70 10040 66 NULL NULL NULL -PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +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 80 10040 66 +NULL NULL NULL 80 10040 66 +NULL NULL NULL NULL 10050 66 +NULL NULL NULL NULL NULL 66 +PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 PREHOOK: type: QUERY PREHOOK: Input: default@join_1to1_1 PREHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 POSTHOOK: type: QUERY POSTHOOK: Input: default@join_1to1_1 POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -NULL NULL NULL NULL NULL 66 -NULL NULL NULL NULL 10050 66 -NULL NULL NULL 10 10010 66 -NULL NULL 66 NULL NULL NULL -NULL 10050 66 NULL NULL NULL -5 10005 66 5 10005 66 15 10015 66 NULL NULL NULL 20 10020 66 20 10020 66 25 10025 88 25 10025 66 @@ -356,6 +354,7 @@ NULL 10050 66 NULL NULL NULL 40 10040 66 40 10040 88 40 10040 88 40 10040 66 40 10040 88 40 10040 88 +5 10005 66 5 10005 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 50 10050 88 @@ -377,29 +376,26 @@ NULL 10050 66 NULL NULL NULL 80 10040 88 80 10040 66 80 10040 88 80 10040 66 80 10040 88 80 10040 66 -PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 and a.value = 66 and b.value = 66 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +NULL 10050 66 NULL NULL NULL +NULL NULL 66 NULL NULL NULL +NULL NULL NULL 10 10010 66 +NULL NULL NULL NULL 10050 66 +NULL NULL NULL NULL NULL 66 +PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 and a.value = 66 and b.value = 66 PREHOOK: type: QUERY PREHOOK: Input: default@join_1to1_1 PREHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 and a.value = 66 and b.value = 66 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 and a.value = 66 and b.value = 66 POSTHOOK: type: QUERY POSTHOOK: Input: default@join_1to1_1 POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -NULL NULL NULL NULL NULL 66 -NULL NULL NULL NULL 10050 66 -NULL NULL NULL 10 10010 66 -NULL NULL NULL 25 10025 66 -NULL NULL NULL 80 10040 66 -NULL NULL NULL 80 10040 66 -NULL NULL 66 NULL NULL NULL -NULL 10050 66 NULL NULL NULL -5 10005 66 5 10005 66 15 10015 66 NULL NULL NULL 20 10020 66 20 10020 66 30 10030 66 NULL NULL NULL 40 10040 66 40 10040 66 +5 10005 66 5 10005 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 60 10040 66 60 10040 66 @@ -408,17 +404,24 @@ NULL 10050 66 NULL NULL NULL 60 10040 66 60 10040 66 70 10040 66 NULL NULL NULL 70 10040 66 NULL NULL NULL -PREHOOK: query: SELECT * FROM join_1to1_1 a join join_1to1_2 b on a.key1 = b.key1 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +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 80 10040 66 +NULL NULL NULL 80 10040 66 +NULL NULL NULL NULL 10050 66 +NULL NULL NULL NULL NULL 66 +PREHOOK: query: SELECT * FROM join_1to1_1 a join join_1to1_2 b on a.key1 = b.key1 PREHOOK: type: QUERY PREHOOK: Input: default@join_1to1_1 PREHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM join_1to1_1 a join join_1to1_2 b on a.key1 = b.key1 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +POSTHOOK: query: SELECT * FROM join_1to1_1 a join join_1to1_2 b on a.key1 = b.key1 POSTHOOK: type: QUERY POSTHOOK: Input: default@join_1to1_1 POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -5 10005 66 5 10005 66 20 10020 66 20 10020 66 25 10025 88 25 10025 66 30 10030 66 30 10030 88 @@ -427,6 +430,7 @@ POSTHOOK: Input: default@join_1to1_2 40 10040 66 40 10040 88 40 10040 88 40 10040 66 40 10040 88 40 10040 88 +5 10005 66 5 10005 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 50 10050 88 @@ -448,22 +452,16 @@ POSTHOOK: Input: default@join_1to1_2 80 10040 88 80 10040 66 80 10040 88 80 10040 66 80 10040 88 80 10040 66 -PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 PREHOOK: type: QUERY PREHOOK: Input: default@join_1to1_1 PREHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 POSTHOOK: type: QUERY POSTHOOK: Input: default@join_1to1_1 POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -NULL NULL NULL NULL NULL 66 -NULL NULL NULL NULL 10050 66 -NULL NULL NULL 10 10010 66 -NULL NULL 66 NULL NULL NULL -NULL 10050 66 NULL NULL NULL -5 10005 66 5 10005 66 15 10015 66 NULL NULL NULL 20 10020 66 20 10020 66 25 10025 88 25 10025 66 @@ -473,6 +471,7 @@ NULL 10050 66 NULL NULL NULL 40 10040 66 40 10040 88 40 10040 88 40 10040 66 40 10040 88 40 10040 88 +5 10005 66 5 10005 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 50 10050 88 @@ -494,29 +493,26 @@ NULL 10050 66 NULL NULL NULL 80 10040 88 80 10040 66 80 10040 88 80 10040 66 80 10040 88 80 10040 66 -PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.value = 66 and b.value = 66 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +NULL 10050 66 NULL NULL NULL +NULL NULL 66 NULL NULL NULL +NULL NULL NULL 10 10010 66 +NULL NULL NULL NULL 10050 66 +NULL NULL NULL NULL NULL 66 +PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.value = 66 and b.value = 66 PREHOOK: type: QUERY PREHOOK: Input: default@join_1to1_1 PREHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.value = 66 and b.value = 66 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.value = 66 and b.value = 66 POSTHOOK: type: QUERY POSTHOOK: Input: default@join_1to1_1 POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -NULL NULL NULL NULL NULL 66 -NULL NULL NULL NULL 10050 66 -NULL NULL NULL 10 10010 66 -NULL NULL NULL 25 10025 66 -NULL NULL NULL 80 10040 66 -NULL NULL NULL 80 10040 66 -NULL NULL 66 NULL NULL NULL -NULL 10050 66 NULL NULL NULL -5 10005 66 5 10005 66 15 10015 66 NULL NULL NULL 20 10020 66 20 10020 66 30 10030 66 NULL NULL NULL 40 10040 66 40 10040 66 +5 10005 66 5 10005 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 60 10040 66 60 10040 66 @@ -525,22 +521,24 @@ NULL 10050 66 NULL NULL NULL 60 10040 66 60 10040 66 70 10040 66 NULL NULL NULL 70 10040 66 NULL NULL NULL -PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +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 80 10040 66 +NULL NULL NULL 80 10040 66 +NULL NULL NULL NULL 10050 66 +NULL NULL NULL NULL NULL 66 +PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 PREHOOK: type: QUERY PREHOOK: Input: default@join_1to1_1 PREHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 POSTHOOK: type: QUERY POSTHOOK: Input: default@join_1to1_1 POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -NULL NULL NULL NULL NULL 66 -NULL NULL NULL NULL 10050 66 -NULL NULL NULL 10 10010 66 -NULL NULL 66 NULL NULL NULL -NULL 10050 66 NULL NULL NULL -5 10005 66 5 10005 66 15 10015 66 NULL NULL NULL 20 10020 66 20 10020 66 25 10025 88 25 10025 66 @@ -550,6 +548,7 @@ NULL 10050 66 NULL NULL NULL 40 10040 66 40 10040 88 40 10040 88 40 10040 66 40 10040 88 40 10040 88 +5 10005 66 5 10005 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 50 10050 88 @@ -571,29 +570,26 @@ NULL 10050 66 NULL NULL NULL 80 10040 88 80 10040 66 80 10040 88 80 10040 66 80 10040 88 80 10040 66 -PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 and a.value = 66 and b.value = 66 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +NULL 10050 66 NULL NULL NULL +NULL NULL 66 NULL NULL NULL +NULL NULL NULL 10 10010 66 +NULL NULL NULL NULL 10050 66 +NULL NULL NULL NULL NULL 66 +PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 and a.value = 66 and b.value = 66 PREHOOK: type: QUERY PREHOOK: Input: default@join_1to1_1 PREHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 and a.value = 66 and b.value = 66 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 and a.value = 66 and b.value = 66 POSTHOOK: type: QUERY POSTHOOK: Input: default@join_1to1_1 POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -NULL NULL NULL NULL NULL 66 -NULL NULL NULL NULL 10050 66 -NULL NULL NULL 10 10010 66 -NULL NULL NULL 25 10025 66 -NULL NULL NULL 80 10040 66 -NULL NULL NULL 80 10040 66 -NULL NULL 66 NULL NULL NULL -NULL 10050 66 NULL NULL NULL -5 10005 66 5 10005 66 15 10015 66 NULL NULL NULL 20 10020 66 20 10020 66 30 10030 66 NULL NULL NULL 40 10040 66 40 10040 66 +5 10005 66 5 10005 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 60 10040 66 60 10040 66 @@ -602,17 +598,24 @@ NULL 10050 66 NULL NULL NULL 60 10040 66 60 10040 66 70 10040 66 NULL NULL NULL 70 10040 66 NULL NULL NULL -PREHOOK: query: SELECT * FROM join_1to1_1 a join join_1to1_2 b on a.key1 = b.key1 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +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 80 10040 66 +NULL NULL NULL 80 10040 66 +NULL NULL NULL NULL 10050 66 +NULL NULL NULL NULL NULL 66 +PREHOOK: query: SELECT * FROM join_1to1_1 a join join_1to1_2 b on a.key1 = b.key1 PREHOOK: type: QUERY PREHOOK: Input: default@join_1to1_1 PREHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM join_1to1_1 a join join_1to1_2 b on a.key1 = b.key1 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +POSTHOOK: query: SELECT * FROM join_1to1_1 a join join_1to1_2 b on a.key1 = b.key1 POSTHOOK: type: QUERY POSTHOOK: Input: default@join_1to1_1 POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -5 10005 66 5 10005 66 20 10020 66 20 10020 66 25 10025 88 25 10025 66 30 10030 66 30 10030 88 @@ -621,6 +624,7 @@ POSTHOOK: Input: default@join_1to1_2 40 10040 66 40 10040 88 40 10040 88 40 10040 66 40 10040 88 40 10040 88 +5 10005 66 5 10005 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 50 10050 88 @@ -642,22 +646,16 @@ POSTHOOK: Input: default@join_1to1_2 80 10040 88 80 10040 66 80 10040 88 80 10040 66 80 10040 88 80 10040 66 -PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 PREHOOK: type: QUERY PREHOOK: Input: default@join_1to1_1 PREHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 POSTHOOK: type: QUERY POSTHOOK: Input: default@join_1to1_1 POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -NULL NULL NULL NULL NULL 66 -NULL NULL NULL NULL 10050 66 -NULL NULL NULL 10 10010 66 -NULL NULL 66 NULL NULL NULL -NULL 10050 66 NULL NULL NULL -5 10005 66 5 10005 66 15 10015 66 NULL NULL NULL 20 10020 66 20 10020 66 25 10025 88 25 10025 66 @@ -667,6 +665,7 @@ NULL 10050 66 NULL NULL NULL 40 10040 66 40 10040 88 40 10040 88 40 10040 66 40 10040 88 40 10040 88 +5 10005 66 5 10005 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 50 10050 88 @@ -688,31 +687,21 @@ NULL 10050 66 NULL NULL NULL 80 10040 88 80 10040 66 80 10040 88 80 10040 66 80 10040 88 80 10040 66 -PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.value = 66 and b.value = 66 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +NULL 10050 66 NULL NULL NULL +NULL NULL 66 NULL NULL NULL +NULL NULL NULL 10 10010 66 +NULL NULL NULL NULL 10050 66 +NULL NULL NULL NULL NULL 66 +PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.value = 66 and b.value = 66 PREHOOK: type: QUERY PREHOOK: Input: default@join_1to1_1 PREHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.value = 66 and b.value = 66 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.value = 66 and b.value = 66 POSTHOOK: type: QUERY POSTHOOK: Input: default@join_1to1_1 POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -NULL NULL NULL NULL NULL 66 -NULL NULL NULL NULL 10050 66 -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 66 NULL NULL NULL -NULL 10050 66 NULL NULL NULL -5 10005 66 5 10005 66 15 10015 66 NULL NULL NULL 20 10020 66 20 10020 66 25 10025 88 NULL NULL NULL @@ -720,6 +709,7 @@ NULL 10050 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 @@ -732,22 +722,30 @@ NULL 10050 66 NULL NULL NULL 70 10040 66 NULL NULL NULL 80 10040 88 NULL NULL NULL 80 10040 88 NULL NULL NULL -PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +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 +NULL NULL NULL NULL NULL 66 +PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 PREHOOK: type: QUERY PREHOOK: Input: default@join_1to1_1 PREHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 POSTHOOK: type: QUERY POSTHOOK: Input: default@join_1to1_1 POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -NULL NULL NULL NULL NULL 66 -NULL NULL NULL NULL 10050 66 -NULL NULL NULL 10 10010 66 -NULL NULL 66 NULL NULL NULL -NULL 10050 66 NULL NULL NULL -5 10005 66 5 10005 66 15 10015 66 NULL NULL NULL 20 10020 66 20 10020 66 25 10025 88 25 10025 66 @@ -757,6 +755,7 @@ NULL 10050 66 NULL NULL NULL 40 10040 66 40 10040 88 40 10040 88 40 10040 66 40 10040 88 40 10040 88 +5 10005 66 5 10005 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 50 10050 88 @@ -778,31 +777,21 @@ NULL 10050 66 NULL NULL NULL 80 10040 88 80 10040 66 80 10040 88 80 10040 66 80 10040 88 80 10040 66 -PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 and a.value = 66 and b.value = 66 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +NULL 10050 66 NULL NULL NULL +NULL NULL 66 NULL NULL NULL +NULL NULL NULL 10 10010 66 +NULL NULL NULL NULL 10050 66 +NULL NULL NULL NULL NULL 66 +PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 and a.value = 66 and b.value = 66 PREHOOK: type: QUERY PREHOOK: Input: default@join_1to1_1 PREHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 and a.value = 66 and b.value = 66 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 and a.value = 66 and b.value = 66 POSTHOOK: type: QUERY POSTHOOK: Input: default@join_1to1_1 POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -NULL NULL NULL NULL NULL 66 -NULL NULL NULL NULL 10050 66 -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 66 NULL NULL NULL -NULL 10050 66 NULL NULL NULL -5 10005 66 5 10005 66 15 10015 66 NULL NULL NULL 20 10020 66 20 10020 66 25 10025 88 NULL NULL NULL @@ -810,6 +799,7 @@ NULL 10050 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 @@ -822,17 +812,30 @@ NULL 10050 66 NULL NULL NULL 70 10040 66 NULL NULL NULL 80 10040 88 NULL NULL NULL 80 10040 88 NULL NULL NULL -PREHOOK: query: SELECT * FROM join_1to1_1 a join join_1to1_2 b on a.key1 = b.key1 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +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 +NULL NULL NULL NULL NULL 66 +PREHOOK: query: SELECT * FROM join_1to1_1 a join join_1to1_2 b on a.key1 = b.key1 PREHOOK: type: QUERY PREHOOK: Input: default@join_1to1_1 PREHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM join_1to1_1 a join join_1to1_2 b on a.key1 = b.key1 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +POSTHOOK: query: SELECT * FROM join_1to1_1 a join join_1to1_2 b on a.key1 = b.key1 POSTHOOK: type: QUERY POSTHOOK: Input: default@join_1to1_1 POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -5 10005 66 5 10005 66 20 10020 66 20 10020 66 25 10025 88 25 10025 66 30 10030 66 30 10030 88 @@ -841,6 +844,7 @@ POSTHOOK: Input: default@join_1to1_2 40 10040 66 40 10040 88 40 10040 88 40 10040 66 40 10040 88 40 10040 88 +5 10005 66 5 10005 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 50 10050 88 @@ -862,22 +866,16 @@ POSTHOOK: Input: default@join_1to1_2 80 10040 88 80 10040 66 80 10040 88 80 10040 66 80 10040 88 80 10040 66 -PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 PREHOOK: type: QUERY PREHOOK: Input: default@join_1to1_1 PREHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 POSTHOOK: type: QUERY POSTHOOK: Input: default@join_1to1_1 POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -NULL NULL NULL NULL NULL 66 -NULL NULL NULL NULL 10050 66 -NULL NULL NULL 10 10010 66 -NULL NULL 66 NULL NULL NULL -NULL 10050 66 NULL NULL NULL -5 10005 66 5 10005 66 15 10015 66 NULL NULL NULL 20 10020 66 20 10020 66 25 10025 88 25 10025 66 @@ -887,6 +885,7 @@ NULL 10050 66 NULL NULL NULL 40 10040 66 40 10040 88 40 10040 88 40 10040 66 40 10040 88 40 10040 88 +5 10005 66 5 10005 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 50 10050 88 @@ -908,31 +907,21 @@ NULL 10050 66 NULL NULL NULL 80 10040 88 80 10040 66 80 10040 88 80 10040 66 80 10040 88 80 10040 66 -PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.value = 66 and b.value = 66 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +NULL 10050 66 NULL NULL NULL +NULL NULL 66 NULL NULL NULL +NULL NULL NULL 10 10010 66 +NULL NULL NULL NULL 10050 66 +NULL NULL NULL NULL NULL 66 +PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.value = 66 and b.value = 66 PREHOOK: type: QUERY PREHOOK: Input: default@join_1to1_1 PREHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.value = 66 and b.value = 66 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.value = 66 and b.value = 66 POSTHOOK: type: QUERY POSTHOOK: Input: default@join_1to1_1 POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -NULL NULL NULL NULL NULL 66 -NULL NULL NULL NULL 10050 66 -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 66 NULL NULL NULL -NULL 10050 66 NULL NULL NULL -5 10005 66 5 10005 66 15 10015 66 NULL NULL NULL 20 10020 66 20 10020 66 25 10025 88 NULL NULL NULL @@ -940,6 +929,7 @@ NULL 10050 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 @@ -952,22 +942,30 @@ NULL 10050 66 NULL NULL NULL 70 10040 66 NULL NULL NULL 80 10040 88 NULL NULL NULL 80 10040 88 NULL NULL NULL -PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +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 +NULL NULL NULL NULL NULL 66 +PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 PREHOOK: type: QUERY PREHOOK: Input: default@join_1to1_1 PREHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 POSTHOOK: type: QUERY POSTHOOK: Input: default@join_1to1_1 POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -NULL NULL NULL NULL NULL 66 -NULL NULL NULL NULL 10050 66 -NULL NULL NULL 10 10010 66 -NULL NULL 66 NULL NULL NULL -NULL 10050 66 NULL NULL NULL -5 10005 66 5 10005 66 15 10015 66 NULL NULL NULL 20 10020 66 20 10020 66 25 10025 88 25 10025 66 @@ -977,6 +975,7 @@ NULL 10050 66 NULL NULL NULL 40 10040 66 40 10040 88 40 10040 88 40 10040 66 40 10040 88 40 10040 88 +5 10005 66 5 10005 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 50 10050 88 @@ -998,31 +997,21 @@ NULL 10050 66 NULL NULL NULL 80 10040 88 80 10040 66 80 10040 88 80 10040 66 80 10040 88 80 10040 66 -PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 and a.value = 66 and b.value = 66 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +NULL 10050 66 NULL NULL NULL +NULL NULL 66 NULL NULL NULL +NULL NULL NULL 10 10010 66 +NULL NULL NULL NULL 10050 66 +NULL NULL NULL NULL NULL 66 +PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 and a.value = 66 and b.value = 66 PREHOOK: type: QUERY PREHOOK: Input: default@join_1to1_1 PREHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 and a.value = 66 and b.value = 66 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 and a.value = 66 and b.value = 66 POSTHOOK: type: QUERY POSTHOOK: Input: default@join_1to1_1 POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -NULL NULL NULL NULL NULL 66 -NULL NULL NULL NULL 10050 66 -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 66 NULL NULL NULL -NULL 10050 66 NULL NULL NULL -5 10005 66 5 10005 66 15 10015 66 NULL NULL NULL 20 10020 66 20 10020 66 25 10025 88 NULL NULL NULL @@ -1030,6 +1019,7 @@ NULL 10050 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 @@ -1042,17 +1032,30 @@ NULL 10050 66 NULL NULL NULL 70 10040 66 NULL NULL NULL 80 10040 88 NULL NULL NULL 80 10040 88 NULL NULL NULL -PREHOOK: query: SELECT * FROM join_1to1_1 a join join_1to1_2 b on a.key1 = b.key1 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +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 +NULL NULL NULL NULL NULL 66 +PREHOOK: query: SELECT * FROM join_1to1_1 a join join_1to1_2 b on a.key1 = b.key1 PREHOOK: type: QUERY PREHOOK: Input: default@join_1to1_1 PREHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM join_1to1_1 a join join_1to1_2 b on a.key1 = b.key1 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +POSTHOOK: query: SELECT * FROM join_1to1_1 a join join_1to1_2 b on a.key1 = b.key1 POSTHOOK: type: QUERY POSTHOOK: Input: default@join_1to1_1 POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -5 10005 66 5 10005 66 20 10020 66 20 10020 66 25 10025 88 25 10025 66 30 10030 66 30 10030 88 @@ -1061,6 +1064,7 @@ POSTHOOK: Input: default@join_1to1_2 40 10040 66 40 10040 88 40 10040 88 40 10040 66 40 10040 88 40 10040 88 +5 10005 66 5 10005 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 50 10050 88 @@ -1082,22 +1086,16 @@ POSTHOOK: Input: default@join_1to1_2 80 10040 88 80 10040 66 80 10040 88 80 10040 66 80 10040 88 80 10040 66 -PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 PREHOOK: type: QUERY PREHOOK: Input: default@join_1to1_1 PREHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 POSTHOOK: type: QUERY POSTHOOK: Input: default@join_1to1_1 POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -NULL NULL NULL NULL NULL 66 -NULL NULL NULL NULL 10050 66 -NULL NULL NULL 10 10010 66 -NULL NULL 66 NULL NULL NULL -NULL 10050 66 NULL NULL NULL -5 10005 66 5 10005 66 15 10015 66 NULL NULL NULL 20 10020 66 20 10020 66 25 10025 88 25 10025 66 @@ -1107,6 +1105,7 @@ NULL 10050 66 NULL NULL NULL 40 10040 66 40 10040 88 40 10040 88 40 10040 66 40 10040 88 40 10040 88 +5 10005 66 5 10005 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 50 10050 88 @@ -1128,31 +1127,21 @@ NULL 10050 66 NULL NULL NULL 80 10040 88 80 10040 66 80 10040 88 80 10040 66 80 10040 88 80 10040 66 -PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.value = 66 and b.value = 66 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +NULL 10050 66 NULL NULL NULL +NULL NULL 66 NULL NULL NULL +NULL NULL NULL 10 10010 66 +NULL NULL NULL NULL 10050 66 +NULL NULL NULL NULL NULL 66 +PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.value = 66 and b.value = 66 PREHOOK: type: QUERY PREHOOK: Input: default@join_1to1_1 PREHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.value = 66 and b.value = 66 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.value = 66 and b.value = 66 POSTHOOK: type: QUERY POSTHOOK: Input: default@join_1to1_1 POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -NULL NULL NULL NULL NULL 66 -NULL NULL NULL NULL 10050 66 -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 66 NULL NULL NULL -NULL 10050 66 NULL NULL NULL -5 10005 66 5 10005 66 15 10015 66 NULL NULL NULL 20 10020 66 20 10020 66 25 10025 88 NULL NULL NULL @@ -1160,6 +1149,7 @@ NULL 10050 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 @@ -1172,22 +1162,30 @@ NULL 10050 66 NULL NULL NULL 70 10040 66 NULL NULL NULL 80 10040 88 NULL NULL NULL 80 10040 88 NULL NULL NULL -PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +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 +NULL NULL NULL NULL NULL 66 +PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 PREHOOK: type: QUERY PREHOOK: Input: default@join_1to1_1 PREHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 POSTHOOK: type: QUERY POSTHOOK: Input: default@join_1to1_1 POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -NULL NULL NULL NULL NULL 66 -NULL NULL NULL NULL 10050 66 -NULL NULL NULL 10 10010 66 -NULL NULL 66 NULL NULL NULL -NULL 10050 66 NULL NULL NULL -5 10005 66 5 10005 66 15 10015 66 NULL NULL NULL 20 10020 66 20 10020 66 25 10025 88 25 10025 66 @@ -1197,6 +1195,7 @@ NULL 10050 66 NULL NULL NULL 40 10040 66 40 10040 88 40 10040 88 40 10040 66 40 10040 88 40 10040 88 +5 10005 66 5 10005 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 50 10050 88 @@ -1218,31 +1217,21 @@ NULL 10050 66 NULL NULL NULL 80 10040 88 80 10040 66 80 10040 88 80 10040 66 80 10040 88 80 10040 66 -PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 and a.value = 66 and b.value = 66 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +NULL 10050 66 NULL NULL NULL +NULL NULL 66 NULL NULL NULL +NULL NULL NULL 10 10010 66 +NULL NULL NULL NULL 10050 66 +NULL NULL NULL NULL NULL 66 +PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 and a.value = 66 and b.value = 66 PREHOOK: type: QUERY PREHOOK: Input: default@join_1to1_1 PREHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 and a.value = 66 and b.value = 66 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC +POSTHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 and a.value = 66 and b.value = 66 POSTHOOK: type: QUERY POSTHOOK: Input: default@join_1to1_1 POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### -NULL NULL NULL NULL NULL 66 -NULL NULL NULL NULL 10050 66 -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 66 NULL NULL NULL -NULL 10050 66 NULL NULL NULL -5 10005 66 5 10005 66 15 10015 66 NULL NULL NULL 20 10020 66 20 10020 66 25 10025 88 NULL NULL NULL @@ -1250,6 +1239,7 @@ NULL 10050 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 @@ -1262,3 +1252,17 @@ NULL 10050 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 +NULL NULL NULL NULL NULL 66 diff --git ql/src/test/results/clientpositive/join_casesensitive.q.out ql/src/test/results/clientpositive/join_casesensitive.q.out index 8e0534c..67bf55c 100644 --- ql/src/test/results/clientpositive/join_casesensitive.q.out +++ ql/src/test/results/clientpositive/join_casesensitive.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: CREATE TABLE joinone(key1 int, key2 int, value int) +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE joinone(key1 int, key2 int, value int) PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE joinone(key1 int, key2 int, value int) +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE joinone(key1 int, key2 int, value int) POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@joinone PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/in5.txt' INTO TABLE joinone @@ -20,21 +24,16 @@ PREHOOK: Output: default@jointwo POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/in6.txt' INTO TABLE joinTwo POSTHOOK: type: LOAD POSTHOOK: Output: default@jointwo -PREHOOK: query: SELECT * FROM joinone JOIN joinTwo ON(joinone.key2=joinTwo.key2) ORDER BY joinone.key1 ASC, joinone.key2 ASC, joinone.value ASC, joinTwo.key1 ASC, joinTwo.key2 ASC, joinTwo.value ASC +PREHOOK: query: SELECT * FROM joinone JOIN joinTwo ON(joinone.key2=joinTwo.key2) PREHOOK: type: QUERY PREHOOK: Input: default@joinone PREHOOK: Input: default@jointwo #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM joinone JOIN joinTwo ON(joinone.key2=joinTwo.key2) ORDER BY joinone.key1 ASC, joinone.key2 ASC, joinone.value ASC, joinTwo.key1 ASC, joinTwo.key2 ASC, joinTwo.value ASC +POSTHOOK: query: SELECT * FROM joinone JOIN joinTwo ON(joinone.key2=joinTwo.key2) POSTHOOK: type: QUERY POSTHOOK: Input: default@joinone POSTHOOK: Input: default@jointwo #### A masked pattern was here #### -NULL 10050 66 NULL 10050 66 -NULL 10050 66 50 10050 66 -NULL 10050 66 50 10050 66 -NULL 10050 66 50 10050 88 -5 10005 66 5 10005 66 20 10020 66 20 10020 66 25 10025 88 25 10025 66 30 10030 66 30 10030 88 @@ -55,18 +54,19 @@ NULL 10050 66 50 10050 88 40 10040 88 70 10040 88 40 10040 88 80 10040 66 40 10040 88 80 10040 66 -50 10050 66 NULL 10050 66 +5 10005 66 5 10005 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 50 10050 88 -50 10050 88 NULL 10050 66 -50 10050 88 NULL 10050 66 +50 10050 66 NULL 10050 66 50 10050 88 50 10050 66 50 10050 88 50 10050 66 50 10050 88 50 10050 66 50 10050 88 50 10050 66 50 10050 88 50 10050 88 50 10050 88 50 10050 88 +50 10050 88 NULL 10050 66 +50 10050 88 NULL 10050 66 60 10040 66 40 10040 66 60 10040 66 40 10040 66 60 10040 66 40 10040 88 @@ -115,3 +115,7 @@ NULL 10050 66 50 10050 88 80 10040 88 80 10040 66 80 10040 88 80 10040 66 80 10040 88 80 10040 66 +NULL 10050 66 50 10050 66 +NULL 10050 66 50 10050 66 +NULL 10050 66 50 10050 88 +NULL 10050 66 NULL 10050 66 diff --git ql/src/test/results/clientpositive/join_filters.q.out ql/src/test/results/clientpositive/join_filters.q.out index 471eb45..d0a715a 100644 --- ql/src/test/results/clientpositive/join_filters.q.out +++ ql/src/test/results/clientpositive/join_filters.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: CREATE TABLE myinput1(key int, value int) +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE myinput1(key int, value int) PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE myinput1(key int, value int) +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE myinput1(key int, value int) POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@myinput1 PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/in3.txt' INTO TABLE myinput1 @@ -9,480 +13,480 @@ PREHOOK: Output: default@myinput1 POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/in3.txt' INTO TABLE myinput1 POSTHOOK: type: LOAD POSTHOOK: Output: default@myinput1 -PREHOOK: query: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: 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 PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL 40 NULL NULL +100 100 100 100 12 35 NULL NULL 48 NULL NULL NULL -100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +NULL 40 NULL NULL +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL NULL NULL 40 +100 100 100 100 NULL NULL 12 35 NULL NULL 48 NULL -100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +NULL NULL NULL 40 +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL NULL NULL 40 -NULL NULL 12 35 -NULL NULL 48 NULL -NULL 40 NULL NULL +100 100 100 100 12 35 NULL NULL 48 NULL NULL NULL -100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +NULL 40 NULL NULL +NULL NULL 12 35 +NULL NULL 48 NULL +NULL NULL NULL 40 +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -PREHOOK: query: SELECT * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT * FROM myinput1 a 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 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT * FROM myinput1 a 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -PREHOOK: query: SELECT * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT * FROM myinput1 a 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 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT * FROM myinput1 a 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -PREHOOK: query: SELECT * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT * FROM myinput1 a 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 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT * FROM myinput1 a 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -PREHOOK: query: SELECT * FROM myinput1 a LEFT 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT * FROM myinput1 a LEFT 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 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM myinput1 a LEFT 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT * FROM myinput1 a LEFT 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL 40 NULL NULL +100 100 100 100 12 35 NULL NULL 48 NULL NULL NULL -100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +NULL 40 NULL NULL +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL 40 NULL NULL +100 100 100 100 12 35 NULL NULL 48 NULL NULL NULL -100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +NULL 40 NULL NULL +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL 40 NULL NULL +100 100 100 100 12 35 NULL NULL 48 NULL NULL NULL -100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +NULL 40 NULL NULL +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL 40 NULL NULL +100 100 100 100 12 35 NULL NULL 48 NULL NULL NULL -100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +NULL 40 NULL NULL +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL NULL NULL 40 +100 100 100 100 NULL NULL 12 35 NULL NULL 48 NULL -100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +NULL NULL NULL 40 +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL NULL NULL 40 +100 100 100 100 NULL NULL 12 35 NULL NULL 48 NULL -100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +NULL NULL NULL 40 +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL NULL NULL 40 +100 100 100 100 NULL NULL 12 35 NULL NULL 48 NULL -100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +NULL NULL NULL 40 +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL NULL NULL 40 +100 100 100 100 NULL NULL 12 35 NULL NULL 48 NULL -100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +NULL NULL NULL 40 +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL NULL NULL 40 -NULL NULL 12 35 -NULL NULL 48 NULL -NULL 40 NULL NULL +100 100 100 100 12 35 NULL NULL 48 NULL NULL NULL -100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +NULL 40 NULL NULL +NULL NULL 12 35 +NULL NULL 48 NULL +NULL NULL NULL 40 +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL NULL NULL 40 -NULL NULL 12 35 -NULL NULL 48 NULL -NULL 40 NULL NULL +100 100 100 100 12 35 NULL NULL 48 NULL NULL NULL -100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +NULL 40 NULL NULL +NULL NULL 12 35 +NULL NULL 48 NULL +NULL NULL NULL 40 +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL NULL NULL 40 -NULL NULL 12 35 -NULL NULL 48 NULL -NULL 40 NULL NULL +100 100 100 100 12 35 NULL NULL 48 NULL NULL NULL -100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +NULL 40 NULL NULL +NULL NULL 12 35 +NULL NULL 48 NULL +NULL NULL NULL 40 +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL NULL NULL 40 -NULL NULL 12 35 -NULL NULL 48 NULL -NULL 40 NULL NULL +100 100 100 100 12 35 NULL NULL 48 NULL NULL NULL -100 100 100 100 -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) ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC, c.key ASC, c.value ASC +NULL 40 NULL NULL +NULL NULL 12 35 +NULL NULL 48 NULL +NULL NULL NULL 40 +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 #### A masked pattern was here #### -POSTHOOK: 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) ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC, c.key ASC, c.value ASC +POSTHOOK: 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) POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL NULL NULL NULL NULL 40 +100 100 100 100 100 100 NULL NULL NULL NULL 12 35 NULL NULL NULL NULL 48 NULL -100 100 100 100 100 100 -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) ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC, c.key ASC, c.value ASC +NULL NULL NULL NULL NULL 40 +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 #### A masked pattern was here #### -POSTHOOK: 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) ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC, c.key ASC, c.value ASC +POSTHOOK: 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) POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL NULL NULL 40 NULL NULL +100 100 100 100 100 100 NULL NULL 12 35 NULL NULL NULL NULL 48 NULL NULL NULL -100 100 100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC, c.key ASC, c.value ASC +NULL NULL NULL 40 NULL NULL +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC, c.key ASC, c.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL NULL NULL NULL NULL 40 +100 100 100 100 100 100 NULL NULL NULL NULL 12 35 NULL NULL NULL NULL 48 NULL -100 100 100 100 100 100 -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) ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC, c.key ASC, c.value ASC +NULL NULL NULL NULL NULL 40 +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 #### A masked pattern was here #### -POSTHOOK: 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) ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC, c.key ASC, c.value ASC +POSTHOOK: 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) POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL NULL NULL NULL NULL 40 +100 100 100 100 100 100 NULL NULL NULL NULL 12 35 NULL NULL NULL NULL 48 NULL -100 100 100 100 100 100 -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) ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC, c.key ASC, c.value ASC +NULL NULL NULL NULL NULL 40 +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 #### A masked pattern was here #### -POSTHOOK: 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) ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC, c.key ASC, c.value ASC +POSTHOOK: 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) POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL NULL NULL 40 NULL NULL +100 100 100 100 100 100 NULL NULL 12 35 NULL NULL NULL NULL 48 NULL NULL NULL -100 100 100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC, c.key ASC, c.value ASC +NULL NULL NULL 40 NULL NULL +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC, c.key ASC, c.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL NULL NULL NULL NULL 40 +100 100 100 100 100 100 NULL NULL NULL NULL 12 35 NULL NULL NULL NULL 48 NULL -100 100 100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +NULL NULL NULL NULL NULL 40 +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 PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * 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 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a 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 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a 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 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a 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 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * 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 PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * 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 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a 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 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a 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 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a 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 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a LEFT 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a LEFT 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 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a LEFT 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a LEFT 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL 40 NULL NULL +100 100 100 100 12 35 NULL NULL 48 NULL NULL NULL -100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +NULL 40 NULL NULL +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL 40 NULL NULL +100 100 100 100 12 35 NULL NULL 48 NULL NULL NULL -100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +NULL 40 NULL NULL +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL 40 NULL NULL +100 100 100 100 12 35 NULL NULL 48 NULL NULL NULL -100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +NULL 40 NULL NULL +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL NULL NULL 40 +100 100 100 100 NULL NULL 12 35 NULL NULL 48 NULL -100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +NULL NULL NULL 40 +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL NULL NULL 40 +100 100 100 100 NULL NULL 12 35 NULL NULL 48 NULL -100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +NULL NULL NULL 40 +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL NULL NULL 40 +100 100 100 100 NULL NULL 12 35 NULL NULL 48 NULL -100 100 100 100 +NULL NULL NULL 40 PREHOOK: query: CREATE TABLE smb_input1(key int, value int) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS PREHOOK: type: CREATETABLE POSTHOOK: query: CREATE TABLE smb_input1(key int, value int) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS @@ -517,699 +521,699 @@ PREHOOK: Output: default@smb_input2 POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/in2.txt' into table smb_input2 POSTHOOK: type: LOAD POSTHOOK: Output: default@smb_input2 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input1 #### A masked pattern was here #### 100 100 100 100 200 200 200 200 -PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a 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 PREHOOK: Input: default@smb_input2 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input1 POSTHOOK: Input: default@smb_input2 #### A masked pattern was here #### 100 100 100 100 200 200 200 200 -PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input2 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input2 a 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 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input2 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input2 a 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input2 #### A masked pattern was here #### 100 100 100 100 200 200 200 200 -PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input1 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input1 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@smb_input1 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input1 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input1 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input1 #### A masked pattern was here #### 100 100 100 100 200 200 200 200 -PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * 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 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input1 #### A masked pattern was here #### 100 100 100 100 200 200 200 200 -PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a 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 PREHOOK: Input: default@smb_input2 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input1 POSTHOOK: Input: default@smb_input2 #### A masked pattern was here #### 100 100 100 100 200 200 200 200 -PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a 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 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input2 #### A masked pattern was here #### 100 100 100 100 200 200 200 200 -PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a JOIN smb_input2 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a JOIN smb_input2 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@smb_input2 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a JOIN smb_input2 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a JOIN smb_input2 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input2 #### A masked pattern was here #### 100 100 100 100 200 200 200 200 -PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a LEFT 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a LEFT 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 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a LEFT 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a LEFT 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input1 #### A masked pattern was here #### -NULL 35 NULL NULL -NULL 135 NULL NULL -48 NULL NULL NULL 100 100 100 100 148 NULL NULL NULL 200 200 200 200 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +48 NULL NULL NULL +NULL 135 NULL NULL +NULL 35 NULL NULL +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 PREHOOK: Input: default@smb_input2 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input1 POSTHOOK: Input: default@smb_input2 #### A masked pattern was here #### -NULL 35 NULL NULL -NULL 135 NULL NULL -48 NULL NULL NULL 100 100 100 100 148 NULL NULL NULL 200 200 200 200 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +48 NULL NULL NULL +NULL 135 NULL NULL +NULL 35 NULL NULL +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input2 #### A masked pattern was here #### -NULL 35 NULL NULL -NULL 135 NULL NULL -48 NULL NULL NULL 100 100 100 100 148 NULL NULL NULL 200 200 200 200 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +48 NULL NULL NULL +NULL 135 NULL NULL +NULL 35 NULL NULL +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input1 #### A masked pattern was here #### -NULL NULL NULL 35 -NULL NULL NULL 135 -NULL NULL 48 NULL -NULL NULL 148 NULL 100 100 100 100 200 200 200 200 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +NULL NULL 148 NULL +NULL NULL 48 NULL +NULL NULL NULL 135 +NULL NULL NULL 35 +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 PREHOOK: Input: default@smb_input2 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input1 POSTHOOK: Input: default@smb_input2 #### A masked pattern was here #### -NULL NULL NULL 35 -NULL NULL NULL 135 -NULL NULL 48 NULL -NULL NULL 148 NULL 100 100 100 100 200 200 200 200 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +NULL NULL 148 NULL +NULL NULL 48 NULL +NULL NULL NULL 135 +NULL NULL NULL 35 +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input2 #### A masked pattern was here #### -NULL NULL NULL 35 -NULL NULL NULL 135 -NULL NULL 48 NULL -NULL NULL 148 NULL 100 100 100 100 200 200 200 200 -PREHOOK: query: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +NULL NULL 148 NULL +NULL NULL 48 NULL +NULL NULL NULL 135 +NULL NULL NULL 35 +PREHOOK: query: 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 PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -PREHOOK: query: SELECT * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT * FROM myinput1 a 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 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT * FROM myinput1 a 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -PREHOOK: query: SELECT * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT * FROM myinput1 a 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 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT * FROM myinput1 a 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -PREHOOK: query: SELECT * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT * FROM myinput1 a 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 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT * FROM myinput1 a 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -PREHOOK: query: SELECT * FROM myinput1 a LEFT 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT * FROM myinput1 a LEFT 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 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM myinput1 a LEFT 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT * FROM myinput1 a LEFT 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -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) ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC, c.key ASC, c.value ASC +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 #### A masked pattern was here #### -POSTHOOK: 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) ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC, c.key ASC, c.value ASC +POSTHOOK: 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) POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 100 100 -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) ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC, c.key ASC, c.value ASC +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 #### A masked pattern was here #### -POSTHOOK: 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) ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC, c.key ASC, c.value ASC +POSTHOOK: 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) POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC, c.key ASC, c.value ASC +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC, c.key ASC, c.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 100 100 -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) ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC, c.key ASC, c.value ASC +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 #### A masked pattern was here #### -POSTHOOK: 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) ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC, c.key ASC, c.value ASC +POSTHOOK: 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) POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 100 100 -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) ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC, c.key ASC, c.value ASC +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 #### A masked pattern was here #### -POSTHOOK: 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) ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC, c.key ASC, c.value ASC +POSTHOOK: 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) POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC, c.key ASC, c.value ASC +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC, c.key ASC, c.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +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 PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * 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 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a 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 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a 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 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a 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 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * 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 PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * 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 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a 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 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a 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 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a 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 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a LEFT 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a LEFT 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 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a LEFT 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a LEFT 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input1 #### A masked pattern was here #### 100 100 100 100 200 200 200 200 -PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a 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 PREHOOK: Input: default@smb_input2 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input1 POSTHOOK: Input: default@smb_input2 #### A masked pattern was here #### 100 100 100 100 200 200 200 200 -PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input2 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input2 a 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 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input2 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input2 a 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input2 #### A masked pattern was here #### 100 100 100 100 200 200 200 200 -PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input1 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input1 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@smb_input1 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input1 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input1 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input1 #### A masked pattern was here #### 100 100 100 100 200 200 200 200 -PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * 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 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input1 #### A masked pattern was here #### 100 100 100 100 200 200 200 200 -PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a 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 PREHOOK: Input: default@smb_input2 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input1 POSTHOOK: Input: default@smb_input2 #### A masked pattern was here #### 100 100 100 100 200 200 200 200 -PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a 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 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input2 #### A masked pattern was here #### 100 100 100 100 200 200 200 200 -PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a JOIN smb_input2 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a JOIN smb_input2 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@smb_input2 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a JOIN smb_input2 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a JOIN smb_input2 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input2 #### A masked pattern was here #### 100 100 100 100 200 200 200 200 -PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a LEFT 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a LEFT 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 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a LEFT 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a LEFT 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input1 #### A masked pattern was here #### 100 100 100 100 200 200 200 200 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +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 PREHOOK: Input: default@smb_input2 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input1 POSTHOOK: Input: default@smb_input2 #### A masked pattern was here #### 100 100 100 100 200 200 200 200 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input2 #### A masked pattern was here #### 100 100 100 100 200 200 200 200 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input1 #### A masked pattern was here #### 100 100 100 100 200 200 200 200 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +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 PREHOOK: Input: default@smb_input2 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input1 POSTHOOK: Input: default@smb_input2 #### A masked pattern was here #### 100 100 100 100 200 200 200 200 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +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 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input2 #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/join_filters_overlap.q.out ql/src/test/results/clientpositive/join_filters_overlap.q.out index bdac4b1..bae0f7c 100644 --- ql/src/test/results/clientpositive/join_filters_overlap.q.out +++ ql/src/test/results/clientpositive/join_filters_overlap.q.out @@ -1,9 +1,11 @@ -PREHOOK: query: -- HIVE-3411 Filter predicates on outer join overlapped on single alias is not handled properly +PREHOOK: query: -- SORT_QUERY_RESULTS +-- HIVE-3411 Filter predicates on outer join overlapped on single alias is not handled properly create table a as SELECT 100 as key, a.value as value FROM src LATERAL VIEW explode(array(40, 50, 60)) a as value limit 3 PREHOOK: type: CREATETABLE_AS_SELECT PREHOOK: Input: default@src -POSTHOOK: query: -- HIVE-3411 Filter predicates on outer join overlapped on single alias is not handled properly +POSTHOOK: query: -- SORT_QUERY_RESULTS +-- HIVE-3411 Filter predicates on outer join overlapped on single alias is not handled properly create table a as SELECT 100 as key, a.value as value FROM src LATERAL VIEW explode(array(40, 50, 60)) a as value limit 3 POSTHOOK: type: CREATETABLE_AS_SELECT @@ -242,11 +244,11 @@ POSTHOOK: Input: default@a 100 40 NULL NULL NULL NULL 100 50 100 50 NULL NULL 100 60 NULL NULL 100 60 -PREHOOK: query: select /*+ MAPJOIN(b,c)*/ * from a left outer join a b on (a.key=b.key AND a.value=50 AND b.value=50) left outer join a c on (a.key=c.key AND a.value=60 AND c.value=60) order by a.key ASC, a.value ASC +PREHOOK: query: select /*+ MAPJOIN(b,c)*/ * from a left outer join a b on (a.key=b.key AND a.value=50 AND b.value=50) left outer join a c on (a.key=c.key AND a.value=60 AND c.value=60) PREHOOK: type: QUERY PREHOOK: Input: default@a #### A masked pattern was here #### -POSTHOOK: query: select /*+ MAPJOIN(b,c)*/ * from a left outer join a b on (a.key=b.key AND a.value=50 AND b.value=50) left outer join a c on (a.key=c.key AND a.value=60 AND c.value=60) order by a.key ASC, a.value ASC +POSTHOOK: query: select /*+ MAPJOIN(b,c)*/ * from a left outer join a b on (a.key=b.key AND a.value=50 AND b.value=50) left outer join a c on (a.key=c.key AND a.value=60 AND c.value=60) POSTHOOK: type: QUERY POSTHOOK: Input: default@a #### A masked pattern was here #### @@ -483,19 +485,19 @@ POSTHOOK: query: select * from a right outer join a b on (a.key=b.key AND a.valu POSTHOOK: type: QUERY POSTHOOK: Input: default@a #### A masked pattern was here #### -NULL NULL 100 40 NULL NULL 100 50 100 50 NULL NULL +NULL NULL 100 40 NULL NULL NULL NULL 100 60 100 60 -PREHOOK: query: select /*+ MAPJOIN(a,c)*/ * from a right outer join a b on (a.key=b.key AND a.value=50 AND b.value=50) left outer join a c on (b.key=c.key AND b.value=60 AND c.value=60) order by b.key ASC, b.value ASC +PREHOOK: query: select /*+ MAPJOIN(a,c)*/ * from a right outer join a b on (a.key=b.key AND a.value=50 AND b.value=50) left outer join a c on (b.key=c.key AND b.value=60 AND c.value=60) PREHOOK: type: QUERY PREHOOK: Input: default@a #### A masked pattern was here #### -POSTHOOK: query: select /*+ MAPJOIN(a,c)*/ * from a right outer join a b on (a.key=b.key AND a.value=50 AND b.value=50) left outer join a c on (b.key=c.key AND b.value=60 AND c.value=60) order by b.key ASC, b.value ASC +POSTHOOK: query: select /*+ MAPJOIN(a,c)*/ * from a right outer join a b on (a.key=b.key AND a.value=50 AND b.value=50) left outer join a c on (b.key=c.key AND b.value=60 AND c.value=60) POSTHOOK: type: QUERY POSTHOOK: Input: default@a #### A masked pattern was here #### -NULL NULL 100 40 NULL NULL 100 50 100 50 NULL NULL +NULL NULL 100 40 NULL NULL NULL NULL 100 60 100 60 PREHOOK: query: -- overlap on b with two filters for each explain extended select * from a right outer join a b on (a.key=b.key AND a.value=50 AND b.value=50 AND b.value>10) left outer join a c on (b.key=c.key AND b.value=60 AND b.value>20 AND c.value=60) @@ -741,19 +743,19 @@ POSTHOOK: query: select * from a right outer join a b on (a.key=b.key AND a.valu POSTHOOK: type: QUERY POSTHOOK: Input: default@a #### A masked pattern was here #### -NULL NULL 100 40 NULL NULL 100 50 100 50 NULL NULL +NULL NULL 100 40 NULL NULL NULL NULL 100 60 100 60 -PREHOOK: query: select /*+ MAPJOIN(a,c)*/ * from a right outer join a b on (a.key=b.key AND a.value=50 AND b.value=50 AND b.value>10) left outer join a c on (b.key=c.key AND b.value=60 AND b.value>20 AND c.value=60) order by b.key ASC, b.value ASC +PREHOOK: query: select /*+ MAPJOIN(a,c)*/ * from a right outer join a b on (a.key=b.key AND a.value=50 AND b.value=50 AND b.value>10) left outer join a c on (b.key=c.key AND b.value=60 AND b.value>20 AND c.value=60) PREHOOK: type: QUERY PREHOOK: Input: default@a #### A masked pattern was here #### -POSTHOOK: query: select /*+ MAPJOIN(a,c)*/ * from a right outer join a b on (a.key=b.key AND a.value=50 AND b.value=50 AND b.value>10) left outer join a c on (b.key=c.key AND b.value=60 AND b.value>20 AND c.value=60) order by b.key ASC, b.value ASC +POSTHOOK: query: select /*+ MAPJOIN(a,c)*/ * from a right outer join a b on (a.key=b.key AND a.value=50 AND b.value=50 AND b.value>10) left outer join a c on (b.key=c.key AND b.value=60 AND b.value>20 AND c.value=60) POSTHOOK: type: QUERY POSTHOOK: Input: default@a #### A masked pattern was here #### -NULL NULL 100 40 NULL NULL 100 50 100 50 NULL NULL +NULL NULL 100 40 NULL NULL NULL NULL 100 60 100 60 PREHOOK: query: -- overlap on a, b explain extended select * from a full outer join a b on (a.key=b.key AND a.value=50 AND b.value=50) left outer join a c on (b.key=c.key AND b.value=60 AND c.value=60) left outer join a d on (a.key=d.key AND a.value=40 AND d.value=40) @@ -1029,10 +1031,10 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@a #### A masked pattern was here #### 100 40 NULL NULL NULL NULL 100 40 -NULL NULL 100 40 NULL NULL NULL NULL -NULL NULL 100 60 100 60 NULL NULL 100 50 100 50 NULL NULL NULL NULL 100 60 NULL NULL NULL NULL NULL NULL +NULL NULL 100 40 NULL NULL NULL NULL +NULL NULL 100 60 100 60 NULL NULL PREHOOK: query: -- triple overlap on a explain extended select * from a left outer join a b on (a.key=b.key AND a.value=50 AND b.value=50) left outer join a c on (a.key=c.key AND a.value=60 AND c.value=60) left outer join a d on (a.key=d.key AND a.value=40 AND d.value=40) PREHOOK: type: QUERY @@ -1312,11 +1314,11 @@ POSTHOOK: Input: default@a 100 40 NULL NULL NULL NULL 100 40 100 50 100 50 NULL NULL NULL NULL 100 60 NULL NULL 100 60 NULL NULL -PREHOOK: query: select /*+ MAPJOIN(b,c, d)*/ * from a left outer join a b on (a.key=b.key AND a.value=50 AND b.value=50) left outer join a c on (a.key=c.key AND a.value=60 AND c.value=60) left outer join a d on (a.key=d.key AND a.value=40 AND d.value=40) order by a.key ASC, a.value ASC +PREHOOK: query: select /*+ MAPJOIN(b,c, d)*/ * from a left outer join a b on (a.key=b.key AND a.value=50 AND b.value=50) left outer join a c on (a.key=c.key AND a.value=60 AND c.value=60) left outer join a d on (a.key=d.key AND a.value=40 AND d.value=40) PREHOOK: type: QUERY PREHOOK: Input: default@a #### A masked pattern was here #### -POSTHOOK: query: select /*+ MAPJOIN(b,c, d)*/ * from a left outer join a b on (a.key=b.key AND a.value=50 AND b.value=50) left outer join a c on (a.key=c.key AND a.value=60 AND c.value=60) left outer join a d on (a.key=d.key AND a.value=40 AND d.value=40) order by a.key ASC, a.value ASC +POSTHOOK: query: select /*+ MAPJOIN(b,c, d)*/ * from a left outer join a b on (a.key=b.key AND a.value=50 AND b.value=50) left outer join a c on (a.key=c.key AND a.value=60 AND c.value=60) left outer join a d on (a.key=d.key AND a.value=40 AND d.value=40) POSTHOOK: type: QUERY POSTHOOK: Input: default@a #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/join_map_ppr.q.out ql/src/test/results/clientpositive/join_map_ppr.q.out index 09b9462..d614165 100644 --- ql/src/test/results/clientpositive/join_map_ppr.q.out +++ ql/src/test/results/clientpositive/join_map_ppr.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: CREATE TABLE dest_j1(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE dest_j1(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE dest_j1(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE dest_j1(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@dest_j1 PREHOOK: query: EXPLAIN EXTENDED @@ -423,11 +427,11 @@ POSTHOOK: Output: default@dest_j1 POSTHOOK: Lineage: dest_j1.key SIMPLE [(src1)x.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: dest_j1.val2 SIMPLE [(src)y.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: dest_j1.value SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from dest_j1 x order by x.key +PREHOOK: query: select * from dest_j1 PREHOOK: type: QUERY PREHOOK: Input: default@dest_j1 #### A masked pattern was here #### -POSTHOOK: query: select * from dest_j1 x order by x.key +POSTHOOK: query: select * from dest_j1 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest_j1 #### A masked pattern was here #### @@ -1059,11 +1063,11 @@ POSTHOOK: Lineage: src1_copy.key SIMPLE [(src1)src1.FieldSchema(name:key, type:s POSTHOOK: Lineage: src1_copy.value SIMPLE [(src1)src1.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_copy.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: src_copy.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from dest_j1 x order by x.key +PREHOOK: query: select * from dest_j1 PREHOOK: type: QUERY PREHOOK: Input: default@dest_j1 #### A masked pattern was here #### -POSTHOOK: query: select * from dest_j1 x order by x.key +POSTHOOK: query: select * from dest_j1 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest_j1 #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/join_nulls.q.out ql/src/test/results/clientpositive/join_nulls.q.out index 10e4c9b..1d769dc 100644 --- ql/src/test/results/clientpositive/join_nulls.q.out +++ ql/src/test/results/clientpositive/join_nulls.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: CREATE TABLE myinput1(key int, value int) +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE myinput1(key int, value int) PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE myinput1(key int, value int) +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE myinput1(key int, value int) POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@myinput1 PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/in1.txt' INTO TABLE myinput1 @@ -9,416 +13,416 @@ PREHOOK: Output: default@myinput1 POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/in1.txt' INTO TABLE myinput1 POSTHOOK: type: LOAD POSTHOOK: Output: default@myinput1 -PREHOOK: query: SELECT * FROM myinput1 a JOIN myinput1 b ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT * FROM myinput1 a JOIN myinput1 b PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM myinput1 a JOIN myinput1 b ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT * FROM myinput1 a JOIN myinput1 b POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL 35 NULL 35 -NULL 35 48 NULL -NULL 35 100 100 -48 NULL NULL 35 -48 NULL 48 NULL -48 NULL 100 100 -100 100 NULL 35 -100 100 48 NULL 100 100 100 100 -PREHOOK: query: SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +100 100 48 NULL +100 100 NULL 35 +48 NULL 100 100 +48 NULL 48 NULL +48 NULL NULL 35 +NULL 35 100 100 +NULL 35 48 NULL +NULL 35 NULL 35 +PREHOOK: query: SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL 35 NULL 35 -NULL 35 48 NULL -NULL 35 100 100 -48 NULL NULL 35 -48 NULL 48 NULL -48 NULL 100 100 -100 100 NULL 35 -100 100 48 NULL 100 100 100 100 -PREHOOK: query: SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +100 100 48 NULL +100 100 NULL 35 +48 NULL 100 100 +48 NULL 48 NULL +48 NULL NULL 35 +NULL 35 100 100 +NULL 35 48 NULL +NULL 35 NULL 35 +PREHOOK: query: SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL 35 NULL 35 -NULL 35 48 NULL -NULL 35 100 100 -48 NULL NULL 35 -48 NULL 48 NULL -48 NULL 100 100 -100 100 NULL 35 -100 100 48 NULL 100 100 100 100 -PREHOOK: query: SELECT * FROM myinput1 a JOIN myinput1 b ON a.key = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +100 100 48 NULL +100 100 NULL 35 +48 NULL 100 100 +48 NULL 48 NULL +48 NULL NULL 35 +NULL 35 100 100 +NULL 35 48 NULL +NULL 35 NULL 35 +PREHOOK: query: SELECT * FROM myinput1 a JOIN myinput1 b ON a.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM myinput1 a JOIN myinput1 b ON a.key = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT * FROM myinput1 a JOIN myinput1 b ON a.key = b.value POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -PREHOOK: query: SELECT * FROM myinput1 a JOIN myinput1 b ON a.key = b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT * FROM myinput1 a JOIN myinput1 b ON a.key = b.key PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM myinput1 a JOIN myinput1 b ON a.key = b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT * FROM myinput1 a JOIN myinput1 b ON a.key = b.key POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -48 NULL 48 NULL 100 100 100 100 -PREHOOK: query: SELECT * FROM myinput1 a JOIN myinput1 b ON a.value = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +48 NULL 48 NULL +PREHOOK: query: SELECT * FROM myinput1 a JOIN myinput1 b ON a.value = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM myinput1 a JOIN myinput1 b ON a.value = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT * FROM myinput1 a JOIN myinput1 b ON a.value = b.value POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL 35 NULL 35 100 100 100 100 -PREHOOK: query: SELECT * FROM myinput1 a JOIN myinput1 b ON a.value = b.value and a.key=b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +NULL 35 NULL 35 +PREHOOK: query: SELECT * FROM myinput1 a JOIN myinput1 b ON a.value = b.value and a.key=b.key PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM myinput1 a JOIN myinput1 b ON a.value = b.value and a.key=b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT * FROM myinput1 a JOIN myinput1 b ON a.value = b.value and a.key=b.key POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -PREHOOK: query: SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.value POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL 35 NULL NULL -48 NULL NULL NULL 100 100 100 100 -PREHOOK: query: SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.value = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +48 NULL NULL NULL +NULL 35 NULL NULL +PREHOOK: query: SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.value = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.value = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.value = b.value POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL 35 NULL 35 -48 NULL NULL NULL 100 100 100 100 -PREHOOK: query: SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +48 NULL NULL NULL +NULL 35 NULL 35 +PREHOOK: query: SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.key PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.key POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL 35 NULL NULL -48 NULL 48 NULL 100 100 100 100 -PREHOOK: query: SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.key and a.value=b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +48 NULL 48 NULL +NULL 35 NULL NULL +PREHOOK: query: SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.key and a.value=b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.key and a.value=b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.key and a.value=b.value POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL 35 NULL NULL -48 NULL NULL NULL 100 100 100 100 -PREHOOK: query: SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +48 NULL NULL NULL +NULL 35 NULL NULL +PREHOOK: query: SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key = b.value POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL NULL NULL 35 -NULL NULL 48 NULL 100 100 100 100 -PREHOOK: query: SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key = b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +NULL NULL 48 NULL +NULL NULL NULL 35 +PREHOOK: query: SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key = b.key PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key = b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key = b.key POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL NULL NULL 35 -48 NULL 48 NULL 100 100 100 100 -PREHOOK: query: SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.value = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +48 NULL 48 NULL +NULL NULL NULL 35 +PREHOOK: query: SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.value = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.value = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.value = b.value POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL NULL 48 NULL -NULL 35 NULL 35 100 100 100 100 -PREHOOK: query: SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key=b.key and a.value = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +NULL 35 NULL 35 +NULL NULL 48 NULL +PREHOOK: query: SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key=b.key and a.value = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key=b.key and a.value = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key=b.key and a.value = b.value POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL NULL NULL 35 -NULL NULL 48 NULL 100 100 100 100 -PREHOOK: query: SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.key = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +NULL NULL 48 NULL +NULL NULL NULL 35 +PREHOOK: query: SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.key = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.key = b.value POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL NULL NULL 35 -NULL NULL 48 NULL -NULL 35 NULL NULL -48 NULL NULL NULL 100 100 100 100 -PREHOOK: query: SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.key = b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +48 NULL NULL NULL +NULL 35 NULL NULL +NULL NULL 48 NULL +NULL NULL NULL 35 +PREHOOK: query: SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.key = b.key PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.key = b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.key = b.key POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL NULL NULL 35 -NULL 35 NULL NULL -48 NULL 48 NULL 100 100 100 100 -PREHOOK: query: SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.value = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +48 NULL 48 NULL +NULL 35 NULL NULL +NULL NULL NULL 35 +PREHOOK: query: SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.value = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.value = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.value = b.value POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL NULL 48 NULL -NULL 35 NULL 35 -48 NULL NULL NULL 100 100 100 100 -PREHOOK: query: SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.value = b.value and a.key=b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +48 NULL NULL NULL +NULL 35 NULL 35 +NULL NULL 48 NULL +PREHOOK: query: SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.value = b.value and a.key=b.key PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.value = b.value and a.key=b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.value = b.value and a.key=b.key POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL NULL NULL 35 -NULL NULL 48 NULL -NULL 35 NULL NULL -48 NULL NULL NULL 100 100 100 100 -PREHOOK: query: SELECT * from myinput1 a LEFT OUTER JOIN myinput1 b ON (a.value=b.value) RIGHT OUTER JOIN myinput1 c ON (b.value=c.value) ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +48 NULL NULL NULL +NULL 35 NULL NULL +NULL NULL 48 NULL +NULL NULL NULL 35 +PREHOOK: query: SELECT * from myinput1 a LEFT OUTER JOIN myinput1 b ON (a.value=b.value) RIGHT OUTER JOIN myinput1 c ON (b.value=c.value) PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * from myinput1 a LEFT OUTER JOIN myinput1 b ON (a.value=b.value) RIGHT OUTER JOIN myinput1 c ON (b.value=c.value) ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT * from myinput1 a LEFT OUTER JOIN myinput1 b ON (a.value=b.value) RIGHT OUTER JOIN myinput1 c ON (b.value=c.value) POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL NULL NULL NULL 48 NULL -NULL 35 NULL 35 NULL 35 100 100 100 100 100 100 -PREHOOK: query: SELECT * from myinput1 a RIGHT OUTER JOIN myinput1 b ON (a.value=b.value) LEFT OUTER JOIN myinput1 c ON (b.value=c.value) ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +NULL 35 NULL 35 NULL 35 +NULL NULL NULL NULL 48 NULL +PREHOOK: query: SELECT * from myinput1 a RIGHT OUTER JOIN myinput1 b ON (a.value=b.value) LEFT OUTER JOIN myinput1 c ON (b.value=c.value) PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * from myinput1 a RIGHT OUTER JOIN myinput1 b ON (a.value=b.value) LEFT OUTER JOIN myinput1 c ON (b.value=c.value) ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT * from myinput1 a RIGHT OUTER JOIN myinput1 b ON (a.value=b.value) LEFT OUTER JOIN myinput1 c ON (b.value=c.value) POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL NULL 48 NULL NULL NULL -NULL 35 NULL 35 NULL 35 100 100 100 100 100 100 -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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +NULL 35 NULL 35 NULL 35 +NULL NULL 48 NULL NULL NULL +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 PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: 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 ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: 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 POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL NULL NULL NULL 48 NULL -NULL 35 NULL 35 NULL 35 100 100 100 100 100 100 -PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a JOIN myinput1 b ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +NULL 35 NULL 35 NULL 35 +NULL NULL NULL NULL 48 NULL +PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a JOIN myinput1 b PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a JOIN myinput1 b ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a JOIN myinput1 b POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL 35 NULL 35 -NULL 35 48 NULL -NULL 35 100 100 -48 NULL NULL 35 -48 NULL 48 NULL -48 NULL 100 100 -100 100 NULL 35 -100 100 48 NULL 100 100 100 100 -PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a JOIN myinput1 b ON a.key = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +100 100 48 NULL +100 100 NULL 35 +48 NULL 100 100 +48 NULL 48 NULL +48 NULL NULL 35 +NULL 35 100 100 +NULL 35 48 NULL +NULL 35 NULL 35 +PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a JOIN myinput1 b ON a.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a JOIN myinput1 b ON a.key = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a JOIN myinput1 b ON a.key = b.value POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a JOIN myinput1 b ON a.key = b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a JOIN myinput1 b ON a.key = b.key PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a JOIN myinput1 b ON a.key = b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a JOIN myinput1 b ON a.key = b.key POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -48 NULL 48 NULL 100 100 100 100 -PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a JOIN myinput1 b ON a.value = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +48 NULL 48 NULL +PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a JOIN myinput1 b ON a.value = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a JOIN myinput1 b ON a.value = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a JOIN myinput1 b ON a.value = b.value POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL 35 NULL 35 100 100 100 100 -PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a JOIN myinput1 b ON a.key = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +NULL 35 NULL 35 +PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a JOIN myinput1 b ON a.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a JOIN myinput1 b ON a.key = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a JOIN myinput1 b ON a.key = b.value POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a JOIN myinput1 b ON a.key = b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a JOIN myinput1 b ON a.key = b.key PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a JOIN myinput1 b ON a.key = b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a JOIN myinput1 b ON a.key = b.key POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -48 NULL 48 NULL 100 100 100 100 -PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a JOIN myinput1 b ON a.value = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +48 NULL 48 NULL +PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a JOIN myinput1 b ON a.value = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a JOIN myinput1 b ON a.value = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a JOIN myinput1 b ON a.value = b.value POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL 35 NULL 35 100 100 100 100 -PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a JOIN myinput1 b ON a.value = b.value and a.key = b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +NULL 35 NULL 35 +PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a JOIN myinput1 b ON a.value = b.value and a.key = b.key PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a JOIN myinput1 b ON a.value = b.value and a.key = b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a JOIN myinput1 b ON a.value = b.value and a.key = b.key POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.value POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL 35 NULL NULL -48 NULL NULL NULL 100 100 100 100 -PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +48 NULL NULL NULL +NULL 35 NULL NULL +PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.key PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.key POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL 35 NULL NULL -48 NULL 48 NULL 100 100 100 100 -PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.value = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +48 NULL 48 NULL +NULL 35 NULL NULL +PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.value = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.value = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.value = b.value POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL 35 NULL 35 -48 NULL NULL NULL 100 100 100 100 -PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +48 NULL NULL NULL +NULL 35 NULL 35 +PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key = b.value POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL NULL NULL 35 -NULL NULL 48 NULL 100 100 100 100 -PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key = b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +NULL NULL 48 NULL +NULL NULL NULL 35 +PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key = b.key PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key = b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key = b.key POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL NULL NULL 35 -48 NULL 48 NULL 100 100 100 100 -PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.value = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +48 NULL 48 NULL +NULL NULL NULL 35 +PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.value = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.value = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.value = b.value POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL NULL 48 NULL -NULL 35 NULL 35 100 100 100 100 +NULL 35 NULL 35 +NULL NULL 48 NULL PREHOOK: query: CREATE TABLE smb_input1(key int, value int) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS PREHOOK: type: CREATETABLE POSTHOOK: query: CREATE TABLE smb_input1(key int, value int) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS @@ -453,173 +457,173 @@ PREHOOK: Output: default@smb_input2 POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/in2.txt' into table smb_input2 POSTHOOK: type: LOAD POSTHOOK: Output: default@smb_input2 -PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input1 b ON a.key = b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input1 b ON a.key = b.key PREHOOK: type: QUERY PREHOOK: Input: default@smb_input1 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input1 b ON a.key = b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input1 b ON a.key = b.key POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input1 #### A masked pattern was here #### -48 NULL 48 NULL 100 100 100 100 148 NULL 148 NULL 200 200 200 200 -PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input1 b ON a.key = b.key AND a.value = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +48 NULL 48 NULL +PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input1 b ON a.key = b.key AND a.value = b.value PREHOOK: type: QUERY PREHOOK: Input: default@smb_input1 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input1 b ON a.key = b.key AND a.value = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input1 b ON a.key = b.key AND a.value = b.value POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input1 #### A masked pattern was here #### 100 100 100 100 200 200 200 200 -PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a RIGHT OUTER JOIN smb_input1 b ON a.key = b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a RIGHT OUTER JOIN smb_input1 b ON a.key = b.key PREHOOK: type: QUERY PREHOOK: Input: default@smb_input1 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a RIGHT OUTER JOIN smb_input1 b ON a.key = b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a RIGHT OUTER JOIN smb_input1 b ON a.key = b.key POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input1 #### A masked pattern was here #### -NULL NULL NULL 35 -NULL NULL NULL 135 -48 NULL 48 NULL 100 100 100 100 148 NULL 148 NULL 200 200 200 200 -PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a JOIN smb_input1 b ON a.key = b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +48 NULL 48 NULL +NULL NULL NULL 135 +NULL NULL NULL 35 +PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a JOIN smb_input1 b ON a.key = b.key PREHOOK: type: QUERY PREHOOK: Input: default@smb_input1 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a JOIN smb_input1 b ON a.key = b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a JOIN smb_input1 b ON a.key = b.key POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input1 #### A masked pattern was here #### -48 NULL 48 NULL 100 100 100 100 148 NULL 148 NULL 200 200 200 200 -PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a LEFT OUTER JOIN smb_input1 b ON a.key = b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +48 NULL 48 NULL +PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a LEFT OUTER JOIN smb_input1 b ON a.key = b.key PREHOOK: type: QUERY PREHOOK: Input: default@smb_input1 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a LEFT OUTER JOIN smb_input1 b ON a.key = b.key ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a LEFT OUTER JOIN smb_input1 b ON a.key = b.key POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input1 #### A masked pattern was here #### -NULL 35 NULL NULL -NULL 135 NULL NULL -48 NULL 48 NULL 100 100 100 100 148 NULL 148 NULL 200 200 200 200 -PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input2 b ON a.key = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +48 NULL 48 NULL +NULL 135 NULL NULL +NULL 35 NULL NULL +PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input2 b ON a.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@smb_input1 PREHOOK: Input: default@smb_input2 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input2 b ON a.key = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input2 b ON a.key = b.value POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input1 POSTHOOK: Input: default@smb_input2 #### A masked pattern was here #### 100 100 100 100 200 200 200 200 -PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a JOIN smb_input2 b ON a.key = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a JOIN smb_input2 b ON a.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@smb_input1 PREHOOK: Input: default@smb_input2 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a JOIN smb_input2 b ON a.key = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a JOIN smb_input2 b ON a.key = b.value POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input1 POSTHOOK: Input: default@smb_input2 #### A masked pattern was here #### 100 100 100 100 200 200 200 200 -PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a LEFT OUTER JOIN smb_input2 b ON a.key = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a LEFT OUTER JOIN smb_input2 b ON a.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@smb_input1 PREHOOK: Input: default@smb_input2 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a LEFT OUTER JOIN smb_input2 b ON a.key = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a LEFT OUTER JOIN smb_input2 b ON a.key = b.value POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input1 POSTHOOK: Input: default@smb_input2 #### A masked pattern was here #### -NULL 35 NULL NULL -NULL 135 NULL NULL -48 NULL NULL NULL 100 100 100 100 148 NULL NULL NULL 200 200 200 200 -PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a RIGHT OUTER JOIN smb_input2 b ON a.key = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +48 NULL NULL NULL +NULL 135 NULL NULL +NULL 35 NULL NULL +PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a RIGHT OUTER JOIN smb_input2 b ON a.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@smb_input1 PREHOOK: Input: default@smb_input2 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a RIGHT OUTER JOIN smb_input2 b ON a.key = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a RIGHT OUTER JOIN smb_input2 b ON a.key = b.value POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input1 POSTHOOK: Input: default@smb_input2 #### A masked pattern was here #### -NULL NULL NULL 35 -NULL NULL NULL 135 -NULL NULL 48 NULL -NULL NULL 148 NULL 100 100 100 100 200 200 200 200 -PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input2 a JOIN smb_input2 b ON a.value = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +NULL NULL 148 NULL +NULL NULL 48 NULL +NULL NULL NULL 135 +NULL NULL NULL 35 +PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input2 a JOIN smb_input2 b ON a.value = b.value PREHOOK: type: QUERY PREHOOK: Input: default@smb_input2 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input2 a JOIN smb_input2 b ON a.value = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input2 a JOIN smb_input2 b ON a.value = b.value POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input2 #### A masked pattern was here #### -NULL 35 NULL 35 -NULL 135 NULL 135 100 100 100 100 200 200 200 200 -PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input2 a RIGHT OUTER JOIN smb_input2 b ON a.value = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +NULL 135 NULL 135 +NULL 35 NULL 35 +PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input2 a RIGHT OUTER JOIN smb_input2 b ON a.value = b.value PREHOOK: type: QUERY PREHOOK: Input: default@smb_input2 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input2 a RIGHT OUTER JOIN smb_input2 b ON a.value = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input2 a RIGHT OUTER JOIN smb_input2 b ON a.value = b.value POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input2 #### A masked pattern was here #### -NULL NULL 48 NULL -NULL NULL 148 NULL -NULL 35 NULL 35 -NULL 135 NULL 135 100 100 100 100 200 200 200 200 -PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a JOIN smb_input2 b ON a.value = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +NULL 135 NULL 135 +NULL 35 NULL 35 +NULL NULL 148 NULL +NULL NULL 48 NULL +PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a JOIN smb_input2 b ON a.value = b.value PREHOOK: type: QUERY PREHOOK: Input: default@smb_input2 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a JOIN smb_input2 b ON a.value = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a JOIN smb_input2 b ON a.value = b.value POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input2 #### A masked pattern was here #### -NULL 35 NULL 35 -NULL 135 NULL 135 100 100 100 100 200 200 200 200 -PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a LEFT OUTER JOIN smb_input2 b ON a.value = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +NULL 135 NULL 135 +NULL 35 NULL 35 +PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a LEFT OUTER JOIN smb_input2 b ON a.value = b.value PREHOOK: type: QUERY PREHOOK: Input: default@smb_input2 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a LEFT OUTER JOIN smb_input2 b ON a.value = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC +POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a LEFT OUTER JOIN smb_input2 b ON a.value = b.value POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input2 #### A masked pattern was here #### -NULL 35 NULL 35 -NULL 135 NULL 135 -48 NULL NULL NULL 100 100 100 100 148 NULL NULL NULL 200 200 200 200 +48 NULL NULL NULL +NULL 135 NULL 135 +NULL 35 NULL 35 diff --git ql/src/test/results/clientpositive/join_nullsafe.q.out ql/src/test/results/clientpositive/join_nullsafe.q.out index 5111635..26988b0 100644 --- ql/src/test/results/clientpositive/join_nullsafe.q.out +++ ql/src/test/results/clientpositive/join_nullsafe.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: CREATE TABLE myinput1(key int, value int) +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE myinput1(key int, value int) PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE myinput1(key int, value int) +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE myinput1(key int, value int) POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@myinput1 PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/in8.txt' INTO TABLE myinput1 @@ -10,14 +14,13 @@ POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/in8.txt' INTO TABLE my POSTHOOK: type: LOAD POSTHOOK: Output: default@myinput1 PREHOOK: query: -- merging -explain select * from myinput1 a join myinput1 b on a.key<=>b.value ORDER BY a.key, a.value, b.key, b.value +explain select * from myinput1 a join myinput1 b on a.key<=>b.value PREHOOK: type: QUERY POSTHOOK: query: -- merging -explain select * from myinput1 a join myinput1 b on a.key<=>b.value ORDER BY a.key, a.value, b.key, b.value +explain select * from myinput1 a join myinput1 b on a.key<=>b.value POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-2 depends on stages: Stage-1 Stage-0 is a root stage STAGE PLANS: @@ -58,61 +61,41 @@ STAGE PLANS: Statistics: Num rows: 3 Data size: 28 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - - Stage: Stage-2 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: int), _col3 (type: int) - sort order: ++++ Statistics: Num rows: 3 Data size: 28 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int), _col1 (type: int), _col2 (type: int), _col3 (type: int) - Reduce Operator Tree: - Extract - Statistics: Num rows: 3 Data size: 28 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 3 Data size: 28 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator limit: -1 -PREHOOK: query: select * from myinput1 a join myinput1 b on a.key<=>b.value ORDER BY a.key, a.value, b.key, b.value +PREHOOK: query: select * from myinput1 a join myinput1 b on a.key<=>b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: select * from myinput1 a join myinput1 b on a.key<=>b.value ORDER BY a.key, a.value, b.key, b.value +POSTHOOK: query: select * from myinput1 a join myinput1 b on a.key<=>b.value POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL NULL NULL NULL -NULL NULL 10 NULL -NULL NULL 48 NULL -NULL 10 NULL NULL +10 NULL NULL 10 +100 100 100 100 NULL 10 10 NULL NULL 10 48 NULL -NULL 35 NULL NULL +NULL 10 NULL NULL NULL 35 10 NULL NULL 35 48 NULL -10 NULL NULL 10 -100 100 100 100 -PREHOOK: query: explain select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key=c.key ORDER BY a.key, a.value, b.key, b.value, c.key, c.value +NULL 35 NULL NULL +NULL NULL 10 NULL +NULL NULL 48 NULL +NULL NULL NULL NULL +PREHOOK: query: explain select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key=c.key PREHOOK: type: QUERY -POSTHOOK: query: explain select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key=c.key ORDER BY a.key, a.value, b.key, b.value, c.key, c.value +POSTHOOK: query: explain select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key=c.key POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-2 depends on stages: Stage-1 Stage-0 is a root stage STAGE PLANS: @@ -163,52 +146,32 @@ STAGE PLANS: Statistics: Num rows: 6 Data size: 57 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - - Stage: Stage-2 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: int), _col3 (type: int), _col4 (type: int), _col5 (type: int) - sort order: ++++++ Statistics: Num rows: 6 Data size: 57 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int), _col1 (type: int), _col2 (type: int), _col3 (type: int), _col4 (type: int), _col5 (type: int) - Reduce Operator Tree: - Extract - Statistics: Num rows: 6 Data size: 57 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 6 Data size: 57 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator limit: -1 -PREHOOK: query: select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key=c.key ORDER BY a.key, a.value, b.key, b.value, c.key, c.value +PREHOOK: query: select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key=c.key PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key=c.key ORDER BY a.key, a.value, b.key, b.value, c.key, c.value +POSTHOOK: query: select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key=c.key POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 10 NULL NULL 10 10 NULL 100 100 100 100 100 100 -PREHOOK: query: explain select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key<=>c.key ORDER BY a.key, a.value, b.key, b.value, c.key, c.value +PREHOOK: query: explain select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key<=>c.key PREHOOK: type: QUERY -POSTHOOK: query: explain select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key<=>c.key ORDER BY a.key, a.value, b.key, b.value, c.key, c.value +POSTHOOK: query: explain select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key<=>c.key POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-2 depends on stages: Stage-1 Stage-0 is a root stage STAGE PLANS: @@ -260,79 +223,59 @@ STAGE PLANS: Statistics: Num rows: 6 Data size: 57 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - - Stage: Stage-2 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: int), _col3 (type: int), _col4 (type: int), _col5 (type: int) - sort order: ++++++ Statistics: Num rows: 6 Data size: 57 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int), _col1 (type: int), _col2 (type: int), _col3 (type: int), _col4 (type: int), _col5 (type: int) - Reduce Operator Tree: - Extract - Statistics: Num rows: 6 Data size: 57 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 6 Data size: 57 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator limit: -1 -PREHOOK: query: select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key<=>c.key ORDER BY a.key, a.value, b.key, b.value, c.key, c.value +PREHOOK: query: select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key<=>c.key PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key<=>c.key ORDER BY a.key, a.value, b.key, b.value, c.key, c.value +POSTHOOK: query: select * from myinput1 a join myinput1 b on a.key<=>b.value join myinput1 c on a.key<=>c.key POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL NULL NULL NULL NULL NULL -NULL NULL NULL NULL NULL 10 -NULL NULL NULL NULL NULL 35 -NULL NULL 10 NULL NULL NULL -NULL NULL 10 NULL NULL 10 -NULL NULL 10 NULL NULL 35 -NULL NULL 48 NULL NULL NULL -NULL NULL 48 NULL NULL 10 -NULL NULL 48 NULL NULL 35 -NULL 10 NULL NULL NULL NULL -NULL 10 NULL NULL NULL 10 -NULL 10 NULL NULL NULL 35 -NULL 10 10 NULL NULL NULL +10 NULL NULL 10 10 NULL +100 100 100 100 100 100 NULL 10 10 NULL NULL 10 NULL 10 10 NULL NULL 35 -NULL 10 48 NULL NULL NULL +NULL 10 10 NULL NULL NULL NULL 10 48 NULL NULL 10 NULL 10 48 NULL NULL 35 -NULL 35 NULL NULL NULL NULL -NULL 35 NULL NULL NULL 10 -NULL 35 NULL NULL NULL 35 -NULL 35 10 NULL NULL NULL +NULL 10 48 NULL NULL NULL +NULL 10 NULL NULL NULL 10 +NULL 10 NULL NULL NULL 35 +NULL 10 NULL NULL NULL NULL NULL 35 10 NULL NULL 10 NULL 35 10 NULL NULL 35 -NULL 35 48 NULL NULL NULL +NULL 35 10 NULL NULL NULL NULL 35 48 NULL NULL 10 NULL 35 48 NULL NULL 35 -10 NULL NULL 10 10 NULL -100 100 100 100 100 100 -PREHOOK: query: explain select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value=b.key join myinput1 c on a.key<=>c.key AND a.value=c.value ORDER BY a.key, a.value, b.key, b.value, c.key, c.value +NULL 35 48 NULL NULL NULL +NULL 35 NULL NULL NULL 10 +NULL 35 NULL NULL NULL 35 +NULL 35 NULL NULL NULL NULL +NULL NULL 10 NULL NULL 10 +NULL NULL 10 NULL NULL 35 +NULL NULL 10 NULL NULL NULL +NULL NULL 48 NULL NULL 10 +NULL NULL 48 NULL NULL 35 +NULL NULL 48 NULL NULL NULL +NULL NULL NULL NULL NULL 10 +NULL NULL NULL NULL NULL 35 +NULL NULL NULL NULL NULL NULL +PREHOOK: query: explain select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value=b.key join myinput1 c on a.key<=>c.key AND a.value=c.value PREHOOK: type: QUERY -POSTHOOK: query: explain select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value=b.key join myinput1 c on a.key<=>c.key AND a.value=c.value ORDER BY a.key, a.value, b.key, b.value, c.key, c.value +POSTHOOK: query: explain select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value=b.key join myinput1 c on a.key<=>c.key AND a.value=c.value POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-2 depends on stages: Stage-1 Stage-0 is a root stage STAGE PLANS: @@ -384,52 +327,32 @@ STAGE PLANS: Statistics: Num rows: 6 Data size: 57 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - - Stage: Stage-2 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: int), _col3 (type: int), _col4 (type: int), _col5 (type: int) - sort order: ++++++ Statistics: Num rows: 6 Data size: 57 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int), _col1 (type: int), _col2 (type: int), _col3 (type: int), _col4 (type: int), _col5 (type: int) - Reduce Operator Tree: - Extract - Statistics: Num rows: 6 Data size: 57 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 6 Data size: 57 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator limit: -1 -PREHOOK: query: select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value=b.key join myinput1 c on a.key<=>c.key AND a.value=c.value ORDER BY a.key, a.value, b.key, b.value, c.key, c.value +PREHOOK: query: select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value=b.key join myinput1 c on a.key<=>c.key AND a.value=c.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value=b.key join myinput1 c on a.key<=>c.key AND a.value=c.value ORDER BY a.key, a.value, b.key, b.value, c.key, c.value +POSTHOOK: query: select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value=b.key join myinput1 c on a.key<=>c.key AND a.value=c.value POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL 10 10 NULL NULL 10 100 100 100 100 100 100 -PREHOOK: query: explain select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value<=>b.key join myinput1 c on a.key<=>c.key AND a.value<=>c.value ORDER BY a.key, a.value, b.key, b.value, c.key, c.value +NULL 10 10 NULL NULL 10 +PREHOOK: query: explain select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value<=>b.key join myinput1 c on a.key<=>c.key AND a.value<=>c.value PREHOOK: type: QUERY -POSTHOOK: query: explain select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value<=>b.key join myinput1 c on a.key<=>c.key AND a.value<=>c.value ORDER BY a.key, a.value, b.key, b.value, c.key, c.value +POSTHOOK: query: explain select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value<=>b.key join myinput1 c on a.key<=>c.key AND a.value<=>c.value POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-2 depends on stages: Stage-1 Stage-0 is a root stage STAGE PLANS: @@ -481,150 +404,131 @@ STAGE PLANS: Statistics: Num rows: 6 Data size: 57 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - - Stage: Stage-2 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: int), _col3 (type: int), _col4 (type: int), _col5 (type: int) - sort order: ++++++ Statistics: Num rows: 6 Data size: 57 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int), _col1 (type: int), _col2 (type: int), _col3 (type: int), _col4 (type: int), _col5 (type: int) - Reduce Operator Tree: - Extract - Statistics: Num rows: 6 Data size: 57 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 6 Data size: 57 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator limit: -1 -PREHOOK: query: select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value<=>b.key join myinput1 c on a.key<=>c.key AND a.value<=>c.value ORDER BY a.key, a.value, b.key, b.value, c.key, c.value +PREHOOK: query: select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value<=>b.key join myinput1 c on a.key<=>c.key AND a.value<=>c.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value<=>b.key join myinput1 c on a.key<=>c.key AND a.value<=>c.value ORDER BY a.key, a.value, b.key, b.value, c.key, c.value +POSTHOOK: query: select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.value<=>b.key join myinput1 c on a.key<=>c.key AND a.value<=>c.value POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL NULL NULL NULL NULL NULL -NULL 10 10 NULL NULL 10 10 NULL NULL 10 10 NULL 100 100 100 100 100 100 +NULL 10 10 NULL NULL 10 +NULL NULL NULL NULL NULL NULL PREHOOK: query: -- outer joins -SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key<=>b.value ORDER BY a.key, a.value, b.key, b.value +SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key<=>b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### POSTHOOK: query: -- outer joins -SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key<=>b.value ORDER BY a.key, a.value, b.key, b.value +SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key<=>b.value POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL NULL NULL NULL -NULL NULL 10 NULL -NULL NULL 48 NULL -NULL 10 NULL NULL +10 NULL NULL 10 +100 100 100 100 +48 NULL NULL NULL NULL 10 10 NULL NULL 10 48 NULL -NULL 35 NULL NULL +NULL 10 NULL NULL NULL 35 10 NULL NULL 35 48 NULL -10 NULL NULL 10 -48 NULL NULL NULL -100 100 100 100 -PREHOOK: query: SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key<=>b.value ORDER BY a.key, a.value, b.key, b.value +NULL 35 NULL NULL +NULL NULL 10 NULL +NULL NULL 48 NULL +NULL NULL NULL NULL +PREHOOK: query: SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key<=>b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key<=>b.value ORDER BY a.key, a.value, b.key, b.value +POSTHOOK: query: SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key<=>b.value POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL NULL NULL NULL -NULL NULL NULL 35 -NULL NULL 10 NULL -NULL NULL 48 NULL -NULL 10 NULL NULL +10 NULL NULL 10 +100 100 100 100 NULL 10 10 NULL NULL 10 48 NULL -NULL 35 NULL NULL +NULL 10 NULL NULL NULL 35 10 NULL NULL 35 48 NULL -10 NULL NULL 10 -100 100 100 100 -PREHOOK: query: SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.key<=>b.value ORDER BY a.key, a.value, b.key, b.value +NULL 35 NULL NULL +NULL NULL 10 NULL +NULL NULL 48 NULL +NULL NULL NULL 35 +NULL NULL NULL NULL +PREHOOK: query: SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.key<=>b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.key<=>b.value ORDER BY a.key, a.value, b.key, b.value +POSTHOOK: query: SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.key<=>b.value POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL NULL NULL NULL -NULL NULL NULL 35 -NULL NULL 10 NULL -NULL NULL 48 NULL -NULL 10 NULL NULL +10 NULL NULL 10 +100 100 100 100 +48 NULL NULL NULL NULL 10 10 NULL NULL 10 48 NULL -NULL 35 NULL NULL +NULL 10 NULL NULL NULL 35 10 NULL NULL 35 48 NULL -10 NULL NULL 10 -48 NULL NULL NULL -100 100 100 100 +NULL 35 NULL NULL +NULL NULL 10 NULL +NULL NULL 48 NULL +NULL NULL NULL 35 +NULL NULL NULL NULL PREHOOK: query: -- map joins -SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a JOIN myinput1 b ON a.key<=>b.value ORDER BY a.key, a.value, b.key, b.value +SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a JOIN myinput1 b ON a.key<=>b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### POSTHOOK: query: -- map joins -SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a JOIN myinput1 b ON a.key<=>b.value ORDER BY a.key, a.value, b.key, b.value +SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a JOIN myinput1 b ON a.key<=>b.value POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL NULL NULL NULL -NULL NULL 10 NULL -NULL NULL 48 NULL -NULL 10 NULL NULL +10 NULL NULL 10 +100 100 100 100 NULL 10 10 NULL NULL 10 48 NULL -NULL 35 NULL NULL +NULL 10 NULL NULL NULL 35 10 NULL NULL 35 48 NULL -10 NULL NULL 10 -100 100 100 100 -PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a JOIN myinput1 b ON a.key<=>b.value ORDER BY a.key, a.value, b.key, b.value +NULL 35 NULL NULL +NULL NULL 10 NULL +NULL NULL 48 NULL +NULL NULL NULL NULL +PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a JOIN myinput1 b ON a.key<=>b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a JOIN myinput1 b ON a.key<=>b.value ORDER BY a.key, a.value, b.key, b.value +POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a JOIN myinput1 b ON a.key<=>b.value POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL NULL NULL NULL -NULL NULL 10 NULL -NULL NULL 48 NULL -NULL 10 NULL NULL +10 NULL NULL 10 +100 100 100 100 NULL 10 10 NULL NULL 10 48 NULL -NULL 35 NULL NULL +NULL 10 NULL NULL NULL 35 10 NULL NULL 35 48 NULL -10 NULL NULL 10 -100 100 100 100 +NULL 35 NULL NULL +NULL NULL 10 NULL +NULL NULL 48 NULL +NULL NULL NULL NULL PREHOOK: query: -- smbs CREATE TABLE smb_input1(key int, value int) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS PREHOOK: type: CREATETABLE @@ -661,632 +565,632 @@ PREHOOK: Output: default@smb_input2 POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/in9.txt' into table smb_input2 POSTHOOK: type: LOAD POSTHOOK: Output: default@smb_input2 -PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input1 b ON a.key <=> b.key ORDER BY a.key, a.value, b.key, b.value +PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input1 b ON a.key <=> b.key PREHOOK: type: QUERY PREHOOK: Input: default@smb_input1 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input1 b ON a.key <=> b.key ORDER BY a.key, a.value, b.key, b.value +POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input1 b ON a.key <=> b.key POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input1 #### A masked pattern was here #### -NULL NULL NULL NULL -NULL NULL NULL NULL -NULL NULL NULL NULL -NULL NULL NULL NULL -NULL NULL NULL 10 -NULL NULL NULL 10 -NULL NULL NULL 35 -NULL NULL NULL 35 -NULL NULL NULL 110 -NULL NULL NULL 110 -NULL NULL NULL 135 -NULL NULL NULL 135 -NULL 10 NULL NULL -NULL 10 NULL NULL +10 NULL 10 NULL +100 100 100 100 +110 NULL 110 NULL +148 NULL 148 NULL +200 200 200 200 +48 NULL 48 NULL NULL 10 NULL 10 -NULL 10 NULL 35 NULL 10 NULL 110 NULL 10 NULL 135 -NULL 35 NULL NULL -NULL 35 NULL NULL -NULL 35 NULL 10 -NULL 35 NULL 35 -NULL 35 NULL 110 -NULL 35 NULL 135 -NULL 110 NULL NULL -NULL 110 NULL NULL +NULL 10 NULL 35 +NULL 10 NULL NULL +NULL 10 NULL NULL NULL 110 NULL 10 -NULL 110 NULL 35 NULL 110 NULL 110 NULL 110 NULL 135 -NULL 135 NULL NULL -NULL 135 NULL NULL +NULL 110 NULL 35 +NULL 110 NULL NULL +NULL 110 NULL NULL NULL 135 NULL 10 -NULL 135 NULL 35 NULL 135 NULL 110 NULL 135 NULL 135 -10 NULL 10 NULL -48 NULL 48 NULL -100 100 100 100 -110 NULL 110 NULL -148 NULL 148 NULL -200 200 200 200 -PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input1 b ON a.key <=> b.key AND a.value <=> b.value ORDER BY a.key, a.value, b.key, b.value -PREHOOK: type: QUERY -PREHOOK: Input: default@smb_input1 -#### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input1 b ON a.key <=> b.key AND a.value <=> b.value ORDER BY a.key, a.value, b.key, b.value -POSTHOOK: type: QUERY -POSTHOOK: Input: default@smb_input1 -#### A masked pattern was here #### +NULL 135 NULL 35 +NULL 135 NULL NULL +NULL 135 NULL NULL +NULL 35 NULL 10 +NULL 35 NULL 110 +NULL 35 NULL 135 +NULL 35 NULL 35 +NULL 35 NULL NULL +NULL 35 NULL NULL +NULL NULL NULL 10 +NULL NULL NULL 10 +NULL NULL NULL 110 +NULL NULL NULL 110 +NULL NULL NULL 135 +NULL NULL NULL 135 +NULL NULL NULL 35 +NULL NULL NULL 35 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL -NULL 10 NULL 10 -NULL 35 NULL 35 -NULL 110 NULL 110 -NULL 135 NULL 135 +PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input1 b ON a.key <=> b.key AND a.value <=> b.value +PREHOOK: type: QUERY +PREHOOK: Input: default@smb_input1 +#### A masked pattern was here #### +POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input1 b ON a.key <=> b.key AND a.value <=> b.value +POSTHOOK: type: QUERY +POSTHOOK: Input: default@smb_input1 +#### A masked pattern was here #### 10 NULL 10 NULL -48 NULL 48 NULL 100 100 100 100 110 NULL 110 NULL 148 NULL 148 NULL 200 200 200 200 -PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a RIGHT OUTER JOIN smb_input1 b ON a.key <=> b.key ORDER BY a.key, a.value, b.key, b.value +48 NULL 48 NULL +NULL 10 NULL 10 +NULL 110 NULL 110 +NULL 135 NULL 135 +NULL 35 NULL 35 +NULL NULL NULL NULL +NULL NULL NULL NULL +NULL NULL NULL NULL +NULL NULL NULL NULL +PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a RIGHT OUTER JOIN smb_input1 b ON a.key <=> b.key PREHOOK: type: QUERY PREHOOK: Input: default@smb_input1 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a RIGHT OUTER JOIN smb_input1 b ON a.key <=> b.key ORDER BY a.key, a.value, b.key, b.value +POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a RIGHT OUTER JOIN smb_input1 b ON a.key <=> b.key POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input1 #### A masked pattern was here #### -NULL NULL NULL NULL -NULL NULL NULL NULL -NULL NULL NULL NULL -NULL NULL NULL NULL -NULL NULL NULL 10 -NULL NULL NULL 10 -NULL NULL NULL 35 -NULL NULL NULL 35 -NULL NULL NULL 110 -NULL NULL NULL 110 -NULL NULL NULL 135 -NULL NULL NULL 135 -NULL 10 NULL NULL -NULL 10 NULL NULL +10 NULL 10 NULL +100 100 100 100 +110 NULL 110 NULL +148 NULL 148 NULL +200 200 200 200 +48 NULL 48 NULL NULL 10 NULL 10 -NULL 10 NULL 35 NULL 10 NULL 110 NULL 10 NULL 135 -NULL 35 NULL NULL -NULL 35 NULL NULL -NULL 35 NULL 10 -NULL 35 NULL 35 -NULL 35 NULL 110 -NULL 35 NULL 135 -NULL 110 NULL NULL -NULL 110 NULL NULL +NULL 10 NULL 35 +NULL 10 NULL NULL +NULL 10 NULL NULL NULL 110 NULL 10 -NULL 110 NULL 35 NULL 110 NULL 110 NULL 110 NULL 135 -NULL 135 NULL NULL -NULL 135 NULL NULL +NULL 110 NULL 35 +NULL 110 NULL NULL +NULL 110 NULL NULL NULL 135 NULL 10 -NULL 135 NULL 35 NULL 135 NULL 110 NULL 135 NULL 135 -10 NULL 10 NULL -48 NULL 48 NULL -100 100 100 100 -110 NULL 110 NULL -148 NULL 148 NULL -200 200 200 200 -PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a JOIN smb_input1 b ON a.key <=> b.key ORDER BY a.key, a.value, b.key, b.value -PREHOOK: type: QUERY -PREHOOK: Input: default@smb_input1 -#### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a JOIN smb_input1 b ON a.key <=> b.key ORDER BY a.key, a.value, b.key, b.value -POSTHOOK: type: QUERY -POSTHOOK: Input: default@smb_input1 -#### A masked pattern was here #### -NULL NULL NULL NULL -NULL NULL NULL NULL -NULL NULL NULL NULL -NULL NULL NULL NULL +NULL 135 NULL 35 +NULL 135 NULL NULL +NULL 135 NULL NULL +NULL 35 NULL 10 +NULL 35 NULL 110 +NULL 35 NULL 135 +NULL 35 NULL 35 +NULL 35 NULL NULL +NULL 35 NULL NULL NULL NULL NULL 10 NULL NULL NULL 10 -NULL NULL NULL 35 -NULL NULL NULL 35 NULL NULL NULL 110 NULL NULL NULL 110 NULL NULL NULL 135 NULL NULL NULL 135 -NULL 10 NULL NULL -NULL 10 NULL NULL +NULL NULL NULL 35 +NULL NULL NULL 35 +NULL NULL NULL NULL +NULL NULL NULL NULL +NULL NULL NULL NULL +NULL NULL NULL NULL +PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a JOIN smb_input1 b ON a.key <=> b.key +PREHOOK: type: QUERY +PREHOOK: Input: default@smb_input1 +#### A masked pattern was here #### +POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a JOIN smb_input1 b ON a.key <=> b.key +POSTHOOK: type: QUERY +POSTHOOK: Input: default@smb_input1 +#### A masked pattern was here #### +10 NULL 10 NULL +100 100 100 100 +110 NULL 110 NULL +148 NULL 148 NULL +200 200 200 200 +48 NULL 48 NULL NULL 10 NULL 10 -NULL 10 NULL 35 NULL 10 NULL 110 NULL 10 NULL 135 -NULL 35 NULL NULL -NULL 35 NULL NULL -NULL 35 NULL 10 -NULL 35 NULL 35 -NULL 35 NULL 110 -NULL 35 NULL 135 -NULL 110 NULL NULL -NULL 110 NULL NULL +NULL 10 NULL 35 +NULL 10 NULL NULL +NULL 10 NULL NULL NULL 110 NULL 10 -NULL 110 NULL 35 NULL 110 NULL 110 NULL 110 NULL 135 -NULL 135 NULL NULL -NULL 135 NULL NULL +NULL 110 NULL 35 +NULL 110 NULL NULL +NULL 110 NULL NULL NULL 135 NULL 10 -NULL 135 NULL 35 NULL 135 NULL 110 NULL 135 NULL 135 -10 NULL 10 NULL -48 NULL 48 NULL -100 100 100 100 -110 NULL 110 NULL -148 NULL 148 NULL -200 200 200 200 -PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a LEFT OUTER JOIN smb_input1 b ON a.key <=> b.key ORDER BY a.key, a.value, b.key, b.value -PREHOOK: type: QUERY -PREHOOK: Input: default@smb_input1 -#### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a LEFT OUTER JOIN smb_input1 b ON a.key <=> b.key ORDER BY a.key, a.value, b.key, b.value -POSTHOOK: type: QUERY -POSTHOOK: Input: default@smb_input1 -#### A masked pattern was here #### -NULL NULL NULL NULL -NULL NULL NULL NULL -NULL NULL NULL NULL -NULL NULL NULL NULL +NULL 135 NULL 35 +NULL 135 NULL NULL +NULL 135 NULL NULL +NULL 35 NULL 10 +NULL 35 NULL 110 +NULL 35 NULL 135 +NULL 35 NULL 35 +NULL 35 NULL NULL +NULL 35 NULL NULL NULL NULL NULL 10 NULL NULL NULL 10 -NULL NULL NULL 35 -NULL NULL NULL 35 NULL NULL NULL 110 NULL NULL NULL 110 NULL NULL NULL 135 NULL NULL NULL 135 -NULL 10 NULL NULL -NULL 10 NULL NULL +NULL NULL NULL 35 +NULL NULL NULL 35 +NULL NULL NULL NULL +NULL NULL NULL NULL +NULL NULL NULL NULL +NULL NULL NULL NULL +PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a LEFT OUTER JOIN smb_input1 b ON a.key <=> b.key +PREHOOK: type: QUERY +PREHOOK: Input: default@smb_input1 +#### A masked pattern was here #### +POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a LEFT OUTER JOIN smb_input1 b ON a.key <=> b.key +POSTHOOK: type: QUERY +POSTHOOK: Input: default@smb_input1 +#### A masked pattern was here #### +10 NULL 10 NULL +100 100 100 100 +110 NULL 110 NULL +148 NULL 148 NULL +200 200 200 200 +48 NULL 48 NULL NULL 10 NULL 10 -NULL 10 NULL 35 NULL 10 NULL 110 NULL 10 NULL 135 -NULL 35 NULL NULL -NULL 35 NULL NULL -NULL 35 NULL 10 -NULL 35 NULL 35 -NULL 35 NULL 110 -NULL 35 NULL 135 -NULL 110 NULL NULL -NULL 110 NULL NULL +NULL 10 NULL 35 +NULL 10 NULL NULL +NULL 10 NULL NULL NULL 110 NULL 10 -NULL 110 NULL 35 NULL 110 NULL 110 NULL 110 NULL 135 -NULL 135 NULL NULL -NULL 135 NULL NULL +NULL 110 NULL 35 +NULL 110 NULL NULL +NULL 110 NULL NULL NULL 135 NULL 10 -NULL 135 NULL 35 NULL 135 NULL 110 NULL 135 NULL 135 -10 NULL 10 NULL -48 NULL 48 NULL -100 100 100 100 -110 NULL 110 NULL -148 NULL 148 NULL -200 200 200 200 -PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input2 b ON a.key <=> b.value ORDER BY a.key, a.value, b.key, b.value +NULL 135 NULL 35 +NULL 135 NULL NULL +NULL 135 NULL NULL +NULL 35 NULL 10 +NULL 35 NULL 110 +NULL 35 NULL 135 +NULL 35 NULL 35 +NULL 35 NULL NULL +NULL 35 NULL NULL +NULL NULL NULL 10 +NULL NULL NULL 10 +NULL NULL NULL 110 +NULL NULL NULL 110 +NULL NULL NULL 135 +NULL NULL NULL 135 +NULL NULL NULL 35 +NULL NULL NULL 35 +NULL NULL NULL NULL +NULL NULL NULL NULL +NULL NULL NULL NULL +NULL NULL NULL NULL +PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input2 b ON a.key <=> b.value PREHOOK: type: QUERY PREHOOK: Input: default@smb_input1 PREHOOK: Input: default@smb_input2 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input2 b ON a.key <=> b.value ORDER BY a.key, a.value, b.key, b.value +POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input2 b ON a.key <=> b.value POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input1 POSTHOOK: Input: default@smb_input2 #### A masked pattern was here #### -NULL NULL NULL NULL -NULL NULL NULL NULL -NULL NULL NULL NULL -NULL NULL NULL NULL -NULL NULL 10 NULL -NULL NULL 10 NULL -NULL NULL 48 NULL -NULL NULL 48 NULL -NULL NULL 110 NULL -NULL NULL 110 NULL -NULL NULL 148 NULL -NULL NULL 148 NULL -NULL 10 NULL NULL -NULL 10 NULL NULL +10 NULL NULL 10 +100 100 100 100 +110 NULL NULL 110 +200 200 200 200 NULL 10 10 NULL -NULL 10 48 NULL NULL 10 110 NULL NULL 10 148 NULL -NULL 35 NULL NULL -NULL 35 NULL NULL -NULL 35 10 NULL -NULL 35 48 NULL -NULL 35 110 NULL -NULL 35 148 NULL -NULL 110 NULL NULL -NULL 110 NULL NULL +NULL 10 48 NULL +NULL 10 NULL NULL +NULL 10 NULL NULL NULL 110 10 NULL -NULL 110 48 NULL NULL 110 110 NULL NULL 110 148 NULL -NULL 135 NULL NULL -NULL 135 NULL NULL +NULL 110 48 NULL +NULL 110 NULL NULL +NULL 110 NULL NULL NULL 135 10 NULL -NULL 135 48 NULL NULL 135 110 NULL NULL 135 148 NULL -10 NULL NULL 10 -100 100 100 100 -110 NULL NULL 110 -200 200 200 200 -PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a JOIN smb_input2 b ON a.key <=> b.value ORDER BY a.key, a.value, b.key, b.value +NULL 135 48 NULL +NULL 135 NULL NULL +NULL 135 NULL NULL +NULL 35 10 NULL +NULL 35 110 NULL +NULL 35 148 NULL +NULL 35 48 NULL +NULL 35 NULL NULL +NULL 35 NULL NULL +NULL NULL 10 NULL +NULL NULL 10 NULL +NULL NULL 110 NULL +NULL NULL 110 NULL +NULL NULL 148 NULL +NULL NULL 148 NULL +NULL NULL 48 NULL +NULL NULL 48 NULL +NULL NULL NULL NULL +NULL NULL NULL NULL +NULL NULL NULL NULL +NULL NULL NULL NULL +PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a JOIN smb_input2 b ON a.key <=> b.value PREHOOK: type: QUERY PREHOOK: Input: default@smb_input1 PREHOOK: Input: default@smb_input2 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a JOIN smb_input2 b ON a.key <=> b.value ORDER BY a.key, a.value, b.key, b.value +POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a JOIN smb_input2 b ON a.key <=> b.value POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input1 POSTHOOK: Input: default@smb_input2 #### A masked pattern was here #### -NULL NULL NULL NULL -NULL NULL NULL NULL -NULL NULL NULL NULL -NULL NULL NULL NULL -NULL NULL 10 NULL -NULL NULL 10 NULL -NULL NULL 48 NULL -NULL NULL 48 NULL -NULL NULL 110 NULL -NULL NULL 110 NULL -NULL NULL 148 NULL -NULL NULL 148 NULL -NULL 10 NULL NULL -NULL 10 NULL NULL +10 NULL NULL 10 +100 100 100 100 +110 NULL NULL 110 +200 200 200 200 NULL 10 10 NULL -NULL 10 48 NULL NULL 10 110 NULL NULL 10 148 NULL -NULL 35 NULL NULL -NULL 35 NULL NULL -NULL 35 10 NULL -NULL 35 48 NULL -NULL 35 110 NULL -NULL 35 148 NULL -NULL 110 NULL NULL -NULL 110 NULL NULL +NULL 10 48 NULL +NULL 10 NULL NULL +NULL 10 NULL NULL NULL 110 10 NULL -NULL 110 48 NULL NULL 110 110 NULL NULL 110 148 NULL -NULL 135 NULL NULL -NULL 135 NULL NULL +NULL 110 48 NULL +NULL 110 NULL NULL +NULL 110 NULL NULL NULL 135 10 NULL -NULL 135 48 NULL NULL 135 110 NULL NULL 135 148 NULL -10 NULL NULL 10 -100 100 100 100 -110 NULL NULL 110 -200 200 200 200 -PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a LEFT OUTER JOIN smb_input2 b ON a.key <=> b.value ORDER BY a.key, a.value, b.key, b.value +NULL 135 48 NULL +NULL 135 NULL NULL +NULL 135 NULL NULL +NULL 35 10 NULL +NULL 35 110 NULL +NULL 35 148 NULL +NULL 35 48 NULL +NULL 35 NULL NULL +NULL 35 NULL NULL +NULL NULL 10 NULL +NULL NULL 10 NULL +NULL NULL 110 NULL +NULL NULL 110 NULL +NULL NULL 148 NULL +NULL NULL 148 NULL +NULL NULL 48 NULL +NULL NULL 48 NULL +NULL NULL NULL NULL +NULL NULL NULL NULL +NULL NULL NULL NULL +NULL NULL NULL NULL +PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a LEFT OUTER JOIN smb_input2 b ON a.key <=> b.value PREHOOK: type: QUERY PREHOOK: Input: default@smb_input1 PREHOOK: Input: default@smb_input2 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a LEFT OUTER JOIN smb_input2 b ON a.key <=> b.value ORDER BY a.key, a.value, b.key, b.value +POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a LEFT OUTER JOIN smb_input2 b ON a.key <=> b.value POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input1 POSTHOOK: Input: default@smb_input2 #### A masked pattern was here #### -NULL NULL NULL NULL -NULL NULL NULL NULL -NULL NULL NULL NULL -NULL NULL NULL NULL -NULL NULL 10 NULL -NULL NULL 10 NULL -NULL NULL 48 NULL -NULL NULL 48 NULL -NULL NULL 110 NULL -NULL NULL 110 NULL -NULL NULL 148 NULL -NULL NULL 148 NULL -NULL 10 NULL NULL -NULL 10 NULL NULL +10 NULL NULL 10 +100 100 100 100 +110 NULL NULL 110 +148 NULL NULL NULL +200 200 200 200 +48 NULL NULL NULL NULL 10 10 NULL -NULL 10 48 NULL NULL 10 110 NULL NULL 10 148 NULL -NULL 35 NULL NULL -NULL 35 NULL NULL -NULL 35 10 NULL -NULL 35 48 NULL -NULL 35 110 NULL -NULL 35 148 NULL -NULL 110 NULL NULL -NULL 110 NULL NULL +NULL 10 48 NULL +NULL 10 NULL NULL +NULL 10 NULL NULL NULL 110 10 NULL -NULL 110 48 NULL NULL 110 110 NULL NULL 110 148 NULL -NULL 135 NULL NULL -NULL 135 NULL NULL +NULL 110 48 NULL +NULL 110 NULL NULL +NULL 110 NULL NULL NULL 135 10 NULL -NULL 135 48 NULL NULL 135 110 NULL NULL 135 148 NULL -10 NULL NULL 10 -48 NULL NULL NULL -100 100 100 100 -110 NULL NULL 110 -148 NULL NULL NULL -200 200 200 200 -PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a RIGHT OUTER JOIN smb_input2 b ON a.key <=> b.value ORDER BY a.key, a.value, b.key, b.value +NULL 135 48 NULL +NULL 135 NULL NULL +NULL 135 NULL NULL +NULL 35 10 NULL +NULL 35 110 NULL +NULL 35 148 NULL +NULL 35 48 NULL +NULL 35 NULL NULL +NULL 35 NULL NULL +NULL NULL 10 NULL +NULL NULL 10 NULL +NULL NULL 110 NULL +NULL NULL 110 NULL +NULL NULL 148 NULL +NULL NULL 148 NULL +NULL NULL 48 NULL +NULL NULL 48 NULL +NULL NULL NULL NULL +NULL NULL NULL NULL +NULL NULL NULL NULL +NULL NULL NULL NULL +PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a RIGHT OUTER JOIN smb_input2 b ON a.key <=> b.value PREHOOK: type: QUERY PREHOOK: Input: default@smb_input1 PREHOOK: Input: default@smb_input2 #### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a RIGHT OUTER JOIN smb_input2 b ON a.key <=> b.value ORDER BY a.key, a.value, b.key, b.value +POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a RIGHT OUTER JOIN smb_input2 b ON a.key <=> b.value POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input1 POSTHOOK: Input: default@smb_input2 #### A masked pattern was here #### -NULL NULL NULL NULL -NULL NULL NULL NULL -NULL NULL NULL NULL -NULL NULL NULL NULL -NULL NULL NULL 35 -NULL NULL NULL 135 -NULL NULL 10 NULL -NULL NULL 10 NULL -NULL NULL 48 NULL -NULL NULL 48 NULL -NULL NULL 110 NULL -NULL NULL 110 NULL -NULL NULL 148 NULL -NULL NULL 148 NULL -NULL 10 NULL NULL -NULL 10 NULL NULL +10 NULL NULL 10 +100 100 100 100 +110 NULL NULL 110 +200 200 200 200 NULL 10 10 NULL -NULL 10 48 NULL NULL 10 110 NULL NULL 10 148 NULL -NULL 35 NULL NULL -NULL 35 NULL NULL -NULL 35 10 NULL -NULL 35 48 NULL -NULL 35 110 NULL -NULL 35 148 NULL -NULL 110 NULL NULL -NULL 110 NULL NULL +NULL 10 48 NULL +NULL 10 NULL NULL +NULL 10 NULL NULL NULL 110 10 NULL -NULL 110 48 NULL NULL 110 110 NULL NULL 110 148 NULL -NULL 135 NULL NULL -NULL 135 NULL NULL +NULL 110 48 NULL +NULL 110 NULL NULL +NULL 110 NULL NULL NULL 135 10 NULL -NULL 135 48 NULL NULL 135 110 NULL NULL 135 148 NULL -10 NULL NULL 10 -100 100 100 100 -110 NULL NULL 110 -200 200 200 200 -PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input2 a JOIN smb_input2 b ON a.value <=> b.value ORDER BY a.key, a.value, b.key, b.value -PREHOOK: type: QUERY -PREHOOK: Input: default@smb_input2 -#### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input2 a JOIN smb_input2 b ON a.value <=> b.value ORDER BY a.key, a.value, b.key, b.value -POSTHOOK: type: QUERY -POSTHOOK: Input: default@smb_input2 -#### A masked pattern was here #### -NULL NULL NULL NULL -NULL NULL NULL NULL -NULL NULL NULL NULL -NULL NULL NULL NULL +NULL 135 48 NULL +NULL 135 NULL NULL +NULL 135 NULL NULL +NULL 35 10 NULL +NULL 35 110 NULL +NULL 35 148 NULL +NULL 35 48 NULL +NULL 35 NULL NULL +NULL 35 NULL NULL NULL NULL 10 NULL NULL NULL 10 NULL -NULL NULL 48 NULL -NULL NULL 48 NULL NULL NULL 110 NULL NULL NULL 110 NULL -NULL NULL 148 NULL -NULL NULL 148 NULL -NULL 10 NULL 10 -NULL 35 NULL 35 -NULL 110 NULL 110 -NULL 135 NULL 135 -10 NULL NULL NULL -10 NULL NULL NULL +NULL NULL 148 NULL +NULL NULL 148 NULL +NULL NULL 48 NULL +NULL NULL 48 NULL +NULL NULL NULL 135 +NULL NULL NULL 35 +NULL NULL NULL NULL +NULL NULL NULL NULL +NULL NULL NULL NULL +NULL NULL NULL NULL +PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input2 a JOIN smb_input2 b ON a.value <=> b.value +PREHOOK: type: QUERY +PREHOOK: Input: default@smb_input2 +#### A masked pattern was here #### +POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input2 a JOIN smb_input2 b ON a.value <=> b.value +POSTHOOK: type: QUERY +POSTHOOK: Input: default@smb_input2 +#### A masked pattern was here #### 10 NULL 10 NULL -10 NULL 48 NULL 10 NULL 110 NULL 10 NULL 148 NULL -48 NULL NULL NULL -48 NULL NULL NULL -48 NULL 10 NULL -48 NULL 48 NULL -48 NULL 110 NULL -48 NULL 148 NULL +10 NULL 48 NULL +10 NULL NULL NULL +10 NULL NULL NULL 100 100 100 100 -110 NULL NULL NULL -110 NULL NULL NULL 110 NULL 10 NULL -110 NULL 48 NULL 110 NULL 110 NULL 110 NULL 148 NULL -148 NULL NULL NULL -148 NULL NULL NULL +110 NULL 48 NULL +110 NULL NULL NULL +110 NULL NULL NULL 148 NULL 10 NULL -148 NULL 48 NULL 148 NULL 110 NULL 148 NULL 148 NULL +148 NULL 48 NULL +148 NULL NULL NULL +148 NULL NULL NULL 200 200 200 200 -PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input2 a RIGHT OUTER JOIN smb_input2 b ON a.value <=> b.value ORDER BY a.key, a.value, b.key, b.value -PREHOOK: type: QUERY -PREHOOK: Input: default@smb_input2 -#### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input2 a RIGHT OUTER JOIN smb_input2 b ON a.value <=> b.value ORDER BY a.key, a.value, b.key, b.value -POSTHOOK: type: QUERY -POSTHOOK: Input: default@smb_input2 -#### A masked pattern was here #### -NULL NULL NULL NULL -NULL NULL NULL NULL -NULL NULL NULL NULL -NULL NULL NULL NULL +48 NULL 10 NULL +48 NULL 110 NULL +48 NULL 148 NULL +48 NULL 48 NULL +48 NULL NULL NULL +48 NULL NULL NULL +NULL 10 NULL 10 +NULL 110 NULL 110 +NULL 135 NULL 135 +NULL 35 NULL 35 NULL NULL 10 NULL NULL NULL 10 NULL -NULL NULL 48 NULL -NULL NULL 48 NULL NULL NULL 110 NULL NULL NULL 110 NULL NULL NULL 148 NULL NULL NULL 148 NULL -NULL 10 NULL 10 -NULL 35 NULL 35 -NULL 110 NULL 110 -NULL 135 NULL 135 -10 NULL NULL NULL -10 NULL NULL NULL +NULL NULL 48 NULL +NULL NULL 48 NULL +NULL NULL NULL NULL +NULL NULL NULL NULL +NULL NULL NULL NULL +NULL NULL NULL NULL +PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input2 a RIGHT OUTER JOIN smb_input2 b ON a.value <=> b.value +PREHOOK: type: QUERY +PREHOOK: Input: default@smb_input2 +#### A masked pattern was here #### +POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input2 a RIGHT OUTER JOIN smb_input2 b ON a.value <=> b.value +POSTHOOK: type: QUERY +POSTHOOK: Input: default@smb_input2 +#### A masked pattern was here #### 10 NULL 10 NULL -10 NULL 48 NULL 10 NULL 110 NULL 10 NULL 148 NULL -48 NULL NULL NULL -48 NULL NULL NULL -48 NULL 10 NULL -48 NULL 48 NULL -48 NULL 110 NULL -48 NULL 148 NULL +10 NULL 48 NULL +10 NULL NULL NULL +10 NULL NULL NULL 100 100 100 100 -110 NULL NULL NULL -110 NULL NULL NULL 110 NULL 10 NULL -110 NULL 48 NULL 110 NULL 110 NULL 110 NULL 148 NULL -148 NULL NULL NULL -148 NULL NULL NULL +110 NULL 48 NULL +110 NULL NULL NULL +110 NULL NULL NULL 148 NULL 10 NULL -148 NULL 48 NULL 148 NULL 110 NULL 148 NULL 148 NULL +148 NULL 48 NULL +148 NULL NULL NULL +148 NULL NULL NULL 200 200 200 200 -PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a JOIN smb_input2 b ON a.value <=> b.value ORDER BY a.key, a.value, b.key, b.value -PREHOOK: type: QUERY -PREHOOK: Input: default@smb_input2 -#### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a JOIN smb_input2 b ON a.value <=> b.value ORDER BY a.key, a.value, b.key, b.value -POSTHOOK: type: QUERY -POSTHOOK: Input: default@smb_input2 -#### A masked pattern was here #### -NULL NULL NULL NULL -NULL NULL NULL NULL -NULL NULL NULL NULL -NULL NULL NULL NULL +48 NULL 10 NULL +48 NULL 110 NULL +48 NULL 148 NULL +48 NULL 48 NULL +48 NULL NULL NULL +48 NULL NULL NULL +NULL 10 NULL 10 +NULL 110 NULL 110 +NULL 135 NULL 135 +NULL 35 NULL 35 NULL NULL 10 NULL NULL NULL 10 NULL -NULL NULL 48 NULL -NULL NULL 48 NULL NULL NULL 110 NULL NULL NULL 110 NULL NULL NULL 148 NULL NULL NULL 148 NULL -NULL 10 NULL 10 -NULL 35 NULL 35 -NULL 110 NULL 110 -NULL 135 NULL 135 -10 NULL NULL NULL -10 NULL NULL NULL +NULL NULL 48 NULL +NULL NULL 48 NULL +NULL NULL NULL NULL +NULL NULL NULL NULL +NULL NULL NULL NULL +NULL NULL NULL NULL +PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a JOIN smb_input2 b ON a.value <=> b.value +PREHOOK: type: QUERY +PREHOOK: Input: default@smb_input2 +#### A masked pattern was here #### +POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a JOIN smb_input2 b ON a.value <=> b.value +POSTHOOK: type: QUERY +POSTHOOK: Input: default@smb_input2 +#### A masked pattern was here #### 10 NULL 10 NULL -10 NULL 48 NULL 10 NULL 110 NULL 10 NULL 148 NULL -48 NULL NULL NULL -48 NULL NULL NULL -48 NULL 10 NULL -48 NULL 48 NULL -48 NULL 110 NULL -48 NULL 148 NULL +10 NULL 48 NULL +10 NULL NULL NULL +10 NULL NULL NULL 100 100 100 100 -110 NULL NULL NULL -110 NULL NULL NULL 110 NULL 10 NULL -110 NULL 48 NULL 110 NULL 110 NULL 110 NULL 148 NULL -148 NULL NULL NULL -148 NULL NULL NULL +110 NULL 48 NULL +110 NULL NULL NULL +110 NULL NULL NULL 148 NULL 10 NULL -148 NULL 48 NULL 148 NULL 110 NULL 148 NULL 148 NULL +148 NULL 48 NULL +148 NULL NULL NULL +148 NULL NULL NULL 200 200 200 200 -PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a LEFT OUTER JOIN smb_input2 b ON a.value <=> b.value ORDER BY a.key, a.value, b.key, b.value -PREHOOK: type: QUERY -PREHOOK: Input: default@smb_input2 -#### A masked pattern was here #### -POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a LEFT OUTER JOIN smb_input2 b ON a.value <=> b.value ORDER BY a.key, a.value, b.key, b.value -POSTHOOK: type: QUERY -POSTHOOK: Input: default@smb_input2 -#### A masked pattern was here #### -NULL NULL NULL NULL -NULL NULL NULL NULL -NULL NULL NULL NULL -NULL NULL NULL NULL +48 NULL 10 NULL +48 NULL 110 NULL +48 NULL 148 NULL +48 NULL 48 NULL +48 NULL NULL NULL +48 NULL NULL NULL +NULL 10 NULL 10 +NULL 110 NULL 110 +NULL 135 NULL 135 +NULL 35 NULL 35 NULL NULL 10 NULL NULL NULL 10 NULL -NULL NULL 48 NULL -NULL NULL 48 NULL NULL NULL 110 NULL NULL NULL 110 NULL NULL NULL 148 NULL NULL NULL 148 NULL -NULL 10 NULL 10 -NULL 35 NULL 35 -NULL 110 NULL 110 -NULL 135 NULL 135 -10 NULL NULL NULL -10 NULL NULL NULL +NULL NULL 48 NULL +NULL NULL 48 NULL +NULL NULL NULL NULL +NULL NULL NULL NULL +NULL NULL NULL NULL +NULL NULL NULL NULL +PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a LEFT OUTER JOIN smb_input2 b ON a.value <=> b.value +PREHOOK: type: QUERY +PREHOOK: Input: default@smb_input2 +#### A masked pattern was here #### +POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a LEFT OUTER JOIN smb_input2 b ON a.value <=> b.value +POSTHOOK: type: QUERY +POSTHOOK: Input: default@smb_input2 +#### A masked pattern was here #### 10 NULL 10 NULL -10 NULL 48 NULL 10 NULL 110 NULL 10 NULL 148 NULL -48 NULL NULL NULL -48 NULL NULL NULL -48 NULL 10 NULL -48 NULL 48 NULL -48 NULL 110 NULL -48 NULL 148 NULL +10 NULL 48 NULL +10 NULL NULL NULL +10 NULL NULL NULL 100 100 100 100 -110 NULL NULL NULL -110 NULL NULL NULL 110 NULL 10 NULL -110 NULL 48 NULL 110 NULL 110 NULL 110 NULL 148 NULL -148 NULL NULL NULL -148 NULL NULL NULL +110 NULL 48 NULL +110 NULL NULL NULL +110 NULL NULL NULL 148 NULL 10 NULL -148 NULL 48 NULL 148 NULL 110 NULL 148 NULL 148 NULL +148 NULL 48 NULL +148 NULL NULL NULL +148 NULL NULL NULL 200 200 200 200 +48 NULL 10 NULL +48 NULL 110 NULL +48 NULL 148 NULL +48 NULL 48 NULL +48 NULL NULL NULL +48 NULL NULL NULL +NULL 10 NULL 10 +NULL 110 NULL 110 +NULL 135 NULL 135 +NULL 35 NULL 35 +NULL NULL 10 NULL +NULL NULL 10 NULL +NULL NULL 110 NULL +NULL NULL 110 NULL +NULL NULL 148 NULL +NULL NULL 148 NULL +NULL NULL 48 NULL +NULL NULL 48 NULL +NULL NULL NULL NULL +NULL NULL NULL NULL +NULL NULL NULL NULL +NULL NULL NULL NULL PREHOOK: query: --HIVE-3315 join predicate transitive explain select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.key is NULL PREHOOK: type: QUERY @@ -1351,20 +1255,20 @@ STAGE PLANS: Fetch Operator limit: -1 -PREHOOK: query: select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.key is NULL order by a.value ASC, b.key ASC +PREHOOK: query: select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.key is NULL PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 #### A masked pattern was here #### -POSTHOOK: query: select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.key is NULL order by a.value ASC, b.key ASC +POSTHOOK: query: select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.key is NULL POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL NULL NULL NULL -NULL NULL 10 NULL -NULL NULL 48 NULL -NULL 10 NULL NULL NULL 10 10 NULL NULL 10 48 NULL -NULL 35 NULL NULL +NULL 10 NULL NULL NULL 35 10 NULL NULL 35 48 NULL +NULL 35 NULL NULL +NULL NULL 10 NULL +NULL NULL 48 NULL +NULL NULL NULL NULL diff --git ql/src/test/results/clientpositive/leftsemijoin.q.out ql/src/test/results/clientpositive/leftsemijoin.q.out index d8ecfbf..dcdcf3c 100644 --- ql/src/test/results/clientpositive/leftsemijoin.q.out +++ ql/src/test/results/clientpositive/leftsemijoin.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: drop table sales +PREHOOK: query: -- SORT_QUERY_RESULTS + +drop table sales PREHOOK: type: DROPTABLE -POSTHOOK: query: drop table sales +POSTHOOK: query: -- SORT_QUERY_RESULTS + +drop table sales POSTHOOK: type: DROPTABLE PREHOOK: query: drop table things PREHOOK: type: DROPTABLE @@ -40,23 +44,23 @@ POSTHOOK: query: load data local inpath '../../data/files/things2.txt' INTO TABL POSTHOOK: type: LOAD POSTHOOK: Output: default@things POSTHOOK: Output: default@things@ds=2011-10-24 -PREHOOK: query: SELECT name,id FROM sales ORDER BY name ASC, id ASC +PREHOOK: query: SELECT name,id FROM sales PREHOOK: type: QUERY PREHOOK: Input: default@sales #### A masked pattern was here #### -POSTHOOK: query: SELECT name,id FROM sales ORDER BY name ASC, id ASC +POSTHOOK: query: SELECT name,id FROM sales POSTHOOK: type: QUERY POSTHOOK: Input: default@sales #### A masked pattern was here #### Hank 2 Joe 2 -PREHOOK: query: SELECT id,name FROM things ORDER BY id ASC, name ASC +PREHOOK: query: SELECT id,name FROM things PREHOOK: type: QUERY PREHOOK: Input: default@things PREHOOK: Input: default@things@ds=2011-10-23 PREHOOK: Input: default@things@ds=2011-10-24 #### A masked pattern was here #### -POSTHOOK: query: SELECT id,name FROM things ORDER BY id ASC, name ASC +POSTHOOK: query: SELECT id,name FROM things POSTHOOK: type: QUERY POSTHOOK: Input: default@things POSTHOOK: Input: default@things@ds=2011-10-23 @@ -64,14 +68,14 @@ POSTHOOK: Input: default@things@ds=2011-10-24 #### A masked pattern was here #### 2 Tie 2 Tie -PREHOOK: query: SELECT name,id FROM sales LEFT SEMI JOIN things ON (sales.id = things.id) ORDER BY name ASC, id ASC +PREHOOK: query: SELECT name,id FROM sales LEFT SEMI JOIN things ON (sales.id = things.id) PREHOOK: type: QUERY PREHOOK: Input: default@sales PREHOOK: Input: default@things PREHOOK: Input: default@things@ds=2011-10-23 PREHOOK: Input: default@things@ds=2011-10-24 #### A masked pattern was here #### -POSTHOOK: query: SELECT name,id FROM sales LEFT SEMI JOIN things ON (sales.id = things.id) ORDER BY name ASC, id ASC +POSTHOOK: query: SELECT name,id FROM sales LEFT SEMI JOIN things ON (sales.id = things.id) POSTHOOK: type: QUERY POSTHOOK: Input: default@sales POSTHOOK: Input: default@things diff --git ql/src/test/results/clientpositive/list_bucket_dml_12.q.out ql/src/test/results/clientpositive/list_bucket_dml_12.q.out index 899731f..feddd88 100644 --- ql/src/test/results/clientpositive/list_bucket_dml_12.q.out +++ ql/src/test/results/clientpositive/list_bucket_dml_12.q.out @@ -1,6 +1,7 @@ PREHOOK: query: -- Ensure it works if skewed column is not the first column in the table columns -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.23) +-- SORT_QUERY_RESULTS -- test where the skewed values are more than 1 say columns no. 2 and 4 in a table with 5 columns create table list_bucketing_mul_col (col1 String, col2 String, col3 String, col4 String, col5 string) @@ -12,6 +13,7 @@ PREHOOK: type: CREATETABLE POSTHOOK: query: -- Ensure it works if skewed column is not the first column in the table columns -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.23) +-- SORT_QUERY_RESULTS -- test where the skewed values are more than 1 say columns no. 2 and 4 in a table with 5 columns create table list_bucketing_mul_col (col1 String, col2 String, col3 String, col4 String, col5 string) @@ -268,11 +270,11 @@ Storage Desc Params: serialization.format 1 PREHOOK: query: explain extended select * from list_bucketing_mul_col -where ds='2008-04-08' and hr='11' and col2 = "466" and col4 = "val_466" ORDER BY col2, col4, ds, hr +where ds='2008-04-08' and hr='11' and col2 = "466" and col4 = "val_466" PREHOOK: type: QUERY POSTHOOK: query: explain extended select * from list_bucketing_mul_col -where ds='2008-04-08' and hr='11' and col2 = "466" and col4 = "val_466" ORDER BY col2, col4, ds, hr +where ds='2008-04-08' and hr='11' and col2 = "466" and col4 = "val_466" POSTHOOK: type: QUERY POSTHOOK: Lineage: list_bucketing_mul_col PARTITION(ds=2008-04-08,hr=11).col1 EXPRESSION [] POSTHOOK: Lineage: list_bucketing_mul_col PARTITION(ds=2008-04-08,hr=11).col2 SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] @@ -313,19 +315,6 @@ TOK_QUERY TOK_TABLE_OR_COL col4 "val_466" - TOK_ORDERBY - TOK_TABSORTCOLNAMEASC - TOK_TABLE_OR_COL - col2 - TOK_TABSORTCOLNAMEASC - TOK_TABLE_OR_COL - col4 - TOK_TABSORTCOLNAMEASC - TOK_TABLE_OR_COL - ds - TOK_TABSORTCOLNAMEASC - TOK_TABLE_OR_COL - hr STAGE DEPENDENCIES: @@ -348,12 +337,27 @@ STAGE PLANS: expressions: col1 (type: string), col2 (type: string), col3 (type: string), col4 (type: string), col5 (type: string), ds (type: string), hr (type: string) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6 Statistics: Num rows: 125 Data size: 1578 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col1 (type: string), _col3 (type: string), _col5 (type: string), _col6 (type: string) - sort order: ++++ + File Output Operator + compressed: false + GlobalTableId: 0 +#### A masked pattern was here #### + NumFilesPerFileSink: 1 Statistics: Num rows: 125 Data size: 1578 Basic stats: COMPLETE Column stats: NONE - tag: -1 - value expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: string), _col6 (type: string) +#### A masked pattern was here #### + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + properties: + columns _col0,_col1,_col2,_col3,_col4,_col5,_col6 + columns.types string:string:string:string:string:string:string + escape.delim \ + hive.serialization.extend.nesting.levels true + serialization.format 1 + serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + TotalFiles: 1 + GatherStats: false + MultiFileSpray: false Path -> Alias: #### A masked pattern was here #### Path -> Partition: @@ -401,44 +405,19 @@ STAGE PLANS: name: default.list_bucketing_mul_col Truncated Path -> Alias: /list_bucketing_mul_col/ds=2008-04-08/hr=11/col2=466/col4=val_466 [list_bucketing_mul_col] - Needs Tagging: false - Reduce Operator Tree: - Extract - Statistics: Num rows: 125 Data size: 1578 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - GlobalTableId: 0 -#### A masked pattern was here #### - NumFilesPerFileSink: 1 - Statistics: Num rows: 125 Data size: 1578 Basic stats: COMPLETE Column stats: NONE -#### A masked pattern was here #### - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - properties: - columns _col0,_col1,_col2,_col3,_col4,_col5,_col6 - columns.types string:string:string:string:string:string:string - escape.delim \ - hive.serialization.extend.nesting.levels true - serialization.format 1 - serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - TotalFiles: 1 - GatherStats: false - MultiFileSpray: false Stage: Stage-0 Fetch Operator limit: -1 PREHOOK: query: select * from list_bucketing_mul_col -where ds='2008-04-08' and hr='11' and col2 = "466" and col4 = "val_466" ORDER BY col2, col4, ds, hr +where ds='2008-04-08' and hr='11' and col2 = "466" and col4 = "val_466" PREHOOK: type: QUERY PREHOOK: Input: default@list_bucketing_mul_col PREHOOK: Input: default@list_bucketing_mul_col@ds=2008-04-08/hr=11 #### A masked pattern was here #### POSTHOOK: query: select * from list_bucketing_mul_col -where ds='2008-04-08' and hr='11' and col2 = "466" and col4 = "val_466" ORDER BY col2, col4, ds, hr +where ds='2008-04-08' and hr='11' and col2 = "466" and col4 = "val_466" POSTHOOK: type: QUERY POSTHOOK: Input: default@list_bucketing_mul_col POSTHOOK: Input: default@list_bucketing_mul_col@ds=2008-04-08/hr=11 @@ -453,11 +432,11 @@ POSTHOOK: Lineage: list_bucketing_mul_col PARTITION(ds=2008-04-08,hr=11).col5 EX 1 466 1 val_466 1 2008-04-08 11 PREHOOK: query: explain extended select * from list_bucketing_mul_col -where ds='2008-04-08' and hr='11' and col2 = "382" and col4 = "val_382" ORDER BY col2, col4, ds, hr +where ds='2008-04-08' and hr='11' and col2 = "382" and col4 = "val_382" PREHOOK: type: QUERY POSTHOOK: query: explain extended select * from list_bucketing_mul_col -where ds='2008-04-08' and hr='11' and col2 = "382" and col4 = "val_382" ORDER BY col2, col4, ds, hr +where ds='2008-04-08' and hr='11' and col2 = "382" and col4 = "val_382" POSTHOOK: type: QUERY POSTHOOK: Lineage: list_bucketing_mul_col PARTITION(ds=2008-04-08,hr=11).col1 EXPRESSION [] POSTHOOK: Lineage: list_bucketing_mul_col PARTITION(ds=2008-04-08,hr=11).col2 SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] @@ -498,19 +477,6 @@ TOK_QUERY TOK_TABLE_OR_COL col4 "val_382" - TOK_ORDERBY - TOK_TABSORTCOLNAMEASC - TOK_TABLE_OR_COL - col2 - TOK_TABSORTCOLNAMEASC - TOK_TABLE_OR_COL - col4 - TOK_TABSORTCOLNAMEASC - TOK_TABLE_OR_COL - ds - TOK_TABSORTCOLNAMEASC - TOK_TABLE_OR_COL - hr STAGE DEPENDENCIES: @@ -533,12 +499,27 @@ STAGE PLANS: expressions: col1 (type: string), col2 (type: string), col3 (type: string), col4 (type: string), col5 (type: string), ds (type: string), hr (type: string) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6 Statistics: Num rows: 125 Data size: 1578 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col1 (type: string), _col3 (type: string), _col5 (type: string), _col6 (type: string) - sort order: ++++ + File Output Operator + compressed: false + GlobalTableId: 0 +#### A masked pattern was here #### + NumFilesPerFileSink: 1 Statistics: Num rows: 125 Data size: 1578 Basic stats: COMPLETE Column stats: NONE - tag: -1 - value expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: string), _col6 (type: string) +#### A masked pattern was here #### + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + properties: + columns _col0,_col1,_col2,_col3,_col4,_col5,_col6 + columns.types string:string:string:string:string:string:string + escape.delim \ + hive.serialization.extend.nesting.levels true + serialization.format 1 + serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + TotalFiles: 1 + GatherStats: false + MultiFileSpray: false Path -> Alias: #### A masked pattern was here #### Path -> Partition: @@ -586,44 +567,19 @@ STAGE PLANS: name: default.list_bucketing_mul_col Truncated Path -> Alias: /list_bucketing_mul_col/ds=2008-04-08/hr=11/HIVE_DEFAULT_LIST_BUCKETING_DIR_NAME/HIVE_DEFAULT_LIST_BUCKETING_DIR_NAME [list_bucketing_mul_col] - Needs Tagging: false - Reduce Operator Tree: - Extract - Statistics: Num rows: 125 Data size: 1578 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - GlobalTableId: 0 -#### A masked pattern was here #### - NumFilesPerFileSink: 1 - Statistics: Num rows: 125 Data size: 1578 Basic stats: COMPLETE Column stats: NONE -#### A masked pattern was here #### - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - properties: - columns _col0,_col1,_col2,_col3,_col4,_col5,_col6 - columns.types string:string:string:string:string:string:string - escape.delim \ - hive.serialization.extend.nesting.levels true - serialization.format 1 - serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - TotalFiles: 1 - GatherStats: false - MultiFileSpray: false Stage: Stage-0 Fetch Operator limit: -1 PREHOOK: query: select * from list_bucketing_mul_col -where ds='2008-04-08' and hr='11' and col2 = "382" and col4 = "val_382" ORDER BY col2, col4, ds, hr +where ds='2008-04-08' and hr='11' and col2 = "382" and col4 = "val_382" PREHOOK: type: QUERY PREHOOK: Input: default@list_bucketing_mul_col PREHOOK: Input: default@list_bucketing_mul_col@ds=2008-04-08/hr=11 #### A masked pattern was here #### POSTHOOK: query: select * from list_bucketing_mul_col -where ds='2008-04-08' and hr='11' and col2 = "382" and col4 = "val_382" ORDER BY col2, col4, ds, hr +where ds='2008-04-08' and hr='11' and col2 = "382" and col4 = "val_382" POSTHOOK: type: QUERY POSTHOOK: Input: default@list_bucketing_mul_col POSTHOOK: Input: default@list_bucketing_mul_col@ds=2008-04-08/hr=11 diff --git ql/src/test/results/clientpositive/list_bucket_dml_13.q.out ql/src/test/results/clientpositive/list_bucket_dml_13.q.out index 199d4fe..445fafd 100644 --- ql/src/test/results/clientpositive/list_bucket_dml_13.q.out +++ ql/src/test/results/clientpositive/list_bucket_dml_13.q.out @@ -1,6 +1,7 @@ PREHOOK: query: -- Ensure skewed value map has escaped directory name -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.23) +-- SORT_QUERY_RESULTS -- test where the skewed values are more than 1 say columns no. 2 and 4 in a table with 5 columns create table list_bucketing_mul_col (col1 String, col2 String, col3 String, col4 String, col5 string) @@ -12,6 +13,7 @@ PREHOOK: type: CREATETABLE POSTHOOK: query: -- Ensure skewed value map has escaped directory name -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.23) +-- SORT_QUERY_RESULTS -- test where the skewed values are more than 1 say columns no. 2 and 4 in a table with 5 columns create table list_bucketing_mul_col (col1 String, col2 String, col3 String, col4 String, col5 string) @@ -268,11 +270,11 @@ Storage Desc Params: serialization.format 1 PREHOOK: query: explain extended select * from list_bucketing_mul_col -where ds='2008-04-08' and hr='2013-01-23+18:00:99' and col2 = "466" and col4 = "val_466" ORDER BY col2, col4, ds, hr +where ds='2008-04-08' and hr='2013-01-23+18:00:99' and col2 = "466" and col4 = "val_466" PREHOOK: type: QUERY POSTHOOK: query: explain extended select * from list_bucketing_mul_col -where ds='2008-04-08' and hr='2013-01-23+18:00:99' and col2 = "466" and col4 = "val_466" ORDER BY col2, col4, ds, hr +where ds='2008-04-08' and hr='2013-01-23+18:00:99' and col2 = "466" and col4 = "val_466" POSTHOOK: type: QUERY POSTHOOK: Lineage: list_bucketing_mul_col PARTITION(ds=2008-04-08,hr=2013-01-23+18:00:99).col1 EXPRESSION [] POSTHOOK: Lineage: list_bucketing_mul_col PARTITION(ds=2008-04-08,hr=2013-01-23+18:00:99).col2 SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] @@ -313,19 +315,6 @@ TOK_QUERY TOK_TABLE_OR_COL col4 "val_466" - TOK_ORDERBY - TOK_TABSORTCOLNAMEASC - TOK_TABLE_OR_COL - col2 - TOK_TABSORTCOLNAMEASC - TOK_TABLE_OR_COL - col4 - TOK_TABSORTCOLNAMEASC - TOK_TABLE_OR_COL - ds - TOK_TABSORTCOLNAMEASC - TOK_TABLE_OR_COL - hr STAGE DEPENDENCIES: @@ -348,12 +337,27 @@ STAGE PLANS: expressions: col1 (type: string), col2 (type: string), col3 (type: string), col4 (type: string), col5 (type: string), ds (type: string), hr (type: string) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6 Statistics: Num rows: 125 Data size: 1578 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col1 (type: string), _col3 (type: string), _col5 (type: string), _col6 (type: string) - sort order: ++++ + File Output Operator + compressed: false + GlobalTableId: 0 +#### A masked pattern was here #### + NumFilesPerFileSink: 1 Statistics: Num rows: 125 Data size: 1578 Basic stats: COMPLETE Column stats: NONE - tag: -1 - value expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: string), _col6 (type: string) +#### A masked pattern was here #### + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + properties: + columns _col0,_col1,_col2,_col3,_col4,_col5,_col6 + columns.types string:string:string:string:string:string:string + escape.delim \ + hive.serialization.extend.nesting.levels true + serialization.format 1 + serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + TotalFiles: 1 + GatherStats: false + MultiFileSpray: false Path -> Alias: #### A masked pattern was here #### Path -> Partition: @@ -401,44 +405,19 @@ STAGE PLANS: name: default.list_bucketing_mul_col Truncated Path -> Alias: /list_bucketing_mul_col/ds=2008-04-08/hr=2013-01-23+18%3A00%3A99/col2=466/col4=val_466 [list_bucketing_mul_col] - Needs Tagging: false - Reduce Operator Tree: - Extract - Statistics: Num rows: 125 Data size: 1578 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - GlobalTableId: 0 -#### A masked pattern was here #### - NumFilesPerFileSink: 1 - Statistics: Num rows: 125 Data size: 1578 Basic stats: COMPLETE Column stats: NONE -#### A masked pattern was here #### - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - properties: - columns _col0,_col1,_col2,_col3,_col4,_col5,_col6 - columns.types string:string:string:string:string:string:string - escape.delim \ - hive.serialization.extend.nesting.levels true - serialization.format 1 - serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - TotalFiles: 1 - GatherStats: false - MultiFileSpray: false Stage: Stage-0 Fetch Operator limit: -1 PREHOOK: query: select * from list_bucketing_mul_col -where ds='2008-04-08' and hr='2013-01-23+18:00:99' and col2 = "466" and col4 = "val_466" ORDER BY col2, col4, ds, hr +where ds='2008-04-08' and hr='2013-01-23+18:00:99' and col2 = "466" and col4 = "val_466" PREHOOK: type: QUERY PREHOOK: Input: default@list_bucketing_mul_col PREHOOK: Input: default@list_bucketing_mul_col@ds=2008-04-08/hr=2013-01-23+18%3A00%3A99 #### A masked pattern was here #### POSTHOOK: query: select * from list_bucketing_mul_col -where ds='2008-04-08' and hr='2013-01-23+18:00:99' and col2 = "466" and col4 = "val_466" ORDER BY col2, col4, ds, hr +where ds='2008-04-08' and hr='2013-01-23+18:00:99' and col2 = "466" and col4 = "val_466" POSTHOOK: type: QUERY POSTHOOK: Input: default@list_bucketing_mul_col POSTHOOK: Input: default@list_bucketing_mul_col@ds=2008-04-08/hr=2013-01-23+18%3A00%3A99 diff --git ql/src/test/results/clientpositive/list_bucket_dml_2.q.out ql/src/test/results/clientpositive/list_bucket_dml_2.q.out index 96a6d47..e0a1201 100644 --- ql/src/test/results/clientpositive/list_bucket_dml_2.q.out +++ ql/src/test/results/clientpositive/list_bucket_dml_2.q.out @@ -1,4 +1,5 @@ PREHOOK: query: -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.23) +-- SORT_QUERY_RESULTS -- list bucketing DML: static partition. multiple skewed columns. -- ds=2008-04-08/hr=11/HIVE_DEFAULT_LIST_BUCKETING_DIR_NAME: @@ -19,6 +20,7 @@ create table list_bucketing_static_part (key String, value String) STORED AS RCFILE PREHOOK: type: CREATETABLE POSTHOOK: query: -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.23) +-- SORT_QUERY_RESULTS -- list bucketing DML: static partition. multiple skewed columns. -- ds=2008-04-08/hr=11/HIVE_DEFAULT_LIST_BUCKETING_DIR_NAME: @@ -347,10 +349,10 @@ POSTHOOK: Lineage: list_bucketing_static_part PARTITION(ds=2008-04-08,hr=11).key POSTHOOK: Lineage: list_bucketing_static_part PARTITION(ds=2008-04-08,hr=11).value SIMPLE [(srcpart)srcpart.FieldSchema(name:value, type:string, comment:default), ] 1000 PREHOOK: query: explain extended -select * from list_bucketing_static_part where ds = '2008-04-08' and hr = '11' and key = '484' and value = 'val_484' ORDER BY key, value, ds, hr +select * from list_bucketing_static_part where ds = '2008-04-08' and hr = '11' and key = '484' and value = 'val_484' PREHOOK: type: QUERY POSTHOOK: query: explain extended -select * from list_bucketing_static_part where ds = '2008-04-08' and hr = '11' and key = '484' and value = 'val_484' ORDER BY key, value, ds, hr +select * from list_bucketing_static_part where ds = '2008-04-08' and hr = '11' and key = '484' and value = 'val_484' POSTHOOK: type: QUERY POSTHOOK: Lineage: list_bucketing_static_part PARTITION(ds=2008-04-08,hr=11).key SIMPLE [(srcpart)srcpart.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: list_bucketing_static_part PARTITION(ds=2008-04-08,hr=11).value SIMPLE [(srcpart)srcpart.FieldSchema(name:value, type:string, comment:default), ] @@ -388,19 +390,6 @@ TOK_QUERY TOK_TABLE_OR_COL value 'val_484' - TOK_ORDERBY - TOK_TABSORTCOLNAMEASC - TOK_TABLE_OR_COL - key - TOK_TABSORTCOLNAMEASC - TOK_TABLE_OR_COL - value - TOK_TABSORTCOLNAMEASC - TOK_TABLE_OR_COL - ds - TOK_TABSORTCOLNAMEASC - TOK_TABLE_OR_COL - hr STAGE DEPENDENCIES: @@ -423,12 +412,27 @@ STAGE PLANS: expressions: key (type: string), value (type: string), ds (type: string), hr (type: string) outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 250 Data size: 2406 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string), _col3 (type: string) - sort order: ++++ + File Output Operator + compressed: false + GlobalTableId: 0 +#### A masked pattern was here #### + NumFilesPerFileSink: 1 Statistics: Num rows: 250 Data size: 2406 Basic stats: COMPLETE Column stats: NONE - tag: -1 - value expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string), _col3 (type: string) +#### A masked pattern was here #### + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + properties: + columns _col0,_col1,_col2,_col3 + columns.types string:string:string:string + escape.delim \ + hive.serialization.extend.nesting.levels true + serialization.format 1 + serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + TotalFiles: 1 + GatherStats: false + MultiFileSpray: false Path -> Alias: #### A masked pattern was here #### Path -> Partition: @@ -476,42 +480,17 @@ STAGE PLANS: name: default.list_bucketing_static_part Truncated Path -> Alias: /list_bucketing_static_part/ds=2008-04-08/hr=11/key=484/value=val_484 [list_bucketing_static_part] - Needs Tagging: false - Reduce Operator Tree: - Extract - Statistics: Num rows: 250 Data size: 2406 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - GlobalTableId: 0 -#### A masked pattern was here #### - NumFilesPerFileSink: 1 - Statistics: Num rows: 250 Data size: 2406 Basic stats: COMPLETE Column stats: NONE -#### A masked pattern was here #### - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - properties: - columns _col0,_col1,_col2,_col3 - columns.types string:string:string:string - escape.delim \ - hive.serialization.extend.nesting.levels true - serialization.format 1 - serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - TotalFiles: 1 - GatherStats: false - MultiFileSpray: false Stage: Stage-0 Fetch Operator limit: -1 -PREHOOK: query: select * from list_bucketing_static_part where ds = '2008-04-08' and hr = '11' and key = '484' and value = 'val_484' ORDER BY key, value, ds, hr +PREHOOK: query: select * from list_bucketing_static_part where ds = '2008-04-08' and hr = '11' and key = '484' and value = 'val_484' PREHOOK: type: QUERY PREHOOK: Input: default@list_bucketing_static_part PREHOOK: Input: default@list_bucketing_static_part@ds=2008-04-08/hr=11 #### A masked pattern was here #### -POSTHOOK: query: select * from list_bucketing_static_part where ds = '2008-04-08' and hr = '11' and key = '484' and value = 'val_484' ORDER BY key, value, ds, hr +POSTHOOK: query: select * from list_bucketing_static_part where ds = '2008-04-08' and hr = '11' and key = '484' and value = 'val_484' POSTHOOK: type: QUERY POSTHOOK: Input: default@list_bucketing_static_part POSTHOOK: Input: default@list_bucketing_static_part@ds=2008-04-08/hr=11 @@ -520,13 +499,13 @@ POSTHOOK: Lineage: list_bucketing_static_part PARTITION(ds=2008-04-08,hr=11).key POSTHOOK: Lineage: list_bucketing_static_part PARTITION(ds=2008-04-08,hr=11).value SIMPLE [(srcpart)srcpart.FieldSchema(name:value, type:string, comment:default), ] 484 val_484 2008-04-08 11 484 val_484 2008-04-08 11 -PREHOOK: query: select * from srcpart where ds = '2008-04-08' and key = '484' and value = 'val_484' ORDER BY key, value +PREHOOK: query: select * from srcpart where ds = '2008-04-08' and key = '484' and value = 'val_484' PREHOOK: type: QUERY PREHOOK: Input: default@srcpart PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 #### A masked pattern was here #### -POSTHOOK: query: select * from srcpart where ds = '2008-04-08' and key = '484' and value = 'val_484' ORDER BY key, value +POSTHOOK: query: select * from srcpart where ds = '2008-04-08' and key = '484' and value = 'val_484' POSTHOOK: type: QUERY POSTHOOK: Input: default@srcpart POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 @@ -538,7 +517,7 @@ POSTHOOK: Lineage: list_bucketing_static_part PARTITION(ds=2008-04-08,hr=11).val 484 val_484 2008-04-08 12 PREHOOK: query: -- 51 and val_51 in the table so skewed data for 51 and val_14 should be none -- but query should succeed for 51 or 51 and val_14 -select * from srcpart where ds = '2008-04-08' and key = '51' ORDER BY key, value +select * from srcpart where ds = '2008-04-08' and key = '51' PREHOOK: type: QUERY PREHOOK: Input: default@srcpart PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 @@ -546,7 +525,7 @@ PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 #### A masked pattern was here #### POSTHOOK: query: -- 51 and val_51 in the table so skewed data for 51 and val_14 should be none -- but query should succeed for 51 or 51 and val_14 -select * from srcpart where ds = '2008-04-08' and key = '51' ORDER BY key, value +select * from srcpart where ds = '2008-04-08' and key = '51' POSTHOOK: type: QUERY POSTHOOK: Input: default@srcpart POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 @@ -558,12 +537,12 @@ POSTHOOK: Lineage: list_bucketing_static_part PARTITION(ds=2008-04-08,hr=11).val 51 val_51 2008-04-08 11 51 val_51 2008-04-08 12 51 val_51 2008-04-08 12 -PREHOOK: query: select * from list_bucketing_static_part where key = '51' ORDER BY key, value, ds, hr +PREHOOK: query: select * from list_bucketing_static_part where key = '51' PREHOOK: type: QUERY PREHOOK: Input: default@list_bucketing_static_part PREHOOK: Input: default@list_bucketing_static_part@ds=2008-04-08/hr=11 #### A masked pattern was here #### -POSTHOOK: query: select * from list_bucketing_static_part where key = '51' ORDER BY key, value, ds, hr +POSTHOOK: query: select * from list_bucketing_static_part where key = '51' POSTHOOK: type: QUERY POSTHOOK: Input: default@list_bucketing_static_part POSTHOOK: Input: default@list_bucketing_static_part@ds=2008-04-08/hr=11 @@ -574,13 +553,13 @@ POSTHOOK: Lineage: list_bucketing_static_part PARTITION(ds=2008-04-08,hr=11).val 51 val_51 2008-04-08 11 51 val_51 2008-04-08 11 51 val_51 2008-04-08 11 -PREHOOK: query: select * from srcpart where ds = '2008-04-08' and key = '51' and value = 'val_14' ORDER BY key, value +PREHOOK: query: select * from srcpart where ds = '2008-04-08' and key = '51' and value = 'val_14' PREHOOK: type: QUERY PREHOOK: Input: default@srcpart PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 #### A masked pattern was here #### -POSTHOOK: query: select * from srcpart where ds = '2008-04-08' and key = '51' and value = 'val_14' ORDER BY key, value +POSTHOOK: query: select * from srcpart where ds = '2008-04-08' and key = '51' and value = 'val_14' POSTHOOK: type: QUERY POSTHOOK: Input: default@srcpart POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 @@ -588,12 +567,12 @@ POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 #### A masked pattern was here #### POSTHOOK: Lineage: list_bucketing_static_part PARTITION(ds=2008-04-08,hr=11).key SIMPLE [(srcpart)srcpart.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: list_bucketing_static_part PARTITION(ds=2008-04-08,hr=11).value SIMPLE [(srcpart)srcpart.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from list_bucketing_static_part where key = '51' and value = 'val_14' ORDER BY key, value, ds, hr +PREHOOK: query: select * from list_bucketing_static_part where key = '51' and value = 'val_14' PREHOOK: type: QUERY PREHOOK: Input: default@list_bucketing_static_part PREHOOK: Input: default@list_bucketing_static_part@ds=2008-04-08/hr=11 #### A masked pattern was here #### -POSTHOOK: query: select * from list_bucketing_static_part where key = '51' and value = 'val_14' ORDER BY key, value, ds, hr +POSTHOOK: query: select * from list_bucketing_static_part where key = '51' and value = 'val_14' POSTHOOK: type: QUERY POSTHOOK: Input: default@list_bucketing_static_part POSTHOOK: Input: default@list_bucketing_static_part@ds=2008-04-08/hr=11 diff --git ql/src/test/results/clientpositive/list_bucket_dml_4.q.out ql/src/test/results/clientpositive/list_bucket_dml_4.q.out index 3a46044..5a43b48 100644 --- ql/src/test/results/clientpositive/list_bucket_dml_4.q.out +++ ql/src/test/results/clientpositive/list_bucket_dml_4.q.out @@ -1,4 +1,5 @@ PREHOOK: query: -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.23) +-- SORT_QUERY_RESULTS -- list bucketing DML: static partition. multiple skewed columns. merge. -- ds=2008-04-08/hr=11/HIVE_DEFAULT_LIST_BUCKETING_DIR_NAME: @@ -23,6 +24,7 @@ create table list_bucketing_static_part (key String, value String) STORED AS RCFILE PREHOOK: type: CREATETABLE POSTHOOK: query: -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.23) +-- SORT_QUERY_RESULTS -- list bucketing DML: static partition. multiple skewed columns. merge. -- ds=2008-04-08/hr=11/HIVE_DEFAULT_LIST_BUCKETING_DIR_NAME: @@ -742,10 +744,10 @@ POSTHOOK: Lineage: list_bucketing_static_part PARTITION(ds=2008-04-08,hr=11).key POSTHOOK: Lineage: list_bucketing_static_part PARTITION(ds=2008-04-08,hr=11).value SIMPLE [(srcpart)srcpart.FieldSchema(name:value, type:string, comment:default), ] 1000 PREHOOK: query: explain extended -select * from list_bucketing_static_part where ds = '2008-04-08' and hr = '11' and key = '484' and value = 'val_484' ORDER BY key, value, ds, hr +select * from list_bucketing_static_part where ds = '2008-04-08' and hr = '11' and key = '484' and value = 'val_484' PREHOOK: type: QUERY POSTHOOK: query: explain extended -select * from list_bucketing_static_part where ds = '2008-04-08' and hr = '11' and key = '484' and value = 'val_484' ORDER BY key, value, ds, hr +select * from list_bucketing_static_part where ds = '2008-04-08' and hr = '11' and key = '484' and value = 'val_484' POSTHOOK: type: QUERY POSTHOOK: Lineage: list_bucketing_static_part PARTITION(ds=2008-04-08,hr=11).key SIMPLE [(srcpart)srcpart.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: list_bucketing_static_part PARTITION(ds=2008-04-08,hr=11).value SIMPLE [(srcpart)srcpart.FieldSchema(name:value, type:string, comment:default), ] @@ -785,19 +787,6 @@ TOK_QUERY TOK_TABLE_OR_COL value 'val_484' - TOK_ORDERBY - TOK_TABSORTCOLNAMEASC - TOK_TABLE_OR_COL - key - TOK_TABSORTCOLNAMEASC - TOK_TABLE_OR_COL - value - TOK_TABSORTCOLNAMEASC - TOK_TABLE_OR_COL - ds - TOK_TABSORTCOLNAMEASC - TOK_TABLE_OR_COL - hr STAGE DEPENDENCIES: @@ -820,12 +809,27 @@ STAGE PLANS: expressions: key (type: string), value (type: string), ds (type: string), hr (type: string) outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 250 Data size: 2406 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string), _col3 (type: string) - sort order: ++++ + File Output Operator + compressed: false + GlobalTableId: 0 +#### A masked pattern was here #### + NumFilesPerFileSink: 1 Statistics: Num rows: 250 Data size: 2406 Basic stats: COMPLETE Column stats: NONE - tag: -1 - value expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string), _col3 (type: string) +#### A masked pattern was here #### + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + properties: + columns _col0,_col1,_col2,_col3 + columns.types string:string:string:string + escape.delim \ + hive.serialization.extend.nesting.levels true + serialization.format 1 + serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + TotalFiles: 1 + GatherStats: false + MultiFileSpray: false Path -> Alias: #### A masked pattern was here #### Path -> Partition: @@ -873,42 +877,17 @@ STAGE PLANS: name: default.list_bucketing_static_part Truncated Path -> Alias: /list_bucketing_static_part/ds=2008-04-08/hr=11/key=484/value=val_484 [list_bucketing_static_part] - Needs Tagging: false - Reduce Operator Tree: - Extract - Statistics: Num rows: 250 Data size: 2406 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - GlobalTableId: 0 -#### A masked pattern was here #### - NumFilesPerFileSink: 1 - Statistics: Num rows: 250 Data size: 2406 Basic stats: COMPLETE Column stats: NONE -#### A masked pattern was here #### - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - properties: - columns _col0,_col1,_col2,_col3 - columns.types string:string:string:string - escape.delim \ - hive.serialization.extend.nesting.levels true - serialization.format 1 - serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - TotalFiles: 1 - GatherStats: false - MultiFileSpray: false Stage: Stage-0 Fetch Operator limit: -1 -PREHOOK: query: select * from list_bucketing_static_part where ds = '2008-04-08' and hr = '11' and key = '484' and value = 'val_484' ORDER BY key, value, ds, hr +PREHOOK: query: select * from list_bucketing_static_part where ds = '2008-04-08' and hr = '11' and key = '484' and value = 'val_484' PREHOOK: type: QUERY PREHOOK: Input: default@list_bucketing_static_part PREHOOK: Input: default@list_bucketing_static_part@ds=2008-04-08/hr=11 #### A masked pattern was here #### -POSTHOOK: query: select * from list_bucketing_static_part where ds = '2008-04-08' and hr = '11' and key = '484' and value = 'val_484' ORDER BY key, value, ds, hr +POSTHOOK: query: select * from list_bucketing_static_part where ds = '2008-04-08' and hr = '11' and key = '484' and value = 'val_484' POSTHOOK: type: QUERY POSTHOOK: Input: default@list_bucketing_static_part POSTHOOK: Input: default@list_bucketing_static_part@ds=2008-04-08/hr=11 @@ -919,13 +898,13 @@ POSTHOOK: Lineage: list_bucketing_static_part PARTITION(ds=2008-04-08,hr=11).key POSTHOOK: Lineage: list_bucketing_static_part PARTITION(ds=2008-04-08,hr=11).value SIMPLE [(srcpart)srcpart.FieldSchema(name:value, type:string, comment:default), ] 484 val_484 2008-04-08 11 484 val_484 2008-04-08 11 -PREHOOK: query: select * from srcpart where ds = '2008-04-08' and key = '484' and value = 'val_484' ORDER BY key, value +PREHOOK: query: select * from srcpart where ds = '2008-04-08' and key = '484' and value = 'val_484' PREHOOK: type: QUERY PREHOOK: Input: default@srcpart PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 #### A masked pattern was here #### -POSTHOOK: query: select * from srcpart where ds = '2008-04-08' and key = '484' and value = 'val_484' ORDER BY key, value +POSTHOOK: query: select * from srcpart where ds = '2008-04-08' and key = '484' and value = 'val_484' POSTHOOK: type: QUERY POSTHOOK: Input: default@srcpart POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 diff --git ql/src/test/results/clientpositive/list_bucket_dml_5.q.out ql/src/test/results/clientpositive/list_bucket_dml_5.q.out index 6c086d7..a33a764 100644 --- ql/src/test/results/clientpositive/list_bucket_dml_5.q.out +++ ql/src/test/results/clientpositive/list_bucket_dml_5.q.out @@ -1,6 +1,7 @@ PREHOOK: query: -- list bucketing DML: multiple skewed columns. 2 stages -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.23) +-- SORT_QUERY_RESULTS -- create a skewed table create table list_bucketing_dynamic_part (key String, value String) @@ -11,6 +12,7 @@ PREHOOK: type: CREATETABLE POSTHOOK: query: -- list bucketing DML: multiple skewed columns. 2 stages -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.23) +-- SORT_QUERY_RESULTS -- create a skewed table create table list_bucketing_dynamic_part (key String, value String) @@ -377,13 +379,13 @@ POSTHOOK: Lineage: list_bucketing_dynamic_part PARTITION(ds=2008-04-08,hr=11).va POSTHOOK: Lineage: list_bucketing_dynamic_part PARTITION(ds=2008-04-08,hr=12).key SIMPLE [(srcpart)srcpart.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: list_bucketing_dynamic_part PARTITION(ds=2008-04-08,hr=12).value SIMPLE [(srcpart)srcpart.FieldSchema(name:value, type:string, comment:default), ] 1000 -PREHOOK: query: select key, value from srcpart where ds='2008-04-08' and key = "103" and value ="val_103" ORDER BY key, value +PREHOOK: query: select key, value from srcpart where ds='2008-04-08' and key = "103" and value ="val_103" PREHOOK: type: QUERY PREHOOK: Input: default@srcpart PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 #### A masked pattern was here #### -POSTHOOK: query: select key, value from srcpart where ds='2008-04-08' and key = "103" and value ="val_103" ORDER BY key, value +POSTHOOK: query: select key, value from srcpart where ds='2008-04-08' and key = "103" and value ="val_103" POSTHOOK: type: QUERY POSTHOOK: Input: default@srcpart POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 @@ -398,10 +400,10 @@ POSTHOOK: Lineage: list_bucketing_dynamic_part PARTITION(ds=2008-04-08,hr=12).va 103 val_103 103 val_103 PREHOOK: query: explain extended -select key, value, ds, hr from list_bucketing_dynamic_part where ds='2008-04-08' and key = "103" and value ="val_103" ORDER BY key, value, ds, hr +select key, value, ds, hr from list_bucketing_dynamic_part where ds='2008-04-08' and key = "103" and value ="val_103" PREHOOK: type: QUERY POSTHOOK: query: explain extended -select key, value, ds, hr from list_bucketing_dynamic_part where ds='2008-04-08' and key = "103" and value ="val_103" ORDER BY key, value, ds, hr +select key, value, ds, hr from list_bucketing_dynamic_part where ds='2008-04-08' and key = "103" and value ="val_103" POSTHOOK: type: QUERY POSTHOOK: Lineage: list_bucketing_dynamic_part PARTITION(ds=2008-04-08,hr=11).key SIMPLE [(srcpart)srcpart.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: list_bucketing_dynamic_part PARTITION(ds=2008-04-08,hr=11).value SIMPLE [(srcpart)srcpart.FieldSchema(name:value, type:string, comment:default), ] @@ -446,19 +448,6 @@ TOK_QUERY TOK_TABLE_OR_COL value "val_103" - TOK_ORDERBY - TOK_TABSORTCOLNAMEASC - TOK_TABLE_OR_COL - key - TOK_TABSORTCOLNAMEASC - TOK_TABLE_OR_COL - value - TOK_TABSORTCOLNAMEASC - TOK_TABLE_OR_COL - ds - TOK_TABSORTCOLNAMEASC - TOK_TABLE_OR_COL - hr STAGE DEPENDENCIES: @@ -481,12 +470,27 @@ STAGE PLANS: expressions: key (type: string), value (type: string), ds (type: string), hr (type: string) outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string), _col3 (type: string) - sort order: ++++ + File Output Operator + compressed: false + GlobalTableId: 0 +#### A masked pattern was here #### + NumFilesPerFileSink: 1 Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE - tag: -1 - value expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string), _col3 (type: string) +#### A masked pattern was here #### + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + properties: + columns _col0,_col1,_col2,_col3 + columns.types string:string:string:string + escape.delim \ + hive.serialization.extend.nesting.levels true + serialization.format 1 + serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + TotalFiles: 1 + GatherStats: false + MultiFileSpray: false Path -> Alias: #### A masked pattern was here #### Path -> Partition: @@ -577,43 +581,18 @@ STAGE PLANS: Truncated Path -> Alias: /list_bucketing_dynamic_part/ds=2008-04-08/hr=11/key=103/value=val_103 [list_bucketing_dynamic_part] /list_bucketing_dynamic_part/ds=2008-04-08/hr=12/key=103/value=val_103 [list_bucketing_dynamic_part] - Needs Tagging: false - Reduce Operator Tree: - Extract - Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - GlobalTableId: 0 -#### A masked pattern was here #### - NumFilesPerFileSink: 1 - Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE -#### A masked pattern was here #### - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - properties: - columns _col0,_col1,_col2,_col3 - columns.types string:string:string:string - escape.delim \ - hive.serialization.extend.nesting.levels true - serialization.format 1 - serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - TotalFiles: 1 - GatherStats: false - MultiFileSpray: false Stage: Stage-0 Fetch Operator limit: -1 -PREHOOK: query: select key, value, ds, hr from list_bucketing_dynamic_part where ds='2008-04-08' and key = "103" and value ="val_103" ORDER BY key, value, ds, hr +PREHOOK: query: select key, value, ds, hr from list_bucketing_dynamic_part where ds='2008-04-08' and key = "103" and value ="val_103" PREHOOK: type: QUERY PREHOOK: Input: default@list_bucketing_dynamic_part PREHOOK: Input: default@list_bucketing_dynamic_part@ds=2008-04-08/hr=11 PREHOOK: Input: default@list_bucketing_dynamic_part@ds=2008-04-08/hr=12 #### A masked pattern was here #### -POSTHOOK: query: select key, value, ds, hr from list_bucketing_dynamic_part where ds='2008-04-08' and key = "103" and value ="val_103" ORDER BY key, value, ds, hr +POSTHOOK: query: select key, value, ds, hr from list_bucketing_dynamic_part where ds='2008-04-08' and key = "103" and value ="val_103" POSTHOOK: type: QUERY POSTHOOK: Input: default@list_bucketing_dynamic_part POSTHOOK: Input: default@list_bucketing_dynamic_part@ds=2008-04-08/hr=11 diff --git ql/src/test/results/clientpositive/list_bucket_dml_6.q.out ql/src/test/results/clientpositive/list_bucket_dml_6.q.out index 8738f15..3ec79b1 100644 --- ql/src/test/results/clientpositive/list_bucket_dml_6.q.out +++ ql/src/test/results/clientpositive/list_bucket_dml_6.q.out @@ -37,6 +37,7 @@ PREHOOK: query: -- list bucketing DML: dynamic partition. multiple skewed column -- 118 000002_0 -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.23) +-- SORT_QUERY_RESULTS -- create a skewed table create table list_bucketing_dynamic_part (key String, value String) @@ -84,6 +85,7 @@ POSTHOOK: query: -- list bucketing DML: dynamic partition. multiple skewed colum -- 118 000002_0 -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.23) +-- SORT_QUERY_RESULTS -- create a skewed table create table list_bucketing_dynamic_part (key String, value String) @@ -372,7 +374,7 @@ Partition Parameters: numFiles 1 numRows 16 rawDataSize 136 - totalSize 102 + totalSize 4096 #### A masked pattern was here #### # Storage Information @@ -834,7 +836,7 @@ Partition Parameters: numFiles 1 numRows 16 rawDataSize 136 - totalSize 102 + totalSize 4096 #### A masked pattern was here #### # Storage Information @@ -1051,7 +1053,7 @@ STAGE PLANS: serialization.ddl struct list_bucketing_dynamic_part { string key, string value} serialization.format 1 serialization.lib org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe - totalSize 102 + totalSize 4096 #### A masked pattern was here #### serde: org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe @@ -1143,13 +1145,13 @@ POSTHOOK: Lineage: list_bucketing_dynamic_part PARTITION(ds=2008-04-08,hr=b1).ke POSTHOOK: Lineage: list_bucketing_dynamic_part PARTITION(ds=2008-04-08,hr=b1).value SIMPLE [(srcpart)srcpart.FieldSchema(name:value, type:string, comment:default), ] 484 val_484 2008-04-08 b1 484 val_484 2008-04-08 b1 -PREHOOK: query: select * from srcpart where ds = '2008-04-08' and key = '484' and value = 'val_484' order by key, value, ds, hr +PREHOOK: query: select * from srcpart where ds = '2008-04-08' and key = '484' and value = 'val_484' PREHOOK: type: QUERY PREHOOK: Input: default@srcpart PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 #### A masked pattern was here #### -POSTHOOK: query: select * from srcpart where ds = '2008-04-08' and key = '484' and value = 'val_484' order by key, value, ds, hr +POSTHOOK: query: select * from srcpart where ds = '2008-04-08' and key = '484' and value = 'val_484' POSTHOOK: type: QUERY POSTHOOK: Input: default@srcpart POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 diff --git ql/src/test/results/clientpositive/list_bucket_dml_7.q.out ql/src/test/results/clientpositive/list_bucket_dml_7.q.out index f8220ec..668778a 100644 --- ql/src/test/results/clientpositive/list_bucket_dml_7.q.out +++ ql/src/test/results/clientpositive/list_bucket_dml_7.q.out @@ -1,4 +1,5 @@ PREHOOK: query: -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.23) +-- SORT_QUERY_RESULTS -- list bucketing DML : dynamic partition (one level) , merge , one skewed column -- DML without merge files mixed with small and big files: @@ -20,6 +21,7 @@ CREATE TABLE list_bucketing_dynamic_part (key String, value STRING) STORED AS RCFILE PREHOOK: type: CREATETABLE POSTHOOK: query: -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.23) +-- SORT_QUERY_RESULTS -- list bucketing DML : dynamic partition (one level) , merge , one skewed column -- DML without merge files mixed with small and big files: @@ -320,7 +322,7 @@ Partition Parameters: numFiles 1 numRows 16 rawDataSize 136 - totalSize 204 + totalSize 4096 #### A masked pattern was here #### # Storage Information @@ -782,7 +784,7 @@ Partition Parameters: numFiles 1 numRows 16 rawDataSize 136 - totalSize 136 + totalSize 4096 #### A masked pattern was here #### # Storage Information @@ -999,7 +1001,7 @@ STAGE PLANS: serialization.ddl struct list_bucketing_dynamic_part { string key, string value} serialization.format 1 serialization.lib org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe - totalSize 136 + totalSize 4096 #### A masked pattern was here #### serde: org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe @@ -1091,13 +1093,13 @@ POSTHOOK: Lineage: list_bucketing_dynamic_part PARTITION(ds=2008-04-08,hr=b1).ke POSTHOOK: Lineage: list_bucketing_dynamic_part PARTITION(ds=2008-04-08,hr=b1).value SIMPLE [(srcpart)srcpart.FieldSchema(name:value, type:string, comment:default), ] 484 val_484 2008-04-08 b1 484 val_484 2008-04-08 b1 -PREHOOK: query: select * from srcpart where ds = '2008-04-08' and key = '484' and value = 'val_484' order by hr +PREHOOK: query: select * from srcpart where ds = '2008-04-08' and key = '484' and value = 'val_484' PREHOOK: type: QUERY PREHOOK: Input: default@srcpart PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 #### A masked pattern was here #### -POSTHOOK: query: select * from srcpart where ds = '2008-04-08' and key = '484' and value = 'val_484' order by hr +POSTHOOK: query: select * from srcpart where ds = '2008-04-08' and key = '484' and value = 'val_484' POSTHOOK: type: QUERY POSTHOOK: Input: default@srcpart POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 diff --git ql/src/test/results/clientpositive/list_bucket_dml_9.q.out ql/src/test/results/clientpositive/list_bucket_dml_9.q.out index 9d0eb29..afa1930 100644 --- ql/src/test/results/clientpositive/list_bucket_dml_9.q.out +++ ql/src/test/results/clientpositive/list_bucket_dml_9.q.out @@ -1,4 +1,5 @@ PREHOOK: query: -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.23) +-- SORT_QUERY_RESULTS -- list bucketing DML: static partition. multiple skewed columns. merge. -- ds=2008-04-08/hr=11/HIVE_DEFAULT_LIST_BUCKETING_DIR_NAME: @@ -23,6 +24,7 @@ create table list_bucketing_static_part (key String, value String) STORED AS RCFILE PREHOOK: type: CREATETABLE POSTHOOK: query: -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.23) +-- SORT_QUERY_RESULTS -- list bucketing DML: static partition. multiple skewed columns. merge. -- ds=2008-04-08/hr=11/HIVE_DEFAULT_LIST_BUCKETING_DIR_NAME: @@ -742,10 +744,10 @@ POSTHOOK: Lineage: list_bucketing_static_part PARTITION(ds=2008-04-08,hr=11).key POSTHOOK: Lineage: list_bucketing_static_part PARTITION(ds=2008-04-08,hr=11).value SIMPLE [(srcpart)srcpart.FieldSchema(name:value, type:string, comment:default), ] 1000 PREHOOK: query: explain extended -select * from list_bucketing_static_part where ds = '2008-04-08' and hr = '11' and key = '484' and value = 'val_484' ORDER BY key, value, ds, hr +select * from list_bucketing_static_part where ds = '2008-04-08' and hr = '11' and key = '484' and value = 'val_484' PREHOOK: type: QUERY POSTHOOK: query: explain extended -select * from list_bucketing_static_part where ds = '2008-04-08' and hr = '11' and key = '484' and value = 'val_484' ORDER BY key, value, ds, hr +select * from list_bucketing_static_part where ds = '2008-04-08' and hr = '11' and key = '484' and value = 'val_484' POSTHOOK: type: QUERY POSTHOOK: Lineage: list_bucketing_static_part PARTITION(ds=2008-04-08,hr=11).key SIMPLE [(srcpart)srcpart.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: list_bucketing_static_part PARTITION(ds=2008-04-08,hr=11).value SIMPLE [(srcpart)srcpart.FieldSchema(name:value, type:string, comment:default), ] @@ -785,19 +787,6 @@ TOK_QUERY TOK_TABLE_OR_COL value 'val_484' - TOK_ORDERBY - TOK_TABSORTCOLNAMEASC - TOK_TABLE_OR_COL - key - TOK_TABSORTCOLNAMEASC - TOK_TABLE_OR_COL - value - TOK_TABSORTCOLNAMEASC - TOK_TABLE_OR_COL - ds - TOK_TABSORTCOLNAMEASC - TOK_TABLE_OR_COL - hr STAGE DEPENDENCIES: @@ -820,12 +809,27 @@ STAGE PLANS: expressions: key (type: string), value (type: string), ds (type: string), hr (type: string) outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 250 Data size: 2406 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string), _col3 (type: string) - sort order: ++++ + File Output Operator + compressed: false + GlobalTableId: 0 +#### A masked pattern was here #### + NumFilesPerFileSink: 1 Statistics: Num rows: 250 Data size: 2406 Basic stats: COMPLETE Column stats: NONE - tag: -1 - value expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string), _col3 (type: string) +#### A masked pattern was here #### + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + properties: + columns _col0,_col1,_col2,_col3 + columns.types string:string:string:string + escape.delim \ + hive.serialization.extend.nesting.levels true + serialization.format 1 + serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + TotalFiles: 1 + GatherStats: false + MultiFileSpray: false Path -> Alias: #### A masked pattern was here #### Path -> Partition: @@ -873,42 +877,17 @@ STAGE PLANS: name: default.list_bucketing_static_part Truncated Path -> Alias: /list_bucketing_static_part/ds=2008-04-08/hr=11/key=484 [list_bucketing_static_part] - Needs Tagging: false - Reduce Operator Tree: - Extract - Statistics: Num rows: 250 Data size: 2406 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - GlobalTableId: 0 -#### A masked pattern was here #### - NumFilesPerFileSink: 1 - Statistics: Num rows: 250 Data size: 2406 Basic stats: COMPLETE Column stats: NONE -#### A masked pattern was here #### - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - properties: - columns _col0,_col1,_col2,_col3 - columns.types string:string:string:string - escape.delim \ - hive.serialization.extend.nesting.levels true - serialization.format 1 - serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - TotalFiles: 1 - GatherStats: false - MultiFileSpray: false Stage: Stage-0 Fetch Operator limit: -1 -PREHOOK: query: select * from list_bucketing_static_part where ds = '2008-04-08' and hr = '11' and key = '484' and value = 'val_484' ORDER BY key, value, ds, hr +PREHOOK: query: select * from list_bucketing_static_part where ds = '2008-04-08' and hr = '11' and key = '484' and value = 'val_484' PREHOOK: type: QUERY PREHOOK: Input: default@list_bucketing_static_part PREHOOK: Input: default@list_bucketing_static_part@ds=2008-04-08/hr=11 #### A masked pattern was here #### -POSTHOOK: query: select * from list_bucketing_static_part where ds = '2008-04-08' and hr = '11' and key = '484' and value = 'val_484' ORDER BY key, value, ds, hr +POSTHOOK: query: select * from list_bucketing_static_part where ds = '2008-04-08' and hr = '11' and key = '484' and value = 'val_484' POSTHOOK: type: QUERY POSTHOOK: Input: default@list_bucketing_static_part POSTHOOK: Input: default@list_bucketing_static_part@ds=2008-04-08/hr=11 @@ -919,13 +898,13 @@ POSTHOOK: Lineage: list_bucketing_static_part PARTITION(ds=2008-04-08,hr=11).key POSTHOOK: Lineage: list_bucketing_static_part PARTITION(ds=2008-04-08,hr=11).value SIMPLE [(srcpart)srcpart.FieldSchema(name:value, type:string, comment:default), ] 484 val_484 2008-04-08 11 484 val_484 2008-04-08 11 -PREHOOK: query: select * from srcpart where ds = '2008-04-08' and key = '484' and value = 'val_484' ORDER BY key, value, ds, hr +PREHOOK: query: select * from srcpart where ds = '2008-04-08' and key = '484' and value = 'val_484' PREHOOK: type: QUERY PREHOOK: Input: default@srcpart PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 #### A masked pattern was here #### -POSTHOOK: query: select * from srcpart where ds = '2008-04-08' and key = '484' and value = 'val_484' ORDER BY key, value, ds, hr +POSTHOOK: query: select * from srcpart where ds = '2008-04-08' and key = '484' and value = 'val_484' POSTHOOK: type: QUERY POSTHOOK: Input: default@srcpart POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 diff --git ql/src/test/results/clientpositive/list_bucket_query_multiskew_2.q.out ql/src/test/results/clientpositive/list_bucket_query_multiskew_2.q.out index 4aa8903..418d96f5 100644 --- ql/src/test/results/clientpositive/list_bucket_query_multiskew_2.q.out +++ ql/src/test/results/clientpositive/list_bucket_query_multiskew_2.q.out @@ -1,4 +1,5 @@ PREHOOK: query: -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.23) +-- SORT_QUERY_RESULTS -- List bucketing query logic test case. We simulate the directory structure by DML here. -- Test condition: @@ -17,6 +18,7 @@ skewed by (key, value) on (('484','val_484'),('238','val_238')) stored as DIRECTORIES PREHOOK: type: CREATETABLE POSTHOOK: query: -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.23) +-- SORT_QUERY_RESULTS -- List bucketing query logic test case. We simulate the directory structure by DML here. -- Test condition: @@ -109,11 +111,11 @@ POSTHOOK: Lineage: fact_daily PARTITION(ds=1,hr=4).value SIMPLE [(src)src.FieldS 500 PREHOOK: query: -- pruner only pick up default directory -- explain plan shows which directory selected: Truncated Path -> Alias -explain extended SELECT key, value FROM fact_daily WHERE ds='1' and hr='4' and value= 'val_484' ORDER BY key, value +explain extended SELECT key, value FROM fact_daily WHERE ds='1' and hr='4' and value= 'val_484' PREHOOK: type: QUERY POSTHOOK: query: -- pruner only pick up default directory -- explain plan shows which directory selected: Truncated Path -> Alias -explain extended SELECT key, value FROM fact_daily WHERE ds='1' and hr='4' and value= 'val_484' ORDER BY key, value +explain extended SELECT key, value FROM fact_daily WHERE ds='1' and hr='4' and value= 'val_484' POSTHOOK: type: QUERY POSTHOOK: Lineage: fact_daily PARTITION(ds=1,hr=4).key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: fact_daily PARTITION(ds=1,hr=4).value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] @@ -150,13 +152,6 @@ TOK_QUERY TOK_TABLE_OR_COL value 'val_484' - TOK_ORDERBY - TOK_TABSORTCOLNAMEASC - TOK_TABLE_OR_COL - key - TOK_TABSORTCOLNAMEASC - TOK_TABLE_OR_COL - value STAGE DEPENDENCIES: @@ -179,12 +174,27 @@ STAGE PLANS: expressions: key (type: string), value (type: string) outputColumnNames: _col0, _col1 Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: string) - sort order: ++ + File Output Operator + compressed: false + GlobalTableId: 0 +#### A masked pattern was here #### + NumFilesPerFileSink: 1 Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE - tag: -1 - value expressions: _col0 (type: string), _col1 (type: string) +#### A masked pattern was here #### + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + properties: + columns _col0,_col1 + columns.types string:string + escape.delim \ + hive.serialization.extend.nesting.levels true + serialization.format 1 + serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + TotalFiles: 1 + GatherStats: false + MultiFileSpray: false Path -> Alias: #### A masked pattern was here #### Path -> Partition: @@ -275,44 +285,19 @@ STAGE PLANS: Truncated Path -> Alias: /fact_daily/ds=1/hr=4/HIVE_DEFAULT_LIST_BUCKETING_DIR_NAME/HIVE_DEFAULT_LIST_BUCKETING_DIR_NAME [fact_daily] /fact_daily/ds=1/hr=4/key=484/value=val_484 [fact_daily] - Needs Tagging: false - Reduce Operator Tree: - Extract - Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - GlobalTableId: 0 -#### A masked pattern was here #### - NumFilesPerFileSink: 1 - Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE -#### A masked pattern was here #### - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - properties: - columns _col0,_col1 - columns.types string:string - escape.delim \ - hive.serialization.extend.nesting.levels true - serialization.format 1 - serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - TotalFiles: 1 - GatherStats: false - MultiFileSpray: false Stage: Stage-0 Fetch Operator limit: -1 PREHOOK: query: -- List Bucketing Query -SELECT key, value FROM fact_daily WHERE ds='1' and hr='4' and value= 'val_484' ORDER BY key, value +SELECT key, value FROM fact_daily WHERE ds='1' and hr='4' and value= 'val_484' PREHOOK: type: QUERY PREHOOK: Input: default@fact_daily PREHOOK: Input: default@fact_daily@ds=1/hr=4 #### A masked pattern was here #### POSTHOOK: query: -- List Bucketing Query -SELECT key, value FROM fact_daily WHERE ds='1' and hr='4' and value= 'val_484' ORDER BY key, value +SELECT key, value FROM fact_daily WHERE ds='1' and hr='4' and value= 'val_484' POSTHOOK: type: QUERY POSTHOOK: Input: default@fact_daily POSTHOOK: Input: default@fact_daily@ds=1/hr=4 @@ -322,11 +307,11 @@ POSTHOOK: Lineage: fact_daily PARTITION(ds=1,hr=4).value SIMPLE [(src)src.FieldS 484 val_484 PREHOOK: query: -- pruner only pick up default directory -- explain plan shows which directory selected: Truncated Path -> Alias -explain extended SELECT key FROM fact_daily WHERE ds='1' and hr='4' and key= '406' ORDER BY key +explain extended SELECT key FROM fact_daily WHERE ds='1' and hr='4' and key= '406' PREHOOK: type: QUERY POSTHOOK: query: -- pruner only pick up default directory -- explain plan shows which directory selected: Truncated Path -> Alias -explain extended SELECT key FROM fact_daily WHERE ds='1' and hr='4' and key= '406' ORDER BY key +explain extended SELECT key FROM fact_daily WHERE ds='1' and hr='4' and key= '406' POSTHOOK: type: QUERY POSTHOOK: Lineage: fact_daily PARTITION(ds=1,hr=4).key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: fact_daily PARTITION(ds=1,hr=4).value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] @@ -360,10 +345,6 @@ TOK_QUERY TOK_TABLE_OR_COL key '406' - TOK_ORDERBY - TOK_TABSORTCOLNAMEASC - TOK_TABLE_OR_COL - key STAGE DEPENDENCIES: @@ -386,12 +367,27 @@ STAGE PLANS: expressions: key (type: string) outputColumnNames: _col0 Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + + File Output Operator + compressed: false + GlobalTableId: 0 +#### A masked pattern was here #### + NumFilesPerFileSink: 1 Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE - tag: -1 - value expressions: _col0 (type: string) +#### A masked pattern was here #### + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + properties: + columns _col0 + columns.types string + escape.delim \ + hive.serialization.extend.nesting.levels true + serialization.format 1 + serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + TotalFiles: 1 + GatherStats: false + MultiFileSpray: false Path -> Alias: #### A masked pattern was here #### Path -> Partition: @@ -439,44 +435,19 @@ STAGE PLANS: name: default.fact_daily Truncated Path -> Alias: /fact_daily/ds=1/hr=4/HIVE_DEFAULT_LIST_BUCKETING_DIR_NAME/HIVE_DEFAULT_LIST_BUCKETING_DIR_NAME [fact_daily] - Needs Tagging: false - Reduce Operator Tree: - Extract - Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - GlobalTableId: 0 -#### A masked pattern was here #### - NumFilesPerFileSink: 1 - Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE -#### A masked pattern was here #### - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - properties: - columns _col0 - columns.types string - escape.delim \ - hive.serialization.extend.nesting.levels true - serialization.format 1 - serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - TotalFiles: 1 - GatherStats: false - MultiFileSpray: false Stage: Stage-0 Fetch Operator limit: -1 PREHOOK: query: -- List Bucketing Query -SELECT key, value FROM fact_daily WHERE ds='1' and hr='4' and key= '406' ORDER BY key +SELECT key, value FROM fact_daily WHERE ds='1' and hr='4' and key= '406' PREHOOK: type: QUERY PREHOOK: Input: default@fact_daily PREHOOK: Input: default@fact_daily@ds=1/hr=4 #### A masked pattern was here #### POSTHOOK: query: -- List Bucketing Query -SELECT key, value FROM fact_daily WHERE ds='1' and hr='4' and key= '406' ORDER BY key +SELECT key, value FROM fact_daily WHERE ds='1' and hr='4' and key= '406' POSTHOOK: type: QUERY POSTHOOK: Input: default@fact_daily POSTHOOK: Input: default@fact_daily@ds=1/hr=4 @@ -489,11 +460,11 @@ POSTHOOK: Lineage: fact_daily PARTITION(ds=1,hr=4).value SIMPLE [(src)src.FieldS 406 val_406 PREHOOK: query: -- pruner only pick up skewed-value directory -- explain plan shows which directory selected: Truncated Path -> Alias -explain extended SELECT key, value FROM fact_daily WHERE ds='1' and hr='4' and ( (key='484' and value ='val_484') or (key='238' and value= 'val_238')) ORDER BY key, value +explain extended SELECT key, value FROM fact_daily WHERE ds='1' and hr='4' and ( (key='484' and value ='val_484') or (key='238' and value= 'val_238')) PREHOOK: type: QUERY POSTHOOK: query: -- pruner only pick up skewed-value directory -- explain plan shows which directory selected: Truncated Path -> Alias -explain extended SELECT key, value FROM fact_daily WHERE ds='1' and hr='4' and ( (key='484' and value ='val_484') or (key='238' and value= 'val_238')) ORDER BY key, value +explain extended SELECT key, value FROM fact_daily WHERE ds='1' and hr='4' and ( (key='484' and value ='val_484') or (key='238' and value= 'val_238')) POSTHOOK: type: QUERY POSTHOOK: Lineage: fact_daily PARTITION(ds=1,hr=4).key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: fact_daily PARTITION(ds=1,hr=4).value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] @@ -545,13 +516,6 @@ TOK_QUERY TOK_TABLE_OR_COL value 'val_238' - TOK_ORDERBY - TOK_TABSORTCOLNAMEASC - TOK_TABLE_OR_COL - key - TOK_TABSORTCOLNAMEASC - TOK_TABLE_OR_COL - value STAGE DEPENDENCIES: @@ -574,12 +538,27 @@ STAGE PLANS: expressions: key (type: string), value (type: string) outputColumnNames: _col0, _col1 Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: string) - sort order: ++ + File Output Operator + compressed: false + GlobalTableId: 0 +#### A masked pattern was here #### + NumFilesPerFileSink: 1 Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE - tag: -1 - value expressions: _col0 (type: string), _col1 (type: string) +#### A masked pattern was here #### + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + properties: + columns _col0,_col1 + columns.types string:string + escape.delim \ + hive.serialization.extend.nesting.levels true + serialization.format 1 + serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + TotalFiles: 1 + GatherStats: false + MultiFileSpray: false Path -> Alias: #### A masked pattern was here #### Path -> Partition: @@ -670,44 +649,19 @@ STAGE PLANS: Truncated Path -> Alias: /fact_daily/ds=1/hr=4/key=238/value=val_238 [fact_daily] /fact_daily/ds=1/hr=4/key=484/value=val_484 [fact_daily] - Needs Tagging: false - Reduce Operator Tree: - Extract - Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - GlobalTableId: 0 -#### A masked pattern was here #### - NumFilesPerFileSink: 1 - Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE -#### A masked pattern was here #### - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - properties: - columns _col0,_col1 - columns.types string:string - escape.delim \ - hive.serialization.extend.nesting.levels true - serialization.format 1 - serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - TotalFiles: 1 - GatherStats: false - MultiFileSpray: false Stage: Stage-0 Fetch Operator limit: -1 PREHOOK: query: -- List Bucketing Query -SELECT key, value FROM fact_daily WHERE ds='1' and hr='4' and ( (key='484' and value ='val_484') or (key='238' and value= 'val_238')) ORDER BY key, value +SELECT key, value FROM fact_daily WHERE ds='1' and hr='4' and ( (key='484' and value ='val_484') or (key='238' and value= 'val_238')) PREHOOK: type: QUERY PREHOOK: Input: default@fact_daily PREHOOK: Input: default@fact_daily@ds=1/hr=4 #### A masked pattern was here #### POSTHOOK: query: -- List Bucketing Query -SELECT key, value FROM fact_daily WHERE ds='1' and hr='4' and ( (key='484' and value ='val_484') or (key='238' and value= 'val_238')) ORDER BY key, value +SELECT key, value FROM fact_daily WHERE ds='1' and hr='4' and ( (key='484' and value ='val_484') or (key='238' and value= 'val_238')) POSTHOOK: type: QUERY POSTHOOK: Input: default@fact_daily POSTHOOK: Input: default@fact_daily@ds=1/hr=4 diff --git ql/src/test/results/clientpositive/list_bucket_query_oneskew_1.q.out ql/src/test/results/clientpositive/list_bucket_query_oneskew_1.q.out index 224fd84..b602c17 100644 --- ql/src/test/results/clientpositive/list_bucket_query_oneskew_1.q.out +++ ql/src/test/results/clientpositive/list_bucket_query_oneskew_1.q.out @@ -1,4 +1,5 @@ PREHOOK: query: -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.23) +-- SORT_QUERY_RESULTS -- List bucketing query logic test case. -- Test condition: @@ -15,6 +16,7 @@ PREHOOK: query: -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.23) CREATE TABLE fact_daily(x int) PARTITIONED BY (ds STRING) PREHOOK: type: CREATETABLE POSTHOOK: query: -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.23) +-- SORT_QUERY_RESULTS -- List bucketing query logic test case. -- Test condition: @@ -156,12 +158,12 @@ Skewed Values: [[484]] #### A masked pattern was here #### Storage Desc Params: serialization.format 1 -PREHOOK: query: SELECT * FROM fact_daily WHERE ds='1' ORDER BY x +PREHOOK: query: SELECT * FROM fact_daily WHERE ds='1' PREHOOK: type: QUERY PREHOOK: Input: default@fact_daily PREHOOK: Input: default@fact_daily@ds=1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM fact_daily WHERE ds='1' ORDER BY x +POSTHOOK: query: SELECT * FROM fact_daily WHERE ds='1' POSTHOOK: type: QUERY POSTHOOK: Input: default@fact_daily POSTHOOK: Input: default@fact_daily@ds=1 diff --git ql/src/test/results/clientpositive/list_bucket_query_oneskew_2.q.out ql/src/test/results/clientpositive/list_bucket_query_oneskew_2.q.out index 3932870..327488a 100644 --- ql/src/test/results/clientpositive/list_bucket_query_oneskew_2.q.out +++ ql/src/test/results/clientpositive/list_bucket_query_oneskew_2.q.out @@ -1,4 +1,5 @@ PREHOOK: query: -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.23) +-- SORT_QUERY_RESULTS -- List bucketing query logic test case. -- Test condition: @@ -16,6 +17,7 @@ PREHOOK: query: -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.23) CREATE TABLE fact_daily(x int, y STRING) PARTITIONED BY (ds STRING) PREHOOK: type: CREATETABLE POSTHOOK: query: -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.23) +-- SORT_QUERY_RESULTS -- List bucketing query logic test case. -- Test condition: @@ -172,12 +174,12 @@ Skewed Values: [[484]] #### A masked pattern was here #### Storage Desc Params: serialization.format 1 -PREHOOK: query: SELECT * FROM fact_daily WHERE ds='1' ORDER BY x, y +PREHOOK: query: SELECT * FROM fact_daily WHERE ds='1' PREHOOK: type: QUERY PREHOOK: Input: default@fact_daily PREHOOK: Input: default@fact_daily@ds=1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM fact_daily WHERE ds='1' ORDER BY x, y +POSTHOOK: query: SELECT * FROM fact_daily WHERE ds='1' POSTHOOK: type: QUERY POSTHOOK: Input: default@fact_daily POSTHOOK: Input: default@fact_daily@ds=1 @@ -351,11 +353,11 @@ POSTHOOK: Lineage: fact_tz PARTITION(ds=1,hr=2).y SIMPLE [(src)src.FieldSchema(n 484 PREHOOK: query: -- The second subquery -- explain plan shows which directory selected: Truncated Path -> Alias -explain extended select x1, y1 from(select x as x1, y as y1 from fact_daily where ds ='1') subq where x1 = 484 ORDER BY x1, y1 +explain extended select x1, y1 from(select x as x1, y as y1 from fact_daily where ds ='1') subq where x1 = 484 PREHOOK: type: QUERY POSTHOOK: query: -- The second subquery -- explain plan shows which directory selected: Truncated Path -> Alias -explain extended select x1, y1 from(select x as x1, y as y1 from fact_daily where ds ='1') subq where x1 = 484 ORDER BY x1, y1 +explain extended select x1, y1 from(select x as x1, y as y1 from fact_daily where ds ='1') subq where x1 = 484 POSTHOOK: type: QUERY POSTHOOK: Lineage: fact_tz PARTITION(ds=1,hr=1).x EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: fact_tz PARTITION(ds=1,hr=1).y SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] @@ -406,13 +408,6 @@ TOK_QUERY TOK_TABLE_OR_COL x1 484 - TOK_ORDERBY - TOK_TABSORTCOLNAMEASC - TOK_TABLE_OR_COL - x1 - TOK_TABSORTCOLNAMEASC - TOK_TABLE_OR_COL - y1 STAGE DEPENDENCIES: @@ -435,12 +430,27 @@ STAGE PLANS: expressions: x (type: int), y (type: string) outputColumnNames: _col0, _col1 Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: int), _col1 (type: string) - sort order: ++ + File Output Operator + compressed: false + GlobalTableId: 0 +#### A masked pattern was here #### + NumFilesPerFileSink: 1 Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - tag: -1 - value expressions: _col0 (type: int), _col1 (type: string) +#### A masked pattern was here #### + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + properties: + columns _col0,_col1 + columns.types int:string + escape.delim \ + hive.serialization.extend.nesting.levels true + serialization.format 1 + serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + TotalFiles: 1 + GatherStats: false + MultiFileSpray: false Path -> Alias: #### A masked pattern was here #### Path -> Partition: @@ -488,44 +498,19 @@ STAGE PLANS: name: default.fact_daily Truncated Path -> Alias: /fact_tz/ds=1/x=484 [subq:fact_daily] - Needs Tagging: false - Reduce Operator Tree: - Extract - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE - File Output Operator - compressed: false - GlobalTableId: 0 -#### A masked pattern was here #### - NumFilesPerFileSink: 1 - Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE -#### A masked pattern was here #### - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - properties: - columns _col0,_col1 - columns.types int:string - escape.delim \ - hive.serialization.extend.nesting.levels true - serialization.format 1 - serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - TotalFiles: 1 - GatherStats: false - MultiFileSpray: false Stage: Stage-0 Fetch Operator limit: -1 PREHOOK: query: -- List Bucketing Query -select x1, y1 from(select x as x1, y as y1 from fact_daily where ds ='1') subq where x1 = 484 ORDER BY x1, y1 +select x1, y1 from(select x as x1, y as y1 from fact_daily where ds ='1') subq where x1 = 484 PREHOOK: type: QUERY PREHOOK: Input: default@fact_daily PREHOOK: Input: default@fact_daily@ds=1 #### A masked pattern was here #### POSTHOOK: query: -- List Bucketing Query -select x1, y1 from(select x as x1, y as y1 from fact_daily where ds ='1') subq where x1 = 484 ORDER BY x1, y1 +select x1, y1 from(select x as x1, y as y1 from fact_daily where ds ='1') subq where x1 = 484 POSTHOOK: type: QUERY POSTHOOK: Input: default@fact_daily POSTHOOK: Input: default@fact_daily@ds=1 diff --git ql/src/test/results/clientpositive/list_bucket_query_oneskew_3.q.out ql/src/test/results/clientpositive/list_bucket_query_oneskew_3.q.out index 27f31a8..56bff58 100644 --- ql/src/test/results/clientpositive/list_bucket_query_oneskew_3.q.out +++ ql/src/test/results/clientpositive/list_bucket_query_oneskew_3.q.out @@ -1,4 +1,5 @@ PREHOOK: query: -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.23) +-- SORT_QUERY_RESULTS -- List bucketing query logic test case. -- Test condition: @@ -16,6 +17,7 @@ PREHOOK: query: -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.23) CREATE TABLE fact_daily(x int, y STRING, z STRING) PARTITIONED BY (ds STRING) PREHOOK: type: CREATETABLE POSTHOOK: query: -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.23) +-- SORT_QUERY_RESULTS -- List bucketing query logic test case. -- Test condition: @@ -222,12 +224,12 @@ Skewed Values: [[484], [238]] #### A masked pattern was here #### Storage Desc Params: serialization.format 1 -PREHOOK: query: SELECT * FROM fact_daily WHERE ds='1' ORDER BY x, y, z +PREHOOK: query: SELECT * FROM fact_daily WHERE ds='1' PREHOOK: type: QUERY PREHOOK: Input: default@fact_daily PREHOOK: Input: default@fact_daily@ds=1 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM fact_daily WHERE ds='1' ORDER BY x, y, z +POSTHOOK: query: SELECT * FROM fact_daily WHERE ds='1' POSTHOOK: type: QUERY POSTHOOK: Input: default@fact_daily POSTHOOK: Input: default@fact_daily@ds=1 @@ -241,19 +243,19 @@ POSTHOOK: Lineage: fact_tz PARTITION(ds=1,hr=2).z SIMPLE [(src)src.FieldSchema(n POSTHOOK: Lineage: fact_tz PARTITION(ds=1,hr=3).x EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: fact_tz PARTITION(ds=1,hr=3).y SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: fact_tz PARTITION(ds=1,hr=3).z SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -86 val_86 val_86 1 238 val_238 val_238 1 238 val_238 val_238 1 278 val_278 val_278 1 278 val_278 val_278 1 484 val_484 val_484 1 +86 val_86 val_86 1 PREHOOK: query: -- pruner pick up right directory -- explain plan shows which directory selected: Truncated Path -> Alias -explain extended SELECT x FROM fact_daily WHERE ds='1' and not (x = 86) ORDER BY x +explain extended SELECT x FROM fact_daily WHERE ds='1' and not (x = 86) PREHOOK: type: QUERY POSTHOOK: query: -- pruner pick up right directory -- explain plan shows which directory selected: Truncated Path -> Alias -explain extended SELECT x FROM fact_daily WHERE ds='1' and not (x = 86) ORDER BY x +explain extended SELECT x FROM fact_daily WHERE ds='1' and not (x = 86) POSTHOOK: type: QUERY POSTHOOK: Lineage: fact_tz PARTITION(ds=1,hr=1).x EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: fact_tz PARTITION(ds=1,hr=1).y SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] @@ -290,10 +292,6 @@ TOK_QUERY TOK_TABLE_OR_COL x 86 - TOK_ORDERBY - TOK_TABSORTCOLNAMEASC - TOK_TABLE_OR_COL - x STAGE DEPENDENCIES: @@ -316,12 +314,27 @@ STAGE PLANS: expressions: x (type: int) outputColumnNames: _col0 Statistics: Num rows: 15 Data size: 60 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: int) - sort order: + + File Output Operator + compressed: false + GlobalTableId: 0 +#### A masked pattern was here #### + NumFilesPerFileSink: 1 Statistics: Num rows: 15 Data size: 60 Basic stats: COMPLETE Column stats: NONE - tag: -1 - value expressions: _col0 (type: int) +#### A masked pattern was here #### + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + properties: + columns _col0 + columns.types int + escape.delim \ + hive.serialization.extend.nesting.levels true + serialization.format 1 + serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + TotalFiles: 1 + GatherStats: false + MultiFileSpray: false Path -> Alias: #### A masked pattern was here #### Path -> Partition: @@ -455,44 +468,19 @@ STAGE PLANS: /fact_tz/ds=1/HIVE_DEFAULT_LIST_BUCKETING_DIR_NAME [fact_daily] /fact_tz/ds=1/x=238 [fact_daily] /fact_tz/ds=1/x=484 [fact_daily] - Needs Tagging: false - Reduce Operator Tree: - Extract - Statistics: Num rows: 15 Data size: 60 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - GlobalTableId: 0 -#### A masked pattern was here #### - NumFilesPerFileSink: 1 - Statistics: Num rows: 15 Data size: 60 Basic stats: COMPLETE Column stats: NONE -#### A masked pattern was here #### - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - properties: - columns _col0 - columns.types int - escape.delim \ - hive.serialization.extend.nesting.levels true - serialization.format 1 - serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - TotalFiles: 1 - GatherStats: false - MultiFileSpray: false Stage: Stage-0 Fetch Operator limit: -1 PREHOOK: query: -- List Bucketing Query -SELECT x FROM fact_daily WHERE ds='1' and not (x = 86) ORDER BY x +SELECT x FROM fact_daily WHERE ds='1' and not (x = 86) PREHOOK: type: QUERY PREHOOK: Input: default@fact_daily PREHOOK: Input: default@fact_daily@ds=1 #### A masked pattern was here #### POSTHOOK: query: -- List Bucketing Query -SELECT x FROM fact_daily WHERE ds='1' and not (x = 86) ORDER BY x +SELECT x FROM fact_daily WHERE ds='1' and not (x = 86) POSTHOOK: type: QUERY POSTHOOK: Input: default@fact_daily POSTHOOK: Input: default@fact_daily@ds=1 diff --git ql/src/test/results/clientpositive/load_dyn_part14.q.out ql/src/test/results/clientpositive/load_dyn_part14.q.out index a2d53d5..2887c8d 100644 --- ql/src/test/results/clientpositive/load_dyn_part14.q.out +++ ql/src/test/results/clientpositive/load_dyn_part14.q.out @@ -1,13 +1,17 @@ PREHOOK: query: -- EXCLUDE_OS_WINDOWS -- excluded on windows because of difference in file name encoding logic -create table if not exists nzhang_part14 (key string) +-- SORT_QUERY_RESULTS + +create table if not exists nzhang_part14 (key string) partitioned by (value string) PREHOOK: type: CREATETABLE POSTHOOK: query: -- EXCLUDE_OS_WINDOWS -- excluded on windows because of difference in file name encoding logic -create table if not exists nzhang_part14 (key string) +-- SORT_QUERY_RESULTS + +create table if not exists nzhang_part14 (key string) partitioned by (value string) POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@nzhang_part14 @@ -285,14 +289,12 @@ POSTHOOK: Lineage: nzhang_part14 PARTITION(value=__HIVE_DEFAULT_PARTITION__).key value= value=__HIVE_DEFAULT_PARTITION__ PREHOOK: query: select * from nzhang_part14 where value <> 'a' -order by key, value PREHOOK: type: QUERY PREHOOK: Input: default@nzhang_part14 PREHOOK: Input: default@nzhang_part14@value= PREHOOK: Input: default@nzhang_part14@value=__HIVE_DEFAULT_PARTITION__ #### A masked pattern was here #### POSTHOOK: query: select * from nzhang_part14 where value <> 'a' -order by key, value POSTHOOK: type: QUERY POSTHOOK: Input: default@nzhang_part14 POSTHOOK: Input: default@nzhang_part14@value= diff --git ql/src/test/results/clientpositive/load_dyn_part2.q.out ql/src/test/results/clientpositive/load_dyn_part2.q.out index b46147b..790d3cc 100644 --- ql/src/test/results/clientpositive/load_dyn_part2.q.out +++ ql/src/test/results/clientpositive/load_dyn_part2.q.out @@ -1,8 +1,12 @@ -PREHOOK: query: create table if not exists nzhang_part_bucket (key string, value string) +PREHOOK: query: -- SORT_QUERY_RESULTS + +create table if not exists nzhang_part_bucket (key string, value string) partitioned by (ds string, hr string) clustered by (key) into 10 buckets PREHOOK: type: CREATETABLE -POSTHOOK: query: create table if not exists nzhang_part_bucket (key string, value string) +POSTHOOK: query: -- SORT_QUERY_RESULTS + +create table if not exists nzhang_part_bucket (key string, value string) partitioned by (ds string, hr string) clustered by (key) into 10 buckets POSTHOOK: type: CREATETABLE @@ -109,12 +113,12 @@ POSTHOOK: Lineage: nzhang_part_bucket PARTITION(ds=2010-03-23,hr=12).key SIMPLE POSTHOOK: Lineage: nzhang_part_bucket PARTITION(ds=2010-03-23,hr=12).value SIMPLE [(srcpart)srcpart.FieldSchema(name:value, type:string, comment:default), ] ds=2010-03-23/hr=11 ds=2010-03-23/hr=12 -PREHOOK: query: select * from nzhang_part_bucket where ds='2010-03-23' and hr='11' order by key +PREHOOK: query: select * from nzhang_part_bucket where ds='2010-03-23' and hr='11' PREHOOK: type: QUERY PREHOOK: Input: default@nzhang_part_bucket PREHOOK: Input: default@nzhang_part_bucket@ds=2010-03-23/hr=11 #### A masked pattern was here #### -POSTHOOK: query: select * from nzhang_part_bucket where ds='2010-03-23' and hr='11' order by key +POSTHOOK: query: select * from nzhang_part_bucket where ds='2010-03-23' and hr='11' POSTHOOK: type: QUERY POSTHOOK: Input: default@nzhang_part_bucket POSTHOOK: Input: default@nzhang_part_bucket@ds=2010-03-23/hr=11 @@ -1123,12 +1127,12 @@ POSTHOOK: Lineage: nzhang_part_bucket PARTITION(ds=2010-03-23,hr=12).value SIMPL 98 val_98 2010-03-23 11 98 val_98 2010-03-23 11 98 val_98 2010-03-23 11 -PREHOOK: query: select * from nzhang_part_bucket where ds='2010-03-23' and hr='12' order by key +PREHOOK: query: select * from nzhang_part_bucket where ds='2010-03-23' and hr='12' PREHOOK: type: QUERY PREHOOK: Input: default@nzhang_part_bucket PREHOOK: Input: default@nzhang_part_bucket@ds=2010-03-23/hr=12 #### A masked pattern was here #### -POSTHOOK: query: select * from nzhang_part_bucket where ds='2010-03-23' and hr='12' order by key +POSTHOOK: query: select * from nzhang_part_bucket where ds='2010-03-23' and hr='12' POSTHOOK: type: QUERY POSTHOOK: Input: default@nzhang_part_bucket POSTHOOK: Input: default@nzhang_part_bucket@ds=2010-03-23/hr=12 diff --git ql/src/test/results/clientpositive/mapjoin_subquery.q.out ql/src/test/results/clientpositive/mapjoin_subquery.q.out index d102cc9..a907763 100644 --- ql/src/test/results/clientpositive/mapjoin_subquery.q.out +++ ql/src/test/results/clientpositive/mapjoin_subquery.q.out @@ -1,4 +1,5 @@ -PREHOOK: query: -- Since the inputs are small, it should be automatically converted to mapjoin +PREHOOK: query: -- SORT_QUERY_RESULTS +-- Since the inputs are small, it should be automatically converted to mapjoin EXPLAIN SELECT subq.key1, z.value @@ -7,7 +8,8 @@ FROM FROM src1 x JOIN src y ON (x.key = y.key)) subq JOIN srcpart z ON (subq.key1 = z.key and z.ds='2008-04-08' and z.hr=11) PREHOOK: type: QUERY -POSTHOOK: query: -- Since the inputs are small, it should be automatically converted to mapjoin +POSTHOOK: query: -- SORT_QUERY_RESULTS +-- Since the inputs are small, it should be automatically converted to mapjoin EXPLAIN SELECT subq.key1, z.value @@ -92,7 +94,6 @@ FROM (SELECT x.key as key1, x.value as value1, y.key as key2, y.value as value2 FROM src1 x JOIN src y ON (x.key = y.key)) subq JOIN srcpart z ON (subq.key1 = z.key and z.ds='2008-04-08' and z.hr=11) -ORDER BY subq.key1, z.value PREHOOK: type: QUERY PREHOOK: Input: default@src PREHOOK: Input: default@src1 @@ -104,7 +105,6 @@ FROM (SELECT x.key as key1, x.value as value1, y.key as key2, y.value as value2 FROM src1 x JOIN src y ON (x.key = y.key)) subq JOIN srcpart z ON (subq.key1 = z.key and z.ds='2008-04-08' and z.hr=11) -ORDER BY subq.key1, z.value POSTHOOK: type: QUERY POSTHOOK: Input: default@src POSTHOOK: Input: default@src1 @@ -223,23 +223,21 @@ SELECT subq.key1, z.value FROM (SELECT x.key as key1, x.value as value1, y.key as key2, y.value as value2 FROM src1 x JOIN src y ON (x.key = y.key)) subq - JOIN srcpart z ON (subq.key1 = z.key and z.ds='2008-04-08' and z.hr=11) - order by subq.key1, z.value + JOIN srcpart z ON (subq.key1 = z.key and z.ds='2008-04-08' and z.hr=11) PREHOOK: type: QUERY POSTHOOK: query: EXPLAIN SELECT subq.key1, z.value FROM (SELECT x.key as key1, x.value as value1, y.key as key2, y.value as value2 FROM src1 x JOIN src y ON (x.key = y.key)) subq - JOIN srcpart z ON (subq.key1 = z.key and z.ds='2008-04-08' and z.hr=11) - order by subq.key1, z.value + JOIN srcpart z ON (subq.key1 = z.key and z.ds='2008-04-08' and z.hr=11) POSTHOOK: type: QUERY STAGE DEPENDENCIES: - Stage-3 is a root stage + Stage-5 is a root stage Stage-0 is a root stage STAGE PLANS: - Stage: Stage-3 + Stage: Stage-5 Map Reduce Map Operator Tree: TableScan @@ -275,11 +273,13 @@ STAGE PLANS: expressions: _col0 (type: string), _col5 (type: string) outputColumnNames: _col0, _col1 Statistics: Num rows: 69 Data size: 7032 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: string) - sort order: ++ + File Output Operator + compressed: false Statistics: Num rows: 69 Data size: 7032 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string) + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Local Work: Map Reduce Local Work Alias -> Map Local Tables: @@ -298,16 +298,6 @@ STAGE PLANS: TableScan alias: z Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE - Reduce Operator Tree: - Extract - Statistics: Num rows: 69 Data size: 7032 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 69 Data size: 7032 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator @@ -317,8 +307,7 @@ PREHOOK: query: SELECT subq.key1, z.value FROM (SELECT x.key as key1, x.value as value1, y.key as key2, y.value as value2 FROM src1 x JOIN src y ON (x.key = y.key)) subq - JOIN srcpart z ON (subq.key1 = z.key and z.ds='2008-04-08' and z.hr=11) - order by subq.key1, z.value + JOIN srcpart z ON (subq.key1 = z.key and z.ds='2008-04-08' and z.hr=11) PREHOOK: type: QUERY PREHOOK: Input: default@src PREHOOK: Input: default@src1 @@ -329,8 +318,7 @@ POSTHOOK: query: SELECT subq.key1, z.value FROM (SELECT x.key as key1, x.value as value1, y.key as key2, y.value as value2 FROM src1 x JOIN src y ON (x.key = y.key)) subq - JOIN srcpart z ON (subq.key1 = z.key and z.ds='2008-04-08' and z.hr=11) - order by subq.key1, z.value + JOIN srcpart z ON (subq.key1 = z.key and z.ds='2008-04-08' and z.hr=11) POSTHOOK: type: QUERY POSTHOOK: Input: default@src POSTHOOK: Input: default@src1 diff --git ql/src/test/results/clientpositive/merge3.q.out ql/src/test/results/clientpositive/merge3.q.out index 3df75b7..546c2a3 100644 --- ql/src/test/results/clientpositive/merge3.q.out +++ ql/src/test/results/clientpositive/merge3.q.out @@ -1,4 +1,6 @@ -PREHOOK: query: create table merge_src as +PREHOOK: query: -- SORT_QUERY_RESULTS + +create table merge_src as select key, value from srcpart where ds is not null PREHOOK: type: CREATETABLE_AS_SELECT PREHOOK: Input: default@srcpart @@ -6,7 +8,9 @@ PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=11 PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=12 -POSTHOOK: query: create table merge_src as +POSTHOOK: query: -- SORT_QUERY_RESULTS + +create table merge_src as select key, value from srcpart where ds is not null POSTHOOK: type: CREATETABLE_AS_SELECT POSTHOOK: Input: default@srcpart @@ -323,11 +327,11 @@ POSTHOOK: Lineage: merge_src_part PARTITION(ds=2008-04-08).key SIMPLE [(srcpart) POSTHOOK: Lineage: merge_src_part PARTITION(ds=2008-04-08).value SIMPLE [(srcpart)srcpart.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: merge_src_part PARTITION(ds=2008-04-09).key SIMPLE [(srcpart)srcpart.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: merge_src_part PARTITION(ds=2008-04-09).value SIMPLE [(srcpart)srcpart.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from merge_src2 ORDER BY key ASC, value ASC +PREHOOK: query: select * from merge_src2 PREHOOK: type: QUERY PREHOOK: Input: default@merge_src2 #### A masked pattern was here #### -POSTHOOK: query: select * from merge_src2 ORDER BY key ASC, value ASC +POSTHOOK: query: select * from merge_src2 POSTHOOK: type: QUERY POSTHOOK: Input: default@merge_src2 #### A masked pattern was here #### @@ -2785,13 +2789,13 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).key SIMPLE [(merge_s POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge_src_part)merge_src_part.FieldSchema(name:value, type:string, comment:null), ] ds=2008-04-08 ds=2008-04-09 -PREHOOK: query: select * from merge_src_part2 where ds is not null ORDER BY key ASC, value ASC +PREHOOK: query: select * from merge_src_part2 where ds is not null PREHOOK: type: QUERY PREHOOK: Input: default@merge_src_part2 PREHOOK: Input: default@merge_src_part2@ds=2008-04-08 PREHOOK: Input: default@merge_src_part2@ds=2008-04-09 #### A masked pattern was here #### -POSTHOOK: query: select * from merge_src_part2 where ds is not null ORDER BY key ASC, value ASC +POSTHOOK: query: select * from merge_src_part2 where ds is not null POSTHOOK: type: QUERY POSTHOOK: Input: default@merge_src_part2 POSTHOOK: Input: default@merge_src_part2@ds=2008-04-08 @@ -2817,10 +2821,10 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 0 val_0 2008-04-09 0 val_0 2008-04-09 0 val_0 2008-04-09 -10 val_10 2008-04-09 -10 val_10 2008-04-09 10 val_10 2008-04-08 10 val_10 2008-04-08 +10 val_10 2008-04-09 +10 val_10 2008-04-09 100 val_100 2008-04-08 100 val_100 2008-04-08 100 val_100 2008-04-08 @@ -2829,14 +2833,14 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 100 val_100 2008-04-09 100 val_100 2008-04-09 100 val_100 2008-04-09 -103 val_103 2008-04-09 -103 val_103 2008-04-09 -103 val_103 2008-04-09 -103 val_103 2008-04-09 103 val_103 2008-04-08 103 val_103 2008-04-08 103 val_103 2008-04-08 103 val_103 2008-04-08 +103 val_103 2008-04-09 +103 val_103 2008-04-09 +103 val_103 2008-04-09 +103 val_103 2008-04-09 104 val_104 2008-04-08 104 val_104 2008-04-08 104 val_104 2008-04-08 @@ -2845,18 +2849,18 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 104 val_104 2008-04-09 104 val_104 2008-04-09 104 val_104 2008-04-09 -105 val_105 2008-04-09 -105 val_105 2008-04-09 105 val_105 2008-04-08 105 val_105 2008-04-08 +105 val_105 2008-04-09 +105 val_105 2008-04-09 11 val_11 2008-04-08 11 val_11 2008-04-08 11 val_11 2008-04-09 11 val_11 2008-04-09 -111 val_111 2008-04-09 -111 val_111 2008-04-09 111 val_111 2008-04-08 111 val_111 2008-04-08 +111 val_111 2008-04-09 +111 val_111 2008-04-09 113 val_113 2008-04-08 113 val_113 2008-04-08 113 val_113 2008-04-08 @@ -2865,22 +2869,22 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 113 val_113 2008-04-09 113 val_113 2008-04-09 113 val_113 2008-04-09 -114 val_114 2008-04-09 -114 val_114 2008-04-09 114 val_114 2008-04-08 114 val_114 2008-04-08 +114 val_114 2008-04-09 +114 val_114 2008-04-09 116 val_116 2008-04-08 116 val_116 2008-04-08 116 val_116 2008-04-09 116 val_116 2008-04-09 -118 val_118 2008-04-09 -118 val_118 2008-04-09 -118 val_118 2008-04-09 -118 val_118 2008-04-09 118 val_118 2008-04-08 118 val_118 2008-04-08 118 val_118 2008-04-08 118 val_118 2008-04-08 +118 val_118 2008-04-09 +118 val_118 2008-04-09 +118 val_118 2008-04-09 +118 val_118 2008-04-09 119 val_119 2008-04-08 119 val_119 2008-04-08 119 val_119 2008-04-08 @@ -2893,14 +2897,14 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 119 val_119 2008-04-09 119 val_119 2008-04-09 119 val_119 2008-04-09 -12 val_12 2008-04-09 -12 val_12 2008-04-09 -12 val_12 2008-04-09 -12 val_12 2008-04-09 12 val_12 2008-04-08 12 val_12 2008-04-08 12 val_12 2008-04-08 12 val_12 2008-04-08 +12 val_12 2008-04-09 +12 val_12 2008-04-09 +12 val_12 2008-04-09 +12 val_12 2008-04-09 120 val_120 2008-04-08 120 val_120 2008-04-08 120 val_120 2008-04-08 @@ -2909,30 +2913,30 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 120 val_120 2008-04-09 120 val_120 2008-04-09 120 val_120 2008-04-09 -125 val_125 2008-04-09 -125 val_125 2008-04-09 -125 val_125 2008-04-09 -125 val_125 2008-04-09 125 val_125 2008-04-08 125 val_125 2008-04-08 125 val_125 2008-04-08 125 val_125 2008-04-08 +125 val_125 2008-04-09 +125 val_125 2008-04-09 +125 val_125 2008-04-09 +125 val_125 2008-04-09 126 val_126 2008-04-08 126 val_126 2008-04-08 126 val_126 2008-04-09 126 val_126 2008-04-09 -128 val_128 2008-04-09 -128 val_128 2008-04-09 -128 val_128 2008-04-09 -128 val_128 2008-04-09 -128 val_128 2008-04-09 -128 val_128 2008-04-09 128 val_128 2008-04-08 128 val_128 2008-04-08 128 val_128 2008-04-08 128 val_128 2008-04-08 128 val_128 2008-04-08 128 val_128 2008-04-08 +128 val_128 2008-04-09 +128 val_128 2008-04-09 +128 val_128 2008-04-09 +128 val_128 2008-04-09 +128 val_128 2008-04-09 +128 val_128 2008-04-09 129 val_129 2008-04-08 129 val_129 2008-04-08 129 val_129 2008-04-08 @@ -2941,34 +2945,34 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 129 val_129 2008-04-09 129 val_129 2008-04-09 129 val_129 2008-04-09 -131 val_131 2008-04-09 -131 val_131 2008-04-09 131 val_131 2008-04-08 131 val_131 2008-04-08 +131 val_131 2008-04-09 +131 val_131 2008-04-09 133 val_133 2008-04-08 133 val_133 2008-04-08 133 val_133 2008-04-09 133 val_133 2008-04-09 -134 val_134 2008-04-09 -134 val_134 2008-04-09 -134 val_134 2008-04-09 -134 val_134 2008-04-09 134 val_134 2008-04-08 134 val_134 2008-04-08 134 val_134 2008-04-08 134 val_134 2008-04-08 +134 val_134 2008-04-09 +134 val_134 2008-04-09 +134 val_134 2008-04-09 +134 val_134 2008-04-09 136 val_136 2008-04-08 136 val_136 2008-04-08 136 val_136 2008-04-09 136 val_136 2008-04-09 -137 val_137 2008-04-09 -137 val_137 2008-04-09 -137 val_137 2008-04-09 -137 val_137 2008-04-09 137 val_137 2008-04-08 137 val_137 2008-04-08 137 val_137 2008-04-08 137 val_137 2008-04-08 +137 val_137 2008-04-09 +137 val_137 2008-04-09 +137 val_137 2008-04-09 +137 val_137 2008-04-09 138 val_138 2008-04-08 138 val_138 2008-04-08 138 val_138 2008-04-08 @@ -2985,22 +2989,22 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 138 val_138 2008-04-09 138 val_138 2008-04-09 138 val_138 2008-04-09 -143 val_143 2008-04-09 -143 val_143 2008-04-09 143 val_143 2008-04-08 143 val_143 2008-04-08 +143 val_143 2008-04-09 +143 val_143 2008-04-09 145 val_145 2008-04-08 145 val_145 2008-04-08 145 val_145 2008-04-09 145 val_145 2008-04-09 -146 val_146 2008-04-09 -146 val_146 2008-04-09 -146 val_146 2008-04-09 -146 val_146 2008-04-09 146 val_146 2008-04-08 146 val_146 2008-04-08 146 val_146 2008-04-08 146 val_146 2008-04-08 +146 val_146 2008-04-09 +146 val_146 2008-04-09 +146 val_146 2008-04-09 +146 val_146 2008-04-09 149 val_149 2008-04-08 149 val_149 2008-04-08 149 val_149 2008-04-08 @@ -3009,58 +3013,58 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 149 val_149 2008-04-09 149 val_149 2008-04-09 149 val_149 2008-04-09 -15 val_15 2008-04-09 -15 val_15 2008-04-09 -15 val_15 2008-04-09 -15 val_15 2008-04-09 15 val_15 2008-04-08 15 val_15 2008-04-08 15 val_15 2008-04-08 15 val_15 2008-04-08 +15 val_15 2008-04-09 +15 val_15 2008-04-09 +15 val_15 2008-04-09 +15 val_15 2008-04-09 150 val_150 2008-04-08 150 val_150 2008-04-08 150 val_150 2008-04-09 150 val_150 2008-04-09 -152 val_152 2008-04-09 -152 val_152 2008-04-09 -152 val_152 2008-04-09 -152 val_152 2008-04-09 152 val_152 2008-04-08 152 val_152 2008-04-08 152 val_152 2008-04-08 152 val_152 2008-04-08 +152 val_152 2008-04-09 +152 val_152 2008-04-09 +152 val_152 2008-04-09 +152 val_152 2008-04-09 153 val_153 2008-04-08 153 val_153 2008-04-08 153 val_153 2008-04-09 153 val_153 2008-04-09 -155 val_155 2008-04-09 -155 val_155 2008-04-09 155 val_155 2008-04-08 155 val_155 2008-04-08 +155 val_155 2008-04-09 +155 val_155 2008-04-09 156 val_156 2008-04-08 156 val_156 2008-04-08 156 val_156 2008-04-09 156 val_156 2008-04-09 -157 val_157 2008-04-09 -157 val_157 2008-04-09 157 val_157 2008-04-08 157 val_157 2008-04-08 +157 val_157 2008-04-09 +157 val_157 2008-04-09 158 val_158 2008-04-08 158 val_158 2008-04-08 158 val_158 2008-04-09 158 val_158 2008-04-09 -160 val_160 2008-04-09 -160 val_160 2008-04-09 160 val_160 2008-04-08 160 val_160 2008-04-08 +160 val_160 2008-04-09 +160 val_160 2008-04-09 162 val_162 2008-04-08 162 val_162 2008-04-08 162 val_162 2008-04-09 162 val_162 2008-04-09 -163 val_163 2008-04-09 -163 val_163 2008-04-09 163 val_163 2008-04-08 163 val_163 2008-04-08 +163 val_163 2008-04-09 +163 val_163 2008-04-09 164 val_164 2008-04-08 164 val_164 2008-04-08 164 val_164 2008-04-08 @@ -3069,42 +3073,34 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 164 val_164 2008-04-09 164 val_164 2008-04-09 164 val_164 2008-04-09 -165 val_165 2008-04-09 -165 val_165 2008-04-09 -165 val_165 2008-04-09 -165 val_165 2008-04-09 165 val_165 2008-04-08 165 val_165 2008-04-08 165 val_165 2008-04-08 165 val_165 2008-04-08 +165 val_165 2008-04-09 +165 val_165 2008-04-09 +165 val_165 2008-04-09 +165 val_165 2008-04-09 166 val_166 2008-04-08 166 val_166 2008-04-08 166 val_166 2008-04-09 166 val_166 2008-04-09 -167 val_167 2008-04-09 -167 val_167 2008-04-09 -167 val_167 2008-04-09 -167 val_167 2008-04-09 -167 val_167 2008-04-09 -167 val_167 2008-04-09 167 val_167 2008-04-08 167 val_167 2008-04-08 167 val_167 2008-04-08 167 val_167 2008-04-08 167 val_167 2008-04-08 167 val_167 2008-04-08 +167 val_167 2008-04-09 +167 val_167 2008-04-09 +167 val_167 2008-04-09 +167 val_167 2008-04-09 +167 val_167 2008-04-09 +167 val_167 2008-04-09 168 val_168 2008-04-08 168 val_168 2008-04-08 168 val_168 2008-04-09 168 val_168 2008-04-09 -169 val_169 2008-04-09 -169 val_169 2008-04-09 -169 val_169 2008-04-09 -169 val_169 2008-04-09 -169 val_169 2008-04-09 -169 val_169 2008-04-09 -169 val_169 2008-04-09 -169 val_169 2008-04-09 169 val_169 2008-04-08 169 val_169 2008-04-08 169 val_169 2008-04-08 @@ -3113,14 +3109,22 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 169 val_169 2008-04-08 169 val_169 2008-04-08 169 val_169 2008-04-08 +169 val_169 2008-04-09 +169 val_169 2008-04-09 +169 val_169 2008-04-09 +169 val_169 2008-04-09 +169 val_169 2008-04-09 +169 val_169 2008-04-09 +169 val_169 2008-04-09 +169 val_169 2008-04-09 17 val_17 2008-04-08 17 val_17 2008-04-08 17 val_17 2008-04-09 17 val_17 2008-04-09 -170 val_170 2008-04-09 -170 val_170 2008-04-09 170 val_170 2008-04-08 170 val_170 2008-04-08 +170 val_170 2008-04-09 +170 val_170 2008-04-09 172 val_172 2008-04-08 172 val_172 2008-04-08 172 val_172 2008-04-08 @@ -3129,14 +3133,14 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 172 val_172 2008-04-09 172 val_172 2008-04-09 172 val_172 2008-04-09 -174 val_174 2008-04-09 -174 val_174 2008-04-09 -174 val_174 2008-04-09 -174 val_174 2008-04-09 174 val_174 2008-04-08 174 val_174 2008-04-08 174 val_174 2008-04-08 174 val_174 2008-04-08 +174 val_174 2008-04-09 +174 val_174 2008-04-09 +174 val_174 2008-04-09 +174 val_174 2008-04-09 175 val_175 2008-04-08 175 val_175 2008-04-08 175 val_175 2008-04-08 @@ -3145,22 +3149,22 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 175 val_175 2008-04-09 175 val_175 2008-04-09 175 val_175 2008-04-09 -176 val_176 2008-04-09 -176 val_176 2008-04-09 -176 val_176 2008-04-09 -176 val_176 2008-04-09 176 val_176 2008-04-08 176 val_176 2008-04-08 176 val_176 2008-04-08 176 val_176 2008-04-08 +176 val_176 2008-04-09 +176 val_176 2008-04-09 +176 val_176 2008-04-09 +176 val_176 2008-04-09 177 val_177 2008-04-08 177 val_177 2008-04-08 177 val_177 2008-04-09 177 val_177 2008-04-09 -178 val_178 2008-04-09 -178 val_178 2008-04-09 178 val_178 2008-04-08 178 val_178 2008-04-08 +178 val_178 2008-04-09 +178 val_178 2008-04-09 179 val_179 2008-04-08 179 val_179 2008-04-08 179 val_179 2008-04-08 @@ -3169,30 +3173,30 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 179 val_179 2008-04-09 179 val_179 2008-04-09 179 val_179 2008-04-09 -18 val_18 2008-04-09 -18 val_18 2008-04-09 -18 val_18 2008-04-09 -18 val_18 2008-04-09 18 val_18 2008-04-08 18 val_18 2008-04-08 18 val_18 2008-04-08 18 val_18 2008-04-08 +18 val_18 2008-04-09 +18 val_18 2008-04-09 +18 val_18 2008-04-09 +18 val_18 2008-04-09 180 val_180 2008-04-08 180 val_180 2008-04-08 180 val_180 2008-04-09 180 val_180 2008-04-09 -181 val_181 2008-04-09 -181 val_181 2008-04-09 181 val_181 2008-04-08 181 val_181 2008-04-08 +181 val_181 2008-04-09 +181 val_181 2008-04-09 183 val_183 2008-04-08 183 val_183 2008-04-08 183 val_183 2008-04-09 183 val_183 2008-04-09 -186 val_186 2008-04-09 -186 val_186 2008-04-09 186 val_186 2008-04-08 186 val_186 2008-04-08 +186 val_186 2008-04-09 +186 val_186 2008-04-09 187 val_187 2008-04-08 187 val_187 2008-04-08 187 val_187 2008-04-08 @@ -3205,18 +3209,18 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 187 val_187 2008-04-09 187 val_187 2008-04-09 187 val_187 2008-04-09 -189 val_189 2008-04-09 -189 val_189 2008-04-09 189 val_189 2008-04-08 189 val_189 2008-04-08 +189 val_189 2008-04-09 +189 val_189 2008-04-09 19 val_19 2008-04-08 19 val_19 2008-04-08 19 val_19 2008-04-09 19 val_19 2008-04-09 -190 val_190 2008-04-09 -190 val_190 2008-04-09 190 val_190 2008-04-08 190 val_190 2008-04-08 +190 val_190 2008-04-09 +190 val_190 2008-04-09 191 val_191 2008-04-08 191 val_191 2008-04-08 191 val_191 2008-04-08 @@ -3225,10 +3229,10 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 191 val_191 2008-04-09 191 val_191 2008-04-09 191 val_191 2008-04-09 -192 val_192 2008-04-09 -192 val_192 2008-04-09 192 val_192 2008-04-08 192 val_192 2008-04-08 +192 val_192 2008-04-09 +192 val_192 2008-04-09 193 val_193 2008-04-08 193 val_193 2008-04-08 193 val_193 2008-04-08 @@ -3241,10 +3245,10 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 193 val_193 2008-04-09 193 val_193 2008-04-09 193 val_193 2008-04-09 -194 val_194 2008-04-09 -194 val_194 2008-04-09 194 val_194 2008-04-08 194 val_194 2008-04-08 +194 val_194 2008-04-09 +194 val_194 2008-04-09 195 val_195 2008-04-08 195 val_195 2008-04-08 195 val_195 2008-04-08 @@ -3253,10 +3257,10 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 195 val_195 2008-04-09 195 val_195 2008-04-09 195 val_195 2008-04-09 -196 val_196 2008-04-09 -196 val_196 2008-04-09 196 val_196 2008-04-08 196 val_196 2008-04-08 +196 val_196 2008-04-09 +196 val_196 2008-04-09 197 val_197 2008-04-08 197 val_197 2008-04-08 197 val_197 2008-04-08 @@ -3265,26 +3269,26 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 197 val_197 2008-04-09 197 val_197 2008-04-09 197 val_197 2008-04-09 -199 val_199 2008-04-09 -199 val_199 2008-04-09 -199 val_199 2008-04-09 -199 val_199 2008-04-09 -199 val_199 2008-04-09 -199 val_199 2008-04-09 199 val_199 2008-04-08 199 val_199 2008-04-08 199 val_199 2008-04-08 199 val_199 2008-04-08 199 val_199 2008-04-08 199 val_199 2008-04-08 +199 val_199 2008-04-09 +199 val_199 2008-04-09 +199 val_199 2008-04-09 +199 val_199 2008-04-09 +199 val_199 2008-04-09 +199 val_199 2008-04-09 2 val_2 2008-04-08 2 val_2 2008-04-08 2 val_2 2008-04-09 2 val_2 2008-04-09 -20 val_20 2008-04-09 -20 val_20 2008-04-09 20 val_20 2008-04-08 20 val_20 2008-04-08 +20 val_20 2008-04-09 +20 val_20 2008-04-09 200 val_200 2008-04-08 200 val_200 2008-04-08 200 val_200 2008-04-08 @@ -3293,22 +3297,22 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 200 val_200 2008-04-09 200 val_200 2008-04-09 200 val_200 2008-04-09 -201 val_201 2008-04-09 -201 val_201 2008-04-09 201 val_201 2008-04-08 201 val_201 2008-04-08 +201 val_201 2008-04-09 +201 val_201 2008-04-09 202 val_202 2008-04-08 202 val_202 2008-04-08 202 val_202 2008-04-09 202 val_202 2008-04-09 -203 val_203 2008-04-09 -203 val_203 2008-04-09 -203 val_203 2008-04-09 -203 val_203 2008-04-09 203 val_203 2008-04-08 203 val_203 2008-04-08 203 val_203 2008-04-08 203 val_203 2008-04-08 +203 val_203 2008-04-09 +203 val_203 2008-04-09 +203 val_203 2008-04-09 +203 val_203 2008-04-09 205 val_205 2008-04-08 205 val_205 2008-04-08 205 val_205 2008-04-08 @@ -3317,34 +3321,34 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 205 val_205 2008-04-09 205 val_205 2008-04-09 205 val_205 2008-04-09 -207 val_207 2008-04-09 -207 val_207 2008-04-09 -207 val_207 2008-04-09 -207 val_207 2008-04-09 207 val_207 2008-04-08 207 val_207 2008-04-08 207 val_207 2008-04-08 207 val_207 2008-04-08 +207 val_207 2008-04-09 +207 val_207 2008-04-09 +207 val_207 2008-04-09 +207 val_207 2008-04-09 +208 val_208 2008-04-08 +208 val_208 2008-04-08 208 val_208 2008-04-08 208 val_208 2008-04-08 208 val_208 2008-04-08 208 val_208 2008-04-08 -208 val_208 2008-04-08 -208 val_208 2008-04-08 208 val_208 2008-04-09 208 val_208 2008-04-09 208 val_208 2008-04-09 208 val_208 2008-04-09 208 val_208 2008-04-09 208 val_208 2008-04-09 -209 val_209 2008-04-09 -209 val_209 2008-04-09 -209 val_209 2008-04-09 -209 val_209 2008-04-09 209 val_209 2008-04-08 209 val_209 2008-04-08 209 val_209 2008-04-08 209 val_209 2008-04-08 +209 val_209 2008-04-09 +209 val_209 2008-04-09 +209 val_209 2008-04-09 +209 val_209 2008-04-09 213 val_213 2008-04-08 213 val_213 2008-04-08 213 val_213 2008-04-08 @@ -3353,10 +3357,10 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 213 val_213 2008-04-09 213 val_213 2008-04-09 213 val_213 2008-04-09 -214 val_214 2008-04-09 -214 val_214 2008-04-09 214 val_214 2008-04-08 214 val_214 2008-04-08 +214 val_214 2008-04-09 +214 val_214 2008-04-09 216 val_216 2008-04-08 216 val_216 2008-04-08 216 val_216 2008-04-08 @@ -3365,26 +3369,26 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 216 val_216 2008-04-09 216 val_216 2008-04-09 216 val_216 2008-04-09 -217 val_217 2008-04-09 -217 val_217 2008-04-09 -217 val_217 2008-04-09 -217 val_217 2008-04-09 217 val_217 2008-04-08 217 val_217 2008-04-08 217 val_217 2008-04-08 217 val_217 2008-04-08 +217 val_217 2008-04-09 +217 val_217 2008-04-09 +217 val_217 2008-04-09 +217 val_217 2008-04-09 218 val_218 2008-04-08 218 val_218 2008-04-08 218 val_218 2008-04-09 218 val_218 2008-04-09 -219 val_219 2008-04-09 -219 val_219 2008-04-09 -219 val_219 2008-04-09 -219 val_219 2008-04-09 219 val_219 2008-04-08 219 val_219 2008-04-08 219 val_219 2008-04-08 219 val_219 2008-04-08 +219 val_219 2008-04-09 +219 val_219 2008-04-09 +219 val_219 2008-04-09 +219 val_219 2008-04-09 221 val_221 2008-04-08 221 val_221 2008-04-08 221 val_221 2008-04-08 @@ -3393,10 +3397,10 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 221 val_221 2008-04-09 221 val_221 2008-04-09 221 val_221 2008-04-09 -222 val_222 2008-04-09 -222 val_222 2008-04-09 222 val_222 2008-04-08 222 val_222 2008-04-08 +222 val_222 2008-04-09 +222 val_222 2008-04-09 223 val_223 2008-04-08 223 val_223 2008-04-08 223 val_223 2008-04-08 @@ -3405,22 +3409,22 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 223 val_223 2008-04-09 223 val_223 2008-04-09 223 val_223 2008-04-09 -224 val_224 2008-04-09 -224 val_224 2008-04-09 -224 val_224 2008-04-09 -224 val_224 2008-04-09 224 val_224 2008-04-08 224 val_224 2008-04-08 224 val_224 2008-04-08 224 val_224 2008-04-08 +224 val_224 2008-04-09 +224 val_224 2008-04-09 +224 val_224 2008-04-09 +224 val_224 2008-04-09 226 val_226 2008-04-08 226 val_226 2008-04-08 226 val_226 2008-04-09 226 val_226 2008-04-09 -228 val_228 2008-04-09 -228 val_228 2008-04-09 228 val_228 2008-04-08 228 val_228 2008-04-08 +228 val_228 2008-04-09 +228 val_228 2008-04-09 229 val_229 2008-04-08 229 val_229 2008-04-08 229 val_229 2008-04-08 @@ -3429,16 +3433,6 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 229 val_229 2008-04-09 229 val_229 2008-04-09 229 val_229 2008-04-09 -230 val_230 2008-04-09 -230 val_230 2008-04-09 -230 val_230 2008-04-09 -230 val_230 2008-04-09 -230 val_230 2008-04-09 -230 val_230 2008-04-09 -230 val_230 2008-04-09 -230 val_230 2008-04-09 -230 val_230 2008-04-09 -230 val_230 2008-04-09 230 val_230 2008-04-08 230 val_230 2008-04-08 230 val_230 2008-04-08 @@ -3449,6 +3443,16 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 230 val_230 2008-04-08 230 val_230 2008-04-08 230 val_230 2008-04-08 +230 val_230 2008-04-09 +230 val_230 2008-04-09 +230 val_230 2008-04-09 +230 val_230 2008-04-09 +230 val_230 2008-04-09 +230 val_230 2008-04-09 +230 val_230 2008-04-09 +230 val_230 2008-04-09 +230 val_230 2008-04-09 +230 val_230 2008-04-09 233 val_233 2008-04-08 233 val_233 2008-04-08 233 val_233 2008-04-08 @@ -3457,10 +3461,10 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 233 val_233 2008-04-09 233 val_233 2008-04-09 233 val_233 2008-04-09 -235 val_235 2008-04-09 -235 val_235 2008-04-09 235 val_235 2008-04-08 235 val_235 2008-04-08 +235 val_235 2008-04-09 +235 val_235 2008-04-09 237 val_237 2008-04-08 237 val_237 2008-04-08 237 val_237 2008-04-08 @@ -3469,14 +3473,14 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 237 val_237 2008-04-09 237 val_237 2008-04-09 237 val_237 2008-04-09 -238 val_238 2008-04-09 -238 val_238 2008-04-09 -238 val_238 2008-04-09 -238 val_238 2008-04-09 238 val_238 2008-04-08 238 val_238 2008-04-08 238 val_238 2008-04-08 238 val_238 2008-04-08 +238 val_238 2008-04-09 +238 val_238 2008-04-09 +238 val_238 2008-04-09 +238 val_238 2008-04-09 239 val_239 2008-04-08 239 val_239 2008-04-08 239 val_239 2008-04-08 @@ -3485,54 +3489,54 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 239 val_239 2008-04-09 239 val_239 2008-04-09 239 val_239 2008-04-09 -24 val_24 2008-04-09 -24 val_24 2008-04-09 -24 val_24 2008-04-09 -24 val_24 2008-04-09 24 val_24 2008-04-08 24 val_24 2008-04-08 24 val_24 2008-04-08 24 val_24 2008-04-08 +24 val_24 2008-04-09 +24 val_24 2008-04-09 +24 val_24 2008-04-09 +24 val_24 2008-04-09 241 val_241 2008-04-08 241 val_241 2008-04-08 241 val_241 2008-04-09 241 val_241 2008-04-09 -242 val_242 2008-04-09 -242 val_242 2008-04-09 -242 val_242 2008-04-09 -242 val_242 2008-04-09 242 val_242 2008-04-08 242 val_242 2008-04-08 242 val_242 2008-04-08 242 val_242 2008-04-08 +242 val_242 2008-04-09 +242 val_242 2008-04-09 +242 val_242 2008-04-09 +242 val_242 2008-04-09 244 val_244 2008-04-08 244 val_244 2008-04-08 244 val_244 2008-04-09 244 val_244 2008-04-09 -247 val_247 2008-04-09 -247 val_247 2008-04-09 247 val_247 2008-04-08 247 val_247 2008-04-08 +247 val_247 2008-04-09 +247 val_247 2008-04-09 248 val_248 2008-04-08 248 val_248 2008-04-08 248 val_248 2008-04-09 248 val_248 2008-04-09 -249 val_249 2008-04-09 -249 val_249 2008-04-09 249 val_249 2008-04-08 249 val_249 2008-04-08 +249 val_249 2008-04-09 +249 val_249 2008-04-09 252 val_252 2008-04-08 252 val_252 2008-04-08 252 val_252 2008-04-09 252 val_252 2008-04-09 -255 val_255 2008-04-09 -255 val_255 2008-04-09 -255 val_255 2008-04-09 -255 val_255 2008-04-09 255 val_255 2008-04-08 255 val_255 2008-04-08 255 val_255 2008-04-08 255 val_255 2008-04-08 +255 val_255 2008-04-09 +255 val_255 2008-04-09 +255 val_255 2008-04-09 +255 val_255 2008-04-09 256 val_256 2008-04-08 256 val_256 2008-04-08 256 val_256 2008-04-08 @@ -3541,50 +3545,50 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 256 val_256 2008-04-09 256 val_256 2008-04-09 256 val_256 2008-04-09 -257 val_257 2008-04-09 -257 val_257 2008-04-09 257 val_257 2008-04-08 257 val_257 2008-04-08 +257 val_257 2008-04-09 +257 val_257 2008-04-09 258 val_258 2008-04-08 258 val_258 2008-04-08 258 val_258 2008-04-09 258 val_258 2008-04-09 -26 val_26 2008-04-09 -26 val_26 2008-04-09 -26 val_26 2008-04-09 -26 val_26 2008-04-09 26 val_26 2008-04-08 26 val_26 2008-04-08 26 val_26 2008-04-08 26 val_26 2008-04-08 +26 val_26 2008-04-09 +26 val_26 2008-04-09 +26 val_26 2008-04-09 +26 val_26 2008-04-09 260 val_260 2008-04-08 260 val_260 2008-04-08 260 val_260 2008-04-09 260 val_260 2008-04-09 -262 val_262 2008-04-09 -262 val_262 2008-04-09 262 val_262 2008-04-08 262 val_262 2008-04-08 +262 val_262 2008-04-09 +262 val_262 2008-04-09 263 val_263 2008-04-08 263 val_263 2008-04-08 263 val_263 2008-04-09 263 val_263 2008-04-09 -265 val_265 2008-04-09 -265 val_265 2008-04-09 -265 val_265 2008-04-09 -265 val_265 2008-04-09 265 val_265 2008-04-08 265 val_265 2008-04-08 265 val_265 2008-04-08 265 val_265 2008-04-08 +265 val_265 2008-04-09 +265 val_265 2008-04-09 +265 val_265 2008-04-09 +265 val_265 2008-04-09 266 val_266 2008-04-08 266 val_266 2008-04-08 266 val_266 2008-04-09 266 val_266 2008-04-09 -27 val_27 2008-04-09 -27 val_27 2008-04-09 27 val_27 2008-04-08 27 val_27 2008-04-08 +27 val_27 2008-04-09 +27 val_27 2008-04-09 272 val_272 2008-04-08 272 val_272 2008-04-08 272 val_272 2008-04-08 @@ -3593,26 +3597,26 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 272 val_272 2008-04-09 272 val_272 2008-04-09 272 val_272 2008-04-09 -273 val_273 2008-04-09 -273 val_273 2008-04-09 -273 val_273 2008-04-09 -273 val_273 2008-04-09 -273 val_273 2008-04-09 -273 val_273 2008-04-09 273 val_273 2008-04-08 273 val_273 2008-04-08 273 val_273 2008-04-08 273 val_273 2008-04-08 273 val_273 2008-04-08 273 val_273 2008-04-08 +273 val_273 2008-04-09 +273 val_273 2008-04-09 +273 val_273 2008-04-09 +273 val_273 2008-04-09 +273 val_273 2008-04-09 +273 val_273 2008-04-09 274 val_274 2008-04-08 274 val_274 2008-04-08 274 val_274 2008-04-09 274 val_274 2008-04-09 -275 val_275 2008-04-09 -275 val_275 2008-04-09 275 val_275 2008-04-08 275 val_275 2008-04-08 +275 val_275 2008-04-09 +275 val_275 2008-04-09 277 val_277 2008-04-08 277 val_277 2008-04-08 277 val_277 2008-04-08 @@ -3629,26 +3633,26 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 277 val_277 2008-04-09 277 val_277 2008-04-09 277 val_277 2008-04-09 -278 val_278 2008-04-09 -278 val_278 2008-04-09 -278 val_278 2008-04-09 -278 val_278 2008-04-09 278 val_278 2008-04-08 278 val_278 2008-04-08 278 val_278 2008-04-08 278 val_278 2008-04-08 +278 val_278 2008-04-09 +278 val_278 2008-04-09 +278 val_278 2008-04-09 +278 val_278 2008-04-09 28 val_28 2008-04-08 28 val_28 2008-04-08 28 val_28 2008-04-09 28 val_28 2008-04-09 -280 val_280 2008-04-09 -280 val_280 2008-04-09 -280 val_280 2008-04-09 -280 val_280 2008-04-09 280 val_280 2008-04-08 280 val_280 2008-04-08 280 val_280 2008-04-08 280 val_280 2008-04-08 +280 val_280 2008-04-09 +280 val_280 2008-04-09 +280 val_280 2008-04-09 +280 val_280 2008-04-09 281 val_281 2008-04-08 281 val_281 2008-04-08 281 val_281 2008-04-08 @@ -3657,58 +3661,58 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 281 val_281 2008-04-09 281 val_281 2008-04-09 281 val_281 2008-04-09 -282 val_282 2008-04-09 -282 val_282 2008-04-09 -282 val_282 2008-04-09 -282 val_282 2008-04-09 282 val_282 2008-04-08 282 val_282 2008-04-08 282 val_282 2008-04-08 282 val_282 2008-04-08 +282 val_282 2008-04-09 +282 val_282 2008-04-09 +282 val_282 2008-04-09 +282 val_282 2008-04-09 283 val_283 2008-04-08 283 val_283 2008-04-08 283 val_283 2008-04-09 283 val_283 2008-04-09 -284 val_284 2008-04-09 -284 val_284 2008-04-09 284 val_284 2008-04-08 284 val_284 2008-04-08 +284 val_284 2008-04-09 +284 val_284 2008-04-09 285 val_285 2008-04-08 285 val_285 2008-04-08 285 val_285 2008-04-09 285 val_285 2008-04-09 -286 val_286 2008-04-09 -286 val_286 2008-04-09 286 val_286 2008-04-08 286 val_286 2008-04-08 +286 val_286 2008-04-09 +286 val_286 2008-04-09 287 val_287 2008-04-08 287 val_287 2008-04-08 287 val_287 2008-04-09 287 val_287 2008-04-09 -288 val_288 2008-04-09 -288 val_288 2008-04-09 -288 val_288 2008-04-09 -288 val_288 2008-04-09 288 val_288 2008-04-08 288 val_288 2008-04-08 288 val_288 2008-04-08 288 val_288 2008-04-08 +288 val_288 2008-04-09 +288 val_288 2008-04-09 +288 val_288 2008-04-09 +288 val_288 2008-04-09 289 val_289 2008-04-08 289 val_289 2008-04-08 289 val_289 2008-04-09 289 val_289 2008-04-09 -291 val_291 2008-04-09 -291 val_291 2008-04-09 291 val_291 2008-04-08 291 val_291 2008-04-08 +291 val_291 2008-04-09 +291 val_291 2008-04-09 292 val_292 2008-04-08 292 val_292 2008-04-08 292 val_292 2008-04-09 292 val_292 2008-04-09 -296 val_296 2008-04-09 -296 val_296 2008-04-09 296 val_296 2008-04-08 296 val_296 2008-04-08 +296 val_296 2008-04-09 +296 val_296 2008-04-09 298 val_298 2008-04-08 298 val_298 2008-04-08 298 val_298 2008-04-08 @@ -3721,74 +3725,74 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 298 val_298 2008-04-09 298 val_298 2008-04-09 298 val_298 2008-04-09 -30 val_30 2008-04-09 -30 val_30 2008-04-09 30 val_30 2008-04-08 30 val_30 2008-04-08 +30 val_30 2008-04-09 +30 val_30 2008-04-09 302 val_302 2008-04-08 302 val_302 2008-04-08 302 val_302 2008-04-09 302 val_302 2008-04-09 -305 val_305 2008-04-09 -305 val_305 2008-04-09 305 val_305 2008-04-08 305 val_305 2008-04-08 +305 val_305 2008-04-09 +305 val_305 2008-04-09 306 val_306 2008-04-08 306 val_306 2008-04-08 306 val_306 2008-04-09 306 val_306 2008-04-09 -307 val_307 2008-04-09 -307 val_307 2008-04-09 -307 val_307 2008-04-09 -307 val_307 2008-04-09 307 val_307 2008-04-08 307 val_307 2008-04-08 307 val_307 2008-04-08 307 val_307 2008-04-08 +307 val_307 2008-04-09 +307 val_307 2008-04-09 +307 val_307 2008-04-09 +307 val_307 2008-04-09 308 val_308 2008-04-08 308 val_308 2008-04-08 308 val_308 2008-04-09 308 val_308 2008-04-09 -309 val_309 2008-04-09 -309 val_309 2008-04-09 -309 val_309 2008-04-09 -309 val_309 2008-04-09 309 val_309 2008-04-08 309 val_309 2008-04-08 309 val_309 2008-04-08 309 val_309 2008-04-08 +309 val_309 2008-04-09 +309 val_309 2008-04-09 +309 val_309 2008-04-09 +309 val_309 2008-04-09 310 val_310 2008-04-08 310 val_310 2008-04-08 310 val_310 2008-04-09 310 val_310 2008-04-09 -311 val_311 2008-04-09 -311 val_311 2008-04-09 -311 val_311 2008-04-09 -311 val_311 2008-04-09 -311 val_311 2008-04-09 -311 val_311 2008-04-09 311 val_311 2008-04-08 311 val_311 2008-04-08 311 val_311 2008-04-08 311 val_311 2008-04-08 311 val_311 2008-04-08 311 val_311 2008-04-08 +311 val_311 2008-04-09 +311 val_311 2008-04-09 +311 val_311 2008-04-09 +311 val_311 2008-04-09 +311 val_311 2008-04-09 +311 val_311 2008-04-09 315 val_315 2008-04-08 315 val_315 2008-04-08 315 val_315 2008-04-09 315 val_315 2008-04-09 -316 val_316 2008-04-09 -316 val_316 2008-04-09 -316 val_316 2008-04-09 -316 val_316 2008-04-09 -316 val_316 2008-04-09 -316 val_316 2008-04-09 316 val_316 2008-04-08 316 val_316 2008-04-08 316 val_316 2008-04-08 316 val_316 2008-04-08 316 val_316 2008-04-08 316 val_316 2008-04-08 +316 val_316 2008-04-09 +316 val_316 2008-04-09 +316 val_316 2008-04-09 +316 val_316 2008-04-09 +316 val_316 2008-04-09 +316 val_316 2008-04-09 317 val_317 2008-04-08 317 val_317 2008-04-08 317 val_317 2008-04-08 @@ -3797,18 +3801,18 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 317 val_317 2008-04-09 317 val_317 2008-04-09 317 val_317 2008-04-09 -318 val_318 2008-04-09 -318 val_318 2008-04-09 -318 val_318 2008-04-09 -318 val_318 2008-04-09 -318 val_318 2008-04-09 -318 val_318 2008-04-09 318 val_318 2008-04-08 318 val_318 2008-04-08 318 val_318 2008-04-08 318 val_318 2008-04-08 318 val_318 2008-04-08 318 val_318 2008-04-08 +318 val_318 2008-04-09 +318 val_318 2008-04-09 +318 val_318 2008-04-09 +318 val_318 2008-04-09 +318 val_318 2008-04-09 +318 val_318 2008-04-09 321 val_321 2008-04-08 321 val_321 2008-04-08 321 val_321 2008-04-08 @@ -3817,26 +3821,26 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 321 val_321 2008-04-09 321 val_321 2008-04-09 321 val_321 2008-04-09 -322 val_322 2008-04-09 -322 val_322 2008-04-09 -322 val_322 2008-04-09 -322 val_322 2008-04-09 322 val_322 2008-04-08 322 val_322 2008-04-08 322 val_322 2008-04-08 322 val_322 2008-04-08 +322 val_322 2008-04-09 +322 val_322 2008-04-09 +322 val_322 2008-04-09 +322 val_322 2008-04-09 323 val_323 2008-04-08 323 val_323 2008-04-08 323 val_323 2008-04-09 323 val_323 2008-04-09 -325 val_325 2008-04-09 -325 val_325 2008-04-09 -325 val_325 2008-04-09 -325 val_325 2008-04-09 325 val_325 2008-04-08 325 val_325 2008-04-08 325 val_325 2008-04-08 325 val_325 2008-04-08 +325 val_325 2008-04-09 +325 val_325 2008-04-09 +325 val_325 2008-04-09 +325 val_325 2008-04-09 327 val_327 2008-04-08 327 val_327 2008-04-08 327 val_327 2008-04-08 @@ -3849,10 +3853,10 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 327 val_327 2008-04-09 327 val_327 2008-04-09 327 val_327 2008-04-09 -33 val_33 2008-04-09 -33 val_33 2008-04-09 33 val_33 2008-04-08 33 val_33 2008-04-08 +33 val_33 2008-04-09 +33 val_33 2008-04-09 331 val_331 2008-04-08 331 val_331 2008-04-08 331 val_331 2008-04-08 @@ -3861,10 +3865,10 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 331 val_331 2008-04-09 331 val_331 2008-04-09 331 val_331 2008-04-09 -332 val_332 2008-04-09 -332 val_332 2008-04-09 332 val_332 2008-04-08 332 val_332 2008-04-08 +332 val_332 2008-04-09 +332 val_332 2008-04-09 333 val_333 2008-04-08 333 val_333 2008-04-08 333 val_333 2008-04-08 @@ -3873,38 +3877,38 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 333 val_333 2008-04-09 333 val_333 2008-04-09 333 val_333 2008-04-09 -335 val_335 2008-04-09 -335 val_335 2008-04-09 335 val_335 2008-04-08 335 val_335 2008-04-08 +335 val_335 2008-04-09 +335 val_335 2008-04-09 336 val_336 2008-04-08 336 val_336 2008-04-08 336 val_336 2008-04-09 336 val_336 2008-04-09 -338 val_338 2008-04-09 -338 val_338 2008-04-09 338 val_338 2008-04-08 338 val_338 2008-04-08 +338 val_338 2008-04-09 +338 val_338 2008-04-09 339 val_339 2008-04-08 339 val_339 2008-04-08 339 val_339 2008-04-09 339 val_339 2008-04-09 -34 val_34 2008-04-09 -34 val_34 2008-04-09 34 val_34 2008-04-08 34 val_34 2008-04-08 +34 val_34 2008-04-09 +34 val_34 2008-04-09 341 val_341 2008-04-08 341 val_341 2008-04-08 341 val_341 2008-04-09 341 val_341 2008-04-09 -342 val_342 2008-04-09 -342 val_342 2008-04-09 -342 val_342 2008-04-09 -342 val_342 2008-04-09 342 val_342 2008-04-08 342 val_342 2008-04-08 342 val_342 2008-04-08 342 val_342 2008-04-08 +342 val_342 2008-04-09 +342 val_342 2008-04-09 +342 val_342 2008-04-09 +342 val_342 2008-04-09 344 val_344 2008-04-08 344 val_344 2008-04-08 344 val_344 2008-04-08 @@ -3913,10 +3917,10 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 344 val_344 2008-04-09 344 val_344 2008-04-09 344 val_344 2008-04-09 -345 val_345 2008-04-09 -345 val_345 2008-04-09 345 val_345 2008-04-08 345 val_345 2008-04-08 +345 val_345 2008-04-09 +345 val_345 2008-04-09 348 val_348 2008-04-08 348 val_348 2008-04-08 348 val_348 2008-04-08 @@ -3937,54 +3941,54 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 348 val_348 2008-04-09 348 val_348 2008-04-09 348 val_348 2008-04-09 -35 val_35 2008-04-09 -35 val_35 2008-04-09 -35 val_35 2008-04-09 -35 val_35 2008-04-09 -35 val_35 2008-04-09 -35 val_35 2008-04-09 35 val_35 2008-04-08 35 val_35 2008-04-08 35 val_35 2008-04-08 35 val_35 2008-04-08 35 val_35 2008-04-08 35 val_35 2008-04-08 +35 val_35 2008-04-09 +35 val_35 2008-04-09 +35 val_35 2008-04-09 +35 val_35 2008-04-09 +35 val_35 2008-04-09 +35 val_35 2008-04-09 351 val_351 2008-04-08 351 val_351 2008-04-08 351 val_351 2008-04-09 351 val_351 2008-04-09 -353 val_353 2008-04-09 -353 val_353 2008-04-09 -353 val_353 2008-04-09 -353 val_353 2008-04-09 353 val_353 2008-04-08 353 val_353 2008-04-08 353 val_353 2008-04-08 353 val_353 2008-04-08 +353 val_353 2008-04-09 +353 val_353 2008-04-09 +353 val_353 2008-04-09 +353 val_353 2008-04-09 356 val_356 2008-04-08 356 val_356 2008-04-08 356 val_356 2008-04-09 356 val_356 2008-04-09 -360 val_360 2008-04-09 -360 val_360 2008-04-09 360 val_360 2008-04-08 360 val_360 2008-04-08 +360 val_360 2008-04-09 +360 val_360 2008-04-09 362 val_362 2008-04-08 362 val_362 2008-04-08 362 val_362 2008-04-09 362 val_362 2008-04-09 -364 val_364 2008-04-09 -364 val_364 2008-04-09 364 val_364 2008-04-08 364 val_364 2008-04-08 +364 val_364 2008-04-09 +364 val_364 2008-04-09 365 val_365 2008-04-08 365 val_365 2008-04-08 365 val_365 2008-04-09 365 val_365 2008-04-09 -366 val_366 2008-04-09 -366 val_366 2008-04-09 366 val_366 2008-04-08 366 val_366 2008-04-08 +366 val_366 2008-04-09 +366 val_366 2008-04-09 367 val_367 2008-04-08 367 val_367 2008-04-08 367 val_367 2008-04-08 @@ -3993,10 +3997,10 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 367 val_367 2008-04-09 367 val_367 2008-04-09 367 val_367 2008-04-09 -368 val_368 2008-04-09 -368 val_368 2008-04-09 368 val_368 2008-04-08 368 val_368 2008-04-08 +368 val_368 2008-04-09 +368 val_368 2008-04-09 369 val_369 2008-04-08 369 val_369 2008-04-08 369 val_369 2008-04-08 @@ -4009,38 +4013,38 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 369 val_369 2008-04-09 369 val_369 2008-04-09 369 val_369 2008-04-09 -37 val_37 2008-04-09 -37 val_37 2008-04-09 -37 val_37 2008-04-09 -37 val_37 2008-04-09 37 val_37 2008-04-08 37 val_37 2008-04-08 37 val_37 2008-04-08 37 val_37 2008-04-08 +37 val_37 2008-04-09 +37 val_37 2008-04-09 +37 val_37 2008-04-09 +37 val_37 2008-04-09 373 val_373 2008-04-08 373 val_373 2008-04-08 373 val_373 2008-04-09 373 val_373 2008-04-09 -374 val_374 2008-04-09 -374 val_374 2008-04-09 374 val_374 2008-04-08 374 val_374 2008-04-08 +374 val_374 2008-04-09 +374 val_374 2008-04-09 375 val_375 2008-04-08 375 val_375 2008-04-08 375 val_375 2008-04-09 375 val_375 2008-04-09 -377 val_377 2008-04-09 -377 val_377 2008-04-09 377 val_377 2008-04-08 377 val_377 2008-04-08 +377 val_377 2008-04-09 +377 val_377 2008-04-09 378 val_378 2008-04-08 378 val_378 2008-04-08 378 val_378 2008-04-09 378 val_378 2008-04-09 -379 val_379 2008-04-09 -379 val_379 2008-04-09 379 val_379 2008-04-08 379 val_379 2008-04-08 +379 val_379 2008-04-09 +379 val_379 2008-04-09 382 val_382 2008-04-08 382 val_382 2008-04-08 382 val_382 2008-04-08 @@ -4049,46 +4053,46 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 382 val_382 2008-04-09 382 val_382 2008-04-09 382 val_382 2008-04-09 -384 val_384 2008-04-09 -384 val_384 2008-04-09 -384 val_384 2008-04-09 -384 val_384 2008-04-09 -384 val_384 2008-04-09 -384 val_384 2008-04-09 384 val_384 2008-04-08 384 val_384 2008-04-08 384 val_384 2008-04-08 384 val_384 2008-04-08 384 val_384 2008-04-08 384 val_384 2008-04-08 +384 val_384 2008-04-09 +384 val_384 2008-04-09 +384 val_384 2008-04-09 +384 val_384 2008-04-09 +384 val_384 2008-04-09 +384 val_384 2008-04-09 386 val_386 2008-04-08 386 val_386 2008-04-08 386 val_386 2008-04-09 386 val_386 2008-04-09 -389 val_389 2008-04-09 -389 val_389 2008-04-09 389 val_389 2008-04-08 389 val_389 2008-04-08 +389 val_389 2008-04-09 +389 val_389 2008-04-09 392 val_392 2008-04-08 392 val_392 2008-04-08 392 val_392 2008-04-09 392 val_392 2008-04-09 -393 val_393 2008-04-09 -393 val_393 2008-04-09 393 val_393 2008-04-08 393 val_393 2008-04-08 +393 val_393 2008-04-09 +393 val_393 2008-04-09 394 val_394 2008-04-08 394 val_394 2008-04-08 394 val_394 2008-04-09 394 val_394 2008-04-09 -395 val_395 2008-04-09 -395 val_395 2008-04-09 -395 val_395 2008-04-09 -395 val_395 2008-04-09 395 val_395 2008-04-08 395 val_395 2008-04-08 395 val_395 2008-04-08 395 val_395 2008-04-08 +395 val_395 2008-04-09 +395 val_395 2008-04-09 +395 val_395 2008-04-09 +395 val_395 2008-04-09 396 val_396 2008-04-08 396 val_396 2008-04-08 396 val_396 2008-04-08 @@ -4101,14 +4105,14 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 396 val_396 2008-04-09 396 val_396 2008-04-09 396 val_396 2008-04-09 -397 val_397 2008-04-09 -397 val_397 2008-04-09 -397 val_397 2008-04-09 -397 val_397 2008-04-09 397 val_397 2008-04-08 397 val_397 2008-04-08 397 val_397 2008-04-08 397 val_397 2008-04-08 +397 val_397 2008-04-09 +397 val_397 2008-04-09 +397 val_397 2008-04-09 +397 val_397 2008-04-09 399 val_399 2008-04-08 399 val_399 2008-04-08 399 val_399 2008-04-08 @@ -4117,24 +4121,14 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 399 val_399 2008-04-09 399 val_399 2008-04-09 399 val_399 2008-04-09 -4 val_4 2008-04-09 -4 val_4 2008-04-09 4 val_4 2008-04-08 4 val_4 2008-04-08 +4 val_4 2008-04-09 +4 val_4 2008-04-09 400 val_400 2008-04-08 400 val_400 2008-04-08 400 val_400 2008-04-09 400 val_400 2008-04-09 -401 val_401 2008-04-09 -401 val_401 2008-04-09 -401 val_401 2008-04-09 -401 val_401 2008-04-09 -401 val_401 2008-04-09 -401 val_401 2008-04-09 -401 val_401 2008-04-09 -401 val_401 2008-04-09 -401 val_401 2008-04-09 -401 val_401 2008-04-09 401 val_401 2008-04-08 401 val_401 2008-04-08 401 val_401 2008-04-08 @@ -4145,22 +4139,32 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 401 val_401 2008-04-08 401 val_401 2008-04-08 401 val_401 2008-04-08 +401 val_401 2008-04-09 +401 val_401 2008-04-09 +401 val_401 2008-04-09 +401 val_401 2008-04-09 +401 val_401 2008-04-09 +401 val_401 2008-04-09 +401 val_401 2008-04-09 +401 val_401 2008-04-09 +401 val_401 2008-04-09 +401 val_401 2008-04-09 402 val_402 2008-04-08 402 val_402 2008-04-08 402 val_402 2008-04-09 402 val_402 2008-04-09 -403 val_403 2008-04-09 -403 val_403 2008-04-09 -403 val_403 2008-04-09 -403 val_403 2008-04-09 -403 val_403 2008-04-09 -403 val_403 2008-04-09 403 val_403 2008-04-08 403 val_403 2008-04-08 403 val_403 2008-04-08 403 val_403 2008-04-08 403 val_403 2008-04-08 403 val_403 2008-04-08 +403 val_403 2008-04-09 +403 val_403 2008-04-09 +403 val_403 2008-04-09 +403 val_403 2008-04-09 +403 val_403 2008-04-09 +403 val_403 2008-04-09 404 val_404 2008-04-08 404 val_404 2008-04-08 404 val_404 2008-04-08 @@ -4169,14 +4173,6 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 404 val_404 2008-04-09 404 val_404 2008-04-09 404 val_404 2008-04-09 -406 val_406 2008-04-09 -406 val_406 2008-04-09 -406 val_406 2008-04-09 -406 val_406 2008-04-09 -406 val_406 2008-04-09 -406 val_406 2008-04-09 -406 val_406 2008-04-09 -406 val_406 2008-04-09 406 val_406 2008-04-08 406 val_406 2008-04-08 406 val_406 2008-04-08 @@ -4185,30 +4181,38 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 406 val_406 2008-04-08 406 val_406 2008-04-08 406 val_406 2008-04-08 +406 val_406 2008-04-09 +406 val_406 2008-04-09 +406 val_406 2008-04-09 +406 val_406 2008-04-09 +406 val_406 2008-04-09 +406 val_406 2008-04-09 +406 val_406 2008-04-09 +406 val_406 2008-04-09 407 val_407 2008-04-08 407 val_407 2008-04-08 407 val_407 2008-04-09 407 val_407 2008-04-09 -409 val_409 2008-04-09 -409 val_409 2008-04-09 -409 val_409 2008-04-09 -409 val_409 2008-04-09 -409 val_409 2008-04-09 -409 val_409 2008-04-09 409 val_409 2008-04-08 409 val_409 2008-04-08 409 val_409 2008-04-08 409 val_409 2008-04-08 409 val_409 2008-04-08 409 val_409 2008-04-08 +409 val_409 2008-04-09 +409 val_409 2008-04-09 +409 val_409 2008-04-09 +409 val_409 2008-04-09 +409 val_409 2008-04-09 +409 val_409 2008-04-09 41 val_41 2008-04-08 41 val_41 2008-04-08 41 val_41 2008-04-09 41 val_41 2008-04-09 -411 val_411 2008-04-09 -411 val_411 2008-04-09 411 val_411 2008-04-08 411 val_411 2008-04-08 +411 val_411 2008-04-09 +411 val_411 2008-04-09 413 val_413 2008-04-08 413 val_413 2008-04-08 413 val_413 2008-04-08 @@ -4217,14 +4221,14 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 413 val_413 2008-04-09 413 val_413 2008-04-09 413 val_413 2008-04-09 -414 val_414 2008-04-09 -414 val_414 2008-04-09 -414 val_414 2008-04-09 -414 val_414 2008-04-09 414 val_414 2008-04-08 414 val_414 2008-04-08 414 val_414 2008-04-08 414 val_414 2008-04-08 +414 val_414 2008-04-09 +414 val_414 2008-04-09 +414 val_414 2008-04-09 +414 val_414 2008-04-09 417 val_417 2008-04-08 417 val_417 2008-04-08 417 val_417 2008-04-08 @@ -4237,62 +4241,62 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 417 val_417 2008-04-09 417 val_417 2008-04-09 417 val_417 2008-04-09 -418 val_418 2008-04-09 -418 val_418 2008-04-09 418 val_418 2008-04-08 418 val_418 2008-04-08 +418 val_418 2008-04-09 +418 val_418 2008-04-09 419 val_419 2008-04-08 419 val_419 2008-04-08 419 val_419 2008-04-09 419 val_419 2008-04-09 -42 val_42 2008-04-09 -42 val_42 2008-04-09 -42 val_42 2008-04-09 -42 val_42 2008-04-09 42 val_42 2008-04-08 42 val_42 2008-04-08 42 val_42 2008-04-08 42 val_42 2008-04-08 +42 val_42 2008-04-09 +42 val_42 2008-04-09 +42 val_42 2008-04-09 +42 val_42 2008-04-09 421 val_421 2008-04-08 421 val_421 2008-04-08 421 val_421 2008-04-09 421 val_421 2008-04-09 -424 val_424 2008-04-09 -424 val_424 2008-04-09 -424 val_424 2008-04-09 -424 val_424 2008-04-09 424 val_424 2008-04-08 424 val_424 2008-04-08 424 val_424 2008-04-08 424 val_424 2008-04-08 +424 val_424 2008-04-09 +424 val_424 2008-04-09 +424 val_424 2008-04-09 +424 val_424 2008-04-09 427 val_427 2008-04-08 427 val_427 2008-04-08 427 val_427 2008-04-09 427 val_427 2008-04-09 -429 val_429 2008-04-09 -429 val_429 2008-04-09 -429 val_429 2008-04-09 -429 val_429 2008-04-09 429 val_429 2008-04-08 429 val_429 2008-04-08 429 val_429 2008-04-08 429 val_429 2008-04-08 +429 val_429 2008-04-09 +429 val_429 2008-04-09 +429 val_429 2008-04-09 +429 val_429 2008-04-09 43 val_43 2008-04-08 43 val_43 2008-04-08 43 val_43 2008-04-09 43 val_43 2008-04-09 -430 val_430 2008-04-09 -430 val_430 2008-04-09 -430 val_430 2008-04-09 -430 val_430 2008-04-09 -430 val_430 2008-04-09 -430 val_430 2008-04-09 430 val_430 2008-04-08 430 val_430 2008-04-08 430 val_430 2008-04-08 430 val_430 2008-04-08 430 val_430 2008-04-08 430 val_430 2008-04-08 +430 val_430 2008-04-09 +430 val_430 2008-04-09 +430 val_430 2008-04-09 +430 val_430 2008-04-09 +430 val_430 2008-04-09 +430 val_430 2008-04-09 431 val_431 2008-04-08 431 val_431 2008-04-08 431 val_431 2008-04-08 @@ -4305,34 +4309,34 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 431 val_431 2008-04-09 431 val_431 2008-04-09 431 val_431 2008-04-09 -432 val_432 2008-04-09 -432 val_432 2008-04-09 432 val_432 2008-04-08 432 val_432 2008-04-08 +432 val_432 2008-04-09 +432 val_432 2008-04-09 435 val_435 2008-04-08 435 val_435 2008-04-08 435 val_435 2008-04-09 435 val_435 2008-04-09 -436 val_436 2008-04-09 -436 val_436 2008-04-09 436 val_436 2008-04-08 436 val_436 2008-04-08 +436 val_436 2008-04-09 +436 val_436 2008-04-09 437 val_437 2008-04-08 437 val_437 2008-04-08 437 val_437 2008-04-09 437 val_437 2008-04-09 -438 val_438 2008-04-09 -438 val_438 2008-04-09 -438 val_438 2008-04-09 -438 val_438 2008-04-09 -438 val_438 2008-04-09 -438 val_438 2008-04-09 438 val_438 2008-04-08 438 val_438 2008-04-08 438 val_438 2008-04-08 438 val_438 2008-04-08 438 val_438 2008-04-08 438 val_438 2008-04-08 +438 val_438 2008-04-09 +438 val_438 2008-04-09 +438 val_438 2008-04-09 +438 val_438 2008-04-09 +438 val_438 2008-04-09 +438 val_438 2008-04-09 439 val_439 2008-04-08 439 val_439 2008-04-08 439 val_439 2008-04-08 @@ -4341,58 +4345,58 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 439 val_439 2008-04-09 439 val_439 2008-04-09 439 val_439 2008-04-09 -44 val_44 2008-04-09 -44 val_44 2008-04-09 44 val_44 2008-04-08 44 val_44 2008-04-08 +44 val_44 2008-04-09 +44 val_44 2008-04-09 443 val_443 2008-04-08 443 val_443 2008-04-08 443 val_443 2008-04-09 443 val_443 2008-04-09 -444 val_444 2008-04-09 -444 val_444 2008-04-09 444 val_444 2008-04-08 444 val_444 2008-04-08 +444 val_444 2008-04-09 +444 val_444 2008-04-09 446 val_446 2008-04-08 446 val_446 2008-04-08 446 val_446 2008-04-09 446 val_446 2008-04-09 -448 val_448 2008-04-09 -448 val_448 2008-04-09 448 val_448 2008-04-08 448 val_448 2008-04-08 +448 val_448 2008-04-09 +448 val_448 2008-04-09 449 val_449 2008-04-08 449 val_449 2008-04-08 449 val_449 2008-04-09 449 val_449 2008-04-09 -452 val_452 2008-04-09 -452 val_452 2008-04-09 452 val_452 2008-04-08 452 val_452 2008-04-08 +452 val_452 2008-04-09 +452 val_452 2008-04-09 453 val_453 2008-04-08 453 val_453 2008-04-08 453 val_453 2008-04-09 453 val_453 2008-04-09 -454 val_454 2008-04-09 -454 val_454 2008-04-09 -454 val_454 2008-04-09 -454 val_454 2008-04-09 -454 val_454 2008-04-09 -454 val_454 2008-04-09 454 val_454 2008-04-08 454 val_454 2008-04-08 454 val_454 2008-04-08 454 val_454 2008-04-08 454 val_454 2008-04-08 454 val_454 2008-04-08 +454 val_454 2008-04-09 +454 val_454 2008-04-09 +454 val_454 2008-04-09 +454 val_454 2008-04-09 +454 val_454 2008-04-09 +454 val_454 2008-04-09 455 val_455 2008-04-08 455 val_455 2008-04-08 455 val_455 2008-04-09 455 val_455 2008-04-09 -457 val_457 2008-04-09 -457 val_457 2008-04-09 457 val_457 2008-04-08 457 val_457 2008-04-08 +457 val_457 2008-04-09 +457 val_457 2008-04-09 458 val_458 2008-04-08 458 val_458 2008-04-08 458 val_458 2008-04-08 @@ -4401,26 +4405,26 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 458 val_458 2008-04-09 458 val_458 2008-04-09 458 val_458 2008-04-09 -459 val_459 2008-04-09 -459 val_459 2008-04-09 -459 val_459 2008-04-09 -459 val_459 2008-04-09 459 val_459 2008-04-08 459 val_459 2008-04-08 459 val_459 2008-04-08 459 val_459 2008-04-08 +459 val_459 2008-04-09 +459 val_459 2008-04-09 +459 val_459 2008-04-09 +459 val_459 2008-04-09 460 val_460 2008-04-08 460 val_460 2008-04-08 460 val_460 2008-04-09 460 val_460 2008-04-09 -462 val_462 2008-04-09 -462 val_462 2008-04-09 -462 val_462 2008-04-09 -462 val_462 2008-04-09 462 val_462 2008-04-08 462 val_462 2008-04-08 462 val_462 2008-04-08 462 val_462 2008-04-08 +462 val_462 2008-04-09 +462 val_462 2008-04-09 +462 val_462 2008-04-09 +462 val_462 2008-04-09 463 val_463 2008-04-08 463 val_463 2008-04-08 463 val_463 2008-04-08 @@ -4429,30 +4433,22 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 463 val_463 2008-04-09 463 val_463 2008-04-09 463 val_463 2008-04-09 -466 val_466 2008-04-09 -466 val_466 2008-04-09 -466 val_466 2008-04-09 -466 val_466 2008-04-09 -466 val_466 2008-04-09 -466 val_466 2008-04-09 466 val_466 2008-04-08 466 val_466 2008-04-08 466 val_466 2008-04-08 466 val_466 2008-04-08 466 val_466 2008-04-08 466 val_466 2008-04-08 +466 val_466 2008-04-09 +466 val_466 2008-04-09 +466 val_466 2008-04-09 +466 val_466 2008-04-09 +466 val_466 2008-04-09 +466 val_466 2008-04-09 467 val_467 2008-04-08 467 val_467 2008-04-08 467 val_467 2008-04-09 467 val_467 2008-04-09 -468 val_468 2008-04-09 -468 val_468 2008-04-09 -468 val_468 2008-04-09 -468 val_468 2008-04-09 -468 val_468 2008-04-09 -468 val_468 2008-04-09 -468 val_468 2008-04-09 -468 val_468 2008-04-09 468 val_468 2008-04-08 468 val_468 2008-04-08 468 val_468 2008-04-08 @@ -4461,6 +4457,14 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 468 val_468 2008-04-08 468 val_468 2008-04-08 468 val_468 2008-04-08 +468 val_468 2008-04-09 +468 val_468 2008-04-09 +468 val_468 2008-04-09 +468 val_468 2008-04-09 +468 val_468 2008-04-09 +468 val_468 2008-04-09 +468 val_468 2008-04-09 +468 val_468 2008-04-09 469 val_469 2008-04-08 469 val_469 2008-04-08 469 val_469 2008-04-08 @@ -4481,26 +4485,26 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 469 val_469 2008-04-09 469 val_469 2008-04-09 469 val_469 2008-04-09 -47 val_47 2008-04-09 -47 val_47 2008-04-09 47 val_47 2008-04-08 47 val_47 2008-04-08 +47 val_47 2008-04-09 +47 val_47 2008-04-09 470 val_470 2008-04-08 470 val_470 2008-04-08 470 val_470 2008-04-09 470 val_470 2008-04-09 -472 val_472 2008-04-09 -472 val_472 2008-04-09 472 val_472 2008-04-08 472 val_472 2008-04-08 +472 val_472 2008-04-09 +472 val_472 2008-04-09 475 val_475 2008-04-08 475 val_475 2008-04-08 475 val_475 2008-04-09 475 val_475 2008-04-09 -477 val_477 2008-04-09 -477 val_477 2008-04-09 477 val_477 2008-04-08 477 val_477 2008-04-08 +477 val_477 2008-04-09 +477 val_477 2008-04-09 478 val_478 2008-04-08 478 val_478 2008-04-08 478 val_478 2008-04-08 @@ -4509,10 +4513,10 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 478 val_478 2008-04-09 478 val_478 2008-04-09 478 val_478 2008-04-09 -479 val_479 2008-04-09 -479 val_479 2008-04-09 479 val_479 2008-04-08 479 val_479 2008-04-08 +479 val_479 2008-04-09 +479 val_479 2008-04-09 480 val_480 2008-04-08 480 val_480 2008-04-08 480 val_480 2008-04-08 @@ -4525,38 +4529,30 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 480 val_480 2008-04-09 480 val_480 2008-04-09 480 val_480 2008-04-09 -481 val_481 2008-04-09 -481 val_481 2008-04-09 481 val_481 2008-04-08 481 val_481 2008-04-08 +481 val_481 2008-04-09 +481 val_481 2008-04-09 482 val_482 2008-04-08 482 val_482 2008-04-08 482 val_482 2008-04-09 482 val_482 2008-04-09 -483 val_483 2008-04-09 -483 val_483 2008-04-09 483 val_483 2008-04-08 483 val_483 2008-04-08 +483 val_483 2008-04-09 +483 val_483 2008-04-09 484 val_484 2008-04-08 484 val_484 2008-04-08 484 val_484 2008-04-09 484 val_484 2008-04-09 -485 val_485 2008-04-09 -485 val_485 2008-04-09 485 val_485 2008-04-08 485 val_485 2008-04-08 +485 val_485 2008-04-09 +485 val_485 2008-04-09 487 val_487 2008-04-08 487 val_487 2008-04-08 487 val_487 2008-04-09 487 val_487 2008-04-09 -489 val_489 2008-04-09 -489 val_489 2008-04-09 -489 val_489 2008-04-09 -489 val_489 2008-04-09 -489 val_489 2008-04-09 -489 val_489 2008-04-09 -489 val_489 2008-04-09 -489 val_489 2008-04-09 489 val_489 2008-04-08 489 val_489 2008-04-08 489 val_489 2008-04-08 @@ -4565,14 +4561,22 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 489 val_489 2008-04-08 489 val_489 2008-04-08 489 val_489 2008-04-08 +489 val_489 2008-04-09 +489 val_489 2008-04-09 +489 val_489 2008-04-09 +489 val_489 2008-04-09 +489 val_489 2008-04-09 +489 val_489 2008-04-09 +489 val_489 2008-04-09 +489 val_489 2008-04-09 490 val_490 2008-04-08 490 val_490 2008-04-08 490 val_490 2008-04-09 490 val_490 2008-04-09 -491 val_491 2008-04-09 -491 val_491 2008-04-09 491 val_491 2008-04-08 491 val_491 2008-04-08 +491 val_491 2008-04-09 +491 val_491 2008-04-09 492 val_492 2008-04-08 492 val_492 2008-04-08 492 val_492 2008-04-08 @@ -4581,26 +4585,26 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 492 val_492 2008-04-09 492 val_492 2008-04-09 492 val_492 2008-04-09 -493 val_493 2008-04-09 -493 val_493 2008-04-09 493 val_493 2008-04-08 493 val_493 2008-04-08 +493 val_493 2008-04-09 +493 val_493 2008-04-09 494 val_494 2008-04-08 494 val_494 2008-04-08 494 val_494 2008-04-09 494 val_494 2008-04-09 -495 val_495 2008-04-09 -495 val_495 2008-04-09 495 val_495 2008-04-08 495 val_495 2008-04-08 +495 val_495 2008-04-09 +495 val_495 2008-04-09 496 val_496 2008-04-08 496 val_496 2008-04-08 496 val_496 2008-04-09 496 val_496 2008-04-09 -497 val_497 2008-04-09 -497 val_497 2008-04-09 497 val_497 2008-04-08 497 val_497 2008-04-08 +497 val_497 2008-04-09 +497 val_497 2008-04-09 498 val_498 2008-04-08 498 val_498 2008-04-08 498 val_498 2008-04-08 @@ -4613,18 +4617,18 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 498 val_498 2008-04-09 498 val_498 2008-04-09 498 val_498 2008-04-09 -5 val_5 2008-04-09 -5 val_5 2008-04-09 -5 val_5 2008-04-09 -5 val_5 2008-04-09 -5 val_5 2008-04-09 -5 val_5 2008-04-09 5 val_5 2008-04-08 5 val_5 2008-04-08 5 val_5 2008-04-08 5 val_5 2008-04-08 5 val_5 2008-04-08 5 val_5 2008-04-08 +5 val_5 2008-04-09 +5 val_5 2008-04-09 +5 val_5 2008-04-09 +5 val_5 2008-04-09 +5 val_5 2008-04-09 +5 val_5 2008-04-09 51 val_51 2008-04-08 51 val_51 2008-04-08 51 val_51 2008-04-08 @@ -4633,18 +4637,18 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 51 val_51 2008-04-09 51 val_51 2008-04-09 51 val_51 2008-04-09 -53 val_53 2008-04-09 -53 val_53 2008-04-09 53 val_53 2008-04-08 53 val_53 2008-04-08 +53 val_53 2008-04-09 +53 val_53 2008-04-09 54 val_54 2008-04-08 54 val_54 2008-04-08 54 val_54 2008-04-09 54 val_54 2008-04-09 -57 val_57 2008-04-09 -57 val_57 2008-04-09 57 val_57 2008-04-08 57 val_57 2008-04-08 +57 val_57 2008-04-09 +57 val_57 2008-04-09 58 val_58 2008-04-08 58 val_58 2008-04-08 58 val_58 2008-04-08 @@ -4653,18 +4657,18 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 58 val_58 2008-04-09 58 val_58 2008-04-09 58 val_58 2008-04-09 -64 val_64 2008-04-09 -64 val_64 2008-04-09 64 val_64 2008-04-08 64 val_64 2008-04-08 +64 val_64 2008-04-09 +64 val_64 2008-04-09 65 val_65 2008-04-08 65 val_65 2008-04-08 65 val_65 2008-04-09 65 val_65 2008-04-09 -66 val_66 2008-04-09 -66 val_66 2008-04-09 66 val_66 2008-04-08 66 val_66 2008-04-08 +66 val_66 2008-04-09 +66 val_66 2008-04-09 67 val_67 2008-04-08 67 val_67 2008-04-08 67 val_67 2008-04-08 @@ -4673,10 +4677,10 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 67 val_67 2008-04-09 67 val_67 2008-04-09 67 val_67 2008-04-09 -69 val_69 2008-04-09 -69 val_69 2008-04-09 69 val_69 2008-04-08 69 val_69 2008-04-08 +69 val_69 2008-04-09 +69 val_69 2008-04-09 70 val_70 2008-04-08 70 val_70 2008-04-08 70 val_70 2008-04-08 @@ -4689,54 +4693,54 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 70 val_70 2008-04-09 70 val_70 2008-04-09 70 val_70 2008-04-09 -72 val_72 2008-04-09 -72 val_72 2008-04-09 -72 val_72 2008-04-09 -72 val_72 2008-04-09 72 val_72 2008-04-08 72 val_72 2008-04-08 72 val_72 2008-04-08 72 val_72 2008-04-08 +72 val_72 2008-04-09 +72 val_72 2008-04-09 +72 val_72 2008-04-09 +72 val_72 2008-04-09 74 val_74 2008-04-08 74 val_74 2008-04-08 74 val_74 2008-04-09 74 val_74 2008-04-09 -76 val_76 2008-04-09 -76 val_76 2008-04-09 -76 val_76 2008-04-09 -76 val_76 2008-04-09 76 val_76 2008-04-08 76 val_76 2008-04-08 76 val_76 2008-04-08 76 val_76 2008-04-08 +76 val_76 2008-04-09 +76 val_76 2008-04-09 +76 val_76 2008-04-09 +76 val_76 2008-04-09 77 val_77 2008-04-08 77 val_77 2008-04-08 77 val_77 2008-04-09 77 val_77 2008-04-09 -78 val_78 2008-04-09 -78 val_78 2008-04-09 78 val_78 2008-04-08 78 val_78 2008-04-08 +78 val_78 2008-04-09 +78 val_78 2008-04-09 8 val_8 2008-04-08 8 val_8 2008-04-08 8 val_8 2008-04-09 8 val_8 2008-04-09 -80 val_80 2008-04-09 -80 val_80 2008-04-09 80 val_80 2008-04-08 80 val_80 2008-04-08 +80 val_80 2008-04-09 +80 val_80 2008-04-09 82 val_82 2008-04-08 82 val_82 2008-04-08 82 val_82 2008-04-09 82 val_82 2008-04-09 -83 val_83 2008-04-09 -83 val_83 2008-04-09 -83 val_83 2008-04-09 -83 val_83 2008-04-09 83 val_83 2008-04-08 83 val_83 2008-04-08 83 val_83 2008-04-08 83 val_83 2008-04-08 +83 val_83 2008-04-09 +83 val_83 2008-04-09 +83 val_83 2008-04-09 +83 val_83 2008-04-09 84 val_84 2008-04-08 84 val_84 2008-04-08 84 val_84 2008-04-08 @@ -4745,58 +4749,58 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 84 val_84 2008-04-09 84 val_84 2008-04-09 84 val_84 2008-04-09 -85 val_85 2008-04-09 -85 val_85 2008-04-09 85 val_85 2008-04-08 85 val_85 2008-04-08 +85 val_85 2008-04-09 +85 val_85 2008-04-09 86 val_86 2008-04-08 86 val_86 2008-04-08 86 val_86 2008-04-09 86 val_86 2008-04-09 -87 val_87 2008-04-09 -87 val_87 2008-04-09 87 val_87 2008-04-08 87 val_87 2008-04-08 +87 val_87 2008-04-09 +87 val_87 2008-04-09 9 val_9 2008-04-08 9 val_9 2008-04-08 9 val_9 2008-04-09 9 val_9 2008-04-09 -90 val_90 2008-04-09 -90 val_90 2008-04-09 -90 val_90 2008-04-09 -90 val_90 2008-04-09 -90 val_90 2008-04-09 -90 val_90 2008-04-09 90 val_90 2008-04-08 90 val_90 2008-04-08 90 val_90 2008-04-08 90 val_90 2008-04-08 90 val_90 2008-04-08 90 val_90 2008-04-08 +90 val_90 2008-04-09 +90 val_90 2008-04-09 +90 val_90 2008-04-09 +90 val_90 2008-04-09 +90 val_90 2008-04-09 +90 val_90 2008-04-09 92 val_92 2008-04-08 92 val_92 2008-04-08 92 val_92 2008-04-09 92 val_92 2008-04-09 -95 val_95 2008-04-09 -95 val_95 2008-04-09 -95 val_95 2008-04-09 -95 val_95 2008-04-09 95 val_95 2008-04-08 95 val_95 2008-04-08 95 val_95 2008-04-08 95 val_95 2008-04-08 -96 val_96 2008-04-08 -96 val_96 2008-04-08 +95 val_95 2008-04-09 +95 val_95 2008-04-09 +95 val_95 2008-04-09 +95 val_95 2008-04-09 +96 val_96 2008-04-08 +96 val_96 2008-04-08 96 val_96 2008-04-09 96 val_96 2008-04-09 -97 val_97 2008-04-09 -97 val_97 2008-04-09 -97 val_97 2008-04-09 -97 val_97 2008-04-09 97 val_97 2008-04-08 97 val_97 2008-04-08 97 val_97 2008-04-08 97 val_97 2008-04-08 +97 val_97 2008-04-09 +97 val_97 2008-04-09 +97 val_97 2008-04-09 +97 val_97 2008-04-09 98 val_98 2008-04-08 98 val_98 2008-04-08 98 val_98 2008-04-08 @@ -5277,13 +5281,13 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).key SIMPLE [(merge_s POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge_src_part)merge_src_part.FieldSchema(name:value, type:string, comment:null), ] ds=2008-04-08 ds=2008-04-09 -PREHOOK: query: select * from merge_src_part2 where ds is not null ORDER BY key ASC, value ASC +PREHOOK: query: select * from merge_src_part2 where ds is not null PREHOOK: type: QUERY PREHOOK: Input: default@merge_src_part2 PREHOOK: Input: default@merge_src_part2@ds=2008-04-08 PREHOOK: Input: default@merge_src_part2@ds=2008-04-09 #### A masked pattern was here #### -POSTHOOK: query: select * from merge_src_part2 where ds is not null ORDER BY key ASC, value ASC +POSTHOOK: query: select * from merge_src_part2 where ds is not null POSTHOOK: type: QUERY POSTHOOK: Input: default@merge_src_part2 POSTHOOK: Input: default@merge_src_part2@ds=2008-04-08 @@ -5313,10 +5317,10 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 0 val_0 2008-04-09 0 val_0 2008-04-09 0 val_0 2008-04-09 -10 val_10 2008-04-09 -10 val_10 2008-04-09 10 val_10 2008-04-08 10 val_10 2008-04-08 +10 val_10 2008-04-09 +10 val_10 2008-04-09 100 val_100 2008-04-08 100 val_100 2008-04-08 100 val_100 2008-04-08 @@ -5325,14 +5329,14 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 100 val_100 2008-04-09 100 val_100 2008-04-09 100 val_100 2008-04-09 -103 val_103 2008-04-09 -103 val_103 2008-04-09 -103 val_103 2008-04-09 -103 val_103 2008-04-09 103 val_103 2008-04-08 103 val_103 2008-04-08 103 val_103 2008-04-08 103 val_103 2008-04-08 +103 val_103 2008-04-09 +103 val_103 2008-04-09 +103 val_103 2008-04-09 +103 val_103 2008-04-09 104 val_104 2008-04-08 104 val_104 2008-04-08 104 val_104 2008-04-08 @@ -5341,18 +5345,18 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 104 val_104 2008-04-09 104 val_104 2008-04-09 104 val_104 2008-04-09 -105 val_105 2008-04-09 -105 val_105 2008-04-09 105 val_105 2008-04-08 105 val_105 2008-04-08 +105 val_105 2008-04-09 +105 val_105 2008-04-09 11 val_11 2008-04-08 11 val_11 2008-04-08 11 val_11 2008-04-09 11 val_11 2008-04-09 -111 val_111 2008-04-09 -111 val_111 2008-04-09 111 val_111 2008-04-08 111 val_111 2008-04-08 +111 val_111 2008-04-09 +111 val_111 2008-04-09 113 val_113 2008-04-08 113 val_113 2008-04-08 113 val_113 2008-04-08 @@ -5361,22 +5365,22 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 113 val_113 2008-04-09 113 val_113 2008-04-09 113 val_113 2008-04-09 -114 val_114 2008-04-09 -114 val_114 2008-04-09 114 val_114 2008-04-08 114 val_114 2008-04-08 +114 val_114 2008-04-09 +114 val_114 2008-04-09 116 val_116 2008-04-08 116 val_116 2008-04-08 116 val_116 2008-04-09 116 val_116 2008-04-09 -118 val_118 2008-04-09 -118 val_118 2008-04-09 -118 val_118 2008-04-09 -118 val_118 2008-04-09 118 val_118 2008-04-08 118 val_118 2008-04-08 118 val_118 2008-04-08 118 val_118 2008-04-08 +118 val_118 2008-04-09 +118 val_118 2008-04-09 +118 val_118 2008-04-09 +118 val_118 2008-04-09 119 val_119 2008-04-08 119 val_119 2008-04-08 119 val_119 2008-04-08 @@ -5389,14 +5393,14 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 119 val_119 2008-04-09 119 val_119 2008-04-09 119 val_119 2008-04-09 -12 val_12 2008-04-09 -12 val_12 2008-04-09 -12 val_12 2008-04-09 -12 val_12 2008-04-09 12 val_12 2008-04-08 12 val_12 2008-04-08 12 val_12 2008-04-08 12 val_12 2008-04-08 +12 val_12 2008-04-09 +12 val_12 2008-04-09 +12 val_12 2008-04-09 +12 val_12 2008-04-09 120 val_120 2008-04-08 120 val_120 2008-04-08 120 val_120 2008-04-08 @@ -5405,30 +5409,30 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 120 val_120 2008-04-09 120 val_120 2008-04-09 120 val_120 2008-04-09 -125 val_125 2008-04-09 -125 val_125 2008-04-09 -125 val_125 2008-04-09 -125 val_125 2008-04-09 125 val_125 2008-04-08 125 val_125 2008-04-08 125 val_125 2008-04-08 125 val_125 2008-04-08 +125 val_125 2008-04-09 +125 val_125 2008-04-09 +125 val_125 2008-04-09 +125 val_125 2008-04-09 126 val_126 2008-04-08 126 val_126 2008-04-08 126 val_126 2008-04-09 126 val_126 2008-04-09 -128 val_128 2008-04-09 -128 val_128 2008-04-09 -128 val_128 2008-04-09 -128 val_128 2008-04-09 -128 val_128 2008-04-09 -128 val_128 2008-04-09 128 val_128 2008-04-08 128 val_128 2008-04-08 128 val_128 2008-04-08 128 val_128 2008-04-08 128 val_128 2008-04-08 128 val_128 2008-04-08 +128 val_128 2008-04-09 +128 val_128 2008-04-09 +128 val_128 2008-04-09 +128 val_128 2008-04-09 +128 val_128 2008-04-09 +128 val_128 2008-04-09 129 val_129 2008-04-08 129 val_129 2008-04-08 129 val_129 2008-04-08 @@ -5437,34 +5441,34 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 129 val_129 2008-04-09 129 val_129 2008-04-09 129 val_129 2008-04-09 -131 val_131 2008-04-09 -131 val_131 2008-04-09 131 val_131 2008-04-08 131 val_131 2008-04-08 +131 val_131 2008-04-09 +131 val_131 2008-04-09 133 val_133 2008-04-08 133 val_133 2008-04-08 133 val_133 2008-04-09 133 val_133 2008-04-09 -134 val_134 2008-04-09 -134 val_134 2008-04-09 -134 val_134 2008-04-09 -134 val_134 2008-04-09 134 val_134 2008-04-08 134 val_134 2008-04-08 134 val_134 2008-04-08 134 val_134 2008-04-08 +134 val_134 2008-04-09 +134 val_134 2008-04-09 +134 val_134 2008-04-09 +134 val_134 2008-04-09 136 val_136 2008-04-08 136 val_136 2008-04-08 136 val_136 2008-04-09 136 val_136 2008-04-09 -137 val_137 2008-04-09 -137 val_137 2008-04-09 -137 val_137 2008-04-09 -137 val_137 2008-04-09 137 val_137 2008-04-08 137 val_137 2008-04-08 137 val_137 2008-04-08 137 val_137 2008-04-08 +137 val_137 2008-04-09 +137 val_137 2008-04-09 +137 val_137 2008-04-09 +137 val_137 2008-04-09 138 val_138 2008-04-08 138 val_138 2008-04-08 138 val_138 2008-04-08 @@ -5481,22 +5485,22 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 138 val_138 2008-04-09 138 val_138 2008-04-09 138 val_138 2008-04-09 -143 val_143 2008-04-09 -143 val_143 2008-04-09 143 val_143 2008-04-08 143 val_143 2008-04-08 +143 val_143 2008-04-09 +143 val_143 2008-04-09 145 val_145 2008-04-08 145 val_145 2008-04-08 145 val_145 2008-04-09 145 val_145 2008-04-09 -146 val_146 2008-04-09 -146 val_146 2008-04-09 -146 val_146 2008-04-09 -146 val_146 2008-04-09 146 val_146 2008-04-08 146 val_146 2008-04-08 146 val_146 2008-04-08 146 val_146 2008-04-08 +146 val_146 2008-04-09 +146 val_146 2008-04-09 +146 val_146 2008-04-09 +146 val_146 2008-04-09 149 val_149 2008-04-08 149 val_149 2008-04-08 149 val_149 2008-04-08 @@ -5505,58 +5509,58 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 149 val_149 2008-04-09 149 val_149 2008-04-09 149 val_149 2008-04-09 -15 val_15 2008-04-09 -15 val_15 2008-04-09 -15 val_15 2008-04-09 -15 val_15 2008-04-09 15 val_15 2008-04-08 15 val_15 2008-04-08 15 val_15 2008-04-08 15 val_15 2008-04-08 +15 val_15 2008-04-09 +15 val_15 2008-04-09 +15 val_15 2008-04-09 +15 val_15 2008-04-09 150 val_150 2008-04-08 150 val_150 2008-04-08 150 val_150 2008-04-09 150 val_150 2008-04-09 -152 val_152 2008-04-09 -152 val_152 2008-04-09 -152 val_152 2008-04-09 -152 val_152 2008-04-09 152 val_152 2008-04-08 152 val_152 2008-04-08 152 val_152 2008-04-08 152 val_152 2008-04-08 +152 val_152 2008-04-09 +152 val_152 2008-04-09 +152 val_152 2008-04-09 +152 val_152 2008-04-09 153 val_153 2008-04-08 153 val_153 2008-04-08 153 val_153 2008-04-09 153 val_153 2008-04-09 -155 val_155 2008-04-09 -155 val_155 2008-04-09 155 val_155 2008-04-08 155 val_155 2008-04-08 +155 val_155 2008-04-09 +155 val_155 2008-04-09 156 val_156 2008-04-08 156 val_156 2008-04-08 156 val_156 2008-04-09 156 val_156 2008-04-09 -157 val_157 2008-04-09 -157 val_157 2008-04-09 157 val_157 2008-04-08 157 val_157 2008-04-08 +157 val_157 2008-04-09 +157 val_157 2008-04-09 158 val_158 2008-04-08 158 val_158 2008-04-08 158 val_158 2008-04-09 158 val_158 2008-04-09 -160 val_160 2008-04-09 -160 val_160 2008-04-09 160 val_160 2008-04-08 160 val_160 2008-04-08 +160 val_160 2008-04-09 +160 val_160 2008-04-09 162 val_162 2008-04-08 162 val_162 2008-04-08 162 val_162 2008-04-09 162 val_162 2008-04-09 -163 val_163 2008-04-09 -163 val_163 2008-04-09 163 val_163 2008-04-08 163 val_163 2008-04-08 +163 val_163 2008-04-09 +163 val_163 2008-04-09 164 val_164 2008-04-08 164 val_164 2008-04-08 164 val_164 2008-04-08 @@ -5565,42 +5569,34 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 164 val_164 2008-04-09 164 val_164 2008-04-09 164 val_164 2008-04-09 -165 val_165 2008-04-09 -165 val_165 2008-04-09 -165 val_165 2008-04-09 -165 val_165 2008-04-09 165 val_165 2008-04-08 165 val_165 2008-04-08 165 val_165 2008-04-08 165 val_165 2008-04-08 +165 val_165 2008-04-09 +165 val_165 2008-04-09 +165 val_165 2008-04-09 +165 val_165 2008-04-09 166 val_166 2008-04-08 166 val_166 2008-04-08 166 val_166 2008-04-09 166 val_166 2008-04-09 -167 val_167 2008-04-09 -167 val_167 2008-04-09 -167 val_167 2008-04-09 -167 val_167 2008-04-09 -167 val_167 2008-04-09 -167 val_167 2008-04-09 167 val_167 2008-04-08 167 val_167 2008-04-08 167 val_167 2008-04-08 167 val_167 2008-04-08 167 val_167 2008-04-08 167 val_167 2008-04-08 +167 val_167 2008-04-09 +167 val_167 2008-04-09 +167 val_167 2008-04-09 +167 val_167 2008-04-09 +167 val_167 2008-04-09 +167 val_167 2008-04-09 168 val_168 2008-04-08 168 val_168 2008-04-08 168 val_168 2008-04-09 168 val_168 2008-04-09 -169 val_169 2008-04-09 -169 val_169 2008-04-09 -169 val_169 2008-04-09 -169 val_169 2008-04-09 -169 val_169 2008-04-09 -169 val_169 2008-04-09 -169 val_169 2008-04-09 -169 val_169 2008-04-09 169 val_169 2008-04-08 169 val_169 2008-04-08 169 val_169 2008-04-08 @@ -5609,14 +5605,22 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 169 val_169 2008-04-08 169 val_169 2008-04-08 169 val_169 2008-04-08 +169 val_169 2008-04-09 +169 val_169 2008-04-09 +169 val_169 2008-04-09 +169 val_169 2008-04-09 +169 val_169 2008-04-09 +169 val_169 2008-04-09 +169 val_169 2008-04-09 +169 val_169 2008-04-09 17 val_17 2008-04-08 17 val_17 2008-04-08 17 val_17 2008-04-09 17 val_17 2008-04-09 -170 val_170 2008-04-09 -170 val_170 2008-04-09 170 val_170 2008-04-08 170 val_170 2008-04-08 +170 val_170 2008-04-09 +170 val_170 2008-04-09 172 val_172 2008-04-08 172 val_172 2008-04-08 172 val_172 2008-04-08 @@ -5625,14 +5629,14 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 172 val_172 2008-04-09 172 val_172 2008-04-09 172 val_172 2008-04-09 -174 val_174 2008-04-09 -174 val_174 2008-04-09 -174 val_174 2008-04-09 -174 val_174 2008-04-09 174 val_174 2008-04-08 174 val_174 2008-04-08 174 val_174 2008-04-08 174 val_174 2008-04-08 +174 val_174 2008-04-09 +174 val_174 2008-04-09 +174 val_174 2008-04-09 +174 val_174 2008-04-09 175 val_175 2008-04-08 175 val_175 2008-04-08 175 val_175 2008-04-08 @@ -5641,22 +5645,22 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 175 val_175 2008-04-09 175 val_175 2008-04-09 175 val_175 2008-04-09 -176 val_176 2008-04-09 -176 val_176 2008-04-09 -176 val_176 2008-04-09 -176 val_176 2008-04-09 176 val_176 2008-04-08 176 val_176 2008-04-08 176 val_176 2008-04-08 176 val_176 2008-04-08 +176 val_176 2008-04-09 +176 val_176 2008-04-09 +176 val_176 2008-04-09 +176 val_176 2008-04-09 177 val_177 2008-04-08 177 val_177 2008-04-08 177 val_177 2008-04-09 177 val_177 2008-04-09 -178 val_178 2008-04-09 -178 val_178 2008-04-09 178 val_178 2008-04-08 178 val_178 2008-04-08 +178 val_178 2008-04-09 +178 val_178 2008-04-09 179 val_179 2008-04-08 179 val_179 2008-04-08 179 val_179 2008-04-08 @@ -5665,30 +5669,30 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 179 val_179 2008-04-09 179 val_179 2008-04-09 179 val_179 2008-04-09 -18 val_18 2008-04-09 -18 val_18 2008-04-09 -18 val_18 2008-04-09 -18 val_18 2008-04-09 18 val_18 2008-04-08 18 val_18 2008-04-08 18 val_18 2008-04-08 18 val_18 2008-04-08 +18 val_18 2008-04-09 +18 val_18 2008-04-09 +18 val_18 2008-04-09 +18 val_18 2008-04-09 180 val_180 2008-04-08 180 val_180 2008-04-08 180 val_180 2008-04-09 180 val_180 2008-04-09 -181 val_181 2008-04-09 -181 val_181 2008-04-09 181 val_181 2008-04-08 181 val_181 2008-04-08 +181 val_181 2008-04-09 +181 val_181 2008-04-09 183 val_183 2008-04-08 183 val_183 2008-04-08 183 val_183 2008-04-09 183 val_183 2008-04-09 -186 val_186 2008-04-09 -186 val_186 2008-04-09 186 val_186 2008-04-08 186 val_186 2008-04-08 +186 val_186 2008-04-09 +186 val_186 2008-04-09 187 val_187 2008-04-08 187 val_187 2008-04-08 187 val_187 2008-04-08 @@ -5701,18 +5705,18 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 187 val_187 2008-04-09 187 val_187 2008-04-09 187 val_187 2008-04-09 -189 val_189 2008-04-09 -189 val_189 2008-04-09 189 val_189 2008-04-08 189 val_189 2008-04-08 +189 val_189 2008-04-09 +189 val_189 2008-04-09 19 val_19 2008-04-08 19 val_19 2008-04-08 19 val_19 2008-04-09 19 val_19 2008-04-09 -190 val_190 2008-04-09 -190 val_190 2008-04-09 190 val_190 2008-04-08 190 val_190 2008-04-08 +190 val_190 2008-04-09 +190 val_190 2008-04-09 191 val_191 2008-04-08 191 val_191 2008-04-08 191 val_191 2008-04-08 @@ -5721,10 +5725,10 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 191 val_191 2008-04-09 191 val_191 2008-04-09 191 val_191 2008-04-09 -192 val_192 2008-04-09 -192 val_192 2008-04-09 192 val_192 2008-04-08 192 val_192 2008-04-08 +192 val_192 2008-04-09 +192 val_192 2008-04-09 193 val_193 2008-04-08 193 val_193 2008-04-08 193 val_193 2008-04-08 @@ -5737,10 +5741,10 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 193 val_193 2008-04-09 193 val_193 2008-04-09 193 val_193 2008-04-09 -194 val_194 2008-04-09 -194 val_194 2008-04-09 194 val_194 2008-04-08 194 val_194 2008-04-08 +194 val_194 2008-04-09 +194 val_194 2008-04-09 195 val_195 2008-04-08 195 val_195 2008-04-08 195 val_195 2008-04-08 @@ -5749,10 +5753,10 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 195 val_195 2008-04-09 195 val_195 2008-04-09 195 val_195 2008-04-09 -196 val_196 2008-04-09 -196 val_196 2008-04-09 196 val_196 2008-04-08 196 val_196 2008-04-08 +196 val_196 2008-04-09 +196 val_196 2008-04-09 197 val_197 2008-04-08 197 val_197 2008-04-08 197 val_197 2008-04-08 @@ -5761,26 +5765,26 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 197 val_197 2008-04-09 197 val_197 2008-04-09 197 val_197 2008-04-09 -199 val_199 2008-04-09 -199 val_199 2008-04-09 -199 val_199 2008-04-09 -199 val_199 2008-04-09 -199 val_199 2008-04-09 -199 val_199 2008-04-09 199 val_199 2008-04-08 199 val_199 2008-04-08 199 val_199 2008-04-08 199 val_199 2008-04-08 199 val_199 2008-04-08 199 val_199 2008-04-08 +199 val_199 2008-04-09 +199 val_199 2008-04-09 +199 val_199 2008-04-09 +199 val_199 2008-04-09 +199 val_199 2008-04-09 +199 val_199 2008-04-09 2 val_2 2008-04-08 2 val_2 2008-04-08 2 val_2 2008-04-09 2 val_2 2008-04-09 -20 val_20 2008-04-09 -20 val_20 2008-04-09 20 val_20 2008-04-08 20 val_20 2008-04-08 +20 val_20 2008-04-09 +20 val_20 2008-04-09 200 val_200 2008-04-08 200 val_200 2008-04-08 200 val_200 2008-04-08 @@ -5789,22 +5793,22 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 200 val_200 2008-04-09 200 val_200 2008-04-09 200 val_200 2008-04-09 -201 val_201 2008-04-09 -201 val_201 2008-04-09 201 val_201 2008-04-08 201 val_201 2008-04-08 +201 val_201 2008-04-09 +201 val_201 2008-04-09 202 val_202 2008-04-08 202 val_202 2008-04-08 202 val_202 2008-04-09 202 val_202 2008-04-09 -203 val_203 2008-04-09 -203 val_203 2008-04-09 -203 val_203 2008-04-09 -203 val_203 2008-04-09 203 val_203 2008-04-08 203 val_203 2008-04-08 203 val_203 2008-04-08 203 val_203 2008-04-08 +203 val_203 2008-04-09 +203 val_203 2008-04-09 +203 val_203 2008-04-09 +203 val_203 2008-04-09 205 val_205 2008-04-08 205 val_205 2008-04-08 205 val_205 2008-04-08 @@ -5813,14 +5817,14 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 205 val_205 2008-04-09 205 val_205 2008-04-09 205 val_205 2008-04-09 -207 val_207 2008-04-09 -207 val_207 2008-04-09 -207 val_207 2008-04-09 -207 val_207 2008-04-09 207 val_207 2008-04-08 207 val_207 2008-04-08 207 val_207 2008-04-08 207 val_207 2008-04-08 +207 val_207 2008-04-09 +207 val_207 2008-04-09 +207 val_207 2008-04-09 +207 val_207 2008-04-09 208 val_208 2008-04-08 208 val_208 2008-04-08 208 val_208 2008-04-08 @@ -5833,14 +5837,14 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 208 val_208 2008-04-09 208 val_208 2008-04-09 208 val_208 2008-04-09 -209 val_209 2008-04-09 -209 val_209 2008-04-09 -209 val_209 2008-04-09 -209 val_209 2008-04-09 209 val_209 2008-04-08 209 val_209 2008-04-08 209 val_209 2008-04-08 209 val_209 2008-04-08 +209 val_209 2008-04-09 +209 val_209 2008-04-09 +209 val_209 2008-04-09 +209 val_209 2008-04-09 213 val_213 2008-04-08 213 val_213 2008-04-08 213 val_213 2008-04-08 @@ -5849,10 +5853,10 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 213 val_213 2008-04-09 213 val_213 2008-04-09 213 val_213 2008-04-09 -214 val_214 2008-04-09 -214 val_214 2008-04-09 214 val_214 2008-04-08 214 val_214 2008-04-08 +214 val_214 2008-04-09 +214 val_214 2008-04-09 216 val_216 2008-04-08 216 val_216 2008-04-08 216 val_216 2008-04-08 @@ -5861,26 +5865,26 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 216 val_216 2008-04-09 216 val_216 2008-04-09 216 val_216 2008-04-09 -217 val_217 2008-04-09 -217 val_217 2008-04-09 -217 val_217 2008-04-09 -217 val_217 2008-04-09 217 val_217 2008-04-08 217 val_217 2008-04-08 217 val_217 2008-04-08 217 val_217 2008-04-08 +217 val_217 2008-04-09 +217 val_217 2008-04-09 +217 val_217 2008-04-09 +217 val_217 2008-04-09 218 val_218 2008-04-08 218 val_218 2008-04-08 218 val_218 2008-04-09 218 val_218 2008-04-09 -219 val_219 2008-04-09 -219 val_219 2008-04-09 -219 val_219 2008-04-09 -219 val_219 2008-04-09 219 val_219 2008-04-08 219 val_219 2008-04-08 219 val_219 2008-04-08 219 val_219 2008-04-08 +219 val_219 2008-04-09 +219 val_219 2008-04-09 +219 val_219 2008-04-09 +219 val_219 2008-04-09 221 val_221 2008-04-08 221 val_221 2008-04-08 221 val_221 2008-04-08 @@ -5889,10 +5893,10 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 221 val_221 2008-04-09 221 val_221 2008-04-09 221 val_221 2008-04-09 -222 val_222 2008-04-09 -222 val_222 2008-04-09 222 val_222 2008-04-08 222 val_222 2008-04-08 +222 val_222 2008-04-09 +222 val_222 2008-04-09 223 val_223 2008-04-08 223 val_223 2008-04-08 223 val_223 2008-04-08 @@ -5901,22 +5905,22 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 223 val_223 2008-04-09 223 val_223 2008-04-09 223 val_223 2008-04-09 -224 val_224 2008-04-09 -224 val_224 2008-04-09 -224 val_224 2008-04-09 -224 val_224 2008-04-09 224 val_224 2008-04-08 224 val_224 2008-04-08 224 val_224 2008-04-08 224 val_224 2008-04-08 +224 val_224 2008-04-09 +224 val_224 2008-04-09 +224 val_224 2008-04-09 +224 val_224 2008-04-09 226 val_226 2008-04-08 226 val_226 2008-04-08 226 val_226 2008-04-09 226 val_226 2008-04-09 -228 val_228 2008-04-09 -228 val_228 2008-04-09 228 val_228 2008-04-08 228 val_228 2008-04-08 +228 val_228 2008-04-09 +228 val_228 2008-04-09 229 val_229 2008-04-08 229 val_229 2008-04-08 229 val_229 2008-04-08 @@ -5925,16 +5929,6 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 229 val_229 2008-04-09 229 val_229 2008-04-09 229 val_229 2008-04-09 -230 val_230 2008-04-09 -230 val_230 2008-04-09 -230 val_230 2008-04-09 -230 val_230 2008-04-09 -230 val_230 2008-04-09 -230 val_230 2008-04-09 -230 val_230 2008-04-09 -230 val_230 2008-04-09 -230 val_230 2008-04-09 -230 val_230 2008-04-09 230 val_230 2008-04-08 230 val_230 2008-04-08 230 val_230 2008-04-08 @@ -5945,6 +5939,16 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 230 val_230 2008-04-08 230 val_230 2008-04-08 230 val_230 2008-04-08 +230 val_230 2008-04-09 +230 val_230 2008-04-09 +230 val_230 2008-04-09 +230 val_230 2008-04-09 +230 val_230 2008-04-09 +230 val_230 2008-04-09 +230 val_230 2008-04-09 +230 val_230 2008-04-09 +230 val_230 2008-04-09 +230 val_230 2008-04-09 233 val_233 2008-04-08 233 val_233 2008-04-08 233 val_233 2008-04-08 @@ -5953,10 +5957,10 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 233 val_233 2008-04-09 233 val_233 2008-04-09 233 val_233 2008-04-09 -235 val_235 2008-04-09 -235 val_235 2008-04-09 235 val_235 2008-04-08 235 val_235 2008-04-08 +235 val_235 2008-04-09 +235 val_235 2008-04-09 237 val_237 2008-04-08 237 val_237 2008-04-08 237 val_237 2008-04-08 @@ -5965,14 +5969,14 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 237 val_237 2008-04-09 237 val_237 2008-04-09 237 val_237 2008-04-09 -238 val_238 2008-04-09 -238 val_238 2008-04-09 -238 val_238 2008-04-09 -238 val_238 2008-04-09 238 val_238 2008-04-08 238 val_238 2008-04-08 238 val_238 2008-04-08 238 val_238 2008-04-08 +238 val_238 2008-04-09 +238 val_238 2008-04-09 +238 val_238 2008-04-09 +238 val_238 2008-04-09 239 val_239 2008-04-08 239 val_239 2008-04-08 239 val_239 2008-04-08 @@ -5981,54 +5985,54 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 239 val_239 2008-04-09 239 val_239 2008-04-09 239 val_239 2008-04-09 -24 val_24 2008-04-09 -24 val_24 2008-04-09 -24 val_24 2008-04-09 -24 val_24 2008-04-09 24 val_24 2008-04-08 24 val_24 2008-04-08 24 val_24 2008-04-08 24 val_24 2008-04-08 +24 val_24 2008-04-09 +24 val_24 2008-04-09 +24 val_24 2008-04-09 +24 val_24 2008-04-09 241 val_241 2008-04-08 241 val_241 2008-04-08 241 val_241 2008-04-09 241 val_241 2008-04-09 -242 val_242 2008-04-09 -242 val_242 2008-04-09 -242 val_242 2008-04-09 -242 val_242 2008-04-09 242 val_242 2008-04-08 242 val_242 2008-04-08 242 val_242 2008-04-08 242 val_242 2008-04-08 +242 val_242 2008-04-09 +242 val_242 2008-04-09 +242 val_242 2008-04-09 +242 val_242 2008-04-09 244 val_244 2008-04-08 244 val_244 2008-04-08 244 val_244 2008-04-09 244 val_244 2008-04-09 -247 val_247 2008-04-09 -247 val_247 2008-04-09 247 val_247 2008-04-08 247 val_247 2008-04-08 +247 val_247 2008-04-09 +247 val_247 2008-04-09 248 val_248 2008-04-08 248 val_248 2008-04-08 248 val_248 2008-04-09 248 val_248 2008-04-09 -249 val_249 2008-04-09 -249 val_249 2008-04-09 249 val_249 2008-04-08 249 val_249 2008-04-08 +249 val_249 2008-04-09 +249 val_249 2008-04-09 252 val_252 2008-04-08 252 val_252 2008-04-08 252 val_252 2008-04-09 252 val_252 2008-04-09 -255 val_255 2008-04-09 -255 val_255 2008-04-09 -255 val_255 2008-04-09 -255 val_255 2008-04-09 255 val_255 2008-04-08 255 val_255 2008-04-08 255 val_255 2008-04-08 255 val_255 2008-04-08 +255 val_255 2008-04-09 +255 val_255 2008-04-09 +255 val_255 2008-04-09 +255 val_255 2008-04-09 256 val_256 2008-04-08 256 val_256 2008-04-08 256 val_256 2008-04-08 @@ -6037,50 +6041,50 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 256 val_256 2008-04-09 256 val_256 2008-04-09 256 val_256 2008-04-09 -257 val_257 2008-04-09 -257 val_257 2008-04-09 257 val_257 2008-04-08 257 val_257 2008-04-08 +257 val_257 2008-04-09 +257 val_257 2008-04-09 258 val_258 2008-04-08 258 val_258 2008-04-08 258 val_258 2008-04-09 258 val_258 2008-04-09 -26 val_26 2008-04-09 -26 val_26 2008-04-09 -26 val_26 2008-04-09 -26 val_26 2008-04-09 26 val_26 2008-04-08 26 val_26 2008-04-08 26 val_26 2008-04-08 26 val_26 2008-04-08 +26 val_26 2008-04-09 +26 val_26 2008-04-09 +26 val_26 2008-04-09 +26 val_26 2008-04-09 260 val_260 2008-04-08 260 val_260 2008-04-08 260 val_260 2008-04-09 260 val_260 2008-04-09 -262 val_262 2008-04-09 -262 val_262 2008-04-09 262 val_262 2008-04-08 262 val_262 2008-04-08 +262 val_262 2008-04-09 +262 val_262 2008-04-09 263 val_263 2008-04-08 263 val_263 2008-04-08 263 val_263 2008-04-09 263 val_263 2008-04-09 -265 val_265 2008-04-09 -265 val_265 2008-04-09 -265 val_265 2008-04-09 -265 val_265 2008-04-09 265 val_265 2008-04-08 265 val_265 2008-04-08 265 val_265 2008-04-08 265 val_265 2008-04-08 +265 val_265 2008-04-09 +265 val_265 2008-04-09 +265 val_265 2008-04-09 +265 val_265 2008-04-09 266 val_266 2008-04-08 266 val_266 2008-04-08 266 val_266 2008-04-09 266 val_266 2008-04-09 -27 val_27 2008-04-09 -27 val_27 2008-04-09 27 val_27 2008-04-08 27 val_27 2008-04-08 +27 val_27 2008-04-09 +27 val_27 2008-04-09 272 val_272 2008-04-08 272 val_272 2008-04-08 272 val_272 2008-04-08 @@ -6089,26 +6093,26 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 272 val_272 2008-04-09 272 val_272 2008-04-09 272 val_272 2008-04-09 -273 val_273 2008-04-09 -273 val_273 2008-04-09 -273 val_273 2008-04-09 -273 val_273 2008-04-09 -273 val_273 2008-04-09 -273 val_273 2008-04-09 273 val_273 2008-04-08 273 val_273 2008-04-08 273 val_273 2008-04-08 273 val_273 2008-04-08 273 val_273 2008-04-08 273 val_273 2008-04-08 +273 val_273 2008-04-09 +273 val_273 2008-04-09 +273 val_273 2008-04-09 +273 val_273 2008-04-09 +273 val_273 2008-04-09 +273 val_273 2008-04-09 274 val_274 2008-04-08 274 val_274 2008-04-08 274 val_274 2008-04-09 274 val_274 2008-04-09 -275 val_275 2008-04-09 -275 val_275 2008-04-09 275 val_275 2008-04-08 275 val_275 2008-04-08 +275 val_275 2008-04-09 +275 val_275 2008-04-09 277 val_277 2008-04-08 277 val_277 2008-04-08 277 val_277 2008-04-08 @@ -6125,26 +6129,26 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 277 val_277 2008-04-09 277 val_277 2008-04-09 277 val_277 2008-04-09 -278 val_278 2008-04-09 -278 val_278 2008-04-09 -278 val_278 2008-04-09 -278 val_278 2008-04-09 278 val_278 2008-04-08 278 val_278 2008-04-08 278 val_278 2008-04-08 278 val_278 2008-04-08 +278 val_278 2008-04-09 +278 val_278 2008-04-09 +278 val_278 2008-04-09 +278 val_278 2008-04-09 28 val_28 2008-04-08 28 val_28 2008-04-08 28 val_28 2008-04-09 28 val_28 2008-04-09 -280 val_280 2008-04-09 -280 val_280 2008-04-09 -280 val_280 2008-04-09 -280 val_280 2008-04-09 280 val_280 2008-04-08 280 val_280 2008-04-08 280 val_280 2008-04-08 280 val_280 2008-04-08 +280 val_280 2008-04-09 +280 val_280 2008-04-09 +280 val_280 2008-04-09 +280 val_280 2008-04-09 281 val_281 2008-04-08 281 val_281 2008-04-08 281 val_281 2008-04-08 @@ -6153,58 +6157,58 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 281 val_281 2008-04-09 281 val_281 2008-04-09 281 val_281 2008-04-09 -282 val_282 2008-04-09 -282 val_282 2008-04-09 -282 val_282 2008-04-09 -282 val_282 2008-04-09 282 val_282 2008-04-08 282 val_282 2008-04-08 282 val_282 2008-04-08 282 val_282 2008-04-08 +282 val_282 2008-04-09 +282 val_282 2008-04-09 +282 val_282 2008-04-09 +282 val_282 2008-04-09 283 val_283 2008-04-08 283 val_283 2008-04-08 283 val_283 2008-04-09 283 val_283 2008-04-09 -284 val_284 2008-04-09 -284 val_284 2008-04-09 284 val_284 2008-04-08 284 val_284 2008-04-08 +284 val_284 2008-04-09 +284 val_284 2008-04-09 285 val_285 2008-04-08 285 val_285 2008-04-08 285 val_285 2008-04-09 285 val_285 2008-04-09 -286 val_286 2008-04-09 -286 val_286 2008-04-09 286 val_286 2008-04-08 286 val_286 2008-04-08 +286 val_286 2008-04-09 +286 val_286 2008-04-09 287 val_287 2008-04-08 287 val_287 2008-04-08 287 val_287 2008-04-09 287 val_287 2008-04-09 -288 val_288 2008-04-09 -288 val_288 2008-04-09 -288 val_288 2008-04-09 -288 val_288 2008-04-09 288 val_288 2008-04-08 288 val_288 2008-04-08 288 val_288 2008-04-08 288 val_288 2008-04-08 +288 val_288 2008-04-09 +288 val_288 2008-04-09 +288 val_288 2008-04-09 +288 val_288 2008-04-09 289 val_289 2008-04-08 289 val_289 2008-04-08 289 val_289 2008-04-09 289 val_289 2008-04-09 -291 val_291 2008-04-09 -291 val_291 2008-04-09 291 val_291 2008-04-08 291 val_291 2008-04-08 +291 val_291 2008-04-09 +291 val_291 2008-04-09 292 val_292 2008-04-08 292 val_292 2008-04-08 292 val_292 2008-04-09 292 val_292 2008-04-09 -296 val_296 2008-04-09 -296 val_296 2008-04-09 296 val_296 2008-04-08 296 val_296 2008-04-08 +296 val_296 2008-04-09 +296 val_296 2008-04-09 298 val_298 2008-04-08 298 val_298 2008-04-08 298 val_298 2008-04-08 @@ -6217,74 +6221,74 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 298 val_298 2008-04-09 298 val_298 2008-04-09 298 val_298 2008-04-09 -30 val_30 2008-04-09 -30 val_30 2008-04-09 30 val_30 2008-04-08 30 val_30 2008-04-08 +30 val_30 2008-04-09 +30 val_30 2008-04-09 302 val_302 2008-04-08 302 val_302 2008-04-08 302 val_302 2008-04-09 302 val_302 2008-04-09 -305 val_305 2008-04-09 -305 val_305 2008-04-09 305 val_305 2008-04-08 305 val_305 2008-04-08 +305 val_305 2008-04-09 +305 val_305 2008-04-09 306 val_306 2008-04-08 306 val_306 2008-04-08 306 val_306 2008-04-09 306 val_306 2008-04-09 -307 val_307 2008-04-09 -307 val_307 2008-04-09 -307 val_307 2008-04-09 -307 val_307 2008-04-09 307 val_307 2008-04-08 307 val_307 2008-04-08 307 val_307 2008-04-08 307 val_307 2008-04-08 +307 val_307 2008-04-09 +307 val_307 2008-04-09 +307 val_307 2008-04-09 +307 val_307 2008-04-09 308 val_308 2008-04-08 308 val_308 2008-04-08 308 val_308 2008-04-09 308 val_308 2008-04-09 -309 val_309 2008-04-09 -309 val_309 2008-04-09 -309 val_309 2008-04-09 -309 val_309 2008-04-09 309 val_309 2008-04-08 309 val_309 2008-04-08 309 val_309 2008-04-08 309 val_309 2008-04-08 +309 val_309 2008-04-09 +309 val_309 2008-04-09 +309 val_309 2008-04-09 +309 val_309 2008-04-09 310 val_310 2008-04-08 310 val_310 2008-04-08 310 val_310 2008-04-09 310 val_310 2008-04-09 -311 val_311 2008-04-09 -311 val_311 2008-04-09 -311 val_311 2008-04-09 -311 val_311 2008-04-09 -311 val_311 2008-04-09 -311 val_311 2008-04-09 311 val_311 2008-04-08 311 val_311 2008-04-08 311 val_311 2008-04-08 311 val_311 2008-04-08 311 val_311 2008-04-08 311 val_311 2008-04-08 +311 val_311 2008-04-09 +311 val_311 2008-04-09 +311 val_311 2008-04-09 +311 val_311 2008-04-09 +311 val_311 2008-04-09 +311 val_311 2008-04-09 315 val_315 2008-04-08 315 val_315 2008-04-08 315 val_315 2008-04-09 315 val_315 2008-04-09 -316 val_316 2008-04-09 -316 val_316 2008-04-09 -316 val_316 2008-04-09 -316 val_316 2008-04-09 -316 val_316 2008-04-09 -316 val_316 2008-04-09 316 val_316 2008-04-08 316 val_316 2008-04-08 316 val_316 2008-04-08 316 val_316 2008-04-08 316 val_316 2008-04-08 316 val_316 2008-04-08 +316 val_316 2008-04-09 +316 val_316 2008-04-09 +316 val_316 2008-04-09 +316 val_316 2008-04-09 +316 val_316 2008-04-09 +316 val_316 2008-04-09 317 val_317 2008-04-08 317 val_317 2008-04-08 317 val_317 2008-04-08 @@ -6293,18 +6297,18 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 317 val_317 2008-04-09 317 val_317 2008-04-09 317 val_317 2008-04-09 -318 val_318 2008-04-09 -318 val_318 2008-04-09 -318 val_318 2008-04-09 -318 val_318 2008-04-09 -318 val_318 2008-04-09 -318 val_318 2008-04-09 318 val_318 2008-04-08 318 val_318 2008-04-08 318 val_318 2008-04-08 318 val_318 2008-04-08 318 val_318 2008-04-08 318 val_318 2008-04-08 +318 val_318 2008-04-09 +318 val_318 2008-04-09 +318 val_318 2008-04-09 +318 val_318 2008-04-09 +318 val_318 2008-04-09 +318 val_318 2008-04-09 321 val_321 2008-04-08 321 val_321 2008-04-08 321 val_321 2008-04-08 @@ -6313,26 +6317,26 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 321 val_321 2008-04-09 321 val_321 2008-04-09 321 val_321 2008-04-09 -322 val_322 2008-04-09 -322 val_322 2008-04-09 -322 val_322 2008-04-09 -322 val_322 2008-04-09 322 val_322 2008-04-08 322 val_322 2008-04-08 322 val_322 2008-04-08 322 val_322 2008-04-08 +322 val_322 2008-04-09 +322 val_322 2008-04-09 +322 val_322 2008-04-09 +322 val_322 2008-04-09 323 val_323 2008-04-08 323 val_323 2008-04-08 323 val_323 2008-04-09 323 val_323 2008-04-09 -325 val_325 2008-04-09 -325 val_325 2008-04-09 -325 val_325 2008-04-09 -325 val_325 2008-04-09 325 val_325 2008-04-08 325 val_325 2008-04-08 325 val_325 2008-04-08 325 val_325 2008-04-08 +325 val_325 2008-04-09 +325 val_325 2008-04-09 +325 val_325 2008-04-09 +325 val_325 2008-04-09 327 val_327 2008-04-08 327 val_327 2008-04-08 327 val_327 2008-04-08 @@ -6345,10 +6349,10 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 327 val_327 2008-04-09 327 val_327 2008-04-09 327 val_327 2008-04-09 -33 val_33 2008-04-09 -33 val_33 2008-04-09 33 val_33 2008-04-08 33 val_33 2008-04-08 +33 val_33 2008-04-09 +33 val_33 2008-04-09 331 val_331 2008-04-08 331 val_331 2008-04-08 331 val_331 2008-04-08 @@ -6357,10 +6361,10 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 331 val_331 2008-04-09 331 val_331 2008-04-09 331 val_331 2008-04-09 -332 val_332 2008-04-09 -332 val_332 2008-04-09 332 val_332 2008-04-08 332 val_332 2008-04-08 +332 val_332 2008-04-09 +332 val_332 2008-04-09 333 val_333 2008-04-08 333 val_333 2008-04-08 333 val_333 2008-04-08 @@ -6369,38 +6373,38 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 333 val_333 2008-04-09 333 val_333 2008-04-09 333 val_333 2008-04-09 -335 val_335 2008-04-09 -335 val_335 2008-04-09 335 val_335 2008-04-08 335 val_335 2008-04-08 +335 val_335 2008-04-09 +335 val_335 2008-04-09 336 val_336 2008-04-08 336 val_336 2008-04-08 336 val_336 2008-04-09 336 val_336 2008-04-09 -338 val_338 2008-04-09 -338 val_338 2008-04-09 338 val_338 2008-04-08 338 val_338 2008-04-08 +338 val_338 2008-04-09 +338 val_338 2008-04-09 339 val_339 2008-04-08 339 val_339 2008-04-08 339 val_339 2008-04-09 339 val_339 2008-04-09 -34 val_34 2008-04-09 -34 val_34 2008-04-09 34 val_34 2008-04-08 34 val_34 2008-04-08 +34 val_34 2008-04-09 +34 val_34 2008-04-09 341 val_341 2008-04-08 341 val_341 2008-04-08 341 val_341 2008-04-09 341 val_341 2008-04-09 -342 val_342 2008-04-09 -342 val_342 2008-04-09 -342 val_342 2008-04-09 -342 val_342 2008-04-09 342 val_342 2008-04-08 342 val_342 2008-04-08 342 val_342 2008-04-08 342 val_342 2008-04-08 +342 val_342 2008-04-09 +342 val_342 2008-04-09 +342 val_342 2008-04-09 +342 val_342 2008-04-09 344 val_344 2008-04-08 344 val_344 2008-04-08 344 val_344 2008-04-08 @@ -6409,10 +6413,10 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 344 val_344 2008-04-09 344 val_344 2008-04-09 344 val_344 2008-04-09 -345 val_345 2008-04-09 -345 val_345 2008-04-09 345 val_345 2008-04-08 345 val_345 2008-04-08 +345 val_345 2008-04-09 +345 val_345 2008-04-09 348 val_348 2008-04-08 348 val_348 2008-04-08 348 val_348 2008-04-08 @@ -6433,54 +6437,54 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 348 val_348 2008-04-09 348 val_348 2008-04-09 348 val_348 2008-04-09 -35 val_35 2008-04-09 -35 val_35 2008-04-09 -35 val_35 2008-04-09 -35 val_35 2008-04-09 -35 val_35 2008-04-09 -35 val_35 2008-04-09 35 val_35 2008-04-08 35 val_35 2008-04-08 35 val_35 2008-04-08 35 val_35 2008-04-08 35 val_35 2008-04-08 35 val_35 2008-04-08 +35 val_35 2008-04-09 +35 val_35 2008-04-09 +35 val_35 2008-04-09 +35 val_35 2008-04-09 +35 val_35 2008-04-09 +35 val_35 2008-04-09 351 val_351 2008-04-08 351 val_351 2008-04-08 351 val_351 2008-04-09 351 val_351 2008-04-09 -353 val_353 2008-04-09 -353 val_353 2008-04-09 -353 val_353 2008-04-09 -353 val_353 2008-04-09 353 val_353 2008-04-08 353 val_353 2008-04-08 353 val_353 2008-04-08 353 val_353 2008-04-08 +353 val_353 2008-04-09 +353 val_353 2008-04-09 +353 val_353 2008-04-09 +353 val_353 2008-04-09 356 val_356 2008-04-08 356 val_356 2008-04-08 356 val_356 2008-04-09 356 val_356 2008-04-09 -360 val_360 2008-04-09 -360 val_360 2008-04-09 360 val_360 2008-04-08 360 val_360 2008-04-08 +360 val_360 2008-04-09 +360 val_360 2008-04-09 362 val_362 2008-04-08 362 val_362 2008-04-08 362 val_362 2008-04-09 362 val_362 2008-04-09 -364 val_364 2008-04-09 -364 val_364 2008-04-09 364 val_364 2008-04-08 364 val_364 2008-04-08 +364 val_364 2008-04-09 +364 val_364 2008-04-09 365 val_365 2008-04-08 365 val_365 2008-04-08 365 val_365 2008-04-09 365 val_365 2008-04-09 -366 val_366 2008-04-09 -366 val_366 2008-04-09 366 val_366 2008-04-08 366 val_366 2008-04-08 +366 val_366 2008-04-09 +366 val_366 2008-04-09 367 val_367 2008-04-08 367 val_367 2008-04-08 367 val_367 2008-04-08 @@ -6489,10 +6493,10 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 367 val_367 2008-04-09 367 val_367 2008-04-09 367 val_367 2008-04-09 -368 val_368 2008-04-09 -368 val_368 2008-04-09 368 val_368 2008-04-08 368 val_368 2008-04-08 +368 val_368 2008-04-09 +368 val_368 2008-04-09 369 val_369 2008-04-08 369 val_369 2008-04-08 369 val_369 2008-04-08 @@ -6505,38 +6509,38 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 369 val_369 2008-04-09 369 val_369 2008-04-09 369 val_369 2008-04-09 -37 val_37 2008-04-09 -37 val_37 2008-04-09 -37 val_37 2008-04-09 -37 val_37 2008-04-09 37 val_37 2008-04-08 37 val_37 2008-04-08 37 val_37 2008-04-08 37 val_37 2008-04-08 +37 val_37 2008-04-09 +37 val_37 2008-04-09 +37 val_37 2008-04-09 +37 val_37 2008-04-09 373 val_373 2008-04-08 373 val_373 2008-04-08 373 val_373 2008-04-09 373 val_373 2008-04-09 -374 val_374 2008-04-09 -374 val_374 2008-04-09 374 val_374 2008-04-08 374 val_374 2008-04-08 +374 val_374 2008-04-09 +374 val_374 2008-04-09 375 val_375 2008-04-08 375 val_375 2008-04-08 375 val_375 2008-04-09 375 val_375 2008-04-09 -377 val_377 2008-04-09 -377 val_377 2008-04-09 377 val_377 2008-04-08 377 val_377 2008-04-08 +377 val_377 2008-04-09 +377 val_377 2008-04-09 378 val_378 2008-04-08 378 val_378 2008-04-08 378 val_378 2008-04-09 378 val_378 2008-04-09 -379 val_379 2008-04-09 -379 val_379 2008-04-09 379 val_379 2008-04-08 379 val_379 2008-04-08 +379 val_379 2008-04-09 +379 val_379 2008-04-09 382 val_382 2008-04-08 382 val_382 2008-04-08 382 val_382 2008-04-08 @@ -6545,46 +6549,46 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 382 val_382 2008-04-09 382 val_382 2008-04-09 382 val_382 2008-04-09 -384 val_384 2008-04-09 -384 val_384 2008-04-09 -384 val_384 2008-04-09 -384 val_384 2008-04-09 -384 val_384 2008-04-09 -384 val_384 2008-04-09 384 val_384 2008-04-08 384 val_384 2008-04-08 384 val_384 2008-04-08 384 val_384 2008-04-08 384 val_384 2008-04-08 384 val_384 2008-04-08 +384 val_384 2008-04-09 +384 val_384 2008-04-09 +384 val_384 2008-04-09 +384 val_384 2008-04-09 +384 val_384 2008-04-09 +384 val_384 2008-04-09 386 val_386 2008-04-08 386 val_386 2008-04-08 386 val_386 2008-04-09 386 val_386 2008-04-09 -389 val_389 2008-04-09 -389 val_389 2008-04-09 389 val_389 2008-04-08 389 val_389 2008-04-08 +389 val_389 2008-04-09 +389 val_389 2008-04-09 392 val_392 2008-04-08 392 val_392 2008-04-08 392 val_392 2008-04-09 392 val_392 2008-04-09 -393 val_393 2008-04-09 -393 val_393 2008-04-09 393 val_393 2008-04-08 393 val_393 2008-04-08 +393 val_393 2008-04-09 +393 val_393 2008-04-09 394 val_394 2008-04-08 394 val_394 2008-04-08 394 val_394 2008-04-09 394 val_394 2008-04-09 -395 val_395 2008-04-09 -395 val_395 2008-04-09 -395 val_395 2008-04-09 -395 val_395 2008-04-09 395 val_395 2008-04-08 395 val_395 2008-04-08 395 val_395 2008-04-08 395 val_395 2008-04-08 +395 val_395 2008-04-09 +395 val_395 2008-04-09 +395 val_395 2008-04-09 +395 val_395 2008-04-09 396 val_396 2008-04-08 396 val_396 2008-04-08 396 val_396 2008-04-08 @@ -6597,14 +6601,14 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 396 val_396 2008-04-09 396 val_396 2008-04-09 396 val_396 2008-04-09 -397 val_397 2008-04-09 -397 val_397 2008-04-09 -397 val_397 2008-04-09 -397 val_397 2008-04-09 397 val_397 2008-04-08 397 val_397 2008-04-08 397 val_397 2008-04-08 397 val_397 2008-04-08 +397 val_397 2008-04-09 +397 val_397 2008-04-09 +397 val_397 2008-04-09 +397 val_397 2008-04-09 399 val_399 2008-04-08 399 val_399 2008-04-08 399 val_399 2008-04-08 @@ -6613,24 +6617,14 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 399 val_399 2008-04-09 399 val_399 2008-04-09 399 val_399 2008-04-09 -4 val_4 2008-04-09 -4 val_4 2008-04-09 4 val_4 2008-04-08 4 val_4 2008-04-08 +4 val_4 2008-04-09 +4 val_4 2008-04-09 400 val_400 2008-04-08 400 val_400 2008-04-08 400 val_400 2008-04-09 400 val_400 2008-04-09 -401 val_401 2008-04-09 -401 val_401 2008-04-09 -401 val_401 2008-04-09 -401 val_401 2008-04-09 -401 val_401 2008-04-09 -401 val_401 2008-04-09 -401 val_401 2008-04-09 -401 val_401 2008-04-09 -401 val_401 2008-04-09 -401 val_401 2008-04-09 401 val_401 2008-04-08 401 val_401 2008-04-08 401 val_401 2008-04-08 @@ -6641,22 +6635,32 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 401 val_401 2008-04-08 401 val_401 2008-04-08 401 val_401 2008-04-08 +401 val_401 2008-04-09 +401 val_401 2008-04-09 +401 val_401 2008-04-09 +401 val_401 2008-04-09 +401 val_401 2008-04-09 +401 val_401 2008-04-09 +401 val_401 2008-04-09 +401 val_401 2008-04-09 +401 val_401 2008-04-09 +401 val_401 2008-04-09 402 val_402 2008-04-08 402 val_402 2008-04-08 402 val_402 2008-04-09 402 val_402 2008-04-09 -403 val_403 2008-04-09 -403 val_403 2008-04-09 -403 val_403 2008-04-09 -403 val_403 2008-04-09 -403 val_403 2008-04-09 -403 val_403 2008-04-09 403 val_403 2008-04-08 403 val_403 2008-04-08 403 val_403 2008-04-08 403 val_403 2008-04-08 403 val_403 2008-04-08 403 val_403 2008-04-08 +403 val_403 2008-04-09 +403 val_403 2008-04-09 +403 val_403 2008-04-09 +403 val_403 2008-04-09 +403 val_403 2008-04-09 +403 val_403 2008-04-09 404 val_404 2008-04-08 404 val_404 2008-04-08 404 val_404 2008-04-08 @@ -6665,14 +6669,6 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 404 val_404 2008-04-09 404 val_404 2008-04-09 404 val_404 2008-04-09 -406 val_406 2008-04-09 -406 val_406 2008-04-09 -406 val_406 2008-04-09 -406 val_406 2008-04-09 -406 val_406 2008-04-09 -406 val_406 2008-04-09 -406 val_406 2008-04-09 -406 val_406 2008-04-09 406 val_406 2008-04-08 406 val_406 2008-04-08 406 val_406 2008-04-08 @@ -6681,30 +6677,38 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 406 val_406 2008-04-08 406 val_406 2008-04-08 406 val_406 2008-04-08 +406 val_406 2008-04-09 +406 val_406 2008-04-09 +406 val_406 2008-04-09 +406 val_406 2008-04-09 +406 val_406 2008-04-09 +406 val_406 2008-04-09 +406 val_406 2008-04-09 +406 val_406 2008-04-09 407 val_407 2008-04-08 407 val_407 2008-04-08 407 val_407 2008-04-09 407 val_407 2008-04-09 -409 val_409 2008-04-09 -409 val_409 2008-04-09 -409 val_409 2008-04-09 -409 val_409 2008-04-09 -409 val_409 2008-04-09 -409 val_409 2008-04-09 409 val_409 2008-04-08 409 val_409 2008-04-08 409 val_409 2008-04-08 409 val_409 2008-04-08 409 val_409 2008-04-08 409 val_409 2008-04-08 +409 val_409 2008-04-09 +409 val_409 2008-04-09 +409 val_409 2008-04-09 +409 val_409 2008-04-09 +409 val_409 2008-04-09 +409 val_409 2008-04-09 41 val_41 2008-04-08 41 val_41 2008-04-08 41 val_41 2008-04-09 41 val_41 2008-04-09 -411 val_411 2008-04-09 -411 val_411 2008-04-09 411 val_411 2008-04-08 411 val_411 2008-04-08 +411 val_411 2008-04-09 +411 val_411 2008-04-09 413 val_413 2008-04-08 413 val_413 2008-04-08 413 val_413 2008-04-08 @@ -6713,14 +6717,14 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 413 val_413 2008-04-09 413 val_413 2008-04-09 413 val_413 2008-04-09 -414 val_414 2008-04-09 -414 val_414 2008-04-09 -414 val_414 2008-04-09 -414 val_414 2008-04-09 414 val_414 2008-04-08 414 val_414 2008-04-08 414 val_414 2008-04-08 414 val_414 2008-04-08 +414 val_414 2008-04-09 +414 val_414 2008-04-09 +414 val_414 2008-04-09 +414 val_414 2008-04-09 417 val_417 2008-04-08 417 val_417 2008-04-08 417 val_417 2008-04-08 @@ -6733,62 +6737,62 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 417 val_417 2008-04-09 417 val_417 2008-04-09 417 val_417 2008-04-09 -418 val_418 2008-04-09 -418 val_418 2008-04-09 418 val_418 2008-04-08 418 val_418 2008-04-08 +418 val_418 2008-04-09 +418 val_418 2008-04-09 419 val_419 2008-04-08 419 val_419 2008-04-08 419 val_419 2008-04-09 419 val_419 2008-04-09 -42 val_42 2008-04-09 -42 val_42 2008-04-09 -42 val_42 2008-04-09 -42 val_42 2008-04-09 42 val_42 2008-04-08 42 val_42 2008-04-08 42 val_42 2008-04-08 42 val_42 2008-04-08 +42 val_42 2008-04-09 +42 val_42 2008-04-09 +42 val_42 2008-04-09 +42 val_42 2008-04-09 421 val_421 2008-04-08 421 val_421 2008-04-08 421 val_421 2008-04-09 421 val_421 2008-04-09 -424 val_424 2008-04-09 -424 val_424 2008-04-09 -424 val_424 2008-04-09 -424 val_424 2008-04-09 424 val_424 2008-04-08 424 val_424 2008-04-08 424 val_424 2008-04-08 424 val_424 2008-04-08 +424 val_424 2008-04-09 +424 val_424 2008-04-09 +424 val_424 2008-04-09 +424 val_424 2008-04-09 427 val_427 2008-04-08 427 val_427 2008-04-08 427 val_427 2008-04-09 427 val_427 2008-04-09 -429 val_429 2008-04-09 -429 val_429 2008-04-09 -429 val_429 2008-04-09 -429 val_429 2008-04-09 429 val_429 2008-04-08 429 val_429 2008-04-08 429 val_429 2008-04-08 429 val_429 2008-04-08 +429 val_429 2008-04-09 +429 val_429 2008-04-09 +429 val_429 2008-04-09 +429 val_429 2008-04-09 43 val_43 2008-04-08 43 val_43 2008-04-08 43 val_43 2008-04-09 43 val_43 2008-04-09 -430 val_430 2008-04-09 -430 val_430 2008-04-09 -430 val_430 2008-04-09 -430 val_430 2008-04-09 -430 val_430 2008-04-09 -430 val_430 2008-04-09 430 val_430 2008-04-08 430 val_430 2008-04-08 430 val_430 2008-04-08 430 val_430 2008-04-08 430 val_430 2008-04-08 430 val_430 2008-04-08 +430 val_430 2008-04-09 +430 val_430 2008-04-09 +430 val_430 2008-04-09 +430 val_430 2008-04-09 +430 val_430 2008-04-09 +430 val_430 2008-04-09 431 val_431 2008-04-08 431 val_431 2008-04-08 431 val_431 2008-04-08 @@ -6801,34 +6805,34 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 431 val_431 2008-04-09 431 val_431 2008-04-09 431 val_431 2008-04-09 -432 val_432 2008-04-09 -432 val_432 2008-04-09 432 val_432 2008-04-08 432 val_432 2008-04-08 +432 val_432 2008-04-09 +432 val_432 2008-04-09 435 val_435 2008-04-08 435 val_435 2008-04-08 435 val_435 2008-04-09 435 val_435 2008-04-09 -436 val_436 2008-04-09 -436 val_436 2008-04-09 436 val_436 2008-04-08 436 val_436 2008-04-08 +436 val_436 2008-04-09 +436 val_436 2008-04-09 437 val_437 2008-04-08 437 val_437 2008-04-08 437 val_437 2008-04-09 437 val_437 2008-04-09 -438 val_438 2008-04-09 -438 val_438 2008-04-09 -438 val_438 2008-04-09 -438 val_438 2008-04-09 -438 val_438 2008-04-09 -438 val_438 2008-04-09 438 val_438 2008-04-08 438 val_438 2008-04-08 438 val_438 2008-04-08 438 val_438 2008-04-08 438 val_438 2008-04-08 438 val_438 2008-04-08 +438 val_438 2008-04-09 +438 val_438 2008-04-09 +438 val_438 2008-04-09 +438 val_438 2008-04-09 +438 val_438 2008-04-09 +438 val_438 2008-04-09 439 val_439 2008-04-08 439 val_439 2008-04-08 439 val_439 2008-04-08 @@ -6837,58 +6841,58 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 439 val_439 2008-04-09 439 val_439 2008-04-09 439 val_439 2008-04-09 -44 val_44 2008-04-09 -44 val_44 2008-04-09 44 val_44 2008-04-08 44 val_44 2008-04-08 +44 val_44 2008-04-09 +44 val_44 2008-04-09 443 val_443 2008-04-08 443 val_443 2008-04-08 443 val_443 2008-04-09 443 val_443 2008-04-09 -444 val_444 2008-04-09 -444 val_444 2008-04-09 444 val_444 2008-04-08 444 val_444 2008-04-08 +444 val_444 2008-04-09 +444 val_444 2008-04-09 446 val_446 2008-04-08 446 val_446 2008-04-08 446 val_446 2008-04-09 446 val_446 2008-04-09 -448 val_448 2008-04-09 -448 val_448 2008-04-09 448 val_448 2008-04-08 448 val_448 2008-04-08 +448 val_448 2008-04-09 +448 val_448 2008-04-09 449 val_449 2008-04-08 449 val_449 2008-04-08 449 val_449 2008-04-09 449 val_449 2008-04-09 -452 val_452 2008-04-09 -452 val_452 2008-04-09 452 val_452 2008-04-08 452 val_452 2008-04-08 +452 val_452 2008-04-09 +452 val_452 2008-04-09 453 val_453 2008-04-08 453 val_453 2008-04-08 453 val_453 2008-04-09 453 val_453 2008-04-09 -454 val_454 2008-04-09 -454 val_454 2008-04-09 -454 val_454 2008-04-09 -454 val_454 2008-04-09 -454 val_454 2008-04-09 -454 val_454 2008-04-09 454 val_454 2008-04-08 454 val_454 2008-04-08 454 val_454 2008-04-08 454 val_454 2008-04-08 454 val_454 2008-04-08 454 val_454 2008-04-08 +454 val_454 2008-04-09 +454 val_454 2008-04-09 +454 val_454 2008-04-09 +454 val_454 2008-04-09 +454 val_454 2008-04-09 +454 val_454 2008-04-09 455 val_455 2008-04-08 455 val_455 2008-04-08 455 val_455 2008-04-09 455 val_455 2008-04-09 -457 val_457 2008-04-09 -457 val_457 2008-04-09 457 val_457 2008-04-08 457 val_457 2008-04-08 +457 val_457 2008-04-09 +457 val_457 2008-04-09 458 val_458 2008-04-08 458 val_458 2008-04-08 458 val_458 2008-04-08 @@ -6897,26 +6901,26 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 458 val_458 2008-04-09 458 val_458 2008-04-09 458 val_458 2008-04-09 -459 val_459 2008-04-09 -459 val_459 2008-04-09 -459 val_459 2008-04-09 -459 val_459 2008-04-09 459 val_459 2008-04-08 459 val_459 2008-04-08 459 val_459 2008-04-08 459 val_459 2008-04-08 +459 val_459 2008-04-09 +459 val_459 2008-04-09 +459 val_459 2008-04-09 +459 val_459 2008-04-09 460 val_460 2008-04-08 460 val_460 2008-04-08 460 val_460 2008-04-09 460 val_460 2008-04-09 -462 val_462 2008-04-09 -462 val_462 2008-04-09 -462 val_462 2008-04-09 -462 val_462 2008-04-09 462 val_462 2008-04-08 462 val_462 2008-04-08 462 val_462 2008-04-08 462 val_462 2008-04-08 +462 val_462 2008-04-09 +462 val_462 2008-04-09 +462 val_462 2008-04-09 +462 val_462 2008-04-09 463 val_463 2008-04-08 463 val_463 2008-04-08 463 val_463 2008-04-08 @@ -6925,30 +6929,22 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 463 val_463 2008-04-09 463 val_463 2008-04-09 463 val_463 2008-04-09 -466 val_466 2008-04-09 -466 val_466 2008-04-09 -466 val_466 2008-04-09 -466 val_466 2008-04-09 -466 val_466 2008-04-09 -466 val_466 2008-04-09 466 val_466 2008-04-08 466 val_466 2008-04-08 466 val_466 2008-04-08 466 val_466 2008-04-08 466 val_466 2008-04-08 466 val_466 2008-04-08 +466 val_466 2008-04-09 +466 val_466 2008-04-09 +466 val_466 2008-04-09 +466 val_466 2008-04-09 +466 val_466 2008-04-09 +466 val_466 2008-04-09 467 val_467 2008-04-08 467 val_467 2008-04-08 467 val_467 2008-04-09 467 val_467 2008-04-09 -468 val_468 2008-04-09 -468 val_468 2008-04-09 -468 val_468 2008-04-09 -468 val_468 2008-04-09 -468 val_468 2008-04-09 -468 val_468 2008-04-09 -468 val_468 2008-04-09 -468 val_468 2008-04-09 468 val_468 2008-04-08 468 val_468 2008-04-08 468 val_468 2008-04-08 @@ -6957,6 +6953,14 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 468 val_468 2008-04-08 468 val_468 2008-04-08 468 val_468 2008-04-08 +468 val_468 2008-04-09 +468 val_468 2008-04-09 +468 val_468 2008-04-09 +468 val_468 2008-04-09 +468 val_468 2008-04-09 +468 val_468 2008-04-09 +468 val_468 2008-04-09 +468 val_468 2008-04-09 469 val_469 2008-04-08 469 val_469 2008-04-08 469 val_469 2008-04-08 @@ -6977,26 +6981,26 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 469 val_469 2008-04-09 469 val_469 2008-04-09 469 val_469 2008-04-09 -47 val_47 2008-04-09 -47 val_47 2008-04-09 47 val_47 2008-04-08 47 val_47 2008-04-08 +47 val_47 2008-04-09 +47 val_47 2008-04-09 470 val_470 2008-04-08 470 val_470 2008-04-08 470 val_470 2008-04-09 470 val_470 2008-04-09 -472 val_472 2008-04-09 -472 val_472 2008-04-09 472 val_472 2008-04-08 472 val_472 2008-04-08 +472 val_472 2008-04-09 +472 val_472 2008-04-09 475 val_475 2008-04-08 475 val_475 2008-04-08 475 val_475 2008-04-09 475 val_475 2008-04-09 -477 val_477 2008-04-09 -477 val_477 2008-04-09 477 val_477 2008-04-08 477 val_477 2008-04-08 +477 val_477 2008-04-09 +477 val_477 2008-04-09 478 val_478 2008-04-08 478 val_478 2008-04-08 478 val_478 2008-04-08 @@ -7005,10 +7009,10 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 478 val_478 2008-04-09 478 val_478 2008-04-09 478 val_478 2008-04-09 -479 val_479 2008-04-09 -479 val_479 2008-04-09 479 val_479 2008-04-08 479 val_479 2008-04-08 +479 val_479 2008-04-09 +479 val_479 2008-04-09 480 val_480 2008-04-08 480 val_480 2008-04-08 480 val_480 2008-04-08 @@ -7021,38 +7025,30 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 480 val_480 2008-04-09 480 val_480 2008-04-09 480 val_480 2008-04-09 -481 val_481 2008-04-09 -481 val_481 2008-04-09 481 val_481 2008-04-08 481 val_481 2008-04-08 +481 val_481 2008-04-09 +481 val_481 2008-04-09 482 val_482 2008-04-08 482 val_482 2008-04-08 482 val_482 2008-04-09 482 val_482 2008-04-09 -483 val_483 2008-04-09 -483 val_483 2008-04-09 483 val_483 2008-04-08 483 val_483 2008-04-08 +483 val_483 2008-04-09 +483 val_483 2008-04-09 484 val_484 2008-04-08 484 val_484 2008-04-08 484 val_484 2008-04-09 484 val_484 2008-04-09 -485 val_485 2008-04-09 -485 val_485 2008-04-09 485 val_485 2008-04-08 485 val_485 2008-04-08 +485 val_485 2008-04-09 +485 val_485 2008-04-09 487 val_487 2008-04-08 487 val_487 2008-04-08 487 val_487 2008-04-09 487 val_487 2008-04-09 -489 val_489 2008-04-09 -489 val_489 2008-04-09 -489 val_489 2008-04-09 -489 val_489 2008-04-09 -489 val_489 2008-04-09 -489 val_489 2008-04-09 -489 val_489 2008-04-09 -489 val_489 2008-04-09 489 val_489 2008-04-08 489 val_489 2008-04-08 489 val_489 2008-04-08 @@ -7061,14 +7057,22 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 489 val_489 2008-04-08 489 val_489 2008-04-08 489 val_489 2008-04-08 +489 val_489 2008-04-09 +489 val_489 2008-04-09 +489 val_489 2008-04-09 +489 val_489 2008-04-09 +489 val_489 2008-04-09 +489 val_489 2008-04-09 +489 val_489 2008-04-09 +489 val_489 2008-04-09 490 val_490 2008-04-08 490 val_490 2008-04-08 490 val_490 2008-04-09 490 val_490 2008-04-09 -491 val_491 2008-04-09 -491 val_491 2008-04-09 491 val_491 2008-04-08 491 val_491 2008-04-08 +491 val_491 2008-04-09 +491 val_491 2008-04-09 492 val_492 2008-04-08 492 val_492 2008-04-08 492 val_492 2008-04-08 @@ -7077,26 +7081,26 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 492 val_492 2008-04-09 492 val_492 2008-04-09 492 val_492 2008-04-09 -493 val_493 2008-04-09 -493 val_493 2008-04-09 493 val_493 2008-04-08 493 val_493 2008-04-08 +493 val_493 2008-04-09 +493 val_493 2008-04-09 494 val_494 2008-04-08 494 val_494 2008-04-08 494 val_494 2008-04-09 494 val_494 2008-04-09 -495 val_495 2008-04-09 -495 val_495 2008-04-09 495 val_495 2008-04-08 495 val_495 2008-04-08 +495 val_495 2008-04-09 +495 val_495 2008-04-09 496 val_496 2008-04-08 496 val_496 2008-04-08 496 val_496 2008-04-09 496 val_496 2008-04-09 -497 val_497 2008-04-09 -497 val_497 2008-04-09 497 val_497 2008-04-08 497 val_497 2008-04-08 +497 val_497 2008-04-09 +497 val_497 2008-04-09 498 val_498 2008-04-08 498 val_498 2008-04-08 498 val_498 2008-04-08 @@ -7109,18 +7113,18 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 498 val_498 2008-04-09 498 val_498 2008-04-09 498 val_498 2008-04-09 -5 val_5 2008-04-09 -5 val_5 2008-04-09 -5 val_5 2008-04-09 -5 val_5 2008-04-09 -5 val_5 2008-04-09 -5 val_5 2008-04-09 5 val_5 2008-04-08 5 val_5 2008-04-08 5 val_5 2008-04-08 5 val_5 2008-04-08 5 val_5 2008-04-08 5 val_5 2008-04-08 +5 val_5 2008-04-09 +5 val_5 2008-04-09 +5 val_5 2008-04-09 +5 val_5 2008-04-09 +5 val_5 2008-04-09 +5 val_5 2008-04-09 51 val_51 2008-04-08 51 val_51 2008-04-08 51 val_51 2008-04-08 @@ -7129,18 +7133,18 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 51 val_51 2008-04-09 51 val_51 2008-04-09 51 val_51 2008-04-09 -53 val_53 2008-04-09 -53 val_53 2008-04-09 53 val_53 2008-04-08 53 val_53 2008-04-08 +53 val_53 2008-04-09 +53 val_53 2008-04-09 54 val_54 2008-04-08 54 val_54 2008-04-08 54 val_54 2008-04-09 54 val_54 2008-04-09 -57 val_57 2008-04-09 -57 val_57 2008-04-09 57 val_57 2008-04-08 57 val_57 2008-04-08 +57 val_57 2008-04-09 +57 val_57 2008-04-09 58 val_58 2008-04-08 58 val_58 2008-04-08 58 val_58 2008-04-08 @@ -7149,18 +7153,18 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 58 val_58 2008-04-09 58 val_58 2008-04-09 58 val_58 2008-04-09 -64 val_64 2008-04-09 -64 val_64 2008-04-09 64 val_64 2008-04-08 64 val_64 2008-04-08 +64 val_64 2008-04-09 +64 val_64 2008-04-09 65 val_65 2008-04-08 65 val_65 2008-04-08 65 val_65 2008-04-09 65 val_65 2008-04-09 -66 val_66 2008-04-09 -66 val_66 2008-04-09 66 val_66 2008-04-08 66 val_66 2008-04-08 +66 val_66 2008-04-09 +66 val_66 2008-04-09 67 val_67 2008-04-08 67 val_67 2008-04-08 67 val_67 2008-04-08 @@ -7169,10 +7173,10 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 67 val_67 2008-04-09 67 val_67 2008-04-09 67 val_67 2008-04-09 -69 val_69 2008-04-09 -69 val_69 2008-04-09 69 val_69 2008-04-08 69 val_69 2008-04-08 +69 val_69 2008-04-09 +69 val_69 2008-04-09 70 val_70 2008-04-08 70 val_70 2008-04-08 70 val_70 2008-04-08 @@ -7185,54 +7189,54 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 70 val_70 2008-04-09 70 val_70 2008-04-09 70 val_70 2008-04-09 -72 val_72 2008-04-09 -72 val_72 2008-04-09 -72 val_72 2008-04-09 -72 val_72 2008-04-09 72 val_72 2008-04-08 72 val_72 2008-04-08 72 val_72 2008-04-08 72 val_72 2008-04-08 +72 val_72 2008-04-09 +72 val_72 2008-04-09 +72 val_72 2008-04-09 +72 val_72 2008-04-09 74 val_74 2008-04-08 74 val_74 2008-04-08 74 val_74 2008-04-09 74 val_74 2008-04-09 -76 val_76 2008-04-09 -76 val_76 2008-04-09 -76 val_76 2008-04-09 -76 val_76 2008-04-09 76 val_76 2008-04-08 76 val_76 2008-04-08 76 val_76 2008-04-08 76 val_76 2008-04-08 +76 val_76 2008-04-09 +76 val_76 2008-04-09 +76 val_76 2008-04-09 +76 val_76 2008-04-09 77 val_77 2008-04-08 77 val_77 2008-04-08 77 val_77 2008-04-09 77 val_77 2008-04-09 -78 val_78 2008-04-09 -78 val_78 2008-04-09 78 val_78 2008-04-08 78 val_78 2008-04-08 +78 val_78 2008-04-09 +78 val_78 2008-04-09 8 val_8 2008-04-08 8 val_8 2008-04-08 8 val_8 2008-04-09 8 val_8 2008-04-09 -80 val_80 2008-04-09 -80 val_80 2008-04-09 80 val_80 2008-04-08 80 val_80 2008-04-08 +80 val_80 2008-04-09 +80 val_80 2008-04-09 82 val_82 2008-04-08 82 val_82 2008-04-08 82 val_82 2008-04-09 82 val_82 2008-04-09 -83 val_83 2008-04-09 -83 val_83 2008-04-09 -83 val_83 2008-04-09 -83 val_83 2008-04-09 83 val_83 2008-04-08 83 val_83 2008-04-08 83 val_83 2008-04-08 83 val_83 2008-04-08 +83 val_83 2008-04-09 +83 val_83 2008-04-09 +83 val_83 2008-04-09 +83 val_83 2008-04-09 84 val_84 2008-04-08 84 val_84 2008-04-08 84 val_84 2008-04-08 @@ -7241,58 +7245,58 @@ POSTHOOK: Lineage: merge_src_part2 PARTITION(ds=2008-04-09).value SIMPLE [(merge 84 val_84 2008-04-09 84 val_84 2008-04-09 84 val_84 2008-04-09 -85 val_85 2008-04-09 -85 val_85 2008-04-09 85 val_85 2008-04-08 85 val_85 2008-04-08 +85 val_85 2008-04-09 +85 val_85 2008-04-09 86 val_86 2008-04-08 86 val_86 2008-04-08 86 val_86 2008-04-09 86 val_86 2008-04-09 -87 val_87 2008-04-09 -87 val_87 2008-04-09 87 val_87 2008-04-08 87 val_87 2008-04-08 +87 val_87 2008-04-09 +87 val_87 2008-04-09 9 val_9 2008-04-08 9 val_9 2008-04-08 9 val_9 2008-04-09 9 val_9 2008-04-09 -90 val_90 2008-04-09 -90 val_90 2008-04-09 -90 val_90 2008-04-09 -90 val_90 2008-04-09 -90 val_90 2008-04-09 -90 val_90 2008-04-09 90 val_90 2008-04-08 90 val_90 2008-04-08 90 val_90 2008-04-08 90 val_90 2008-04-08 90 val_90 2008-04-08 90 val_90 2008-04-08 +90 val_90 2008-04-09 +90 val_90 2008-04-09 +90 val_90 2008-04-09 +90 val_90 2008-04-09 +90 val_90 2008-04-09 +90 val_90 2008-04-09 92 val_92 2008-04-08 92 val_92 2008-04-08 92 val_92 2008-04-09 92 val_92 2008-04-09 -95 val_95 2008-04-09 -95 val_95 2008-04-09 -95 val_95 2008-04-09 -95 val_95 2008-04-09 95 val_95 2008-04-08 95 val_95 2008-04-08 95 val_95 2008-04-08 95 val_95 2008-04-08 +95 val_95 2008-04-09 +95 val_95 2008-04-09 +95 val_95 2008-04-09 +95 val_95 2008-04-09 96 val_96 2008-04-08 96 val_96 2008-04-08 96 val_96 2008-04-09 96 val_96 2008-04-09 -97 val_97 2008-04-09 -97 val_97 2008-04-09 -97 val_97 2008-04-09 -97 val_97 2008-04-09 97 val_97 2008-04-08 97 val_97 2008-04-08 97 val_97 2008-04-08 97 val_97 2008-04-08 +97 val_97 2008-04-09 +97 val_97 2008-04-09 +97 val_97 2008-04-09 +97 val_97 2008-04-09 98 val_98 2008-04-08 98 val_98 2008-04-08 98 val_98 2008-04-08 diff --git ql/src/test/results/clientpositive/merge_dynamic_partition.q.out ql/src/test/results/clientpositive/merge_dynamic_partition.q.out index 28f6389..8fa6551 100644 --- ql/src/test/results/clientpositive/merge_dynamic_partition.q.out +++ ql/src/test/results/clientpositive/merge_dynamic_partition.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: create table srcpart_merge_dp like srcpart +PREHOOK: query: -- SORT_QUERY_RESULTS + +create table srcpart_merge_dp like srcpart PREHOOK: type: CREATETABLE -POSTHOOK: query: create table srcpart_merge_dp like srcpart +POSTHOOK: query: -- SORT_QUERY_RESULTS + +create table srcpart_merge_dp like srcpart POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@srcpart_merge_dp PREHOOK: query: create table merge_dynamic_part like srcpart @@ -92,12 +96,12 @@ POSTHOOK: Input: default@srcpart_merge_dp@ds=2008-04-08/hr=11 POSTHOOK: Output: default@merge_dynamic_part@ds=2008-04-08/hr=11 POSTHOOK: Lineage: merge_dynamic_part PARTITION(ds=2008-04-08,hr=11).key SIMPLE [(srcpart_merge_dp)srcpart_merge_dp.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: merge_dynamic_part PARTITION(ds=2008-04-08,hr=11).value SIMPLE [(srcpart_merge_dp)srcpart_merge_dp.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from merge_dynamic_part order by key, value +PREHOOK: query: select * from merge_dynamic_part PREHOOK: type: QUERY PREHOOK: Input: default@merge_dynamic_part PREHOOK: Input: default@merge_dynamic_part@ds=2008-04-08/hr=11 #### A masked pattern was here #### -POSTHOOK: query: select * from merge_dynamic_part order by key, value +POSTHOOK: query: select * from merge_dynamic_part POSTHOOK: type: QUERY POSTHOOK: Input: default@merge_dynamic_part POSTHOOK: Input: default@merge_dynamic_part@ds=2008-04-08/hr=11 @@ -730,12 +734,12 @@ POSTHOOK: Lineage: merge_dynamic_part PARTITION(ds=2008-04-08,hr=11).key SIMPLE POSTHOOK: Lineage: merge_dynamic_part PARTITION(ds=2008-04-08,hr=11).value SIMPLE [(srcpart_merge_dp)srcpart_merge_dp.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: merge_dynamic_part PARTITION(ds=2008-04-08,hr=11).key SIMPLE [(srcpart_merge_dp)srcpart_merge_dp.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: merge_dynamic_part PARTITION(ds=2008-04-08,hr=11).value SIMPLE [(srcpart_merge_dp)srcpart_merge_dp.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from merge_dynamic_part order by key, value +PREHOOK: query: select * from merge_dynamic_part PREHOOK: type: QUERY PREHOOK: Input: default@merge_dynamic_part PREHOOK: Input: default@merge_dynamic_part@ds=2008-04-08/hr=11 #### A masked pattern was here #### -POSTHOOK: query: select * from merge_dynamic_part order by key, value +POSTHOOK: query: select * from merge_dynamic_part POSTHOOK: type: QUERY POSTHOOK: Input: default@merge_dynamic_part POSTHOOK: Input: default@merge_dynamic_part@ds=2008-04-08/hr=11 @@ -1376,12 +1380,12 @@ POSTHOOK: Lineage: merge_dynamic_part PARTITION(ds=2008-04-08,hr=11).key SIMPLE POSTHOOK: Lineage: merge_dynamic_part PARTITION(ds=2008-04-08,hr=11).value SIMPLE [(srcpart_merge_dp)srcpart_merge_dp.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: merge_dynamic_part PARTITION(ds=2008-04-08,hr=11).key SIMPLE [(srcpart_merge_dp)srcpart_merge_dp.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: merge_dynamic_part PARTITION(ds=2008-04-08,hr=11).value SIMPLE [(srcpart_merge_dp)srcpart_merge_dp.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from merge_dynamic_part order by key, value +PREHOOK: query: select * from merge_dynamic_part PREHOOK: type: QUERY PREHOOK: Input: default@merge_dynamic_part PREHOOK: Input: default@merge_dynamic_part@ds=2008-04-08/hr=11 #### A masked pattern was here #### -POSTHOOK: query: select * from merge_dynamic_part order by key, value +POSTHOOK: query: select * from merge_dynamic_part POSTHOOK: type: QUERY POSTHOOK: Input: default@merge_dynamic_part POSTHOOK: Input: default@merge_dynamic_part@ds=2008-04-08/hr=11 diff --git ql/src/test/results/clientpositive/merge_dynamic_partition3.q.out ql/src/test/results/clientpositive/merge_dynamic_partition3.q.out index cd44784..aa429fa 100644 --- ql/src/test/results/clientpositive/merge_dynamic_partition3.q.out +++ ql/src/test/results/clientpositive/merge_dynamic_partition3.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: create table srcpart_merge_dp like srcpart +PREHOOK: query: -- SORT_QUERY_RESULTS + +create table srcpart_merge_dp like srcpart PREHOOK: type: CREATETABLE -POSTHOOK: query: create table srcpart_merge_dp like srcpart +POSTHOOK: query: -- SORT_QUERY_RESULTS + +create table srcpart_merge_dp like srcpart POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@srcpart_merge_dp PREHOOK: query: create table merge_dynamic_part like srcpart @@ -210,7 +214,7 @@ POSTHOOK: Lineage: merge_dynamic_part PARTITION(ds=2008-04-09,hr=11).key SIMPLE POSTHOOK: Lineage: merge_dynamic_part PARTITION(ds=2008-04-09,hr=11).value SIMPLE [(srcpart_merge_dp)srcpart_merge_dp.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: merge_dynamic_part PARTITION(ds=2008-04-09,hr=12).key SIMPLE [(srcpart_merge_dp)srcpart_merge_dp.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: merge_dynamic_part PARTITION(ds=2008-04-09,hr=12).value SIMPLE [(srcpart_merge_dp)srcpart_merge_dp.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select ds, hr, count(1) from merge_dynamic_part where ds>='2008-04-08' group by ds, hr order by ds, hr +PREHOOK: query: select ds, hr, count(1) from merge_dynamic_part where ds>='2008-04-08' group by ds, hr PREHOOK: type: QUERY PREHOOK: Input: default@merge_dynamic_part PREHOOK: Input: default@merge_dynamic_part@ds=2008-04-08/hr=11 @@ -218,7 +222,7 @@ PREHOOK: Input: default@merge_dynamic_part@ds=2008-04-08/hr=12 PREHOOK: Input: default@merge_dynamic_part@ds=2008-04-09/hr=11 PREHOOK: Input: default@merge_dynamic_part@ds=2008-04-09/hr=12 #### A masked pattern was here #### -POSTHOOK: query: select ds, hr, count(1) from merge_dynamic_part where ds>='2008-04-08' group by ds, hr order by ds, hr +POSTHOOK: query: select ds, hr, count(1) from merge_dynamic_part where ds>='2008-04-08' group by ds, hr POSTHOOK: type: QUERY POSTHOOK: Input: default@merge_dynamic_part POSTHOOK: Input: default@merge_dynamic_part@ds=2008-04-08/hr=11 diff --git ql/src/test/results/clientpositive/multi_insert.q.out ql/src/test/results/clientpositive/multi_insert.q.out index 4124e45..cbd54da 100644 --- ql/src/test/results/clientpositive/multi_insert.q.out +++ ql/src/test/results/clientpositive/multi_insert.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: create table src_multi1 like src +PREHOOK: query: -- SORT_QUERY_RESULTS + +create table src_multi1 like src PREHOOK: type: CREATETABLE -POSTHOOK: query: create table src_multi1 like src +POSTHOOK: query: -- SORT_QUERY_RESULTS + +create table src_multi1 like src POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@src_multi1 PREHOOK: query: create table src_multi2 like src @@ -107,11 +111,11 @@ POSTHOOK: Lineage: src_multi1.key SIMPLE [(src)src.FieldSchema(name:key, type:st POSTHOOK: Lineage: src_multi1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from src_multi1 order by key, value +PREHOOK: query: select * from src_multi1 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi1 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi1 order by key, value +POSTHOOK: query: select * from src_multi1 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi1 #### A masked pattern was here #### @@ -129,11 +133,11 @@ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, typ 5 val_5 8 val_8 9 val_9 -PREHOOK: query: select * from src_multi2 order by key, value +PREHOOK: query: select * from src_multi2 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi2 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi2 order by key, value +POSTHOOK: query: select * from src_multi2 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi2 #### A masked pattern was here #### @@ -345,11 +349,11 @@ POSTHOOK: Lineage: src_multi2.key SIMPLE [(src)src.FieldSchema(name:key, type:st POSTHOOK: Lineage: src_multi2.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from src_multi1 order by key, value +PREHOOK: query: select * from src_multi1 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi1 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi1 order by key, value +POSTHOOK: query: select * from src_multi1 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi1 #### A masked pattern was here #### @@ -371,11 +375,11 @@ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, typ 5 val_5 8 val_8 9 val_9 -PREHOOK: query: select * from src_multi2 order by key, value +PREHOOK: query: select * from src_multi2 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi2 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi2 order by key, value +POSTHOOK: query: select * from src_multi2 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi2 #### A masked pattern was here #### @@ -511,11 +515,11 @@ POSTHOOK: Lineage: src_multi2.key SIMPLE [(src)src.FieldSchema(name:key, type:st POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from src_multi1 order by key, value +PREHOOK: query: select * from src_multi1 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi1 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi1 order by key, value +POSTHOOK: query: select * from src_multi1 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi1 #### A masked pattern was here #### @@ -541,11 +545,11 @@ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, typ 5 val_5 8 val_8 9 val_9 -PREHOOK: query: select * from src_multi2 order by key, value +PREHOOK: query: select * from src_multi2 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi2 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi2 order by key, value +POSTHOOK: query: select * from src_multi2 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi2 #### A masked pattern was here #### @@ -781,11 +785,11 @@ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, typ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from src_multi1 order by key, value +PREHOOK: query: select * from src_multi1 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi1 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi1 order by key, value +POSTHOOK: query: select * from src_multi1 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi1 #### A masked pattern was here #### @@ -815,11 +819,11 @@ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, typ 5 val_5 8 val_8 9 val_9 -PREHOOK: query: select * from src_multi2 order by key, value +PREHOOK: query: select * from src_multi2 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi2 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi2 order by key, value +POSTHOOK: query: select * from src_multi2 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi2 #### A masked pattern was here #### @@ -1000,11 +1004,11 @@ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, typ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from src_multi1 order by key, value +PREHOOK: query: select * from src_multi1 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi1 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi1 order by key, value +POSTHOOK: query: select * from src_multi1 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi1 #### A masked pattern was here #### @@ -1030,11 +1034,11 @@ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, typ 5 val_5 8 val_8 9 val_9 -PREHOOK: query: select * from src_multi2 order by key, value +PREHOOK: query: select * from src_multi2 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi2 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi2 order by key, value +POSTHOOK: query: select * from src_multi2 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi2 #### A masked pattern was here #### @@ -1300,11 +1304,11 @@ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, typ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from src_multi1 order by key, value +PREHOOK: query: select * from src_multi1 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi1 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi1 order by key, value +POSTHOOK: query: select * from src_multi1 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi1 #### A masked pattern was here #### @@ -1330,11 +1334,11 @@ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, typ 5 val_5 8 val_8 9 val_9 -PREHOOK: query: select * from src_multi2 order by key, value +PREHOOK: query: select * from src_multi2 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi2 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi2 order by key, value +POSTHOOK: query: select * from src_multi2 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi2 #### A masked pattern was here #### @@ -1512,11 +1516,11 @@ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, typ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from src_multi1 order by key, value +PREHOOK: query: select * from src_multi1 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi1 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi1 order by key, value +POSTHOOK: query: select * from src_multi1 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi1 #### A masked pattern was here #### @@ -1542,11 +1546,11 @@ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, typ 5 val_5 8 val_8 9 val_9 -PREHOOK: query: select * from src_multi2 order by key, value +PREHOOK: query: select * from src_multi2 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi2 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi2 order by key, value +POSTHOOK: query: select * from src_multi2 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi2 #### A masked pattern was here #### @@ -1812,11 +1816,11 @@ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, typ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from src_multi1 order by key, value +PREHOOK: query: select * from src_multi1 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi1 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi1 order by key, value +POSTHOOK: query: select * from src_multi1 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi1 #### A masked pattern was here #### @@ -1842,11 +1846,11 @@ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, typ 5 val_5 8 val_8 9 val_9 -PREHOOK: query: select * from src_multi2 order by key, value +PREHOOK: query: select * from src_multi2 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi2 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi2 order by key, value +POSTHOOK: query: select * from src_multi2 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi2 #### A masked pattern was here #### @@ -2048,11 +2052,11 @@ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, typ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), (src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from src_multi1 order by key, value +PREHOOK: query: select * from src_multi1 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi1 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi1 order by key, value +POSTHOOK: query: select * from src_multi1 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi1 #### A masked pattern was here #### @@ -2096,11 +2100,11 @@ POSTHOOK: Lineage: src_multi2.value EXPRESSION [(src)src.FieldSchema(name:value, 8 val_8 9 val_9 9 val_9 -PREHOOK: query: select * from src_multi2 order by key, value +PREHOOK: query: select * from src_multi2 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi2 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi2 order by key, value +POSTHOOK: query: select * from src_multi2 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi2 #### A masked pattern was here #### @@ -2414,11 +2418,11 @@ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, typ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), (src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), (src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from src_multi1 order by key, value +PREHOOK: query: select * from src_multi1 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi1 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi1 order by key, value +POSTHOOK: query: select * from src_multi1 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi1 #### A masked pattern was here #### @@ -2466,11 +2470,11 @@ POSTHOOK: Lineage: src_multi2.value EXPRESSION [(src)src.FieldSchema(name:value, 8 val_8 9 val_9 9 val_9 -PREHOOK: query: select * from src_multi2 order by key, value +PREHOOK: query: select * from src_multi2 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi2 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi2 order by key, value +POSTHOOK: query: select * from src_multi2 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi2 #### A masked pattern was here #### @@ -2708,11 +2712,11 @@ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, typ POSTHOOK: Lineage: src_multi2.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), (src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), (src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), (src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from src_multi1 order by key, value +PREHOOK: query: select * from src_multi1 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi1 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi1 order by key, value +POSTHOOK: query: select * from src_multi1 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi1 #### A masked pattern was here #### @@ -2764,11 +2768,11 @@ POSTHOOK: Lineage: src_multi2.value EXPRESSION [(src)src.FieldSchema(name:value, 8 val_8 9 val_9 9 val_9 -PREHOOK: query: select * from src_multi2 order by key, value +PREHOOK: query: select * from src_multi2 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi2 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi2 order by key, value +POSTHOOK: query: select * from src_multi2 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi2 #### A masked pattern was here #### @@ -3106,11 +3110,11 @@ POSTHOOK: Lineage: src_multi2.value EXPRESSION [(src)src.FieldSchema(name:value, POSTHOOK: Lineage: src_multi2.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), (src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), (src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), (src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from src_multi1 order by key, value +PREHOOK: query: select * from src_multi1 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi1 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi1 order by key, value +POSTHOOK: query: select * from src_multi1 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi1 #### A masked pattern was here #### @@ -3166,11 +3170,11 @@ POSTHOOK: Lineage: src_multi2.value EXPRESSION [(src)src.FieldSchema(name:value, 8 val_8 9 val_9 9 val_9 -PREHOOK: query: select * from src_multi2 order by key, value +PREHOOK: query: select * from src_multi2 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi2 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi2 order by key, value +POSTHOOK: query: select * from src_multi2 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi2 #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/multi_insert_gby.q.out ql/src/test/results/clientpositive/multi_insert_gby.q.out index 28ab667..dbb9616 100644 --- ql/src/test/results/clientpositive/multi_insert_gby.q.out +++ ql/src/test/results/clientpositive/multi_insert_gby.q.out @@ -1,7 +1,11 @@ -PREHOOK: query: --HIVE-3699 Multiple insert overwrite into multiple tables query stores same results in all tables +PREHOOK: query: -- SORT_QUERY_RESULTS + +--HIVE-3699 Multiple insert overwrite into multiple tables query stores same results in all tables create table e1 (key string, count int) PREHOOK: type: CREATETABLE -POSTHOOK: query: --HIVE-3699 Multiple insert overwrite into multiple tables query stores same results in all tables +POSTHOOK: query: -- SORT_QUERY_RESULTS + +--HIVE-3699 Multiple insert overwrite into multiple tables query stores same results in all tables create table e1 (key string, count int) POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@e1 @@ -12,24 +16,22 @@ POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@e2 PREHOOK: query: explain FROM src INSERT OVERWRITE TABLE e1 - SELECT key, COUNT(*) WHERE key>450 GROUP BY key ORDER BY key + SELECT key, COUNT(*) WHERE key>450 GROUP BY key INSERT OVERWRITE TABLE e2 - SELECT key, COUNT(*) WHERE key>500 GROUP BY key ORDER BY key + SELECT key, COUNT(*) WHERE key>500 GROUP BY key PREHOOK: type: QUERY POSTHOOK: query: explain FROM src INSERT OVERWRITE TABLE e1 - SELECT key, COUNT(*) WHERE key>450 GROUP BY key ORDER BY key + SELECT key, COUNT(*) WHERE key>450 GROUP BY key INSERT OVERWRITE TABLE e2 - SELECT key, COUNT(*) WHERE key>500 GROUP BY key ORDER BY key + SELECT key, COUNT(*) WHERE key>500 GROUP BY key POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-2 is a root stage - Stage-3 depends on stages: Stage-2 - Stage-0 depends on stages: Stage-3 - Stage-4 depends on stages: Stage-0 - Stage-5 depends on stages: Stage-2 - Stage-1 depends on stages: Stage-5 - Stage-6 depends on stages: Stage-1 + Stage-0 depends on stages: Stage-2 + Stage-3 depends on stages: Stage-0 + Stage-1 depends on stages: Stage-2 + Stage-4 depends on stages: Stage-1 STAGE PLANS: Stage: Stage-2 @@ -63,15 +65,17 @@ STAGE PLANS: outputColumnNames: _col0, _col1 Statistics: Num rows: 6 Data size: 601 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col0 (type: string), _col1 (type: bigint) + expressions: _col0 (type: string), UDFToInteger(_col1) (type: int) outputColumnNames: _col0, _col1 Statistics: Num rows: 6 Data size: 601 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 6 Data size: 601 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.lazybinary.LazyBinarySerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + name: default.e1 Filter Operator predicate: (KEY._col0 > 500) (type: boolean) Statistics: Num rows: 12 Data size: 1202 Basic stats: COMPLETE Column stats: NONE @@ -82,40 +86,17 @@ STAGE PLANS: outputColumnNames: _col0, _col1 Statistics: Num rows: 6 Data size: 601 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col0 (type: string), _col1 (type: bigint) + expressions: _col0 (type: string), UDFToInteger(_col1) (type: int) outputColumnNames: _col0, _col1 Statistics: Num rows: 6 Data size: 601 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 6 Data size: 601 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.lazybinary.LazyBinarySerDe - - Stage: Stage-3 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + - Statistics: Num rows: 6 Data size: 601 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: bigint) - Reduce Operator Tree: - Extract - Statistics: Num rows: 6 Data size: 601 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col0 (type: string), UDFToInteger(_col1) (type: int) - outputColumnNames: _col0, _col1 - Statistics: Num rows: 6 Data size: 601 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 6 Data size: 601 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - name: default.e1 + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + name: default.e2 Stage: Stage-0 Move Operator @@ -127,34 +108,9 @@ STAGE PLANS: serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe name: default.e1 - Stage: Stage-4 + Stage: Stage-3 Stats-Aggr Operator - Stage: Stage-5 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + - Statistics: Num rows: 6 Data size: 601 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: bigint) - Reduce Operator Tree: - Extract - Statistics: Num rows: 6 Data size: 601 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col0 (type: string), UDFToInteger(_col1) (type: int) - outputColumnNames: _col0, _col1 - Statistics: Num rows: 6 Data size: 601 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 6 Data size: 601 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - name: default.e2 - Stage: Stage-1 Move Operator tables: @@ -165,23 +121,23 @@ STAGE PLANS: serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe name: default.e2 - Stage: Stage-6 + Stage: Stage-4 Stats-Aggr Operator PREHOOK: query: FROM src INSERT OVERWRITE TABLE e1 - SELECT key, COUNT(*) WHERE key>450 GROUP BY key ORDER BY key + SELECT key, COUNT(*) WHERE key>450 GROUP BY key INSERT OVERWRITE TABLE e2 - SELECT key, COUNT(*) WHERE key>500 GROUP BY key ORDER BY key + SELECT key, COUNT(*) WHERE key>500 GROUP BY key PREHOOK: type: QUERY PREHOOK: Input: default@src PREHOOK: Output: default@e1 PREHOOK: Output: default@e2 POSTHOOK: query: FROM src INSERT OVERWRITE TABLE e1 - SELECT key, COUNT(*) WHERE key>450 GROUP BY key ORDER BY key + SELECT key, COUNT(*) WHERE key>450 GROUP BY key INSERT OVERWRITE TABLE e2 - SELECT key, COUNT(*) WHERE key>500 GROUP BY key ORDER BY key + SELECT key, COUNT(*) WHERE key>500 GROUP BY key POSTHOOK: type: QUERY POSTHOOK: Input: default@src POSTHOOK: Output: default@e1 @@ -247,26 +203,24 @@ POSTHOOK: Lineage: e1.count EXPRESSION [] POSTHOOK: Lineage: e2.count EXPRESSION [] PREHOOK: query: explain FROM src INSERT OVERWRITE TABLE e1 - SELECT key, COUNT(*) WHERE key>450 GROUP BY key ORDER BY key + SELECT key, COUNT(*) WHERE key>450 GROUP BY key INSERT OVERWRITE TABLE e2 - SELECT key, COUNT(*) GROUP BY key ORDER BY key + SELECT key, COUNT(*) GROUP BY key PREHOOK: type: QUERY POSTHOOK: query: explain FROM src INSERT OVERWRITE TABLE e1 - SELECT key, COUNT(*) WHERE key>450 GROUP BY key ORDER BY key + SELECT key, COUNT(*) WHERE key>450 GROUP BY key INSERT OVERWRITE TABLE e2 - SELECT key, COUNT(*) GROUP BY key ORDER BY key + SELECT key, COUNT(*) GROUP BY key POSTHOOK: type: QUERY POSTHOOK: Lineage: e1.count EXPRESSION [] POSTHOOK: Lineage: e2.count EXPRESSION [] STAGE DEPENDENCIES: Stage-2 is a root stage - Stage-3 depends on stages: Stage-2 - Stage-0 depends on stages: Stage-3 - Stage-4 depends on stages: Stage-0 - Stage-5 depends on stages: Stage-2 - Stage-1 depends on stages: Stage-5 - Stage-6 depends on stages: Stage-1 + Stage-0 depends on stages: Stage-2 + Stage-3 depends on stages: Stage-0 + Stage-1 depends on stages: Stage-2 + Stage-4 depends on stages: Stage-1 STAGE PLANS: Stage: Stage-2 @@ -297,15 +251,17 @@ STAGE PLANS: outputColumnNames: _col0, _col1 Statistics: Num rows: 9 Data size: 901 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col0 (type: string), _col1 (type: bigint) + expressions: _col0 (type: string), UDFToInteger(_col1) (type: int) outputColumnNames: _col0, _col1 Statistics: Num rows: 9 Data size: 901 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 9 Data size: 901 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.lazybinary.LazyBinarySerDe + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + name: default.e1 Group By Operator aggregations: count() keys: KEY._col0 (type: string) @@ -313,40 +269,17 @@ STAGE PLANS: outputColumnNames: _col0, _col1 Statistics: Num rows: 29 Data size: 2906 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col0 (type: string), _col1 (type: bigint) + expressions: _col0 (type: string), UDFToInteger(_col1) (type: int) outputColumnNames: _col0, _col1 Statistics: Num rows: 29 Data size: 2906 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false + Statistics: Num rows: 29 Data size: 2906 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.lazybinary.LazyBinarySerDe - - Stage: Stage-3 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + - Statistics: Num rows: 9 Data size: 901 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: bigint) - Reduce Operator Tree: - Extract - Statistics: Num rows: 9 Data size: 901 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col0 (type: string), UDFToInteger(_col1) (type: int) - outputColumnNames: _col0, _col1 - Statistics: Num rows: 9 Data size: 901 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 9 Data size: 901 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - name: default.e1 + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + name: default.e2 Stage: Stage-0 Move Operator @@ -358,34 +291,9 @@ STAGE PLANS: serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe name: default.e1 - Stage: Stage-4 + Stage: Stage-3 Stats-Aggr Operator - Stage: Stage-5 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + - Statistics: Num rows: 29 Data size: 2906 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: bigint) - Reduce Operator Tree: - Extract - Statistics: Num rows: 29 Data size: 2906 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col0 (type: string), UDFToInteger(_col1) (type: int) - outputColumnNames: _col0, _col1 - Statistics: Num rows: 29 Data size: 2906 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 29 Data size: 2906 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - name: default.e2 - Stage: Stage-1 Move Operator tables: @@ -396,23 +304,23 @@ STAGE PLANS: serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe name: default.e2 - Stage: Stage-6 + Stage: Stage-4 Stats-Aggr Operator PREHOOK: query: FROM src INSERT OVERWRITE TABLE e1 - SELECT key, COUNT(*) WHERE key>450 GROUP BY key ORDER BY key + SELECT key, COUNT(*) WHERE key>450 GROUP BY key INSERT OVERWRITE TABLE e2 - SELECT key, COUNT(*) GROUP BY key ORDER BY key + SELECT key, COUNT(*) GROUP BY key PREHOOK: type: QUERY PREHOOK: Input: default@src PREHOOK: Output: default@e1 PREHOOK: Output: default@e2 POSTHOOK: query: FROM src INSERT OVERWRITE TABLE e1 - SELECT key, COUNT(*) WHERE key>450 GROUP BY key ORDER BY key + SELECT key, COUNT(*) WHERE key>450 GROUP BY key INSERT OVERWRITE TABLE e2 - SELECT key, COUNT(*) GROUP BY key ORDER BY key + SELECT key, COUNT(*) GROUP BY key POSTHOOK: type: QUERY POSTHOOK: Input: default@src POSTHOOK: Output: default@e1 diff --git ql/src/test/results/clientpositive/multi_insert_lateral_view.q.out ql/src/test/results/clientpositive/multi_insert_lateral_view.q.out index 05cb37c..133fe9b 100644 --- ql/src/test/results/clientpositive/multi_insert_lateral_view.q.out +++ ql/src/test/results/clientpositive/multi_insert_lateral_view.q.out @@ -1,7 +1,11 @@ -PREHOOK: query: create table src_10 as select * from src limit 10 +PREHOOK: query: -- SORT_QUERY_RESULTS + +create table src_10 as select * from src limit 10 PREHOOK: type: CREATETABLE_AS_SELECT PREHOOK: Input: default@src -POSTHOOK: query: create table src_10 as select * from src limit 10 +POSTHOOK: query: -- SORT_QUERY_RESULTS + +create table src_10 as select * from src limit 10 POSTHOOK: type: CREATETABLE_AS_SELECT POSTHOOK: Input: default@src POSTHOOK: Output: default@src_10 @@ -273,11 +277,11 @@ POSTHOOK: Lineage: src_lv1.key SCRIPT [(src_10)src_10.FieldSchema(name:key, type POSTHOOK: Lineage: src_lv1.value SIMPLE [(src_10)src_10.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] POSTHOOK: Lineage: src_lv2.key SCRIPT [(src_10)src_10.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: src_lv2.value SIMPLE [(src_10)src_10.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] -PREHOOK: query: select * from src_lv1 order by key, value +PREHOOK: query: select * from src_lv1 PREHOOK: type: QUERY PREHOOK: Input: default@src_lv1 #### A masked pattern was here #### -POSTHOOK: query: select * from src_lv1 order by key, value +POSTHOOK: query: select * from src_lv1 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_lv1 #### A masked pattern was here #### @@ -305,11 +309,11 @@ POSTHOOK: Lineage: src_lv2.value SIMPLE [(src_10)src_10.FieldSchema(name:INPUT__ 86 88.0 98 100.0 98 99.0 -PREHOOK: query: select * from src_lv2 order by key, value +PREHOOK: query: select * from src_lv2 PREHOOK: type: QUERY PREHOOK: Input: default@src_lv2 #### A masked pattern was here #### -POSTHOOK: query: select * from src_lv2 order by key, value +POSTHOOK: query: select * from src_lv2 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_lv2 #### A masked pattern was here #### @@ -576,11 +580,11 @@ POSTHOOK: Lineage: src_lv2.key SCRIPT [(src_10)src_10.FieldSchema(name:key, type POSTHOOK: Lineage: src_lv2.key SCRIPT [(src_10)src_10.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: src_lv2.value SIMPLE [(src_10)src_10.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] POSTHOOK: Lineage: src_lv2.value EXPRESSION [(src_10)src_10.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ] -PREHOOK: query: select * from src_lv1 order by key, value +PREHOOK: query: select * from src_lv1 PREHOOK: type: QUERY PREHOOK: Input: default@src_lv1 #### A masked pattern was here #### -POSTHOOK: query: select * from src_lv1 order by key, value +POSTHOOK: query: select * from src_lv1 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_lv1 #### A masked pattern was here #### @@ -602,11 +606,11 @@ POSTHOOK: Lineage: src_lv2.value EXPRESSION [(src_10)src_10.FieldSchema(name:INP 484 971.0 86 175.0 98 199.0 -PREHOOK: query: select * from src_lv2 order by key, value +PREHOOK: query: select * from src_lv2 PREHOOK: type: QUERY PREHOOK: Input: default@src_lv2 #### A masked pattern was here #### -POSTHOOK: query: select * from src_lv2 order by key, value +POSTHOOK: query: select * from src_lv2 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_lv2 #### A masked pattern was here #### @@ -886,11 +890,11 @@ POSTHOOK: Lineage: src_lv2.value EXPRESSION [(src_10)src_10.FieldSchema(name:INP POSTHOOK: Lineage: src_lv2.value EXPRESSION [(src_10)src_10.null, ] POSTHOOK: Lineage: src_lv3.key SIMPLE [(src_10)src_10.FieldSchema(name:value, type:string, comment:null), ] POSTHOOK: Lineage: src_lv3.value EXPRESSION [(src_10)src_10.null, ] -PREHOOK: query: select * from src_lv1 order by key, value +PREHOOK: query: select * from src_lv1 PREHOOK: type: QUERY PREHOOK: Input: default@src_lv1 #### A masked pattern was here #### -POSTHOOK: query: select * from src_lv1 order by key, value +POSTHOOK: query: select * from src_lv1 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_lv1 #### A masked pattern was here #### @@ -918,11 +922,11 @@ POSTHOOK: Lineage: src_lv3.value EXPRESSION [(src_10)src_10.null, ] 484 971.0 86 175.0 98 199.0 -PREHOOK: query: select * from src_lv2 order by key, value +PREHOOK: query: select * from src_lv2 PREHOOK: type: QUERY PREHOOK: Input: default@src_lv2 #### A masked pattern was here #### -POSTHOOK: query: select * from src_lv2 order by key, value +POSTHOOK: query: select * from src_lv2 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_lv2 #### A masked pattern was here #### @@ -946,11 +950,11 @@ POSTHOOK: Lineage: src_lv3.value EXPRESSION [(src_10)src_10.null, ] 311 1 409 1 484 1 -PREHOOK: query: select * from src_lv3 order by key, value +PREHOOK: query: select * from src_lv3 PREHOOK: type: QUERY PREHOOK: Input: default@src_lv3 #### A masked pattern was here #### -POSTHOOK: query: select * from src_lv3 order by key, value +POSTHOOK: query: select * from src_lv3 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_lv3 #### A masked pattern was here #### @@ -1305,11 +1309,11 @@ POSTHOOK: Lineage: src_lv3.key SIMPLE [(src_10)src_10.FieldSchema(name:value, ty POSTHOOK: Lineage: src_lv3.key SIMPLE [(src_10)src_10.FieldSchema(name:value, type:string, comment:null), ] POSTHOOK: Lineage: src_lv3.value EXPRESSION [(src_10)src_10.null, ] POSTHOOK: Lineage: src_lv3.value EXPRESSION [(src_10)src_10.FieldSchema(name:key, type:string, comment:null), ] -PREHOOK: query: select * from src_lv1 order by key, value +PREHOOK: query: select * from src_lv1 PREHOOK: type: QUERY PREHOOK: Input: default@src_lv1 #### A masked pattern was here #### -POSTHOOK: query: select * from src_lv1 order by key, value +POSTHOOK: query: select * from src_lv1 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_lv1 #### A masked pattern was here #### @@ -1353,11 +1357,11 @@ POSTHOOK: Lineage: src_lv3.value EXPRESSION [(src_10)src_10.FieldSchema(name:key 87.0 86.0 88.0 86.0 99.0 98.0 -PREHOOK: query: select * from src_lv2 order by key, value +PREHOOK: query: select * from src_lv2 PREHOOK: type: QUERY PREHOOK: Input: default@src_lv2 #### A masked pattern was here #### -POSTHOOK: query: select * from src_lv2 order by key, value +POSTHOOK: query: select * from src_lv2 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_lv2 #### A masked pattern was here #### @@ -1401,11 +1405,11 @@ POSTHOOK: Lineage: src_lv3.value EXPRESSION [(src_10)src_10.FieldSchema(name:key 488.0 484.0 89.0 86.0 90.0 86.0 -PREHOOK: query: select * from src_lv3 order by key, value +PREHOOK: query: select * from src_lv3 PREHOOK: type: QUERY PREHOOK: Input: default@src_lv3 #### A masked pattern was here #### -POSTHOOK: query: select * from src_lv3 order by key, value +POSTHOOK: query: select * from src_lv3 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_lv3 #### A masked pattern was here #### @@ -1840,11 +1844,11 @@ POSTHOOK: Lineage: src_lv3.value EXPRESSION [(src_10)src_10.null, ] POSTHOOK: Lineage: src_lv3.value EXPRESSION [(src_10)src_10.FieldSchema(name:key, type:string, comment:null), ] POSTHOOK: Lineage: src_lv3.value EXPRESSION [] POSTHOOK: Lineage: src_lv4.value EXPRESSION [] -PREHOOK: query: select * from src_lv1 order by key, value +PREHOOK: query: select * from src_lv1 PREHOOK: type: QUERY PREHOOK: Input: default@src_lv1 #### A masked pattern was here #### -POSTHOOK: query: select * from src_lv1 order by key, value +POSTHOOK: query: select * from src_lv1 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_lv1 #### A masked pattern was here #### @@ -1884,11 +1888,11 @@ POSTHOOK: Lineage: src_lv4.value EXPRESSION [] 484 971.0 86 175.0 98 199.0 -PREHOOK: query: select * from src_lv2 order by key, value +PREHOOK: query: select * from src_lv2 PREHOOK: type: QUERY PREHOOK: Input: default@src_lv2 #### A masked pattern was here #### -POSTHOOK: query: select * from src_lv2 order by key, value +POSTHOOK: query: select * from src_lv2 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_lv2 #### A masked pattern was here #### @@ -1928,11 +1932,11 @@ POSTHOOK: Lineage: src_lv4.value EXPRESSION [] 484 975.0 86 179.0 98 203.0 -PREHOOK: query: select * from src_lv3 order by key, value +PREHOOK: query: select * from src_lv3 PREHOOK: type: QUERY PREHOOK: Input: default@src_lv3 #### A masked pattern was here #### -POSTHOOK: query: select * from src_lv3 order by key, value +POSTHOOK: query: select * from src_lv3 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_lv3 #### A masked pattern was here #### @@ -1968,11 +1972,11 @@ val_278 278.0 val_311 311.0 val_409 409.0 val_484 484.0 -PREHOOK: query: select * from src_lv4 order by key, value +PREHOOK: query: select * from src_lv4 PREHOOK: type: QUERY PREHOOK: Input: default@src_lv4 #### A masked pattern was here #### -POSTHOOK: query: select * from src_lv4 order by key, value +POSTHOOK: query: select * from src_lv4 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_lv4 #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/multi_insert_move_tasks_share_dependencies.q.out ql/src/test/results/clientpositive/multi_insert_move_tasks_share_dependencies.q.out index 987ae94..92e2951 100644 --- ql/src/test/results/clientpositive/multi_insert_move_tasks_share_dependencies.q.out +++ ql/src/test/results/clientpositive/multi_insert_move_tasks_share_dependencies.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: create table src_multi1 like src +PREHOOK: query: -- SORT_QUERY_RESULTS + +create table src_multi1 like src PREHOOK: type: CREATETABLE -POSTHOOK: query: create table src_multi1 like src +POSTHOOK: query: -- SORT_QUERY_RESULTS + +create table src_multi1 like src POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@src_multi1 PREHOOK: query: create table src_multi2 like src @@ -111,11 +115,11 @@ POSTHOOK: Lineage: src_multi1.key SIMPLE [(src)src.FieldSchema(name:key, type:st POSTHOOK: Lineage: src_multi1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from src_multi1 order by key, value +PREHOOK: query: select * from src_multi1 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi1 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi1 order by key, value +POSTHOOK: query: select * from src_multi1 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi1 #### A masked pattern was here #### @@ -133,11 +137,11 @@ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, typ 5 val_5 8 val_8 9 val_9 -PREHOOK: query: select * from src_multi2 order by key, value +PREHOOK: query: select * from src_multi2 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi2 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi2 order by key, value +POSTHOOK: query: select * from src_multi2 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi2 #### A masked pattern was here #### @@ -353,11 +357,11 @@ POSTHOOK: Lineage: src_multi2.key SIMPLE [(src)src.FieldSchema(name:key, type:st POSTHOOK: Lineage: src_multi2.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from src_multi1 order by key, value +PREHOOK: query: select * from src_multi1 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi1 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi1 order by key, value +POSTHOOK: query: select * from src_multi1 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi1 #### A masked pattern was here #### @@ -379,11 +383,11 @@ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, typ 5 val_5 8 val_8 9 val_9 -PREHOOK: query: select * from src_multi2 order by key, value +PREHOOK: query: select * from src_multi2 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi2 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi2 order by key, value +POSTHOOK: query: select * from src_multi2 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi2 #### A masked pattern was here #### @@ -523,11 +527,11 @@ POSTHOOK: Lineage: src_multi2.key SIMPLE [(src)src.FieldSchema(name:key, type:st POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from src_multi1 order by key, value +PREHOOK: query: select * from src_multi1 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi1 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi1 order by key, value +POSTHOOK: query: select * from src_multi1 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi1 #### A masked pattern was here #### @@ -553,11 +557,11 @@ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, typ 5 val_5 8 val_8 9 val_9 -PREHOOK: query: select * from src_multi2 order by key, value +PREHOOK: query: select * from src_multi2 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi2 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi2 order by key, value +POSTHOOK: query: select * from src_multi2 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi2 #### A masked pattern was here #### @@ -797,11 +801,11 @@ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, typ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from src_multi1 order by key, value +PREHOOK: query: select * from src_multi1 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi1 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi1 order by key, value +POSTHOOK: query: select * from src_multi1 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi1 #### A masked pattern was here #### @@ -831,11 +835,11 @@ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, typ 5 val_5 8 val_8 9 val_9 -PREHOOK: query: select * from src_multi2 order by key, value +PREHOOK: query: select * from src_multi2 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi2 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi2 order by key, value +POSTHOOK: query: select * from src_multi2 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi2 #### A masked pattern was here #### @@ -1020,11 +1024,11 @@ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, typ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from src_multi1 order by key, value +PREHOOK: query: select * from src_multi1 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi1 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi1 order by key, value +POSTHOOK: query: select * from src_multi1 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi1 #### A masked pattern was here #### @@ -1050,11 +1054,11 @@ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, typ 5 val_5 8 val_8 9 val_9 -PREHOOK: query: select * from src_multi2 order by key, value +PREHOOK: query: select * from src_multi2 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi2 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi2 order by key, value +POSTHOOK: query: select * from src_multi2 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi2 #### A masked pattern was here #### @@ -1324,11 +1328,11 @@ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, typ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from src_multi1 order by key, value +PREHOOK: query: select * from src_multi1 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi1 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi1 order by key, value +POSTHOOK: query: select * from src_multi1 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi1 #### A masked pattern was here #### @@ -1354,11 +1358,11 @@ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, typ 5 val_5 8 val_8 9 val_9 -PREHOOK: query: select * from src_multi2 order by key, value +PREHOOK: query: select * from src_multi2 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi2 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi2 order by key, value +POSTHOOK: query: select * from src_multi2 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi2 #### A masked pattern was here #### @@ -1540,11 +1544,11 @@ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, typ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from src_multi1 order by key, value +PREHOOK: query: select * from src_multi1 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi1 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi1 order by key, value +POSTHOOK: query: select * from src_multi1 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi1 #### A masked pattern was here #### @@ -1570,11 +1574,11 @@ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, typ 5 val_5 8 val_8 9 val_9 -PREHOOK: query: select * from src_multi2 order by key, value +PREHOOK: query: select * from src_multi2 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi2 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi2 order by key, value +POSTHOOK: query: select * from src_multi2 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi2 #### A masked pattern was here #### @@ -1844,11 +1848,11 @@ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, typ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from src_multi1 order by key, value +PREHOOK: query: select * from src_multi1 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi1 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi1 order by key, value +POSTHOOK: query: select * from src_multi1 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi1 #### A masked pattern was here #### @@ -1874,11 +1878,11 @@ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, typ 5 val_5 8 val_8 9 val_9 -PREHOOK: query: select * from src_multi2 order by key, value +PREHOOK: query: select * from src_multi2 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi2 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi2 order by key, value +POSTHOOK: query: select * from src_multi2 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi2 #### A masked pattern was here #### @@ -2084,11 +2088,11 @@ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, typ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), (src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from src_multi1 order by key, value +PREHOOK: query: select * from src_multi1 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi1 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi1 order by key, value +POSTHOOK: query: select * from src_multi1 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi1 #### A masked pattern was here #### @@ -2132,11 +2136,11 @@ POSTHOOK: Lineage: src_multi2.value EXPRESSION [(src)src.FieldSchema(name:value, 8 val_8 9 val_9 9 val_9 -PREHOOK: query: select * from src_multi2 order by key, value +PREHOOK: query: select * from src_multi2 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi2 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi2 order by key, value +POSTHOOK: query: select * from src_multi2 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi2 #### A masked pattern was here #### @@ -2454,11 +2458,11 @@ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, typ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), (src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), (src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from src_multi1 order by key, value +PREHOOK: query: select * from src_multi1 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi1 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi1 order by key, value +POSTHOOK: query: select * from src_multi1 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi1 #### A masked pattern was here #### @@ -2506,11 +2510,11 @@ POSTHOOK: Lineage: src_multi2.value EXPRESSION [(src)src.FieldSchema(name:value, 8 val_8 9 val_9 9 val_9 -PREHOOK: query: select * from src_multi2 order by key, value +PREHOOK: query: select * from src_multi2 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi2 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi2 order by key, value +POSTHOOK: query: select * from src_multi2 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi2 #### A masked pattern was here #### @@ -2752,11 +2756,11 @@ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, typ POSTHOOK: Lineage: src_multi2.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), (src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), (src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), (src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from src_multi1 order by key, value +PREHOOK: query: select * from src_multi1 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi1 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi1 order by key, value +POSTHOOK: query: select * from src_multi1 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi1 #### A masked pattern was here #### @@ -2808,11 +2812,11 @@ POSTHOOK: Lineage: src_multi2.value EXPRESSION [(src)src.FieldSchema(name:value, 8 val_8 9 val_9 9 val_9 -PREHOOK: query: select * from src_multi2 order by key, value +PREHOOK: query: select * from src_multi2 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi2 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi2 order by key, value +POSTHOOK: query: select * from src_multi2 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi2 #### A masked pattern was here #### @@ -3154,11 +3158,11 @@ POSTHOOK: Lineage: src_multi2.value EXPRESSION [(src)src.FieldSchema(name:value, POSTHOOK: Lineage: src_multi2.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), (src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), (src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), (src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from src_multi1 order by key, value +PREHOOK: query: select * from src_multi1 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi1 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi1 order by key, value +POSTHOOK: query: select * from src_multi1 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi1 #### A masked pattern was here #### @@ -3214,11 +3218,11 @@ POSTHOOK: Lineage: src_multi2.value EXPRESSION [(src)src.FieldSchema(name:value, 8 val_8 9 val_9 9 val_9 -PREHOOK: query: select * from src_multi2 order by key, value +PREHOOK: query: select * from src_multi2 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi2 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi2 order by key, value +POSTHOOK: query: select * from src_multi2 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi2 #### A masked pattern was here #### @@ -5035,11 +5039,11 @@ POSTHOOK: Lineage: src_multi2.value EXPRESSION [(src)src.FieldSchema(name:value, POSTHOOK: Lineage: src_multi2.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), (src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), (src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from src_multi1 order by key, value +PREHOOK: query: select * from src_multi1 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi1 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi1 order by key, value +POSTHOOK: query: select * from src_multi1 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi1 #### A masked pattern was here #### @@ -5089,11 +5093,11 @@ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, typ 5 val_5 8 val_8 9 val_9 -PREHOOK: query: select * from src_multi2 order by key, value +PREHOOK: query: select * from src_multi2 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi2 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi2 order by key, value +POSTHOOK: query: select * from src_multi2 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi2 #### A masked pattern was here #### @@ -5434,11 +5438,11 @@ POSTHOOK: Lineage: src_multi2.value EXPRESSION [(src)src.FieldSchema(name:value, POSTHOOK: Lineage: src_multi2.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), (src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from src_multi1 order by key, value +PREHOOK: query: select * from src_multi1 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi1 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi1 order by key, value +POSTHOOK: query: select * from src_multi1 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi1 #### A masked pattern was here #### @@ -5492,11 +5496,11 @@ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, typ 5 val_5 8 val_8 9 val_9 -PREHOOK: query: select * from src_multi2 order by key, value +PREHOOK: query: select * from src_multi2 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi2 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi2 order by key, value +POSTHOOK: query: select * from src_multi2 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi2 #### A masked pattern was here #### @@ -5937,11 +5941,11 @@ POSTHOOK: Lineage: src_multi2.value EXPRESSION [(src)src.FieldSchema(name:value, POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from src_multi1 order by key, value +PREHOOK: query: select * from src_multi1 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi1 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi1 order by key, value +POSTHOOK: query: select * from src_multi1 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi1 #### A masked pattern was here #### @@ -5999,11 +6003,11 @@ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, typ 5 val_5 8 val_8 9 val_9 -PREHOOK: query: select * from src_multi2 order by key, value +PREHOOK: query: select * from src_multi2 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi2 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi2 order by key, value +POSTHOOK: query: select * from src_multi2 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi2 #### A masked pattern was here #### @@ -6456,11 +6460,11 @@ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, typ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from src_multi1 order by key, value +PREHOOK: query: select * from src_multi1 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi1 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi1 order by key, value +POSTHOOK: query: select * from src_multi1 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi1 #### A masked pattern was here #### @@ -6522,11 +6526,11 @@ POSTHOOK: Lineage: src_multi2.value SIMPLE [(src)src.FieldSchema(name:value, typ 5 val_5 8 val_8 9 val_9 -PREHOOK: query: select * from src_multi2 order by key, value +PREHOOK: query: select * from src_multi2 PREHOOK: type: QUERY PREHOOK: Input: default@src_multi2 #### A masked pattern was here #### -POSTHOOK: query: select * from src_multi2 order by key, value +POSTHOOK: query: select * from src_multi2 POSTHOOK: type: QUERY POSTHOOK: Input: default@src_multi2 #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/newline.q.out ql/src/test/results/clientpositive/newline.q.out index da21e87..0dbffcd 100644 --- ql/src/test/results/clientpositive/newline.q.out +++ ql/src/test/results/clientpositive/newline.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: create table tmp_tmp(key string, value string) stored as rcfile +PREHOOK: query: -- SORT_QUERY_RESULTS + +create table tmp_tmp(key string, value string) stored as rcfile PREHOOK: type: CREATETABLE -POSTHOOK: query: create table tmp_tmp(key string, value string) stored as rcfile +POSTHOOK: query: -- SORT_QUERY_RESULTS + +create table tmp_tmp(key string, value string) stored as rcfile POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@tmp_tmp PREHOOK: query: insert overwrite table tmp_tmp @@ -17,11 +21,11 @@ POSTHOOK: Input: default@src POSTHOOK: Output: default@tmp_tmp POSTHOOK: Lineage: tmp_tmp.key SCRIPT [(src)src.FieldSchema(name:key, type:string, comment:default), (src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: tmp_tmp.value SCRIPT [(src)src.FieldSchema(name:key, type:string, comment:default), (src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from tmp_tmp ORDER BY key ASC, value ASC +PREHOOK: query: select * from tmp_tmp PREHOOK: type: QUERY PREHOOK: Input: default@tmp_tmp #### A masked pattern was here #### -POSTHOOK: query: select * from tmp_tmp ORDER BY key ASC, value ASC +POSTHOOK: query: select * from tmp_tmp POSTHOOK: type: QUERY POSTHOOK: Input: default@tmp_tmp #### A masked pattern was here #### @@ -29,13 +33,13 @@ POSTHOOK: Lineage: tmp_tmp.key SCRIPT [(src)src.FieldSchema(name:key, type:strin POSTHOOK: Lineage: tmp_tmp.value SCRIPT [(src)src.FieldSchema(name:key, type:string, comment:default), (src)src.FieldSchema(name:value, type:string, comment:default), ] 1 2 NULL 1 2 NULL -1 NULL +1 2 NULL -1 NULL +1 2 NULL -1 NULL +1 2 NULL -1 NULL +1 2 NULL PREHOOK: query: drop table tmp_tmp PREHOOK: type: DROPTABLE @@ -70,11 +74,11 @@ POSTHOOK: Lineage: tmp_tmp.key SCRIPT [(src)src.FieldSchema(name:key, type:strin POSTHOOK: Lineage: tmp_tmp.key SCRIPT [(src)src.FieldSchema(name:key, type:string, comment:default), (src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: tmp_tmp.value SCRIPT [(src)src.FieldSchema(name:key, type:string, comment:default), (src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: tmp_tmp.value SCRIPT [(src)src.FieldSchema(name:key, type:string, comment:default), (src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from tmp_tmp ORDER BY key ASC, value ASC +PREHOOK: query: select * from tmp_tmp PREHOOK: type: QUERY PREHOOK: Input: default@tmp_tmp #### A masked pattern was here #### -POSTHOOK: query: select * from tmp_tmp ORDER BY key ASC, value ASC +POSTHOOK: query: select * from tmp_tmp POSTHOOK: type: QUERY POSTHOOK: Input: default@tmp_tmp #### A masked pattern was here #### @@ -124,11 +128,11 @@ POSTHOOK: Lineage: tmp_tmp.key SCRIPT [(src)src.FieldSchema(name:key, type:strin POSTHOOK: Lineage: tmp_tmp.value SCRIPT [(src)src.FieldSchema(name:key, type:string, comment:default), (src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: tmp_tmp.value SCRIPT [(src)src.FieldSchema(name:key, type:string, comment:default), (src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: tmp_tmp.value SCRIPT [(src)src.FieldSchema(name:key, type:string, comment:default), (src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from tmp_tmp ORDER BY key ASC, value ASC +PREHOOK: query: select * from tmp_tmp PREHOOK: type: QUERY PREHOOK: Input: default@tmp_tmp #### A masked pattern was here #### -POSTHOOK: query: select * from tmp_tmp ORDER BY key ASC, value ASC +POSTHOOK: query: select * from tmp_tmp POSTHOOK: type: QUERY POSTHOOK: Input: default@tmp_tmp #### A masked pattern was here #### @@ -184,11 +188,11 @@ POSTHOOK: Lineage: tmp_tmp.value SCRIPT [(src)src.FieldSchema(name:key, type:str POSTHOOK: Lineage: tmp_tmp.value SCRIPT [(src)src.FieldSchema(name:key, type:string, comment:default), (src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: tmp_tmp.value SCRIPT [(src)src.FieldSchema(name:key, type:string, comment:default), (src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: tmp_tmp.value SCRIPT [(src)src.FieldSchema(name:key, type:string, comment:default), (src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from tmp_tmp ORDER BY key ASC, value ASC +PREHOOK: query: select * from tmp_tmp PREHOOK: type: QUERY PREHOOK: Input: default@tmp_tmp #### A masked pattern was here #### -POSTHOOK: query: select * from tmp_tmp ORDER BY key ASC, value ASC +POSTHOOK: query: select * from tmp_tmp POSTHOOK: type: QUERY POSTHOOK: Input: default@tmp_tmp #### A masked pattern was here #### @@ -250,11 +254,11 @@ POSTHOOK: Lineage: tmp_tmp.value SCRIPT [(src)src.FieldSchema(name:key, type:str POSTHOOK: Lineage: tmp_tmp.value SCRIPT [(src)src.FieldSchema(name:key, type:string, comment:default), (src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: tmp_tmp.value SCRIPT [(src)src.FieldSchema(name:key, type:string, comment:default), (src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: tmp_tmp.value SCRIPT [(src)src.FieldSchema(name:key, type:string, comment:default), (src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from tmp_tmp ORDER BY key ASC, value ASC +PREHOOK: query: select * from tmp_tmp PREHOOK: type: QUERY PREHOOK: Input: default@tmp_tmp #### A masked pattern was here #### -POSTHOOK: query: select * from tmp_tmp ORDER BY key ASC, value ASC +POSTHOOK: query: select * from tmp_tmp POSTHOOK: type: QUERY POSTHOOK: Input: default@tmp_tmp #### A masked pattern was here #### @@ -294,10 +298,10 @@ POSTHOOK: Lineage: tmp_tmp.value SCRIPT [(src)src.FieldSchema(name:key, type:str POSTHOOK: Lineage: tmp_tmp.value SCRIPT [(src)src.FieldSchema(name:key, type:string, comment:default), (src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: tmp_tmp.value SCRIPT [(src)src.FieldSchema(name:key, type:string, comment:default), (src)src.FieldSchema(name:value, type:string, comment:default), ] 1\ 2 NULL -1\\t2 NULL 1\ 2 NULL -1\\t2 NULL 1\ 2 NULL +1\\t2 NULL +1\\t2 NULL PREHOOK: query: SELECT key FROM (SELECT TRANSFORM ('a\tb', 'c') USING 'cat' AS (key, value) FROM src limit 1)a ORDER BY key ASC PREHOOK: type: QUERY PREHOOK: Input: default@src diff --git ql/src/test/results/clientpositive/nonblock_op_deduplicate.q.out ql/src/test/results/clientpositive/nonblock_op_deduplicate.q.out index 98900ad..f5df40a 100644 --- ql/src/test/results/clientpositive/nonblock_op_deduplicate.q.out +++ ql/src/test/results/clientpositive/nonblock_op_deduplicate.q.out @@ -1,7 +1,11 @@ -PREHOOK: query: -- negative, references twice for result of funcion +PREHOOK: query: -- SORT_QUERY_RESULTS + +-- negative, references twice for result of funcion explain select nkey, nkey + 1 from (select key + 1 as nkey, value from src) a PREHOOK: type: QUERY -POSTHOOK: query: -- negative, references twice for result of funcion +POSTHOOK: query: -- SORT_QUERY_RESULTS + +-- negative, references twice for result of funcion explain select nkey, nkey + 1 from (select key + 1 as nkey, value from src) a POSTHOOK: type: QUERY STAGE DEPENDENCIES: @@ -45,7 +49,7 @@ FROM (SELECT tmp2.key as key, tmp2.value as value, tmp3.count as count FROM src1) tmp1 ) tmp2 JOIN (SELECT count(*) as count FROM src1) tmp3 - ) tmp4 order by key, value, count + ) tmp4 PREHOOK: type: QUERY POSTHOOK: query: -- This test query is introduced for HIVE-4968. -- First, we do not convert the join to MapJoin. @@ -57,12 +61,11 @@ FROM (SELECT tmp2.key as key, tmp2.value as value, tmp3.count as count FROM src1) tmp1 ) tmp2 JOIN (SELECT count(*) as count FROM src1) tmp3 - ) tmp4 order by key, value, count + ) tmp4 POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage Stage-2 depends on stages: Stage-1 - Stage-3 depends on stages: Stage-2 Stage-0 is a root stage STAGE PLANS: @@ -134,30 +137,11 @@ STAGE PLANS: Statistics: Num rows: 1 Data size: 237 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - - Stage: Stage-3 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint) - sort order: +++ Statistics: Num rows: 1 Data size: 237 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint) - Reduce Operator Tree: - Extract - Statistics: Num rows: 1 Data size: 237 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 1 Data size: 237 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator @@ -170,7 +154,7 @@ FROM (SELECT tmp2.key as key, tmp2.value as value, tmp3.count as count FROM src1) tmp1 ) tmp2 JOIN (SELECT count(*) as count FROM src1) tmp3 - ) tmp4 order by key, value, count + ) tmp4 PREHOOK: type: QUERY PREHOOK: Input: default@src1 #### A masked pattern was here #### @@ -181,7 +165,7 @@ FROM (SELECT tmp2.key as key, tmp2.value as value, tmp3.count as count FROM src1) tmp1 ) tmp2 JOIN (SELECT count(*) as count FROM src1) tmp3 - ) tmp4 order by key, value, count + ) tmp4 POSTHOOK: type: QUERY POSTHOOK: Input: default@src1 #### A masked pattern was here #### @@ -219,7 +203,7 @@ FROM (SELECT tmp2.key as key, tmp2.value as value, tmp3.count as count FROM src1) tmp1 ) tmp2 JOIN (SELECT count(*) as count FROM src1) tmp3 - ) tmp4 order by key, value, count + ) tmp4 PREHOOK: type: QUERY POSTHOOK: query: -- Then, we convert the join to MapJoin. EXPLAIN @@ -230,12 +214,12 @@ FROM (SELECT tmp2.key as key, tmp2.value as value, tmp3.count as count FROM src1) tmp1 ) tmp2 JOIN (SELECT count(*) as count FROM src1) tmp3 - ) tmp4 order by key, value, count + ) tmp4 POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage - Stage-6 depends on stages: Stage-1 - Stage-3 depends on stages: Stage-6 + Stage-5 depends on stages: Stage-1 + Stage-4 depends on stages: Stage-5 Stage-0 is a root stage STAGE PLANS: @@ -273,7 +257,7 @@ STAGE PLANS: output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - Stage: Stage-6 + Stage: Stage-5 Map Reduce Local Work Alias -> Map Local Tables: tmp4:tmp2:tmp1:src1 @@ -296,7 +280,7 @@ STAGE PLANS: 0 1 - Stage: Stage-3 + Stage: Stage-4 Map Reduce Map Operator Tree: TableScan @@ -315,23 +299,15 @@ STAGE PLANS: expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint) outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 1 Data size: 237 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint) - sort order: +++ + File Output Operator + compressed: false Statistics: Num rows: 1 Data size: 237 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint) + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Local Work: Map Reduce Local Work - Reduce Operator Tree: - Extract - Statistics: Num rows: 1 Data size: 237 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 1 Data size: 237 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe Stage: Stage-0 Fetch Operator @@ -344,7 +320,7 @@ FROM (SELECT tmp2.key as key, tmp2.value as value, tmp3.count as count FROM src1) tmp1 ) tmp2 JOIN (SELECT count(*) as count FROM src1) tmp3 - ) tmp4 order by key, value, count + ) tmp4 PREHOOK: type: QUERY PREHOOK: Input: default@src1 #### A masked pattern was here #### @@ -355,7 +331,7 @@ FROM (SELECT tmp2.key as key, tmp2.value as value, tmp3.count as count FROM src1) tmp1 ) tmp2 JOIN (SELECT count(*) as count FROM src1) tmp3 - ) tmp4 order by key, value, count + ) tmp4 POSTHOOK: type: QUERY POSTHOOK: Input: default@src1 #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/orc_diff_part_cols.q.out ql/src/test/results/clientpositive/orc_diff_part_cols.q.out index 9893a14..1f0c687 100644 --- ql/src/test/results/clientpositive/orc_diff_part_cols.q.out +++ ql/src/test/results/clientpositive/orc_diff_part_cols.q.out @@ -1,10 +1,14 @@ -PREHOOK: query: CREATE TABLE test_orc (key STRING) +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE test_orc (key STRING) PARTITIONED BY (part STRING) ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.orc.OrcSerde' STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat' PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE test_orc (key STRING) +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE test_orc (key STRING) PARTITIONED BY (part STRING) ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.orc.OrcSerde' STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat' @@ -48,13 +52,13 @@ POSTHOOK: Output: default@test_orc@part=2 POSTHOOK: Lineage: test_orc PARTITION(part=1).key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: test_orc PARTITION(part=2).cnt EXPRESSION [(src)src.null, ] POSTHOOK: Lineage: test_orc PARTITION(part=2).key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] -PREHOOK: query: SELECT * FROM test_orc ORDER BY key +PREHOOK: query: SELECT * FROM test_orc PREHOOK: type: QUERY PREHOOK: Input: default@test_orc PREHOOK: Input: default@test_orc@part=1 PREHOOK: Input: default@test_orc@part=2 #### A masked pattern was here #### -POSTHOOK: query: SELECT * FROM test_orc ORDER BY key +POSTHOOK: query: SELECT * FROM test_orc POSTHOOK: type: QUERY POSTHOOK: Input: default@test_orc POSTHOOK: Input: default@test_orc@part=1 diff --git ql/src/test/results/clientpositive/orc_empty_strings.q.out ql/src/test/results/clientpositive/orc_empty_strings.q.out index 7975ca9..f08a564 100644 --- ql/src/test/results/clientpositive/orc_empty_strings.q.out +++ ql/src/test/results/clientpositive/orc_empty_strings.q.out @@ -1,9 +1,13 @@ -PREHOOK: query: CREATE TABLE test_orc (key STRING) +PREHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE test_orc (key STRING) ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.orc.OrcSerde' STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat' PREHOOK: type: CREATETABLE -POSTHOOK: query: CREATE TABLE test_orc (key STRING) +POSTHOOK: query: -- SORT_QUERY_RESULTS + +CREATE TABLE test_orc (key STRING) ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.orc.OrcSerde' STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat' @@ -53,13 +57,13 @@ POSTHOOK: Lineage: test_orc.key SIMPLE [] POSTHOOK: Lineage: test_orc.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] PREHOOK: query: -- Test reading a column which has some empty strings -SELECT * FROM test_orc ORDER BY key +SELECT * FROM test_orc PREHOOK: type: QUERY PREHOOK: Input: default@test_orc #### A masked pattern was here #### POSTHOOK: query: -- Test reading a column which has some empty strings -SELECT * FROM test_orc ORDER BY key +SELECT * FROM test_orc POSTHOOK: type: QUERY POSTHOOK: Input: default@test_orc #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/orc_split_elimination.q.out ql/src/test/results/clientpositive/orc_split_elimination.q.out index fcbcdb3..938f7a5 100644 --- ql/src/test/results/clientpositive/orc_split_elimination.q.out +++ ql/src/test/results/clientpositive/orc_split_elimination.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: create table orc_split_elim (userid bigint, string1 string, subtype double, decimal1 decimal, ts timestamp) stored as orc +PREHOOK: query: -- SORT_QUERY_RESULTS + +create table orc_split_elim (userid bigint, string1 string, subtype double, decimal1 decimal, ts timestamp) stored as orc PREHOOK: type: CREATETABLE -POSTHOOK: query: create table orc_split_elim (userid bigint, string1 string, subtype double, decimal1 decimal, ts timestamp) stored as orc +POSTHOOK: query: -- SORT_QUERY_RESULTS + +create table orc_split_elim (userid bigint, string1 string, subtype double, decimal1 decimal, ts timestamp) stored as orc POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@orc_split_elim PREHOOK: query: load data local inpath '../../data/files/orc_split_elim.orc' into table orc_split_elim @@ -126,134 +130,134 @@ POSTHOOK: Input: default@orc_split_elim #### A masked pattern was here #### 0 PREHOOK: query: -- 5 mappers -select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=2 order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=2 PREHOOK: type: QUERY PREHOOK: Input: default@orc_split_elim #### A masked pattern was here #### POSTHOOK: query: -- 5 mappers -select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=2 order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=2 POSTHOOK: type: QUERY POSTHOOK: Input: default@orc_split_elim #### A masked pattern was here #### 2 foo 0.8 1 1969-12-31 16:00:00 PREHOOK: query: -- 1 mapper -select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=2 order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=2 PREHOOK: type: QUERY PREHOOK: Input: default@orc_split_elim #### A masked pattern was here #### POSTHOOK: query: -- 1 mapper -select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=2 order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=2 POSTHOOK: type: QUERY POSTHOOK: Input: default@orc_split_elim #### A masked pattern was here #### 2 foo 0.8 1 1969-12-31 16:00:00 PREHOOK: query: -- 5 mappers -select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=5 order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=5 PREHOOK: type: QUERY PREHOOK: Input: default@orc_split_elim #### A masked pattern was here #### POSTHOOK: query: -- 5 mappers -select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=5 order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=5 POSTHOOK: type: QUERY POSTHOOK: Input: default@orc_split_elim #### A masked pattern was here #### 2 foo 0.8 1 1969-12-31 16:00:00 5 eat 0.8 6 1969-12-31 16:00:20 PREHOOK: query: -- 2 mappers -select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=5 order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=5 PREHOOK: type: QUERY PREHOOK: Input: default@orc_split_elim #### A masked pattern was here #### POSTHOOK: query: -- 2 mappers -select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=5 order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=5 POSTHOOK: type: QUERY POSTHOOK: Input: default@orc_split_elim #### A masked pattern was here #### 2 foo 0.8 1 1969-12-31 16:00:00 5 eat 0.8 6 1969-12-31 16:00:20 PREHOOK: query: -- 5 mappers -select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=13 order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=13 PREHOOK: type: QUERY PREHOOK: Input: default@orc_split_elim #### A masked pattern was here #### POSTHOOK: query: -- 5 mappers -select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=13 order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=13 POSTHOOK: type: QUERY POSTHOOK: Input: default@orc_split_elim #### A masked pattern was here #### +13 bar 80.0 2 1969-12-31 16:00:05 2 foo 0.8 1 1969-12-31 16:00:00 5 eat 0.8 6 1969-12-31 16:00:20 -13 bar 80.0 2 1969-12-31 16:00:05 PREHOOK: query: -- 3 mappers -select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=13 order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=13 PREHOOK: type: QUERY PREHOOK: Input: default@orc_split_elim #### A masked pattern was here #### POSTHOOK: query: -- 3 mappers -select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=13 order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=13 POSTHOOK: type: QUERY POSTHOOK: Input: default@orc_split_elim #### A masked pattern was here #### +13 bar 80.0 2 1969-12-31 16:00:05 2 foo 0.8 1 1969-12-31 16:00:00 5 eat 0.8 6 1969-12-31 16:00:20 -13 bar 80.0 2 1969-12-31 16:00:05 PREHOOK: query: -- 5 mappers -select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=29 order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=29 PREHOOK: type: QUERY PREHOOK: Input: default@orc_split_elim #### A masked pattern was here #### POSTHOOK: query: -- 5 mappers -select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=29 order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=29 POSTHOOK: type: QUERY POSTHOOK: Input: default@orc_split_elim #### A masked pattern was here #### -2 foo 0.8 1 1969-12-31 16:00:00 -5 eat 0.8 6 1969-12-31 16:00:20 13 bar 80.0 2 1969-12-31 16:00:05 +2 foo 0.8 1 1969-12-31 16:00:00 29 cat 8.0 3 1969-12-31 16:00:10 +5 eat 0.8 6 1969-12-31 16:00:20 PREHOOK: query: -- 4 mappers -select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=29 order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=29 PREHOOK: type: QUERY PREHOOK: Input: default@orc_split_elim #### A masked pattern was here #### POSTHOOK: query: -- 4 mappers -select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=29 order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=29 POSTHOOK: type: QUERY POSTHOOK: Input: default@orc_split_elim #### A masked pattern was here #### -2 foo 0.8 1 1969-12-31 16:00:00 -5 eat 0.8 6 1969-12-31 16:00:20 13 bar 80.0 2 1969-12-31 16:00:05 +2 foo 0.8 1 1969-12-31 16:00:00 29 cat 8.0 3 1969-12-31 16:00:10 +5 eat 0.8 6 1969-12-31 16:00:20 PREHOOK: query: -- 5 mappers -select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=70 order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=70 PREHOOK: type: QUERY PREHOOK: Input: default@orc_split_elim #### A masked pattern was here #### POSTHOOK: query: -- 5 mappers -select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=70 order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=70 POSTHOOK: type: QUERY POSTHOOK: Input: default@orc_split_elim #### A masked pattern was here #### -2 foo 0.8 1 1969-12-31 16:00:00 -5 eat 0.8 6 1969-12-31 16:00:20 13 bar 80.0 2 1969-12-31 16:00:05 +2 foo 0.8 1 1969-12-31 16:00:00 29 cat 8.0 3 1969-12-31 16:00:10 +5 eat 0.8 6 1969-12-31 16:00:20 70 dog 1.8 4 1969-12-31 16:00:15 PREHOOK: query: -- 5 mappers -select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=70 order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=70 PREHOOK: type: QUERY PREHOOK: Input: default@orc_split_elim #### A masked pattern was here #### POSTHOOK: query: -- 5 mappers -select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=70 order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim where userid<=70 POSTHOOK: type: QUERY POSTHOOK: Input: default@orc_split_elim #### A masked pattern was here #### -2 foo 0.8 1 1969-12-31 16:00:00 -5 eat 0.8 6 1969-12-31 16:00:20 13 bar 80.0 2 1969-12-31 16:00:05 +2 foo 0.8 1 1969-12-31 16:00:00 29 cat 8.0 3 1969-12-31 16:00:10 +5 eat 0.8 6 1969-12-31 16:00:20 70 dog 1.8 4 1969-12-31 16:00:15 PREHOOK: query: -- partitioned table create table orc_split_elim_part (userid bigint, string1 string, subtype double, decimal1 decimal, ts timestamp) partitioned by (country string, year int) stored as orc @@ -289,14 +293,14 @@ POSTHOOK: query: load data local inpath '../../data/files/orc_split_elim.orc' in POSTHOOK: type: LOAD POSTHOOK: Output: default@orc_split_elim_part@country=us/year=2001 PREHOOK: query: -- 10 mapper - no split elimination -select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=2 and country='us'order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=2 and country='us' PREHOOK: type: QUERY PREHOOK: Input: default@orc_split_elim_part PREHOOK: Input: default@orc_split_elim_part@country=us/year=2000 PREHOOK: Input: default@orc_split_elim_part@country=us/year=2001 #### A masked pattern was here #### POSTHOOK: query: -- 10 mapper - no split elimination -select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=2 and country='us'order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=2 and country='us' POSTHOOK: type: QUERY POSTHOOK: Input: default@orc_split_elim_part POSTHOOK: Input: default@orc_split_elim_part@country=us/year=2000 @@ -305,14 +309,14 @@ POSTHOOK: Input: default@orc_split_elim_part@country=us/year=2001 2 foo 0.8 1 1969-12-31 16:00:00 2 foo 0.8 1 1969-12-31 16:00:00 PREHOOK: query: -- 2 mapper - split elimination -select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=2 and country='us' order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=2 and country='us' PREHOOK: type: QUERY PREHOOK: Input: default@orc_split_elim_part PREHOOK: Input: default@orc_split_elim_part@country=us/year=2000 PREHOOK: Input: default@orc_split_elim_part@country=us/year=2001 #### A masked pattern was here #### POSTHOOK: query: -- 2 mapper - split elimination -select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=2 and country='us' order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=2 and country='us' POSTHOOK: type: QUERY POSTHOOK: Input: default@orc_split_elim_part POSTHOOK: Input: default@orc_split_elim_part@country=us/year=2000 @@ -321,14 +325,14 @@ POSTHOOK: Input: default@orc_split_elim_part@country=us/year=2001 2 foo 0.8 1 1969-12-31 16:00:00 2 foo 0.8 1 1969-12-31 16:00:00 PREHOOK: query: -- 10 mapper - no split elimination -select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=2 and country='us' and (year=2000 or year=2001) order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=2 and country='us' and (year=2000 or year=2001) PREHOOK: type: QUERY PREHOOK: Input: default@orc_split_elim_part PREHOOK: Input: default@orc_split_elim_part@country=us/year=2000 PREHOOK: Input: default@orc_split_elim_part@country=us/year=2001 #### A masked pattern was here #### POSTHOOK: query: -- 10 mapper - no split elimination -select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=2 and country='us' and (year=2000 or year=2001) order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=2 and country='us' and (year=2000 or year=2001) POSTHOOK: type: QUERY POSTHOOK: Input: default@orc_split_elim_part POSTHOOK: Input: default@orc_split_elim_part@country=us/year=2000 @@ -337,14 +341,14 @@ POSTHOOK: Input: default@orc_split_elim_part@country=us/year=2001 2 foo 0.8 1 1969-12-31 16:00:00 2 foo 0.8 1 1969-12-31 16:00:00 PREHOOK: query: -- 2 mapper - split elimination -select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=2 and country='us' and (year=2000 or year=2001) order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=2 and country='us' and (year=2000 or year=2001) PREHOOK: type: QUERY PREHOOK: Input: default@orc_split_elim_part PREHOOK: Input: default@orc_split_elim_part@country=us/year=2000 PREHOOK: Input: default@orc_split_elim_part@country=us/year=2001 #### A masked pattern was here #### POSTHOOK: query: -- 2 mapper - split elimination -select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=2 and country='us' and (year=2000 or year=2001) order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=2 and country='us' and (year=2000 or year=2001) POSTHOOK: type: QUERY POSTHOOK: Input: default@orc_split_elim_part POSTHOOK: Input: default@orc_split_elim_part@country=us/year=2000 @@ -353,40 +357,40 @@ POSTHOOK: Input: default@orc_split_elim_part@country=us/year=2001 2 foo 0.8 1 1969-12-31 16:00:00 2 foo 0.8 1 1969-12-31 16:00:00 PREHOOK: query: -- 10 mapper - no split elimination -select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=2 and country='us' and year=2000 order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=2 and country='us' and year=2000 PREHOOK: type: QUERY PREHOOK: Input: default@orc_split_elim_part PREHOOK: Input: default@orc_split_elim_part@country=us/year=2000 #### A masked pattern was here #### POSTHOOK: query: -- 10 mapper - no split elimination -select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=2 and country='us' and year=2000 order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=2 and country='us' and year=2000 POSTHOOK: type: QUERY POSTHOOK: Input: default@orc_split_elim_part POSTHOOK: Input: default@orc_split_elim_part@country=us/year=2000 #### A masked pattern was here #### 2 foo 0.8 1 1969-12-31 16:00:00 PREHOOK: query: -- 1 mapper - split elimination -select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=2 and country='us' and year=2000 order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=2 and country='us' and year=2000 PREHOOK: type: QUERY PREHOOK: Input: default@orc_split_elim_part PREHOOK: Input: default@orc_split_elim_part@country=us/year=2000 #### A masked pattern was here #### POSTHOOK: query: -- 1 mapper - split elimination -select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=2 and country='us' and year=2000 order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=2 and country='us' and year=2000 POSTHOOK: type: QUERY POSTHOOK: Input: default@orc_split_elim_part POSTHOOK: Input: default@orc_split_elim_part@country=us/year=2000 #### A masked pattern was here #### 2 foo 0.8 1 1969-12-31 16:00:00 PREHOOK: query: -- 10 mapper - no split elimination -select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=5 and country='us' order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=5 and country='us' PREHOOK: type: QUERY PREHOOK: Input: default@orc_split_elim_part PREHOOK: Input: default@orc_split_elim_part@country=us/year=2000 PREHOOK: Input: default@orc_split_elim_part@country=us/year=2001 #### A masked pattern was here #### POSTHOOK: query: -- 10 mapper - no split elimination -select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=5 and country='us' order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=5 and country='us' POSTHOOK: type: QUERY POSTHOOK: Input: default@orc_split_elim_part POSTHOOK: Input: default@orc_split_elim_part@country=us/year=2000 @@ -397,14 +401,14 @@ POSTHOOK: Input: default@orc_split_elim_part@country=us/year=2001 5 eat 0.8 6 1969-12-31 16:00:20 5 eat 0.8 6 1969-12-31 16:00:20 PREHOOK: query: -- 4 mapper - split elimination -select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=5 and country='us' order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=5 and country='us' PREHOOK: type: QUERY PREHOOK: Input: default@orc_split_elim_part PREHOOK: Input: default@orc_split_elim_part@country=us/year=2000 PREHOOK: Input: default@orc_split_elim_part@country=us/year=2001 #### A masked pattern was here #### POSTHOOK: query: -- 4 mapper - split elimination -select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=5 and country='us' order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=5 and country='us' POSTHOOK: type: QUERY POSTHOOK: Input: default@orc_split_elim_part POSTHOOK: Input: default@orc_split_elim_part@country=us/year=2000 @@ -415,14 +419,14 @@ POSTHOOK: Input: default@orc_split_elim_part@country=us/year=2001 5 eat 0.8 6 1969-12-31 16:00:20 5 eat 0.8 6 1969-12-31 16:00:20 PREHOOK: query: -- 10 mapper - no split elimination -select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=5 and country='us' and (year=2000 or year=2001) order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=5 and country='us' and (year=2000 or year=2001) PREHOOK: type: QUERY PREHOOK: Input: default@orc_split_elim_part PREHOOK: Input: default@orc_split_elim_part@country=us/year=2000 PREHOOK: Input: default@orc_split_elim_part@country=us/year=2001 #### A masked pattern was here #### POSTHOOK: query: -- 10 mapper - no split elimination -select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=5 and country='us' and (year=2000 or year=2001) order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=5 and country='us' and (year=2000 or year=2001) POSTHOOK: type: QUERY POSTHOOK: Input: default@orc_split_elim_part POSTHOOK: Input: default@orc_split_elim_part@country=us/year=2000 @@ -433,14 +437,14 @@ POSTHOOK: Input: default@orc_split_elim_part@country=us/year=2001 5 eat 0.8 6 1969-12-31 16:00:20 5 eat 0.8 6 1969-12-31 16:00:20 PREHOOK: query: -- 4 mapper - split elimination -select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=5 and country='us' and (year=2000 or year=2001) order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=5 and country='us' and (year=2000 or year=2001) PREHOOK: type: QUERY PREHOOK: Input: default@orc_split_elim_part PREHOOK: Input: default@orc_split_elim_part@country=us/year=2000 PREHOOK: Input: default@orc_split_elim_part@country=us/year=2001 #### A masked pattern was here #### POSTHOOK: query: -- 4 mapper - split elimination -select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=5 and country='us' and (year=2000 or year=2001) order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=5 and country='us' and (year=2000 or year=2001) POSTHOOK: type: QUERY POSTHOOK: Input: default@orc_split_elim_part POSTHOOK: Input: default@orc_split_elim_part@country=us/year=2000 @@ -451,13 +455,13 @@ POSTHOOK: Input: default@orc_split_elim_part@country=us/year=2001 5 eat 0.8 6 1969-12-31 16:00:20 5 eat 0.8 6 1969-12-31 16:00:20 PREHOOK: query: -- 10 mapper - no split elimination -select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=5 and country='us' and year=2000 order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=5 and country='us' and year=2000 PREHOOK: type: QUERY PREHOOK: Input: default@orc_split_elim_part PREHOOK: Input: default@orc_split_elim_part@country=us/year=2000 #### A masked pattern was here #### POSTHOOK: query: -- 10 mapper - no split elimination -select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=5 and country='us' and year=2000 order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=5 and country='us' and year=2000 POSTHOOK: type: QUERY POSTHOOK: Input: default@orc_split_elim_part POSTHOOK: Input: default@orc_split_elim_part@country=us/year=2000 @@ -465,13 +469,13 @@ POSTHOOK: Input: default@orc_split_elim_part@country=us/year=2000 2 foo 0.8 1 1969-12-31 16:00:00 5 eat 0.8 6 1969-12-31 16:00:20 PREHOOK: query: -- 2 mapper - split elimination -select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=5 and country='us' and year=2000 order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=5 and country='us' and year=2000 PREHOOK: type: QUERY PREHOOK: Input: default@orc_split_elim_part PREHOOK: Input: default@orc_split_elim_part@country=us/year=2000 #### A masked pattern was here #### POSTHOOK: query: -- 2 mapper - split elimination -select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=5 and country='us' and year=2000 order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=5 and country='us' and year=2000 POSTHOOK: type: QUERY POSTHOOK: Input: default@orc_split_elim_part POSTHOOK: Input: default@orc_split_elim_part@country=us/year=2000 @@ -479,38 +483,38 @@ POSTHOOK: Input: default@orc_split_elim_part@country=us/year=2000 2 foo 0.8 1 1969-12-31 16:00:00 5 eat 0.8 6 1969-12-31 16:00:20 PREHOOK: query: -- 0 mapper - no split elimination -select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=70 and country='in' order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=70 and country='in' PREHOOK: type: QUERY PREHOOK: Input: default@orc_split_elim_part #### A masked pattern was here #### POSTHOOK: query: -- 0 mapper - no split elimination -select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=70 and country='in' order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=70 and country='in' POSTHOOK: type: QUERY POSTHOOK: Input: default@orc_split_elim_part #### A masked pattern was here #### -PREHOOK: query: select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=70 and country='us' and year=2002 order by userid +PREHOOK: query: select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=70 and country='us' and year=2002 PREHOOK: type: QUERY PREHOOK: Input: default@orc_split_elim_part #### A masked pattern was here #### -POSTHOOK: query: select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=70 and country='us' and year=2002 order by userid +POSTHOOK: query: select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=70 and country='us' and year=2002 POSTHOOK: type: QUERY POSTHOOK: Input: default@orc_split_elim_part #### A masked pattern was here #### PREHOOK: query: -- 0 mapper - split elimination -select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=70 and country='in' order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=70 and country='in' PREHOOK: type: QUERY PREHOOK: Input: default@orc_split_elim_part #### A masked pattern was here #### POSTHOOK: query: -- 0 mapper - split elimination -select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=70 and country='in' order by userid +select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=70 and country='in' POSTHOOK: type: QUERY POSTHOOK: Input: default@orc_split_elim_part #### A masked pattern was here #### -PREHOOK: query: select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=70 and country='us' and year=2002 order by userid +PREHOOK: query: select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=70 and country='us' and year=2002 PREHOOK: type: QUERY PREHOOK: Input: default@orc_split_elim_part #### A masked pattern was here #### -POSTHOOK: query: select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=70 and country='us' and year=2002 order by userid +POSTHOOK: query: select userid,string1,subtype,decimal1,ts from orc_split_elim_part where userid<=70 and country='us' and year=2002 POSTHOOK: type: QUERY POSTHOOK: Input: default@orc_split_elim_part #### A masked pattern was here #### diff --git ql/src/test/results/clientpositive/parallel.q.out ql/src/test/results/clientpositive/parallel.q.out index d97d1d1..fc22741 100644 --- ql/src/test/results/clientpositive/parallel.q.out +++ ql/src/test/results/clientpositive/parallel.q.out @@ -1,6 +1,10 @@ -PREHOOK: query: create table if not exists src_a like src +PREHOOK: query: -- SORT_QUERY_RESULTS + +create table if not exists src_a like src PREHOOK: type: CREATETABLE -POSTHOOK: query: create table if not exists src_a like src +POSTHOOK: query: -- SORT_QUERY_RESULTS + +create table if not exists src_a like src POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@src_a PREHOOK: query: create table if not exists src_b like src @@ -155,11 +159,11 @@ POSTHOOK: Lineage: src_a.key SIMPLE [(src)src.FieldSchema(name:key, type:string, POSTHOOK: Lineage: src_a.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_b.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: src_b.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from src_a order by key, value +PREHOOK: query: select * from src_a PREHOOK: type: QUERY PREHOOK: Input: default@src_a #### A masked pattern was here #### -POSTHOOK: query: select * from src_a order by key, value +POSTHOOK: query: select * from src_a POSTHOOK: type: QUERY POSTHOOK: Input: default@src_a #### A masked pattern was here #### @@ -476,11 +480,11 @@ POSTHOOK: Lineage: src_b.value SIMPLE [(src)src.FieldSchema(name:value, type:str 96 val_96 97 val_97 98 val_98 -PREHOOK: query: select * from src_b order by key, value +PREHOOK: query: select * from src_b PREHOOK: type: QUERY PREHOOK: Input: default@src_b #### A masked pattern was here #### -POSTHOOK: query: select * from src_b order by key, value +POSTHOOK: query: select * from src_b POSTHOOK: type: QUERY POSTHOOK: Input: default@src_b #### A masked pattern was here #### @@ -819,11 +823,11 @@ POSTHOOK: Lineage: src_b.key SIMPLE [(src)src.FieldSchema(name:key, type:string, POSTHOOK: Lineage: src_b.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: src_b.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] POSTHOOK: Lineage: src_b.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: select * from src_a order by key, value +PREHOOK: query: select * from src_a PREHOOK: type: QUERY PREHOOK: Input: default@src_a #### A masked pattern was here #### -POSTHOOK: query: select * from src_a order by key, value +POSTHOOK: query: select * from src_a POSTHOOK: type: QUERY POSTHOOK: Input: default@src_a #### A masked pattern was here #### @@ -1144,11 +1148,11 @@ POSTHOOK: Lineage: src_b.value SIMPLE [(src)src.FieldSchema(name:value, type:str 96 val_96 97 val_97 98 val_98 -PREHOOK: query: select * from src_b order by key, value +PREHOOK: query: select * from src_b PREHOOK: type: QUERY PREHOOK: Input: default@src_b #### A masked pattern was here #### -POSTHOOK: query: select * from src_b order by key, value +POSTHOOK: query: select * from src_b POSTHOOK: type: QUERY POSTHOOK: Input: default@src_b #### A masked pattern was here ####