Repository: spark
Updated Branches:
refs/heads/master 901b2e69e -> 6dde27404
[SPARK-15733][SQL] Makes the explain output less verbose by hiding some verbose
output like None, null, empty List, and etc.
## What changes were proposed in this pull request?
This PR makes the explain output less verbose by hiding some verbose output
like `None`, `null`, empty List `[]`, empty set `{}`, and etc.
**Before change**:
```
== Physical Plan ==
ExecutedCommand
: +- ShowTablesCommand None, None
```
**After change**:
```
== Physical Plan ==
ExecutedCommand
: +- ShowTablesCommand
```
## How was this patch tested?
Manual test.
Author: Sean Zhong <[email protected]>
Closes #13470 from clockfly/verbose_breakdown_4.
Project: http://git-wip-us.apache.org/repos/asf/spark/repo
Commit: http://git-wip-us.apache.org/repos/asf/spark/commit/6dde2740
Tree: http://git-wip-us.apache.org/repos/asf/spark/tree/6dde2740
Diff: http://git-wip-us.apache.org/repos/asf/spark/diff/6dde2740
Branch: refs/heads/master
Commit: 6dde27404cb3d921d75dd6afca4b383f9df5976a
Parents: 901b2e6
Author: Sean Zhong <[email protected]>
Authored: Thu Jun 2 22:45:37 2016 -0700
Committer: Cheng Lian <[email protected]>
Committed: Thu Jun 2 22:45:37 2016 -0700
----------------------------------------------------------------------
.../spark/sql/catalyst/trees/TreeNode.scala | 18 +++++++++++++-----
1 file changed, 13 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/spark/blob/6dde2740/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/trees/TreeNode.scala
----------------------------------------------------------------------
diff --git
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/trees/TreeNode.scala
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/trees/TreeNode.scala
index 3ebd815..50481cd 100644
---
a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/trees/TreeNode.scala
+++
b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/trees/TreeNode.scala
@@ -427,13 +427,21 @@ abstract class TreeNode[BaseType <: TreeNode[BaseType]]
extends Product {
private lazy val allChildren: Set[TreeNode[_]] = (children ++
innerChildren).toSet[TreeNode[_]]
/** Returns a string representing the arguments to this node, minus any
children */
- def argString: String = productIterator.flatMap {
+ def argString: String = stringArgs.flatMap {
case tn: TreeNode[_] if allChildren.contains(tn) => Nil
case Some(tn: TreeNode[_]) if allChildren.contains(tn) => Nil
- case tn: TreeNode[_] => s"${tn.simpleString}" :: Nil
- case seq: Seq[BaseType] if seq.toSet.subsetOf(children.toSet) => Nil
- case seq: Seq[_] => seq.mkString("[", ",", "]") :: Nil
- case set: Set[_] => set.mkString("{", ",", "}") :: Nil
+ case Some(tn: TreeNode[_]) => tn.simpleString :: Nil
+ case tn: TreeNode[_] => tn.simpleString :: Nil
+ case seq: Seq[Any] if
seq.toSet.subsetOf(allChildren.asInstanceOf[Set[Any]]) => Nil
+ case iter: Iterable[_] if iter.isEmpty => Nil
+ case seq: Seq[_] => seq.mkString("[", ", ", "]") :: Nil
+ case set: Set[_] => set.mkString("{", ", ", "}") :: Nil
+ case array: Array[_] if array.isEmpty => Nil
+ case array: Array[_] => array.mkString("[", ", ", "]") :: Nil
+ case null => Nil
+ case None => Nil
+ case Some(null) => Nil
+ case Some(any) => any :: Nil
case other => other :: Nil
}.mkString(", ")
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]