diff --git build-common.xml build-common.xml index 96e8046..e07157f 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 60aa614..b2e6036 100644 --- ql/src/java/org/apache/hadoop/hive/ql/exec/MapOperator.java +++ ql/src/java/org/apache/hadoop/hive/ql/exec/MapOperator.java @@ -138,7 +138,6 @@ public int hashCode() { public void setOp(Operator op) { this.op = op; } - } private static class MapOpCtx { @@ -468,8 +467,8 @@ else if (partRawRowObjectInspector.equals(tblRawRowObjectInspector)) { public void setChildren(Configuration hconf) throws HiveException { - Path fpath = new Path((new Path(HiveConf.getVar(hconf, - HiveConf.ConfVars.HADOOPMAPFILENAME))).toUri().getPath()); + Path fpath = new Path(HiveConf.getVar(hconf, + HiveConf.ConfVars.HADOOPMAPFILENAME)); ArrayList> children = new ArrayList>(); @@ -481,7 +480,7 @@ public void setChildren(Configuration hconf) throws HiveException { try { for (String onefile : conf.getPathToAliases().keySet()) { MapOpCtx opCtx = initObjectInspector(conf, hconf, onefile, convertedOI); - Path onepath = new Path(new Path(onefile).toUri().getPath()); + Path onepath = new Path(onefile); List aliases = conf.getPathToAliases().get(onefile); for (String onealias : aliases) { diff --git ql/src/test/queries/clientpositive/schemeAuthority.q ql/src/test/queries/clientpositive/schemeAuthority.q new file mode 100644 index 0000000..22d6c37 --- /dev/null +++ ql/src/test/queries/clientpositive/schemeAuthority.q @@ -0,0 +1,15 @@ +dfs -mkdir file:///tmp/test; +dfs -mkdir hdfs:///tmp/test; + +create external table dynPart (key string) partitioned by (value 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') location 'file:///tmp/test'; +alter table dynPart add partition (value='1') location 'hdfs:///tmp/test'; +select count(*) from dynPart; +select key from dynPart; +select key from src where (key = 10) order by key; +select key from src where (key = 20) order by key; + +dfs -rmr file:///tmp/test; +dfs -rmr hdfs:///tmp/test; diff --git ql/src/test/results/clientpositive/schemeAuthority.q.out ql/src/test/results/clientpositive/schemeAuthority.q.out new file mode 100644 index 0000000..eabee19 --- /dev/null +++ ql/src/test/results/clientpositive/schemeAuthority.q.out @@ -0,0 +1,77 @@ +PREHOOK: query: create external table dynPart (key string) partitioned by (value 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) 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 +#### 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=1 +PREHOOK: query: select count(*) from dynPart +PREHOOK: type: QUERY +PREHOOK: Input: default@dynpart +PREHOOK: Input: default@dynpart@value=0 +PREHOOK: Input: default@dynpart@value=1 +#### A masked pattern was here #### +POSTHOOK: query: select count(*) from dynPart +POSTHOOK: type: QUERY +POSTHOOK: Input: default@dynpart +POSTHOOK: Input: default@dynpart@value=0 +POSTHOOK: Input: default@dynpart@value=1 +#### A masked pattern was here #### +2 +PREHOOK: query: select key from dynPart +PREHOOK: type: QUERY +PREHOOK: Input: default@dynpart +PREHOOK: Input: default@dynpart@value=0 +PREHOOK: Input: default@dynpart@value=1 +#### A masked pattern was here #### +POSTHOOK: query: select key from dynPart +POSTHOOK: type: QUERY +POSTHOOK: Input: default@dynpart +POSTHOOK: Input: default@dynpart@value=0 +POSTHOOK: Input: default@dynpart@value=1 +#### A masked pattern was here #### +20 +10 +PREHOOK: query: select key from src where (key = 10) order by key +PREHOOK: type: QUERY +PREHOOK: Input: default@src +#### A masked pattern was here #### +POSTHOOK: query: select key from src where (key = 10) order by key +POSTHOOK: type: QUERY +POSTHOOK: Input: default@src +#### A masked pattern was here #### +10 +PREHOOK: query: select key from src where (key = 20) order by key +PREHOOK: type: QUERY +PREHOOK: Input: default@src +#### A masked pattern was here #### +POSTHOOK: query: select key from src where (key = 20) order by key +POSTHOOK: type: QUERY +POSTHOOK: Input: default@src +#### A masked pattern was here #### +20 +#### A masked pattern was here ####