AMBARI-20186. Result tab prints nothing for select query on empty table. 
(dipayanb)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/561f65d5
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/561f65d5
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/561f65d5

Branch: refs/heads/branch-feature-AMBARI-12556
Commit: 561f65d573b568db09b842e4c9bb70fc77ae7723
Parents: 4c0690a
Author: Dipayan Bhowmick <[email protected]>
Authored: Wed Mar 1 11:59:25 2017 +0530
Committer: Dipayan Bhowmick <[email protected]>
Committed: Wed Mar 1 12:01:01 2017 +0530

----------------------------------------------------------------------
 .../ambari/view/hive2/actor/ResultSetIterator.java  |  2 +-
 .../view/hive2/actor/message/job/NoMoreItems.java   | 16 +++++++++++++++-
 .../view/hive2/client/NonPersistentCursor.java      |  3 +++
 .../ambari/view/hive20/actor/ResultSetIterator.java |  2 +-
 .../view/hive20/actor/message/job/NoMoreItems.java  | 16 +++++++++++++++-
 .../view/hive20/client/NonPersistentCursor.java     |  3 +++
 6 files changed, 38 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/561f65d5/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/ResultSetIterator.java
----------------------------------------------------------------------
diff --git 
a/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/ResultSetIterator.java
 
b/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/ResultSetIterator.java
index 5bde12d..5a2eed8 100644
--- 
a/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/ResultSetIterator.java
+++ 
b/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/ResultSetIterator.java
@@ -124,7 +124,7 @@ public class ResultSetIterator extends HiveActor {
 
       if (index == 0) {
         // We have hit end of resultSet
-        sender().tell(new NoMoreItems(), self());
+        sender().tell(new NoMoreItems(columnDescriptions), self());
         if(!async) {
           cleanUpResources();
         }

http://git-wip-us.apache.org/repos/asf/ambari/blob/561f65d5/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/job/NoMoreItems.java
----------------------------------------------------------------------
diff --git 
a/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/job/NoMoreItems.java
 
b/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/job/NoMoreItems.java
index aca5ba9..71a6e87 100644
--- 
a/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/job/NoMoreItems.java
+++ 
b/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/actor/message/job/NoMoreItems.java
@@ -18,4 +18,18 @@
 
 package org.apache.ambari.view.hive2.actor.message.job;
 
-public class NoMoreItems {}
+import java.util.List;
+
+import org.apache.ambari.view.hive2.client.ColumnDescription;
+
+public class NoMoreItems {
+  private final List<ColumnDescription> columns;
+
+  public NoMoreItems(List<ColumnDescription> columns) {
+    this.columns = columns;
+  }
+
+  public List<ColumnDescription> getColumns() {
+    return columns;
+  }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/561f65d5/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/client/NonPersistentCursor.java
----------------------------------------------------------------------
diff --git 
a/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/client/NonPersistentCursor.java
 
b/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/client/NonPersistentCursor.java
index ef015dc..0be2683 100644
--- 
a/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/client/NonPersistentCursor.java
+++ 
b/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/client/NonPersistentCursor.java
@@ -141,6 +141,9 @@ public class NonPersistentCursor implements Cursor<Row, 
ColumnDescription> {
     }
 
     if (receive instanceof NoMoreItems) {
+      if(descriptions.isEmpty()) {
+        descriptions.addAll(((NoMoreItems)receive).getColumns());
+      }
       endReached = true;
     }
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/561f65d5/contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/ResultSetIterator.java
----------------------------------------------------------------------
diff --git 
a/contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/ResultSetIterator.java
 
b/contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/ResultSetIterator.java
index 5da5ee1..7e0e2d1 100644
--- 
a/contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/ResultSetIterator.java
+++ 
b/contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/ResultSetIterator.java
@@ -123,7 +123,7 @@ public class ResultSetIterator extends HiveActor {
 
       if (index == 0) {
         // We have hit end of resultSet
-        sender().tell(new NoMoreItems(), self());
+        sender().tell(new NoMoreItems(columnDescriptions), self());
         if(!async) {
           cleanUpResources();
         }

http://git-wip-us.apache.org/repos/asf/ambari/blob/561f65d5/contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/job/NoMoreItems.java
----------------------------------------------------------------------
diff --git 
a/contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/job/NoMoreItems.java
 
b/contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/job/NoMoreItems.java
index 639ac05..b9a328c 100644
--- 
a/contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/job/NoMoreItems.java
+++ 
b/contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/actor/message/job/NoMoreItems.java
@@ -18,4 +18,18 @@
 
 package org.apache.ambari.view.hive20.actor.message.job;
 
-public class NoMoreItems {}
+import java.util.List;
+
+import org.apache.ambari.view.hive20.client.ColumnDescription;
+
+public class NoMoreItems {
+  private final List<ColumnDescription> columns;
+
+  public NoMoreItems(List<ColumnDescription> columns) {
+    this.columns = columns;
+  }
+
+  public List<ColumnDescription> getColumns() {
+    return columns;
+  }
+}

http://git-wip-us.apache.org/repos/asf/ambari/blob/561f65d5/contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/client/NonPersistentCursor.java
----------------------------------------------------------------------
diff --git 
a/contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/client/NonPersistentCursor.java
 
b/contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/client/NonPersistentCursor.java
index 40468f7..1d76e9c 100644
--- 
a/contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/client/NonPersistentCursor.java
+++ 
b/contrib/views/hive20/src/main/java/org/apache/ambari/view/hive20/client/NonPersistentCursor.java
@@ -141,6 +141,9 @@ public class NonPersistentCursor implements Cursor<Row, 
ColumnDescription> {
     }
 
     if (receive instanceof NoMoreItems) {
+      if(descriptions.isEmpty()) {
+        descriptions.addAll(((NoMoreItems)receive).getColumns());
+      }
       endReached = true;
     }
 

Reply via email to