diff --git build-common.xml build-common.xml index 0807827..ad5ac23 100644 --- build-common.xml +++ build-common.xml @@ -59,7 +59,7 @@ - + diff --git ql/src/java/org/apache/hadoop/hive/ql/exec/MapOperator.java ql/src/java/org/apache/hadoop/hive/ql/exec/MapOperator.java index 9bc8dac..71a0587 100644 --- ql/src/java/org/apache/hadoop/hive/ql/exec/MapOperator.java +++ ql/src/java/org/apache/hadoop/hive/ql/exec/MapOperator.java @@ -585,10 +585,10 @@ public void closeOp(boolean abort) throws HiveException { @Override public void cleanUpInputFileChangedOp() throws HiveException { Path fpath = new Path((new Path(this.getExecContext().getCurrentInputFile())) - .toUri().getPath()); + .toUri()); for (String onefile : conf.getPathToAliases().keySet()) { - Path onepath = new Path(new Path(onefile).toUri().getPath()); + Path onepath = new Path(new Path(onefile).toUri()); // check for the operators who will process rows coming to this Map // Operator if (!onepath.toUri().relativize(fpath.toUri()).equals(fpath.toUri())) { diff --git ql/src/test/queries/clientpositive/schemeAuthority2.q ql/src/test/queries/clientpositive/schemeAuthority2.q new file mode 100644 index 0000000..ecd4d13 --- /dev/null +++ ql/src/test/queries/clientpositive/schemeAuthority2.q @@ -0,0 +1,12 @@ +dfs -mkdir file:///tmp/test; +dfs -mkdir hdfs:///tmp/test; + +create external table dynPart (key string) partitioned by (value string, value2 string) row format delimited fields terminated by '\\t' stored as textfile; +insert overwrite local directory "/tmp/test" select key from src where (key = 10) order by key; +insert overwrite directory "/tmp/test" select key from src where (key = 20) order by key; +alter table dynPart add partition (value='0', value2='clusterA') location 'file:///tmp/test'; +alter table dynPart add partition (value='0', value2='clusterB') location 'hdfs:///tmp/test'; +select value2, key from dynPart where value='0'; + +dfs -rmr file:///tmp/test; +dfs -rmr hdfs:///tmp/test; diff --git ql/src/test/results/clientpositive/schemeAuthority2.q.out ql/src/test/results/clientpositive/schemeAuthority2.q.out new file mode 100644 index 0000000..4248270 --- /dev/null +++ ql/src/test/results/clientpositive/schemeAuthority2.q.out @@ -0,0 +1,46 @@ +PREHOOK: query: create external table dynPart (key string) partitioned by (value string, value2 string) row format delimited fields terminated by '\\t' stored as textfile +PREHOOK: type: CREATETABLE +POSTHOOK: query: create external table dynPart (key string) partitioned by (value string, value2 string) row format delimited fields terminated by '\\t' stored as textfile +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: default@dynPart +#### A masked pattern was here #### +PREHOOK: type: QUERY +PREHOOK: Input: default@src +#### A masked pattern was here #### +POSTHOOK: type: QUERY +POSTHOOK: Input: default@src +#### A masked pattern was here #### +PREHOOK: type: QUERY +PREHOOK: Input: default@src +#### A masked pattern was here #### +POSTHOOK: type: QUERY +POSTHOOK: Input: default@src +#### A masked pattern was here #### +PREHOOK: type: ALTERTABLE_ADDPARTS +PREHOOK: Input: default@dynpart +#### A masked pattern was here #### +POSTHOOK: type: ALTERTABLE_ADDPARTS +POSTHOOK: Input: default@dynpart +POSTHOOK: Output: default@dynpart@value=0/value2=clusterA +#### A masked pattern was here #### +PREHOOK: type: ALTERTABLE_ADDPARTS +PREHOOK: Input: default@dynpart +#### A masked pattern was here #### +POSTHOOK: type: ALTERTABLE_ADDPARTS +POSTHOOK: Input: default@dynpart +POSTHOOK: Output: default@dynpart@value=0/value2=clusterB +PREHOOK: query: select value2, key from dynPart where value='0' +PREHOOK: type: QUERY +PREHOOK: Input: default@dynpart +PREHOOK: Input: default@dynpart@value=0/value2=clusterA +PREHOOK: Input: default@dynpart@value=0/value2=clusterB +#### A masked pattern was here #### +POSTHOOK: query: select value2, key from dynPart where value='0' +POSTHOOK: type: QUERY +POSTHOOK: Input: default@dynpart +POSTHOOK: Input: default@dynpart@value=0/value2=clusterA +POSTHOOK: Input: default@dynpart@value=0/value2=clusterB +#### A masked pattern was here #### +clusterB 20 +clusterA 10 +#### A masked pattern was here ####