Fix partition bug in hive storage

Project: http://git-wip-us.apache.org/repos/asf/incubator-drill/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-drill/commit/b094c443
Tree: http://git-wip-us.apache.org/repos/asf/incubator-drill/tree/b094c443
Diff: http://git-wip-us.apache.org/repos/asf/incubator-drill/diff/b094c443

Branch: refs/heads/master
Commit: b094c4438e92f2a1da8b01b8866193e2f641d252
Parents: 08837cd
Author: Steven Phillips <sphill...@maprtech.com>
Authored: Sat Aug 30 23:03:34 2014 -0700
Committer: Jacques Nadeau <jacq...@apache.org>
Committed: Sun Aug 31 10:27:26 2014 -0700

----------------------------------------------------------------------
 .../main/java/org/apache/drill/exec/store/hive/HiveScan.java | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/b094c443/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveScan.java
----------------------------------------------------------------------
diff --git 
a/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveScan.java
 
b/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveScan.java
index 451a5c3..ef861d0 100644
--- 
a/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveScan.java
+++ 
b/contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveScan.java
@@ -39,6 +39,7 @@ import 
org.apache.drill.exec.physical.base.ScanStats.GroupScanProperty;
 import org.apache.drill.exec.proto.CoordinationProtos;
 import org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint;
 import org.apache.drill.exec.store.StoragePluginRegistry;
+import org.apache.drill.exec.store.hive.HiveTable.HivePartition;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hive.metastore.MetaStoreUtils;
@@ -209,16 +210,17 @@ public class HiveScan extends AbstractGroupScan {
   public SubScan getSpecificScan(int minorFragmentId) throws 
ExecutionSetupException {
     try {
       List<InputSplit> splits = mappings.get(minorFragmentId);
-      List<Partition> parts = Lists.newArrayList();
+      List<HivePartition> parts = Lists.newArrayList();
       List<String> encodedInputSplits = Lists.newArrayList();
       List<String> splitTypes = Lists.newArrayList();
       for (InputSplit split : splits) {
-        parts.add(partitionMap.get(split));
+        parts.add(new HiveTable.HivePartition(partitionMap.get(split)));
         encodedInputSplits.add(serializeInputSplit(split));
         splitTypes.add(split.getClass().getCanonicalName());
       }
       if (parts.contains(null)) parts = null;
-      return new HiveSubScan(encodedInputSplits, hiveReadEntry, splitTypes, 
columns);
+      HiveReadEntry subEntry = new HiveReadEntry(hiveReadEntry.table, parts, 
hiveReadEntry.hiveConfigOverride);
+      return new HiveSubScan(encodedInputSplits, subEntry, splitTypes, 
columns);
     } catch (IOException | ReflectiveOperationException e) {
       throw new ExecutionSetupException(e);
     }

Reply via email to