Index: ql/src/java/org/apache/hadoop/hive/ql/Driver.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/Driver.java (revision 1631006) +++ ql/src/java/org/apache/hadoop/hive/ql/Driver.java (working copy) @@ -25,6 +25,7 @@ import java.util.HashMap; import java.util.HashSet; import java.util.LinkedHashMap; +import java.util.LinkedHashSet; import java.util.LinkedList; import java.util.List; import java.util.Map; @@ -1455,7 +1456,7 @@ // remove incomplete outputs. // Some incomplete outputs may be added at the beginning, for eg: for dynamic partitions. // remove them - HashSet remOutputs = new HashSet(); + HashSet remOutputs = new LinkedHashSet(); for (WriteEntity output : plan.getOutputs()) { if (!output.isComplete()) { remOutputs.add(output); Index: ql/src/java/org/apache/hadoop/hive/ql/exec/MoveTask.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/exec/MoveTask.java (revision 1631006) +++ ql/src/java/org/apache/hadoop/hive/ql/exec/MoveTask.java (working copy) @@ -66,6 +66,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; +import java.util.LinkedHashSet; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -401,7 +402,7 @@ // For DP, WriteEntity creation is deferred at this stage so we need to update // queryPlan here. if (queryPlan.getOutputs() == null) { - queryPlan.setOutputs(new HashSet()); + queryPlan.setOutputs(new LinkedHashSet()); } queryPlan.getOutputs().add(enty); Index: ql/src/java/org/apache/hadoop/hive/ql/hooks/Entity.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/hooks/Entity.java (revision 1631006) +++ ql/src/java/org/apache/hadoop/hive/ql/hooks/Entity.java (working copy) @@ -367,7 +367,7 @@ */ @Override public int hashCode() { - return toString().hashCode(); + return toString().toLowerCase().hashCode(); } } Index: ql/src/java/org/apache/hadoop/hive/ql/hooks/ReadEntity.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/hooks/ReadEntity.java (revision 1631006) +++ ql/src/java/org/apache/hadoop/hive/ql/hooks/ReadEntity.java (working copy) @@ -20,7 +20,7 @@ import java.io.Serializable; import java.util.ArrayList; -import java.util.HashSet; +import java.util.LinkedHashSet; import java.util.List; import java.util.Set; @@ -54,7 +54,7 @@ private boolean isUpdateOrDelete = false; // For views, the entities can be nested - by default, entities are at the top level - private final Set parents = new HashSet(); + private final Set parents = new LinkedHashSet(); // The accessed columns of query private final List accessedColumns = new ArrayList(); @@ -135,23 +135,6 @@ return parents; } - /** - * Equals function. - */ - @Override - public boolean equals(Object o) { - if (o == null) { - return false; - } - - if (o instanceof ReadEntity) { - ReadEntity ore = (ReadEntity) o; - return (toString().equalsIgnoreCase(ore.toString())); - } else { - return false; - } - } - public boolean isDirect() { return isDirect; } Index: ql/src/java/org/apache/hadoop/hive/ql/index/HiveIndexQueryContext.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/index/HiveIndexQueryContext.java (revision 1631006) +++ ql/src/java/org/apache/hadoop/hive/ql/index/HiveIndexQueryContext.java (working copy) @@ -18,7 +18,7 @@ package org.apache.hadoop.hive.ql.index; import java.io.Serializable; -import java.util.HashSet; +import java.util.LinkedHashSet; import java.util.List; import java.util.Set; @@ -34,7 +34,7 @@ */ public class HiveIndexQueryContext { - private HashSet additionalSemanticInputs; // additional inputs to add to the parse context when + private Set additionalSemanticInputs; // additional inputs to add to the parse context when // merging the index query tasks private String indexInputFormat; // input format to set on the TableScanOperator to activate indexing private String indexIntermediateFile; // name of intermediate file written by the index query for the @@ -52,12 +52,12 @@ this.queryTasks = null; } - public HashSet getAdditionalSemanticInputs() { + public Set getAdditionalSemanticInputs() { return additionalSemanticInputs; } - public void addAdditionalSemanticInputs(HashSet additionalParseInputs) { + public void addAdditionalSemanticInputs(Set additionalParseInputs) { if (this.additionalSemanticInputs == null) { - this.additionalSemanticInputs = new HashSet(); + this.additionalSemanticInputs = new LinkedHashSet(); } this.additionalSemanticInputs.addAll(additionalParseInputs); } Index: ql/src/java/org/apache/hadoop/hive/ql/optimizer/GenMapRedUtils.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/optimizer/GenMapRedUtils.java (revision 1631006) +++ ql/src/java/org/apache/hadoop/hive/ql/optimizer/GenMapRedUtils.java (working copy) @@ -577,13 +577,9 @@ // this is being read because it is a dependency of a view). boolean isDirectRead = (parentViewInfo == null); - for (Partition part : parts) { - if (part.getTable().isPartitioned()) { - PlanUtils.addInput(inputs, new ReadEntity(part, parentViewInfo, isDirectRead)); - } else { - PlanUtils.addInput(inputs, new ReadEntity(part.getTable(), parentViewInfo, isDirectRead)); - } + PlanUtils.addPartitionInputs(parts, inputs, parentViewInfo, isDirectRead); + for (Partition part: parts) { // Later the properties have to come from the partition as opposed // to from the table in order to support versioning. Path[] paths = null; @@ -687,6 +683,7 @@ } } } + if (emptyInput) { parseCtx.getGlobalLimitCtx().disableOpt(); } @@ -1782,7 +1779,7 @@ } public static Set getConfirmedPartitionsForScan(QBParseInfo parseInfo) { - Set confirmedPartns = new HashSet(); + Set confirmedPartns = new LinkedHashSet(); tableSpec tblSpec = parseInfo.getTableSpec(); if (tblSpec.specType == tableSpec.SpecType.STATIC_PARTITION) { // static partition Index: ql/src/java/org/apache/hadoop/hive/ql/optimizer/SimpleFetchOptimizer.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/optimizer/SimpleFetchOptimizer.java (revision 1631006) +++ ql/src/java/org/apache/hadoop/hive/ql/optimizer/SimpleFetchOptimizer.java (working copy) @@ -21,7 +21,7 @@ import java.io.FileNotFoundException; import java.io.IOException; import java.util.ArrayList; -import java.util.HashSet; +import java.util.LinkedHashSet; import java.util.List; import java.util.Map; @@ -266,7 +266,7 @@ private final Table table; private final SplitSample splitSample; private final PrunedPartitionList partsList; - private final HashSet inputs = new HashSet(); + private final LinkedHashSet inputs = new LinkedHashSet(); private final boolean onlyPruningFilter; // source table scan Index: ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java (revision 1631006) +++ ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java (working copy) @@ -9502,6 +9502,7 @@ if (partitions != null) { for (Partition partn : partitions) { // inputs.add(new ReadEntity(partn)); // is this needed at all? + LOG.info("XXX: adding part: "+partn); outputs.add(new WriteEntity(partn, WriteEntity.WriteType.DDL_NO_LOCK)); } } Index: ql/src/java/org/apache/hadoop/hive/ql/plan/PlanUtils.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/plan/PlanUtils.java (revision 1631006) +++ ql/src/java/org/apache/hadoop/hive/ql/plan/PlanUtils.java (working copy) @@ -52,6 +52,7 @@ import org.apache.hadoop.hive.ql.metadata.HiveException; import org.apache.hadoop.hive.ql.metadata.HiveStorageHandler; import org.apache.hadoop.hive.ql.metadata.HiveUtils; +import org.apache.hadoop.hive.ql.metadata.Partition; import org.apache.hadoop.hive.ql.metadata.Table; import org.apache.hadoop.hive.ql.parse.ParseContext; import org.apache.hadoop.hive.ql.parse.SemanticException; @@ -931,7 +932,46 @@ // make compile happy return null; } + + public static void addPartitionInputs(Collection parts, Collection inputs, + ReadEntity parentViewInfo, boolean isDirectRead) { + // Store the inputs in a HashMap since we can't get a ReadEntity from inputs since it is + // implemented as a set.ReadEntity is used as the key so that the HashMap has the same behavior + // of equals and hashCode + Map readEntityMap + = new LinkedHashMap(inputs.size()); + + for (ReadEntity input : inputs) { + readEntityMap.put(input, input); + } + + for (Partition part : parts) { + ReadEntity newInput = null; + if (part.getTable().isPartitioned()) { + newInput = new ReadEntity(part, parentViewInfo, isDirectRead); + } else { + newInput = new ReadEntity(part.getTable(), parentViewInfo, isDirectRead); + } + + if (readEntityMap.containsKey(newInput)) { + ReadEntity input = readEntityMap.get(newInput); + if ((newInput.getParents() != null) && (!newInput.getParents().isEmpty())) { + input.getParents().addAll(newInput.getParents()); + input.setDirect(input.isDirect() || newInput.isDirect()); + } + } else { + readEntityMap.put(newInput, newInput); + } + } + + // Add the new ReadEntity that were added to readEntityMap in PlanUtils.addInput + if (inputs.size() != readEntityMap.size()) { + inputs.clear(); + inputs.addAll(readEntityMap.keySet()); + } + } + public static String getExprListString(Collection exprs) { StringBuffer sb = new StringBuffer(); boolean first = true; Index: ql/src/test/results/clientpositive/alter_view_as_select.q.out =================================================================== --- ql/src/test/results/clientpositive/alter_view_as_select.q.out (revision 1631006) +++ ql/src/test/results/clientpositive/alter_view_as_select.q.out (working copy) @@ -58,7 +58,6 @@ POSTHOOK: Input: default@src POSTHOOK: Output: database:tv POSTHOOK: Output: tv@testView -POSTHOOK: Output: tv@testview PREHOOK: query: DESCRIBE FORMATTED tv.testView PREHOOK: type: DESCTABLE PREHOOK: Input: tv@testview @@ -108,7 +107,6 @@ POSTHOOK: Input: default@src POSTHOOK: Output: database:tv POSTHOOK: Output: tv@testView -POSTHOOK: Output: tv@testview PREHOOK: query: DESCRIBE FORMATTED tv.testView PREHOOK: type: DESCTABLE PREHOOK: Input: tv@testview Index: ql/src/test/results/clientpositive/escape1.q.out =================================================================== --- ql/src/test/results/clientpositive/escape1.q.out (revision 1631006) +++ ql/src/test/results/clientpositive/escape1.q.out (working copy) @@ -277,35 +277,9 @@ POSTHOOK: Output: default@escape1@ds=1/part=R POSTHOOK: Output: default@escape1@ds=1/part=S POSTHOOK: Output: default@escape1@ds=1/part=T -POSTHOOK: Output: default@escape1@ds=1/part=U -POSTHOOK: Output: default@escape1@ds=1/part=V -POSTHOOK: Output: default@escape1@ds=1/part=W -POSTHOOK: Output: default@escape1@ds=1/part=X -POSTHOOK: Output: default@escape1@ds=1/part=Y -POSTHOOK: Output: default@escape1@ds=1/part=Z POSTHOOK: Output: default@escape1@ds=1/part=_ POSTHOOK: Output: default@escape1@ds=1/part=__HIVE_DEFAULT_PARTITION__ POSTHOOK: Output: default@escape1@ds=1/part=` -POSTHOOK: Output: default@escape1@ds=1/part=a -POSTHOOK: Output: default@escape1@ds=1/part=b -POSTHOOK: Output: default@escape1@ds=1/part=c -POSTHOOK: Output: default@escape1@ds=1/part=d -POSTHOOK: Output: default@escape1@ds=1/part=e -POSTHOOK: Output: default@escape1@ds=1/part=f -POSTHOOK: Output: default@escape1@ds=1/part=g -POSTHOOK: Output: default@escape1@ds=1/part=h -POSTHOOK: Output: default@escape1@ds=1/part=i -POSTHOOK: Output: default@escape1@ds=1/part=j -POSTHOOK: Output: default@escape1@ds=1/part=k -POSTHOOK: Output: default@escape1@ds=1/part=l -POSTHOOK: Output: default@escape1@ds=1/part=m -POSTHOOK: Output: default@escape1@ds=1/part=n -POSTHOOK: Output: default@escape1@ds=1/part=o -POSTHOOK: Output: default@escape1@ds=1/part=p -POSTHOOK: Output: default@escape1@ds=1/part=q -POSTHOOK: Output: default@escape1@ds=1/part=r -POSTHOOK: Output: default@escape1@ds=1/part=s -POSTHOOK: Output: default@escape1@ds=1/part=t POSTHOOK: Output: default@escape1@ds=1/part=u POSTHOOK: Output: default@escape1@ds=1/part=v POSTHOOK: Output: default@escape1@ds=1/part=w @@ -539,32 +513,6 @@ PREHOOK: Input: default@escape1@ds=1/part=_ PREHOOK: Input: default@escape1@ds=1/part=__HIVE_DEFAULT_PARTITION__ PREHOOK: Input: default@escape1@ds=1/part=` -PREHOOK: Input: default@escape1@ds=1/part=a -PREHOOK: Input: default@escape1@ds=1/part=b -PREHOOK: Input: default@escape1@ds=1/part=c -PREHOOK: Input: default@escape1@ds=1/part=d -PREHOOK: Input: default@escape1@ds=1/part=e -PREHOOK: Input: default@escape1@ds=1/part=f -PREHOOK: Input: default@escape1@ds=1/part=g -PREHOOK: Input: default@escape1@ds=1/part=h -PREHOOK: Input: default@escape1@ds=1/part=i -PREHOOK: Input: default@escape1@ds=1/part=j -PREHOOK: Input: default@escape1@ds=1/part=k -PREHOOK: Input: default@escape1@ds=1/part=l -PREHOOK: Input: default@escape1@ds=1/part=m -PREHOOK: Input: default@escape1@ds=1/part=n -PREHOOK: Input: default@escape1@ds=1/part=o -PREHOOK: Input: default@escape1@ds=1/part=p -PREHOOK: Input: default@escape1@ds=1/part=q -PREHOOK: Input: default@escape1@ds=1/part=r -PREHOOK: Input: default@escape1@ds=1/part=s -PREHOOK: Input: default@escape1@ds=1/part=t -PREHOOK: Input: default@escape1@ds=1/part=u -PREHOOK: Input: default@escape1@ds=1/part=v -PREHOOK: Input: default@escape1@ds=1/part=w -PREHOOK: Input: default@escape1@ds=1/part=x -PREHOOK: Input: default@escape1@ds=1/part=y -PREHOOK: Input: default@escape1@ds=1/part=z PREHOOK: Input: default@escape1@ds=1/part=| PREHOOK: Input: default@escape1@ds=1/part=} PREHOOK: Input: default@escape1@ds=1/part=~ @@ -668,32 +616,6 @@ POSTHOOK: Input: default@escape1@ds=1/part=_ POSTHOOK: Input: default@escape1@ds=1/part=__HIVE_DEFAULT_PARTITION__ POSTHOOK: Input: default@escape1@ds=1/part=` -POSTHOOK: Input: default@escape1@ds=1/part=a -POSTHOOK: Input: default@escape1@ds=1/part=b -POSTHOOK: Input: default@escape1@ds=1/part=c -POSTHOOK: Input: default@escape1@ds=1/part=d -POSTHOOK: Input: default@escape1@ds=1/part=e -POSTHOOK: Input: default@escape1@ds=1/part=f -POSTHOOK: Input: default@escape1@ds=1/part=g -POSTHOOK: Input: default@escape1@ds=1/part=h -POSTHOOK: Input: default@escape1@ds=1/part=i -POSTHOOK: Input: default@escape1@ds=1/part=j -POSTHOOK: Input: default@escape1@ds=1/part=k -POSTHOOK: Input: default@escape1@ds=1/part=l -POSTHOOK: Input: default@escape1@ds=1/part=m -POSTHOOK: Input: default@escape1@ds=1/part=n -POSTHOOK: Input: default@escape1@ds=1/part=o -POSTHOOK: Input: default@escape1@ds=1/part=p -POSTHOOK: Input: default@escape1@ds=1/part=q -POSTHOOK: Input: default@escape1@ds=1/part=r -POSTHOOK: Input: default@escape1@ds=1/part=s -POSTHOOK: Input: default@escape1@ds=1/part=t -POSTHOOK: Input: default@escape1@ds=1/part=u -POSTHOOK: Input: default@escape1@ds=1/part=v -POSTHOOK: Input: default@escape1@ds=1/part=w -POSTHOOK: Input: default@escape1@ds=1/part=x -POSTHOOK: Input: default@escape1@ds=1/part=y -POSTHOOK: Input: default@escape1@ds=1/part=z POSTHOOK: Input: default@escape1@ds=1/part=| POSTHOOK: Input: default@escape1@ds=1/part=} POSTHOOK: Input: default@escape1@ds=1/part=~ @@ -798,32 +720,6 @@ PREHOOK: Input: default@escape1@ds=1/part=_ PREHOOK: Input: default@escape1@ds=1/part=__HIVE_DEFAULT_PARTITION__ PREHOOK: Input: default@escape1@ds=1/part=` -PREHOOK: Input: default@escape1@ds=1/part=a -PREHOOK: Input: default@escape1@ds=1/part=b -PREHOOK: Input: default@escape1@ds=1/part=c -PREHOOK: Input: default@escape1@ds=1/part=d -PREHOOK: Input: default@escape1@ds=1/part=e -PREHOOK: Input: default@escape1@ds=1/part=f -PREHOOK: Input: default@escape1@ds=1/part=g -PREHOOK: Input: default@escape1@ds=1/part=h -PREHOOK: Input: default@escape1@ds=1/part=i -PREHOOK: Input: default@escape1@ds=1/part=j -PREHOOK: Input: default@escape1@ds=1/part=k -PREHOOK: Input: default@escape1@ds=1/part=l -PREHOOK: Input: default@escape1@ds=1/part=m -PREHOOK: Input: default@escape1@ds=1/part=n -PREHOOK: Input: default@escape1@ds=1/part=o -PREHOOK: Input: default@escape1@ds=1/part=p -PREHOOK: Input: default@escape1@ds=1/part=q -PREHOOK: Input: default@escape1@ds=1/part=r -PREHOOK: Input: default@escape1@ds=1/part=s -PREHOOK: Input: default@escape1@ds=1/part=t -PREHOOK: Input: default@escape1@ds=1/part=u -PREHOOK: Input: default@escape1@ds=1/part=v -PREHOOK: Input: default@escape1@ds=1/part=w -PREHOOK: Input: default@escape1@ds=1/part=x -PREHOOK: Input: default@escape1@ds=1/part=y -PREHOOK: Input: default@escape1@ds=1/part=z PREHOOK: Input: default@escape1@ds=1/part=| PREHOOK: Input: default@escape1@ds=1/part=} PREHOOK: Input: default@escape1@ds=1/part=~ @@ -927,32 +823,6 @@ POSTHOOK: Input: default@escape1@ds=1/part=_ POSTHOOK: Input: default@escape1@ds=1/part=__HIVE_DEFAULT_PARTITION__ POSTHOOK: Input: default@escape1@ds=1/part=` -POSTHOOK: Input: default@escape1@ds=1/part=a -POSTHOOK: Input: default@escape1@ds=1/part=b -POSTHOOK: Input: default@escape1@ds=1/part=c -POSTHOOK: Input: default@escape1@ds=1/part=d -POSTHOOK: Input: default@escape1@ds=1/part=e -POSTHOOK: Input: default@escape1@ds=1/part=f -POSTHOOK: Input: default@escape1@ds=1/part=g -POSTHOOK: Input: default@escape1@ds=1/part=h -POSTHOOK: Input: default@escape1@ds=1/part=i -POSTHOOK: Input: default@escape1@ds=1/part=j -POSTHOOK: Input: default@escape1@ds=1/part=k -POSTHOOK: Input: default@escape1@ds=1/part=l -POSTHOOK: Input: default@escape1@ds=1/part=m -POSTHOOK: Input: default@escape1@ds=1/part=n -POSTHOOK: Input: default@escape1@ds=1/part=o -POSTHOOK: Input: default@escape1@ds=1/part=p -POSTHOOK: Input: default@escape1@ds=1/part=q -POSTHOOK: Input: default@escape1@ds=1/part=r -POSTHOOK: Input: default@escape1@ds=1/part=s -POSTHOOK: Input: default@escape1@ds=1/part=t -POSTHOOK: Input: default@escape1@ds=1/part=u -POSTHOOK: Input: default@escape1@ds=1/part=v -POSTHOOK: Input: default@escape1@ds=1/part=w -POSTHOOK: Input: default@escape1@ds=1/part=x -POSTHOOK: Input: default@escape1@ds=1/part=y -POSTHOOK: Input: default@escape1@ds=1/part=z POSTHOOK: Input: default@escape1@ds=1/part=| POSTHOOK: Input: default@escape1@ds=1/part=} POSTHOOK: Input: default@escape1@ds=1/part=~ @@ -1315,32 +1185,6 @@ PREHOOK: Output: default@escape1@ds=1/part=_ PREHOOK: Output: default@escape1@ds=1/part=__HIVE_DEFAULT_PARTITION__ PREHOOK: Output: default@escape1@ds=1/part=` -PREHOOK: Output: default@escape1@ds=1/part=a -PREHOOK: Output: default@escape1@ds=1/part=b -PREHOOK: Output: default@escape1@ds=1/part=c -PREHOOK: Output: default@escape1@ds=1/part=d -PREHOOK: Output: default@escape1@ds=1/part=e -PREHOOK: Output: default@escape1@ds=1/part=f -PREHOOK: Output: default@escape1@ds=1/part=g -PREHOOK: Output: default@escape1@ds=1/part=h -PREHOOK: Output: default@escape1@ds=1/part=i -PREHOOK: Output: default@escape1@ds=1/part=j -PREHOOK: Output: default@escape1@ds=1/part=k -PREHOOK: Output: default@escape1@ds=1/part=l -PREHOOK: Output: default@escape1@ds=1/part=m -PREHOOK: Output: default@escape1@ds=1/part=n -PREHOOK: Output: default@escape1@ds=1/part=o -PREHOOK: Output: default@escape1@ds=1/part=p -PREHOOK: Output: default@escape1@ds=1/part=q -PREHOOK: Output: default@escape1@ds=1/part=r -PREHOOK: Output: default@escape1@ds=1/part=s -PREHOOK: Output: default@escape1@ds=1/part=t -PREHOOK: Output: default@escape1@ds=1/part=u -PREHOOK: Output: default@escape1@ds=1/part=v -PREHOOK: Output: default@escape1@ds=1/part=w -PREHOOK: Output: default@escape1@ds=1/part=x -PREHOOK: Output: default@escape1@ds=1/part=y -PREHOOK: Output: default@escape1@ds=1/part=z PREHOOK: Output: default@escape1@ds=1/part=| PREHOOK: Output: default@escape1@ds=1/part=} PREHOOK: Output: default@escape1@ds=1/part=~ @@ -1443,32 +1287,6 @@ POSTHOOK: Output: default@escape1@ds=1/part=_ POSTHOOK: Output: default@escape1@ds=1/part=__HIVE_DEFAULT_PARTITION__ POSTHOOK: Output: default@escape1@ds=1/part=` -POSTHOOK: Output: default@escape1@ds=1/part=a -POSTHOOK: Output: default@escape1@ds=1/part=b -POSTHOOK: Output: default@escape1@ds=1/part=c -POSTHOOK: Output: default@escape1@ds=1/part=d -POSTHOOK: Output: default@escape1@ds=1/part=e -POSTHOOK: Output: default@escape1@ds=1/part=f -POSTHOOK: Output: default@escape1@ds=1/part=g -POSTHOOK: Output: default@escape1@ds=1/part=h -POSTHOOK: Output: default@escape1@ds=1/part=i -POSTHOOK: Output: default@escape1@ds=1/part=j -POSTHOOK: Output: default@escape1@ds=1/part=k -POSTHOOK: Output: default@escape1@ds=1/part=l -POSTHOOK: Output: default@escape1@ds=1/part=m -POSTHOOK: Output: default@escape1@ds=1/part=n -POSTHOOK: Output: default@escape1@ds=1/part=o -POSTHOOK: Output: default@escape1@ds=1/part=p -POSTHOOK: Output: default@escape1@ds=1/part=q -POSTHOOK: Output: default@escape1@ds=1/part=r -POSTHOOK: Output: default@escape1@ds=1/part=s -POSTHOOK: Output: default@escape1@ds=1/part=t -POSTHOOK: Output: default@escape1@ds=1/part=u -POSTHOOK: Output: default@escape1@ds=1/part=v -POSTHOOK: Output: default@escape1@ds=1/part=w -POSTHOOK: Output: default@escape1@ds=1/part=x -POSTHOOK: Output: default@escape1@ds=1/part=y -POSTHOOK: Output: default@escape1@ds=1/part=z POSTHOOK: Output: default@escape1@ds=1/part=| POSTHOOK: Output: default@escape1@ds=1/part=} POSTHOOK: Output: default@escape1@ds=1/part=~ Index: ql/src/test/results/clientpositive/escape2.q.out =================================================================== --- ql/src/test/results/clientpositive/escape2.q.out (revision 1631006) +++ ql/src/test/results/clientpositive/escape2.q.out (working copy) @@ -257,32 +257,6 @@ POSTHOOK: Output: default@escape2@ds=1/part=< POSTHOOK: Output: default@escape2@ds=1/part=> POSTHOOK: Output: default@escape2@ds=1/part=@ -POSTHOOK: Output: default@escape2@ds=1/part=A -POSTHOOK: Output: default@escape2@ds=1/part=B -POSTHOOK: Output: default@escape2@ds=1/part=C -POSTHOOK: Output: default@escape2@ds=1/part=D -POSTHOOK: Output: default@escape2@ds=1/part=E -POSTHOOK: Output: default@escape2@ds=1/part=F -POSTHOOK: Output: default@escape2@ds=1/part=G -POSTHOOK: Output: default@escape2@ds=1/part=H -POSTHOOK: Output: default@escape2@ds=1/part=I -POSTHOOK: Output: default@escape2@ds=1/part=J -POSTHOOK: Output: default@escape2@ds=1/part=K -POSTHOOK: Output: default@escape2@ds=1/part=L -POSTHOOK: Output: default@escape2@ds=1/part=M -POSTHOOK: Output: default@escape2@ds=1/part=N -POSTHOOK: Output: default@escape2@ds=1/part=O -POSTHOOK: Output: default@escape2@ds=1/part=P -POSTHOOK: Output: default@escape2@ds=1/part=Q -POSTHOOK: Output: default@escape2@ds=1/part=R -POSTHOOK: Output: default@escape2@ds=1/part=S -POSTHOOK: Output: default@escape2@ds=1/part=T -POSTHOOK: Output: default@escape2@ds=1/part=U -POSTHOOK: Output: default@escape2@ds=1/part=V -POSTHOOK: Output: default@escape2@ds=1/part=W -POSTHOOK: Output: default@escape2@ds=1/part=X -POSTHOOK: Output: default@escape2@ds=1/part=Y -POSTHOOK: Output: default@escape2@ds=1/part=Z POSTHOOK: Output: default@escape2@ds=1/part=_ POSTHOOK: Output: default@escape2@ds=1/part=__HIVE_DEFAULT_PARTITION__ POSTHOOK: Output: default@escape2@ds=1/part=` @@ -539,32 +513,6 @@ PREHOOK: Input: default@escape2@ds=1/part=_ PREHOOK: Input: default@escape2@ds=1/part=__HIVE_DEFAULT_PARTITION__ PREHOOK: Input: default@escape2@ds=1/part=` -PREHOOK: Input: default@escape2@ds=1/part=a -PREHOOK: Input: default@escape2@ds=1/part=b -PREHOOK: Input: default@escape2@ds=1/part=c -PREHOOK: Input: default@escape2@ds=1/part=d -PREHOOK: Input: default@escape2@ds=1/part=e -PREHOOK: Input: default@escape2@ds=1/part=f -PREHOOK: Input: default@escape2@ds=1/part=g -PREHOOK: Input: default@escape2@ds=1/part=h -PREHOOK: Input: default@escape2@ds=1/part=i -PREHOOK: Input: default@escape2@ds=1/part=j -PREHOOK: Input: default@escape2@ds=1/part=k -PREHOOK: Input: default@escape2@ds=1/part=l -PREHOOK: Input: default@escape2@ds=1/part=m -PREHOOK: Input: default@escape2@ds=1/part=n -PREHOOK: Input: default@escape2@ds=1/part=o -PREHOOK: Input: default@escape2@ds=1/part=p -PREHOOK: Input: default@escape2@ds=1/part=q -PREHOOK: Input: default@escape2@ds=1/part=r -PREHOOK: Input: default@escape2@ds=1/part=s -PREHOOK: Input: default@escape2@ds=1/part=t -PREHOOK: Input: default@escape2@ds=1/part=u -PREHOOK: Input: default@escape2@ds=1/part=v -PREHOOK: Input: default@escape2@ds=1/part=w -PREHOOK: Input: default@escape2@ds=1/part=x -PREHOOK: Input: default@escape2@ds=1/part=y -PREHOOK: Input: default@escape2@ds=1/part=z PREHOOK: Input: default@escape2@ds=1/part=| PREHOOK: Input: default@escape2@ds=1/part=} PREHOOK: Input: default@escape2@ds=1/part=~ @@ -668,32 +616,6 @@ POSTHOOK: Input: default@escape2@ds=1/part=_ POSTHOOK: Input: default@escape2@ds=1/part=__HIVE_DEFAULT_PARTITION__ POSTHOOK: Input: default@escape2@ds=1/part=` -POSTHOOK: Input: default@escape2@ds=1/part=a -POSTHOOK: Input: default@escape2@ds=1/part=b -POSTHOOK: Input: default@escape2@ds=1/part=c -POSTHOOK: Input: default@escape2@ds=1/part=d -POSTHOOK: Input: default@escape2@ds=1/part=e -POSTHOOK: Input: default@escape2@ds=1/part=f -POSTHOOK: Input: default@escape2@ds=1/part=g -POSTHOOK: Input: default@escape2@ds=1/part=h -POSTHOOK: Input: default@escape2@ds=1/part=i -POSTHOOK: Input: default@escape2@ds=1/part=j -POSTHOOK: Input: default@escape2@ds=1/part=k -POSTHOOK: Input: default@escape2@ds=1/part=l -POSTHOOK: Input: default@escape2@ds=1/part=m -POSTHOOK: Input: default@escape2@ds=1/part=n -POSTHOOK: Input: default@escape2@ds=1/part=o -POSTHOOK: Input: default@escape2@ds=1/part=p -POSTHOOK: Input: default@escape2@ds=1/part=q -POSTHOOK: Input: default@escape2@ds=1/part=r -POSTHOOK: Input: default@escape2@ds=1/part=s -POSTHOOK: Input: default@escape2@ds=1/part=t -POSTHOOK: Input: default@escape2@ds=1/part=u -POSTHOOK: Input: default@escape2@ds=1/part=v -POSTHOOK: Input: default@escape2@ds=1/part=w -POSTHOOK: Input: default@escape2@ds=1/part=x -POSTHOOK: Input: default@escape2@ds=1/part=y -POSTHOOK: Input: default@escape2@ds=1/part=z POSTHOOK: Input: default@escape2@ds=1/part=| POSTHOOK: Input: default@escape2@ds=1/part=} POSTHOOK: Input: default@escape2@ds=1/part=~ @@ -798,32 +720,6 @@ PREHOOK: Input: default@escape2@ds=1/part=_ PREHOOK: Input: default@escape2@ds=1/part=__HIVE_DEFAULT_PARTITION__ PREHOOK: Input: default@escape2@ds=1/part=` -PREHOOK: Input: default@escape2@ds=1/part=a -PREHOOK: Input: default@escape2@ds=1/part=b -PREHOOK: Input: default@escape2@ds=1/part=c -PREHOOK: Input: default@escape2@ds=1/part=d -PREHOOK: Input: default@escape2@ds=1/part=e -PREHOOK: Input: default@escape2@ds=1/part=f -PREHOOK: Input: default@escape2@ds=1/part=g -PREHOOK: Input: default@escape2@ds=1/part=h -PREHOOK: Input: default@escape2@ds=1/part=i -PREHOOK: Input: default@escape2@ds=1/part=j -PREHOOK: Input: default@escape2@ds=1/part=k -PREHOOK: Input: default@escape2@ds=1/part=l -PREHOOK: Input: default@escape2@ds=1/part=m -PREHOOK: Input: default@escape2@ds=1/part=n -PREHOOK: Input: default@escape2@ds=1/part=o -PREHOOK: Input: default@escape2@ds=1/part=p -PREHOOK: Input: default@escape2@ds=1/part=q -PREHOOK: Input: default@escape2@ds=1/part=r -PREHOOK: Input: default@escape2@ds=1/part=s -PREHOOK: Input: default@escape2@ds=1/part=t -PREHOOK: Input: default@escape2@ds=1/part=u -PREHOOK: Input: default@escape2@ds=1/part=v -PREHOOK: Input: default@escape2@ds=1/part=w -PREHOOK: Input: default@escape2@ds=1/part=x -PREHOOK: Input: default@escape2@ds=1/part=y -PREHOOK: Input: default@escape2@ds=1/part=z PREHOOK: Input: default@escape2@ds=1/part=| PREHOOK: Input: default@escape2@ds=1/part=} PREHOOK: Input: default@escape2@ds=1/part=~ @@ -927,32 +823,6 @@ POSTHOOK: Input: default@escape2@ds=1/part=_ POSTHOOK: Input: default@escape2@ds=1/part=__HIVE_DEFAULT_PARTITION__ POSTHOOK: Input: default@escape2@ds=1/part=` -POSTHOOK: Input: default@escape2@ds=1/part=a -POSTHOOK: Input: default@escape2@ds=1/part=b -POSTHOOK: Input: default@escape2@ds=1/part=c -POSTHOOK: Input: default@escape2@ds=1/part=d -POSTHOOK: Input: default@escape2@ds=1/part=e -POSTHOOK: Input: default@escape2@ds=1/part=f -POSTHOOK: Input: default@escape2@ds=1/part=g -POSTHOOK: Input: default@escape2@ds=1/part=h -POSTHOOK: Input: default@escape2@ds=1/part=i -POSTHOOK: Input: default@escape2@ds=1/part=j -POSTHOOK: Input: default@escape2@ds=1/part=k -POSTHOOK: Input: default@escape2@ds=1/part=l -POSTHOOK: Input: default@escape2@ds=1/part=m -POSTHOOK: Input: default@escape2@ds=1/part=n -POSTHOOK: Input: default@escape2@ds=1/part=o -POSTHOOK: Input: default@escape2@ds=1/part=p -POSTHOOK: Input: default@escape2@ds=1/part=q -POSTHOOK: Input: default@escape2@ds=1/part=r -POSTHOOK: Input: default@escape2@ds=1/part=s -POSTHOOK: Input: default@escape2@ds=1/part=t -POSTHOOK: Input: default@escape2@ds=1/part=u -POSTHOOK: Input: default@escape2@ds=1/part=v -POSTHOOK: Input: default@escape2@ds=1/part=w -POSTHOOK: Input: default@escape2@ds=1/part=x -POSTHOOK: Input: default@escape2@ds=1/part=y -POSTHOOK: Input: default@escape2@ds=1/part=z POSTHOOK: Input: default@escape2@ds=1/part=| POSTHOOK: Input: default@escape2@ds=1/part=} POSTHOOK: Input: default@escape2@ds=1/part=~