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; }
