hive-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From hashut...@apache.org
Subject svn commit: r1671979 [2/6] - in /hive/trunk: common/ common/src/java/org/apache/hadoop/hive/common/jsonexplain/ common/src/java/org/apache/hadoop/hive/common/jsonexplain/tez/ common/src/java/org/apache/hadoop/hive/conf/ itests/src/test/resources/ ql/sr...
Date Wed, 08 Apr 2015 00:05:56 GMT
Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/AbstractOperatorDesc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/AbstractOperatorDesc.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/AbstractOperatorDesc.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/AbstractOperatorDesc.java Wed Apr  8 00:05:54 2015
@@ -22,6 +22,7 @@ package org.apache.hadoop.hive.ql.plan;
 import java.util.Map;
 
 import org.apache.hadoop.hive.ql.exec.PTFUtils;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
 
 public class AbstractOperatorDesc implements OperatorDesc {
 
@@ -35,7 +36,7 @@ public class AbstractOperatorDesc implem
   }
 
   @Override
-  @Explain(skipHeader = true, displayName = "Statistics")
+  @Explain(skipHeader = true, displayName = "Statistics", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public Statistics getStatistics() {
     return statistics;
   }

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/AlterDatabaseDesc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/AlterDatabaseDesc.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/AlterDatabaseDesc.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/AlterDatabaseDesc.java Wed Apr  8 00:05:54 2015
@@ -21,11 +21,13 @@ package org.apache.hadoop.hive.ql.plan;
 import java.io.Serializable;
 import java.util.Map;
 
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
+
 /**
  * AlterDatabaseDesc.
  *
  */
-@Explain(displayName = "Create Database")
+@Explain(displayName = "Create Database", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
 public class AlterDatabaseDesc extends DDLDesc implements Serializable {
 
   private static final long serialVersionUID = 1L;
@@ -68,7 +70,7 @@ public class AlterDatabaseDesc extends D
     this.dbProperties = dbProps;
   }
 
-  @Explain(displayName="name")
+  @Explain(displayName="name", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public String getDatabaseName() {
     return databaseName;
   }

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/AlterIndexDesc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/AlterIndexDesc.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/AlterIndexDesc.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/AlterIndexDesc.java Wed Apr  8 00:05:54 2015
@@ -21,11 +21,13 @@ package org.apache.hadoop.hive.ql.plan;
 import java.io.Serializable;
 import java.util.Map;
 
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
+
 /**
  * AlterIndexDesc.
  *
  */
-@Explain(displayName = "Alter Index")
+@Explain(displayName = "Alter Index", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
 public class AlterIndexDesc extends DDLDesc implements Serializable {
   private static final long serialVersionUID = 1L;
   private String indexName;
@@ -53,7 +55,7 @@ public class AlterIndexDesc extends DDLD
   /**
    * @return the name of the index
    */
-  @Explain(displayName = "name")
+  @Explain(displayName = "name", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public String getIndexName() {
     return indexName;
   }
@@ -69,7 +71,7 @@ public class AlterIndexDesc extends DDLD
   /**
    * @return the baseTable
    */
-  @Explain(displayName = "new name")
+  @Explain(displayName = "new name", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public String getBaseTableName() {
     return baseTable;
   }

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/AlterTableDesc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/AlterTableDesc.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/AlterTableDesc.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/AlterTableDesc.java Wed Apr  8 00:05:54 2015
@@ -32,12 +32,13 @@ import org.apache.hadoop.hive.ql.exec.Ut
 import org.apache.hadoop.hive.ql.metadata.Table;
 import org.apache.hadoop.hive.ql.parse.ParseUtils;
 import org.apache.hadoop.hive.ql.parse.SemanticException;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
 
 /**
  * AlterTableDesc.
  *
  */
-@Explain(displayName = "Alter Table")
+@Explain(displayName = "Alter Table", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
 public class AlterTableDesc extends DDLDesc implements Serializable {
   private static final long serialVersionUID = 1L;
 
@@ -261,12 +262,12 @@ public class AlterTableDesc extends DDLD
     this.numberBuckets = numBuckets;
   }
 
-  @Explain(displayName = "new columns")
+  @Explain(displayName = "new columns", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public List<String> getNewColsString() {
     return Utilities.getFieldSchemaString(getNewCols());
   }
 
-  @Explain(displayName = "type")
+  @Explain(displayName = "type", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public String getAlterTableTypeString() {
     return op.getName();
   }
@@ -274,7 +275,7 @@ public class AlterTableDesc extends DDLD
   /**
    * @return the old name of the table
    */
-  @Explain(displayName = "old name")
+  @Explain(displayName = "old name", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public String getOldName() {
     return oldName;
   }
@@ -290,7 +291,7 @@ public class AlterTableDesc extends DDLD
   /**
    * @return the newName
    */
-  @Explain(displayName = "new name")
+  @Explain(displayName = "new name", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public String getNewName() {
     return newName;
   }
@@ -368,7 +369,7 @@ public class AlterTableDesc extends DDLD
   /**
    * @return the input format
    */
-  @Explain(displayName = "input format")
+  @Explain(displayName = "input format", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public String getInputFormat() {
     return inputFormat;
   }
@@ -384,7 +385,7 @@ public class AlterTableDesc extends DDLD
   /**
    * @return the output format
    */
-  @Explain(displayName = "output format")
+  @Explain(displayName = "output format", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public String getOutputFormat() {
     return outputFormat;
   }
@@ -400,7 +401,7 @@ public class AlterTableDesc extends DDLD
   /**
    * @return the storage handler
    */
-  @Explain(displayName = "storage handler")
+  @Explain(displayName = "storage handler", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public String getStorageHandler() {
     return storageHandler;
   }

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/ArchiveWork.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/ArchiveWork.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/ArchiveWork.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/ArchiveWork.java Wed Apr  8 00:05:54 2015
@@ -19,12 +19,14 @@
 package org.apache.hadoop.hive.ql.plan;
 
 import java.io.Serializable;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
+
 
 /**
  * ArchiveWork.
  *
  */
-@Explain(displayName = "Map Reduce")
+@Explain(displayName = "Map Reduce", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
 public class ArchiveWork implements Serializable {
   private static final long serialVersionUID = 1L;
   private ArchiveActionType type;

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/BaseWork.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/BaseWork.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/BaseWork.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/BaseWork.java Wed Apr  8 00:05:54 2015
@@ -29,6 +29,8 @@ import java.util.Stack;
 import org.apache.hadoop.hive.ql.exec.HashTableDummyOperator;
 import org.apache.hadoop.hive.ql.exec.Operator;
 import org.apache.hadoop.mapred.JobConf;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
+
 
 /**
  * BaseWork. Base class for any "work" that's being done on the cluster. Items like stats
@@ -161,7 +163,7 @@ public abstract class BaseWork extends A
   /**
    * @return the mapredLocalWork
    */
-  @Explain(displayName = "Local Work")
+  @Explain(displayName = "Local Work", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public MapredLocalWork getMapRedLocalWork() {
     return mrLocalWork;
   }

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/BucketMapJoinContext.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/BucketMapJoinContext.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/BucketMapJoinContext.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/BucketMapJoinContext.java Wed Apr  8 00:05:54 2015
@@ -30,6 +30,7 @@ import java.util.regex.Pattern;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hive.common.FileUtils;
 import org.apache.hadoop.hive.ql.exec.BucketMatcher;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
 
 /**
  * was inner class of MapreLocalWork. context for bucket mapjoin (or smb join)
@@ -130,7 +131,7 @@ public class BucketMapJoinContext implem
     this.bucketMatcherClass = bucketMatcherClass;
   }
 
-  @Explain(displayName = "Alias Bucket File Name Mapping", normalExplain = false)
+  @Explain(displayName = "Alias Bucket File Name Mapping", explainLevels = { Level.EXTENDED })
   public Map<String, Map<String, List<String>>> getAliasBucketFileNameMapping() {
     return aliasBucketFileNameMapping;
   }
@@ -149,7 +150,7 @@ public class BucketMapJoinContext implem
     }
   }
 
-  @Explain(displayName = "Alias Bucket Base File Name Mapping", normalExplain = false)
+  @Explain(displayName = "Alias Bucket Base File Name Mapping", explainLevels = { Level.EXTENDED })
   public Map<String, Map<String, List<String>>> getAliasBucketBaseFileNameMapping() {
     return aliasBucketBaseFileNameMapping;
   }
@@ -159,7 +160,7 @@ public class BucketMapJoinContext implem
     this.aliasBucketBaseFileNameMapping = aliasBucketBaseFileNameMapping;
   }
 
-  @Explain(displayName = "Alias Bucket Output File Name Mapping", normalExplain = false)
+  @Explain(displayName = "Alias Bucket Output File Name Mapping", explainLevels = { Level.EXTENDED })
   public Map<String, Integer> getBucketFileNameMapping() {
     return bucketFileNameMapping;
   }

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CollectDesc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CollectDesc.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CollectDesc.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CollectDesc.java Wed Apr  8 00:05:54 2015
@@ -17,13 +17,15 @@
  */
 
 package org.apache.hadoop.hive.ql.plan;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
+
 
 
 /**
  * CollectDesc.
  *
  */
-@Explain(displayName = "Collect")
+@Explain(displayName = "Collect", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
 public class CollectDesc extends AbstractOperatorDesc {
   private static final long serialVersionUID = 1L;
   Integer bufferSize;

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/ColumnStatsDesc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/ColumnStatsDesc.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/ColumnStatsDesc.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/ColumnStatsDesc.java Wed Apr  8 00:05:54 2015
@@ -20,6 +20,8 @@ package org.apache.hadoop.hive.ql.plan;
 import java.io.Serializable;
 import java.util.List;
 
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
+
 /**
  * Contains the information needed to persist column level statistics
  */
@@ -51,7 +53,7 @@ public class ColumnStatsDesc extends DDL
     this.tableName = tableName;
   }
 
-  @Explain(displayName = "Is Table Level Stats", normalExplain=false)
+  @Explain(displayName = "Is Table Level Stats", explainLevels = { Level.EXTENDED })
   public boolean isTblLevel() {
     return isTblLevel;
   }

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/ColumnStatsUpdateWork.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/ColumnStatsUpdateWork.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/ColumnStatsUpdateWork.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/ColumnStatsUpdateWork.java Wed Apr  8 00:05:54 2015
@@ -21,6 +21,8 @@ package org.apache.hadoop.hive.ql.plan;
 import java.io.Serializable;
 import java.util.List;
 import java.util.Map;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
+
 
 /**
  * ColumnStatsUpdateWork implementation. ColumnStatsUpdateWork will persist the
@@ -30,7 +32,7 @@ import java.util.Map;
  * PARTITION(partitionId=100) UPDATE STATISTICS for column value SET
  * ('maxColLen'='4444','avgColLen'='44.4');
  */
-@Explain(displayName = "Column Stats Update Work")
+@Explain(displayName = "Column Stats Update Work", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
 public class ColumnStatsUpdateWork implements Serializable {
   private static final long serialVersionUID = 1L;
   private ColumnStatsDesc colStats;

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/ColumnStatsWork.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/ColumnStatsWork.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/ColumnStatsWork.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/ColumnStatsWork.java Wed Apr  8 00:05:54 2015
@@ -21,12 +21,14 @@ package org.apache.hadoop.hive.ql.plan;
 import java.io.Serializable;
 
 import org.apache.hadoop.hive.ql.exec.ListSinkOperator;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
+
 
 /**
  * ColumnStats Work.
  *
  */
-@Explain(displayName = "Column Stats Work")
+@Explain(displayName = "Column Stats Work", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
 public class ColumnStatsWork implements Serializable {
   private static final long serialVersionUID = 1L;
   private FetchWork fWork;

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CommonMergeJoinDesc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CommonMergeJoinDesc.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CommonMergeJoinDesc.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CommonMergeJoinDesc.java Wed Apr  8 00:05:54 2015
@@ -19,8 +19,10 @@
 package org.apache.hadoop.hive.ql.plan;
 
 import java.io.Serializable;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
 
-@Explain(displayName = "Merge Join Operator")
+
+@Explain(displayName = "Merge Join Operator", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
 public class CommonMergeJoinDesc extends MapJoinDesc implements Serializable {
   private static final long serialVersionUID = 1L;
   private int numBuckets;

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CopyWork.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CopyWork.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CopyWork.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CopyWork.java Wed Apr  8 00:05:54 2015
@@ -21,12 +21,13 @@ package org.apache.hadoop.hive.ql.plan;
 import java.io.Serializable;
 
 import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
 
 /**
  * CopyWork.
  *
  */
-@Explain(displayName = "Copy")
+@Explain(displayName = "Copy", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
 public class CopyWork implements Serializable {
   private static final long serialVersionUID = 1L;
   private Path fromPath;
@@ -46,12 +47,12 @@ public class CopyWork implements Seriali
     this.setErrorOnSrcEmpty(errorOnSrcEmpty);
   }
   
-  @Explain(displayName = "source")
+  @Explain(displayName = "source", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public Path getFromPath() {
     return fromPath;
   }
 
-  @Explain(displayName = "destination")
+  @Explain(displayName = "destination", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public Path getToPath() {
     return toPath;
   }

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateDatabaseDesc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateDatabaseDesc.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateDatabaseDesc.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateDatabaseDesc.java Wed Apr  8 00:05:54 2015
@@ -21,11 +21,13 @@ package org.apache.hadoop.hive.ql.plan;
 import java.io.Serializable;
 import java.util.Map;
 
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
+
 /**
  * CreateDatabaseDesc.
  *
  */
-@Explain(displayName = "Create Database")
+@Explain(displayName = "Create Database", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
 public class CreateDatabaseDesc extends DDLDesc implements Serializable {
 
   private static final long serialVersionUID = 1L;
@@ -75,7 +77,7 @@ public class CreateDatabaseDesc extends
     this.dbProperties = dbProps;
   }
 
-  @Explain(displayName="name")
+  @Explain(displayName="name", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public String getName() {
     return databaseName;
   }

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateFunctionDesc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateFunctionDesc.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateFunctionDesc.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateFunctionDesc.java Wed Apr  8 00:05:54 2015
@@ -22,12 +22,13 @@ import java.io.Serializable;
 import java.util.List;
 
 import org.apache.hadoop.hive.metastore.api.ResourceUri;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
 
 /**
  * CreateFunctionDesc.
  *
  */
-@Explain(displayName = "Create Function")
+@Explain(displayName = "Create Function", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
 public class CreateFunctionDesc implements Serializable {
   private static final long serialVersionUID = 1L;
 
@@ -50,7 +51,7 @@ public class CreateFunctionDesc implemen
     this.resources = resources;
   }
 
-  @Explain(displayName = "name")
+  @Explain(displayName = "name", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public String getFunctionName() {
     return functionName;
   }

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateMacroDesc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateMacroDesc.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateMacroDesc.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateMacroDesc.java Wed Apr  8 00:05:54 2015
@@ -21,13 +21,14 @@ package org.apache.hadoop.hive.ql.plan;
 import java.io.Serializable;
 import java.util.List;
 
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
 import org.apache.hadoop.hive.serde2.typeinfo.TypeInfo;
 
 /**
  * CreateMacroDesc.
  *
  */
-@Explain(displayName = "Create Macro")
+@Explain(displayName = "Create Macro", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
 public class CreateMacroDesc implements Serializable {
   private static final long serialVersionUID = 1L;
 
@@ -52,7 +53,7 @@ public class CreateMacroDesc implements
     this.body = body;
   }
 
-  @Explain(displayName = "name")
+  @Explain(displayName = "name", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public String getMacroName() {
     return macroName;
   }

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateTableDesc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateTableDesc.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateTableDesc.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateTableDesc.java Wed Apr  8 00:05:54 2015
@@ -40,12 +40,14 @@ import org.apache.hadoop.hive.ql.parse.S
 import org.apache.hadoop.hive.serde2.typeinfo.TypeInfo;
 import org.apache.hadoop.hive.serde2.typeinfo.TypeInfoFactory;
 import org.apache.hadoop.mapred.OutputFormat;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
+
 
 /**
  * CreateTableDesc.
  *
  */
-@Explain(displayName = "Create Table")
+@Explain(displayName = "Create Table", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
 public class CreateTableDesc extends DDLDesc implements Serializable {
   private static final long serialVersionUID = 1L;
   private static Log LOG = LogFactory.getLog(CreateTableDesc.class);
@@ -140,12 +142,12 @@ public class CreateTableDesc extends DDL
     return copy == null ? null : new ArrayList<T>(copy);
   }
 
-  @Explain(displayName = "columns")
+  @Explain(displayName = "columns", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public List<String> getColsString() {
     return Utilities.getFieldSchemaString(getCols());
   }
 
-  @Explain(displayName = "partition columns")
+  @Explain(displayName = "partition columns", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public List<String> getPartColsString() {
     return Utilities.getFieldSchemaString(getPartCols());
   }
@@ -159,7 +161,7 @@ public class CreateTableDesc extends DDL
     this.ifNotExists = ifNotExists;
   }
 
-  @Explain(displayName = "name")
+  @Explain(displayName = "name", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public String getTableName() {
     return tableName;
   }
@@ -188,7 +190,7 @@ public class CreateTableDesc extends DDL
     this.partCols = partCols;
   }
 
-  @Explain(displayName = "bucket columns")
+  @Explain(displayName = "bucket columns", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public List<String> getBucketCols() {
     return bucketCols;
   }
@@ -197,7 +199,7 @@ public class CreateTableDesc extends DDL
     this.bucketCols = bucketCols;
   }
 
-  @Explain(displayName = "# buckets")
+  @Explain(displayName = "# buckets", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public Integer getNumBucketsExplain() {
     if (numBuckets == -1) {
       return null;
@@ -268,7 +270,7 @@ public class CreateTableDesc extends DDL
     this.comment = comment;
   }
 
-  @Explain(displayName = "input format")
+  @Explain(displayName = "input format", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public String getInputFormat() {
     return inputFormat;
   }
@@ -277,7 +279,7 @@ public class CreateTableDesc extends DDL
     this.inputFormat = inputFormat;
   }
 
-  @Explain(displayName = "output format")
+  @Explain(displayName = "output format", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public String getOutputFormat() {
     return outputFormat;
   }
@@ -286,7 +288,7 @@ public class CreateTableDesc extends DDL
     this.outputFormat = outputFormat;
   }
 
-  @Explain(displayName = "storage handler")
+  @Explain(displayName = "storage handler", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public String getStorageHandler() {
     return storageHandler;
   }

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateTableLikeDesc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateTableLikeDesc.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateTableLikeDesc.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateTableLikeDesc.java Wed Apr  8 00:05:54 2015
@@ -21,11 +21,13 @@ package org.apache.hadoop.hive.ql.plan;
 import java.io.Serializable;
 import java.util.Map;
 
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
+
 /**
  * CreateTableLikeDesc.
  *
  */
-@Explain(displayName = "Create Table")
+@Explain(displayName = "Create Table", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
 public class CreateTableLikeDesc extends DDLDesc implements Serializable {
   private static final long serialVersionUID = 1L;
   String tableName;
@@ -71,7 +73,7 @@ public class CreateTableLikeDesc extends
     this.ifNotExists = ifNotExists;
   }
 
-  @Explain(displayName = "name")
+  @Explain(displayName = "name", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public String getTableName() {
     return tableName;
   }
@@ -80,7 +82,7 @@ public class CreateTableLikeDesc extends
     this.tableName = tableName;
   }
 
-  @Explain(displayName = "default input format")
+  @Explain(displayName = "default input format", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public String getDefaultInputFormat() {
     return defaultInputFormat;
   }
@@ -89,7 +91,7 @@ public class CreateTableLikeDesc extends
     this.defaultInputFormat = inputFormat;
   }
 
-  @Explain(displayName = "default output format")
+  @Explain(displayName = "default output format", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public String getDefaultOutputFormat() {
     return defaultOutputFormat;
   }
@@ -148,7 +150,7 @@ public class CreateTableLikeDesc extends
     this.defaultSerdeProps = serdeProps;
   }
 
-  @Explain(displayName = "like")
+  @Explain(displayName = "like", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public String getLikeTableName() {
     return likeTableName;
   }

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateViewDesc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateViewDesc.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateViewDesc.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateViewDesc.java Wed Apr  8 00:05:54 2015
@@ -24,12 +24,14 @@ import java.util.Map;
 
 import org.apache.hadoop.hive.metastore.api.FieldSchema;
 import org.apache.hadoop.hive.ql.exec.Utilities;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
+
 
 /**
  * CreateViewDesc.
  *
  */
-@Explain(displayName = "Create View")
+@Explain(displayName = "Create View", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
 public class CreateViewDesc extends DDLDesc implements Serializable {
   private static final long serialVersionUID = 1L;
 
@@ -65,7 +67,7 @@ public class CreateViewDesc extends DDLD
     this.isAlterViewAs = isAlterViewAs;
   }
 
-  @Explain(displayName = "name")
+  @Explain(displayName = "name", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public String getViewName() {
     return viewName;
   }
@@ -74,7 +76,7 @@ public class CreateViewDesc extends DDLD
     this.viewName = viewName;
   }
 
-  @Explain(displayName = "original text")
+  @Explain(displayName = "original text", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public String getViewOriginalText() {
     return originalText;
   }

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DDLWork.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DDLWork.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DDLWork.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DDLWork.java Wed Apr  8 00:05:54 2015
@@ -23,6 +23,7 @@ import java.util.HashSet;
 import org.apache.hadoop.hive.ql.hooks.ReadEntity;
 import org.apache.hadoop.hive.ql.hooks.WriteEntity;
 import org.apache.hadoop.hive.ql.parse.AlterTablePartMergeFilesDesc;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
 
 /**
  * DDLWork.
@@ -562,7 +563,7 @@ public class DDLWork implements Serializ
   /**
    * @return the createTblDesc
    */
-  @Explain(displayName = "Create Table Operator")
+  @Explain(displayName = "Create Table Operator", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public CreateTableDesc getCreateTblDesc() {
     return createTblDesc;
   }
@@ -608,7 +609,7 @@ public class DDLWork implements Serializ
   /**
    * @return the createTblDesc
    */
-  @Explain(displayName = "Create Table Operator")
+  @Explain(displayName = "Create Table Operator", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public CreateTableLikeDesc getCreateTblLikeDesc() {
     return createTblLikeDesc;
   }
@@ -624,7 +625,7 @@ public class DDLWork implements Serializ
   /**
    * @return the createTblDesc
    */
-  @Explain(displayName = "Create View Operator")
+  @Explain(displayName = "Create View Operator", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public CreateViewDesc getCreateViewDesc() {
     return createVwDesc;
   }
@@ -640,7 +641,7 @@ public class DDLWork implements Serializ
   /**
    * @return the dropTblDesc
    */
-  @Explain(displayName = "Drop Table Operator")
+  @Explain(displayName = "Drop Table Operator", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public DropTableDesc getDropTblDesc() {
     return dropTblDesc;
   }
@@ -656,7 +657,7 @@ public class DDLWork implements Serializ
   /**
    * @return the alterTblDesc
    */
-  @Explain(displayName = "Alter Table Operator")
+  @Explain(displayName = "Alter Table Operator", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public AlterTableDesc getAlterTblDesc() {
     return alterTblDesc;
   }
@@ -672,7 +673,7 @@ public class DDLWork implements Serializ
   /**
    * @return the showDatabasesDesc
    */
-  @Explain(displayName = "Show Databases Operator")
+  @Explain(displayName = "Show Databases Operator", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public ShowDatabasesDesc getShowDatabasesDesc() {
     return showDatabasesDesc;
   }
@@ -688,7 +689,7 @@ public class DDLWork implements Serializ
   /**
    * @return the showTblsDesc
    */
-  @Explain(displayName = "Show Table Operator")
+  @Explain(displayName = "Show Table Operator", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public ShowTablesDesc getShowTblsDesc() {
     return showTblsDesc;
   }
@@ -704,7 +705,7 @@ public class DDLWork implements Serializ
   /**
    * @return the showColumnsDesc
    */
-  @Explain(displayName = "Show Columns Operator")
+  @Explain(displayName = "Show Columns Operator", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public ShowColumnsDesc getShowColumnsDesc() {
     return showColumnsDesc;
   }
@@ -720,7 +721,7 @@ public class DDLWork implements Serializ
   /**
    * @return the showFuncsDesc
    */
-  @Explain(displayName = "Show Function Operator")
+  @Explain(displayName = "Show Function Operator", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public ShowFunctionsDesc getShowFuncsDesc() {
     return showFuncsDesc;
   }
@@ -728,17 +729,17 @@ public class DDLWork implements Serializ
   /**
    * @return the showLocksDesc
    */
-  @Explain(displayName = "Show Lock Operator")
+  @Explain(displayName = "Show Lock Operator", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public ShowLocksDesc getShowLocksDesc() {
     return showLocksDesc;
   }
 
-  @Explain(displayName = "Show Compactions Operator")
+  @Explain(displayName = "Show Compactions Operator", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public ShowCompactionsDesc getShowCompactionsDesc() {
     return showCompactionsDesc;
   }
 
-  @Explain(displayName = "Show Transactions Operator")
+  @Explain(displayName = "Show Transactions Operator", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public ShowTxnsDesc getShowTxnsDesc() {
     return showTxnsDesc;
   }
@@ -746,7 +747,7 @@ public class DDLWork implements Serializ
   /**
    * @return the lockTblDesc
    */
-  @Explain(displayName = "Lock Table Operator")
+  @Explain(displayName = "Lock Table Operator", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public LockTableDesc getLockTblDesc() {
     return lockTblDesc;
   }
@@ -754,7 +755,7 @@ public class DDLWork implements Serializ
   /**
    * @return the unlockTblDesc
    */
-  @Explain(displayName = "Unlock Table Operator")
+  @Explain(displayName = "Unlock Table Operator", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public UnlockTableDesc getUnlockTblDesc() {
     return unlockTblDesc;
   }
@@ -762,7 +763,7 @@ public class DDLWork implements Serializ
   /**
    * @return the descFuncDesc
    */
-  @Explain(displayName = "Show Function Operator")
+  @Explain(displayName = "Show Function Operator", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public DescFunctionDesc getDescFunctionDesc() {
     return descFunctionDesc;
   }
@@ -818,7 +819,7 @@ public class DDLWork implements Serializ
   /**
    * @return the showPartsDesc
    */
-  @Explain(displayName = "Show Partitions Operator")
+  @Explain(displayName = "Show Partitions Operator", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public ShowPartitionsDesc getShowPartsDesc() {
     return showPartsDesc;
   }
@@ -834,7 +835,7 @@ public class DDLWork implements Serializ
   /**
    * @return the showCreateTblDesc
    */
-  @Explain(displayName = "Show Create Table Operator")
+  @Explain(displayName = "Show Create Table Operator", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public ShowCreateTableDesc getShowCreateTblDesc() {
     return showCreateTblDesc;
   }
@@ -850,7 +851,7 @@ public class DDLWork implements Serializ
   /**
    * @return the showIndexesDesc
    */
-  @Explain(displayName = "Show Index Operator")
+  @Explain(displayName = "Show Index Operator", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public ShowIndexesDesc getShowIndexesDesc() {
     return showIndexesDesc;
   }
@@ -862,7 +863,7 @@ public class DDLWork implements Serializ
   /**
    * @return the descTblDesc
    */
-  @Explain(displayName = "Describe Table Operator")
+  @Explain(displayName = "Describe Table Operator", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public DescTableDesc getDescTblDesc() {
     return descTblDesc;
   }
@@ -878,7 +879,7 @@ public class DDLWork implements Serializ
   /**
    * @return information about the partitions we want to add.
    */
-  @Explain(displayName = "Add Partition Operator")
+  @Explain(displayName = "Add Partition Operator", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public AddPartitionDesc getAddPartitionDesc() {
     return addPartitionDesc;
   }
@@ -1101,7 +1102,7 @@ public class DDLWork implements Serializ
     this.alterTableAlterPartDesc = alterPartitionDesc;
   }
 
-  @Explain(displayName = "Truncate Table Operator")
+  @Explain(displayName = "Truncate Table Operator", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public TruncateTableDesc getTruncateTblDesc() {
     return truncateTblDesc;
   }

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DemuxDesc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DemuxDesc.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DemuxDesc.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DemuxDesc.java Wed Apr  8 00:05:54 2015
@@ -20,13 +20,15 @@ package org.apache.hadoop.hive.ql.plan;
 
 import java.util.List;
 import java.util.Map;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
+
 
 
 /**
  * Demux operator descriptor implementation.
  *
  */
-@Explain(displayName = "Demux Operator")
+@Explain(displayName = "Demux Operator", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
 public class DemuxDesc extends AbstractOperatorDesc {
 
   private static final long serialVersionUID = 1L;

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DependencyCollectionWork.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DependencyCollectionWork.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DependencyCollectionWork.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DependencyCollectionWork.java Wed Apr  8 00:05:54 2015
@@ -19,12 +19,14 @@
 package org.apache.hadoop.hive.ql.plan;
 
 import java.io.Serializable;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
+
 
 /**
  * DependencyCollectionWork
  *
  */
-@Explain(displayName = "Dependency Collection")
+@Explain(displayName = "Dependency Collection", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
 public class DependencyCollectionWork implements Serializable {
   private static final long serialVersionUID = 1L;
 

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DescDatabaseDesc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DescDatabaseDesc.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DescDatabaseDesc.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DescDatabaseDesc.java Wed Apr  8 00:05:54 2015
@@ -21,12 +21,13 @@ package org.apache.hadoop.hive.ql.plan;
 import java.io.Serializable;
 
 import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
 
 /**
  * DescDatabaseDesc.
  *
  */
-@Explain(displayName = "Describe Database")
+@Explain(displayName = "Describe Database", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
 public class DescDatabaseDesc extends DDLDesc implements Serializable {
 
   private static final long serialVersionUID = 1L;
@@ -76,7 +77,7 @@ public class DescDatabaseDesc extends DD
   /**
    * @return the tableName
    */
-  @Explain(displayName = "database")
+  @Explain(displayName = "database", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public String getDatabaseName() {
     return dbName;
   }
@@ -92,7 +93,7 @@ public class DescDatabaseDesc extends DD
   /**
    * @return the resFile
    */
-  @Explain(displayName = "result file", normalExplain = false)
+  @Explain(displayName = "result file", explainLevels = { Level.EXTENDED })
   public String getResFile() {
     return resFile;
   }

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DescFunctionDesc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DescFunctionDesc.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DescFunctionDesc.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DescFunctionDesc.java Wed Apr  8 00:05:54 2015
@@ -21,12 +21,13 @@ package org.apache.hadoop.hive.ql.plan;
 import java.io.Serializable;
 
 import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
 
 /**
  * DescFunctionDesc.
  *
  */
-@Explain(displayName = "Describe Function")
+@Explain(displayName = "Describe Function", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
 public class DescFunctionDesc extends DDLDesc implements Serializable {
   private static final long serialVersionUID = 1L;
   String name;
@@ -82,7 +83,7 @@ public class DescFunctionDesc extends DD
   /**
    * @return the name
    */
-  @Explain(displayName = "name")
+  @Explain(displayName = "name", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public String getName() {
     return name;
   }
@@ -98,7 +99,7 @@ public class DescFunctionDesc extends DD
   /**
    * @return the resFile
    */
-  @Explain(displayName = "result file", normalExplain = false)
+  @Explain(displayName = "result file", explainLevels = { Level.EXTENDED })
   public String getResFile() {
     return resFile;
   }

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DescTableDesc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DescTableDesc.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DescTableDesc.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DescTableDesc.java Wed Apr  8 00:05:54 2015
@@ -22,12 +22,14 @@ import java.io.Serializable;
 import java.util.Map;
 
 import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
+
 
 /**
  * DescTableDesc.
  *
  */
-@Explain(displayName = "Describe Table")
+@Explain(displayName = "Describe Table", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
 public class DescTableDesc extends DDLDesc implements Serializable {
   public void setPartSpec(Map<String, String> partSpec) {
     this.partSpec = partSpec;
@@ -131,7 +133,7 @@ public class DescTableDesc extends DDLDe
   /**
    * @return the tableName
    */
-  @Explain(displayName = "table")
+  @Explain(displayName = "table", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public String getTableName() {
     return tableName;
   }
@@ -162,7 +164,7 @@ public class DescTableDesc extends DDLDe
   /**
    * @return the partSpec
    */
-  @Explain(displayName = "partition")
+  @Explain(displayName = "partition", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public Map<String, String> getPartSpec() {
     return partSpec;
   }
@@ -178,7 +180,7 @@ public class DescTableDesc extends DDLDe
   /**
    * @return the resFile
    */
-  @Explain(displayName = "result file", normalExplain = false)
+  @Explain(displayName = "result file", explainLevels = { Level.EXTENDED })
   public String getResFile() {
     return resFile;
   }

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DropDatabaseDesc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DropDatabaseDesc.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DropDatabaseDesc.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DropDatabaseDesc.java Wed Apr  8 00:05:54 2015
@@ -19,12 +19,14 @@
 package org.apache.hadoop.hive.ql.plan;
 
 import java.io.Serializable;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
+
 
 /**
  * DropDatabaseDesc.
  *
  */
-@Explain(displayName = "Drop Database")
+@Explain(displayName = "Drop Database", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
 public class DropDatabaseDesc extends DDLDesc implements Serializable {
   private static final long serialVersionUID = 1L;
 
@@ -43,7 +45,7 @@ public class DropDatabaseDesc extends DD
     this.cascade = cascade;
   }
 
-  @Explain(displayName = "database")
+  @Explain(displayName = "database", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public String getDatabaseName() {
     return databaseName;
   }

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DropFunctionDesc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DropFunctionDesc.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DropFunctionDesc.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DropFunctionDesc.java Wed Apr  8 00:05:54 2015
@@ -19,12 +19,14 @@
 package org.apache.hadoop.hive.ql.plan;
 
 import java.io.Serializable;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
+
 
 /**
  * DropFunctionDesc.
  *
  */
-@Explain(displayName = "Drop Function")
+@Explain(displayName = "Drop Function", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
 public class DropFunctionDesc implements Serializable {
   private static final long serialVersionUID = 1L;
 
@@ -42,7 +44,7 @@ public class DropFunctionDesc implements
     this.isTemp = isTemp;
   }
 
-  @Explain(displayName = "name")
+  @Explain(displayName = "name", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public String getFunctionName() {
     return functionName;
   }

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DropMacroDesc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DropMacroDesc.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DropMacroDesc.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DropMacroDesc.java Wed Apr  8 00:05:54 2015
@@ -19,12 +19,14 @@
 package org.apache.hadoop.hive.ql.plan;
 
 import java.io.Serializable;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
+
 
 /**
  * DropMacroDesc.
  *
  */
-@Explain(displayName = "Drop Macro")
+@Explain(displayName = "Drop Macro", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
 public class DropMacroDesc implements Serializable {
   private static final long serialVersionUID = 1L;
 
@@ -40,7 +42,7 @@ public class DropMacroDesc implements Se
     this.macroName = macroName;
   }
 
-  @Explain(displayName = "name")
+  @Explain(displayName = "name", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public String getMacroName() {
     return macroName;
   }

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DropTableDesc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DropTableDesc.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DropTableDesc.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DropTableDesc.java Wed Apr  8 00:05:54 2015
@@ -22,12 +22,14 @@ import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
+
 
 /**
  * DropTableDesc.
  * TODO: this is currently used for both drop table and drop partitions.
  */
-@Explain(displayName = "Drop Table")
+@Explain(displayName = "Drop Table", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
 public class DropTableDesc extends DDLDesc implements Serializable {
   private static final long serialVersionUID = 1L;
 
@@ -89,7 +91,7 @@ public class DropTableDesc extends DDLDe
   /**
    * @return the tableName
    */
-  @Explain(displayName = "table")
+  @Explain(displayName = "table", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public String getTableName() {
     return tableName;
   }

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DummyStoreDesc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DummyStoreDesc.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DummyStoreDesc.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DummyStoreDesc.java Wed Apr  8 00:05:54 2015
@@ -17,13 +17,15 @@
  */
 
 package org.apache.hadoop.hive.ql.plan;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
+
 
 
 /**
  * Dummy Store Desc. This is only used by sort-merge joins to store the
  * result for the small table (sub-query) being scanned.
  */
-@Explain(displayName = "Dummy Store")
+@Explain(displayName = "Dummy Store", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
 public class DummyStoreDesc extends AbstractOperatorDesc {
   private static final long serialVersionUID = 1L;
 

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DynamicPruningEventDesc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DynamicPruningEventDesc.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DynamicPruningEventDesc.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/DynamicPruningEventDesc.java Wed Apr  8 00:05:54 2015
@@ -22,9 +22,11 @@ import java.io.IOException;
 
 import org.apache.hadoop.hive.ql.exec.TableScanOperator;
 import org.apache.hadoop.io.DataOutputBuffer;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
+
 
 @SuppressWarnings("serial")
-@Explain(displayName = "Dynamic Partitioning Event Operator")
+@Explain(displayName = "Dynamic Partitioning Event Operator", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
 public class DynamicPruningEventDesc extends AppMasterEventDesc {
 
   // column in the target table that will be pruned against

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/Explain.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/Explain.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/Explain.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/Explain.java Wed Apr  8 00:05:54 2015
@@ -27,9 +27,20 @@ import java.lang.annotation.RetentionPol
  */
 @Retention(RetentionPolicy.RUNTIME)
 public @interface Explain {
+  public enum Level {
+    USER, DEFAULT, EXTENDED;
+    public boolean in(Level[] levels) {
+      for (Level level : levels) {
+        if (level.equals(this)) {
+          return true;
+        }
+      }
+      return false;
+    }
+  };
   String displayName() default "";
 
-  boolean normalExplain() default true;
+  Level[] explainLevels() default { Level.DEFAULT, Level.EXTENDED };
 
   boolean displayOnlyOnTrue() default false;
 

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/ExplainWork.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/ExplainWork.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/ExplainWork.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/ExplainWork.java Wed Apr  8 00:05:54 2015
@@ -51,6 +51,8 @@ public class ExplainWork implements Seri
   boolean appendTaskType;
 
   boolean authorize;
+  boolean userLevelExplain;
+  String cboInfo;
 
   private transient BaseSemanticAnalyzer analyzer;
 
@@ -67,7 +69,9 @@ public class ExplainWork implements Seri
       boolean formatted,
       boolean dependency,
       boolean logical,
-      boolean authorize) {
+      boolean authorize,
+      boolean userLevelExplain,
+      String cboInfo) {
     this.resFile = resFile;
     this.rootTasks = new ArrayList<Task<? extends Serializable>>(rootTasks);
     this.fetchTask = fetchTask;
@@ -80,6 +84,8 @@ public class ExplainWork implements Seri
     this.logical = logical;
     this.pCtx = pCtx;
     this.authorize = authorize;
+    this.userLevelExplain = userLevelExplain;
+    this.cboInfo = cboInfo;
   }
 
   public Path getResFile() {
@@ -181,4 +187,21 @@ public class ExplainWork implements Seri
   public BaseSemanticAnalyzer getAnalyzer() {
     return analyzer;
   }
+
+  public boolean isUserLevelExplain() {
+    return userLevelExplain;
+  }
+
+  public void setUserLevelExplain(boolean userLevelExplain) {
+    this.userLevelExplain = userLevelExplain;
+  }
+
+  public String getCboInfo() {
+    return cboInfo;
+  }
+
+  public void setCboInfo(String cboInfo) {
+    this.cboInfo = cboInfo;
+  }
+
 }

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/ExplosionDesc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/ExplosionDesc.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/ExplosionDesc.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/ExplosionDesc.java Wed Apr  8 00:05:54 2015
@@ -19,12 +19,14 @@
 package org.apache.hadoop.hive.ql.plan;
 
 import java.io.Serializable;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
+
 
 /**
  * ExplosionDesc.
  *
  */
-@Explain(displayName = "Explosion")
+@Explain(displayName = "Explosion", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
 public class ExplosionDesc implements Serializable {
   private static final long serialVersionUID = 1L;
   private String fieldName;

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/FetchWork.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/FetchWork.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/FetchWork.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/FetchWork.java Wed Apr  8 00:05:54 2015
@@ -29,13 +29,14 @@ import org.apache.hadoop.hive.ql.exec.Li
 import org.apache.hadoop.hive.ql.exec.Operator;
 import org.apache.hadoop.hive.ql.exec.OperatorFactory;
 import org.apache.hadoop.hive.ql.parse.SplitSample;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
 import org.apache.hadoop.hive.serde2.objectinspector.StructObjectInspector;
 
 /**
  * FetchWork.
  *
  */
-@Explain(displayName = "Fetch Operator")
+@Explain(displayName = "Fetch Operator", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
 public class FetchWork implements Serializable {
   private static final long serialVersionUID = 1L;
 
@@ -185,7 +186,7 @@ public class FetchWork implements Serial
    *
    * @return the partDesc array list
    */
-  @Explain(displayName = "Partition Description", normalExplain = false)
+  @Explain(displayName = "Partition Description", explainLevels = { Level.EXTENDED })
   public ArrayList<PartitionDesc> getPartDescOrderedByPartDir() {
     ArrayList<PartitionDesc> partDescOrdered = partDesc;
 
@@ -232,7 +233,7 @@ public class FetchWork implements Serial
   /**
    * @return the limit
    */
-  @Explain(displayName = "limit")
+  @Explain(displayName = "limit", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public int getLimit() {
     return limit;
   }
@@ -253,7 +254,7 @@ public class FetchWork implements Serial
     this.leastNumRows = leastNumRows;
   }
 
-  @Explain(displayName = "Processor Tree")
+  @Explain(displayName = "Processor Tree", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public Operator<?> getSource() {
     return source;
   }

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/FileSinkDesc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/FileSinkDesc.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/FileSinkDesc.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/FileSinkDesc.java Wed Apr  8 00:05:54 2015
@@ -24,12 +24,14 @@ import java.util.List;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hive.ql.io.AcidUtils;
 import org.apache.hadoop.hive.ql.metadata.Table;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
+
 
 /**
  * FileSinkDesc.
  *
  */
-@Explain(displayName = "File Output Operator")
+@Explain(displayName = "File Output Operator", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
 public class FileSinkDesc extends AbstractOperatorDesc {
   private static final long serialVersionUID = 1L;
 
@@ -151,7 +153,7 @@ public class FileSinkDesc extends Abstra
     return (Object) ret;
   }
 
-  @Explain(displayName = "directory", normalExplain = false)
+  @Explain(displayName = "directory", explainLevels = { Level.EXTENDED })
   public Path getDirName() {
     return dirName;
   }
@@ -164,7 +166,7 @@ public class FileSinkDesc extends Abstra
     return linkedFileSink ? parentDir : dirName;
   }
 
-  @Explain(displayName = "table")
+  @Explain(displayName = "table", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public TableDesc getTableInfo() {
     return tableInfo;
   }
@@ -173,7 +175,7 @@ public class FileSinkDesc extends Abstra
     this.tableInfo = tableInfo;
   }
 
-  @Explain(displayName = "compressed")
+  @Explain(displayName = "compressed", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public boolean getCompressed() {
     return compressed;
   }
@@ -182,7 +184,7 @@ public class FileSinkDesc extends Abstra
     this.compressed = compressed;
   }
 
-  @Explain(displayName = "GlobalTableId", normalExplain = false)
+  @Explain(displayName = "GlobalTableId", explainLevels = { Level.EXTENDED })
   public int getDestTableId() {
     return destTableId;
   }
@@ -210,7 +212,7 @@ public class FileSinkDesc extends Abstra
   /**
    * @return the multiFileSpray
    */
-  @Explain(displayName = "MultiFileSpray", normalExplain = false)
+  @Explain(displayName = "MultiFileSpray", explainLevels = { Level.EXTENDED })
   public boolean isMultiFileSpray() {
     return multiFileSpray;
   }
@@ -248,7 +250,7 @@ public class FileSinkDesc extends Abstra
   /**
    * @return the totalFiles
    */
-  @Explain(displayName = "TotalFiles", normalExplain = false)
+  @Explain(displayName = "TotalFiles", explainLevels = { Level.EXTENDED })
   public int getTotalFiles() {
     return totalFiles;
   }
@@ -277,7 +279,7 @@ public class FileSinkDesc extends Abstra
   /**
    * @return the numFiles
    */
-  @Explain(displayName = "NumFilesPerFileSink", normalExplain = false)
+  @Explain(displayName = "NumFilesPerFileSink", explainLevels = { Level.EXTENDED })
   public int getNumFiles() {
     return numFiles;
   }
@@ -301,7 +303,7 @@ public class FileSinkDesc extends Abstra
     this.staticSpec = staticSpec;
   }
 
-  @Explain(displayName = "Static Partition Specification", normalExplain = false)
+  @Explain(displayName = "Static Partition Specification", explainLevels = { Level.EXTENDED })
   public String getStaticSpec() {
     return staticSpec;
   }
@@ -310,7 +312,7 @@ public class FileSinkDesc extends Abstra
     this.gatherStats = gatherStats;
   }
 
-  @Explain(displayName = "GatherStats", normalExplain = false)
+  @Explain(displayName = "GatherStats", explainLevels = { Level.EXTENDED })
   public boolean isGatherStats() {
     return gatherStats;
   }
@@ -326,7 +328,7 @@ public class FileSinkDesc extends Abstra
    * will be aggregated.
    * @return key prefix used for stats publishing and aggregation.
    */
-  @Explain(displayName = "Stats Publishing Key Prefix", normalExplain = false)
+  @Explain(displayName = "Stats Publishing Key Prefix", explainLevels = { Level.EXTENDED })
   public String getStatsAggPrefix() {
     // dirName uniquely identifies destination directory of a FileSinkOperator.
     // If more than one FileSinkOperator write to the same partition, this dirName

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/FilterDesc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/FilterDesc.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/FilterDesc.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/FilterDesc.java Wed Apr  8 00:05:54 2015
@@ -19,13 +19,15 @@
 package org.apache.hadoop.hive.ql.plan;
 
 import java.util.List;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
+
 
 
 /**
  * FilterDesc.
  *
  */
-@Explain(displayName = "Filter Operator")
+@Explain(displayName = "Filter Operator", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
 public class FilterDesc extends AbstractOperatorDesc {
 
   /**
@@ -100,7 +102,7 @@ public class FilterDesc extends Abstract
     this.sampleDescr = sampleDescr;
   }
 
-  @Explain(displayName = "predicate")
+  @Explain(displayName = "predicate", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public String getPredicateString() {
     StringBuffer sb = new StringBuffer();
     PlanUtils.addExprToStringBuffer(predicate, sb);
@@ -116,7 +118,7 @@ public class FilterDesc extends Abstract
     this.predicate = predicate;
   }
 
-  @Explain(displayName = "isSamplingPred", normalExplain = false)
+  @Explain(displayName = "isSamplingPred", explainLevels = { Level.EXTENDED })
   public boolean getIsSamplingPred() {
     return isSamplingPred;
   }
@@ -133,7 +135,7 @@ public class FilterDesc extends Abstract
     this.sampleDescr = sampleDescr;
   }
 
-  @Explain(displayName = "sampleDesc", normalExplain = false)
+  @Explain(displayName = "sampleDesc", explainLevels = { Level.EXTENDED })
   public String getSampleDescExpr() {
     return sampleDescr == null ? null : sampleDescr.toString();
   }

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/ForwardDesc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/ForwardDesc.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/ForwardDesc.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/ForwardDesc.java Wed Apr  8 00:05:54 2015
@@ -17,13 +17,15 @@
  */
 
 package org.apache.hadoop.hive.ql.plan;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
+
 
 
 /**
  * ForwardDesc.
  *
  */
-@Explain(displayName = "Forward")
+@Explain(displayName = "Forward", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
 public class ForwardDesc extends AbstractOperatorDesc {
   private static final long serialVersionUID = 1L;
 

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/GrantDesc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/GrantDesc.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/GrantDesc.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/GrantDesc.java Wed Apr  8 00:05:54 2015
@@ -22,8 +22,10 @@ import java.io.Serializable;
 import java.util.List;
 
 import org.apache.hadoop.hive.metastore.api.PrincipalType;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
 
-@Explain(displayName = "Grant")
+
+@Explain(displayName = "Grant", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
 public class GrantDesc extends DDLDesc implements Serializable, Cloneable {
 
   private static final long serialVersionUID = 1L;
@@ -55,7 +57,7 @@ public class GrantDesc extends DDLDesc i
   /**
    * @return privileges
    */
-  @Explain(displayName = "Privileges")
+  @Explain(displayName = "Privileges", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public List<PrivilegeDesc> getPrivileges() {
     return privileges;
   }
@@ -70,7 +72,7 @@ public class GrantDesc extends DDLDesc i
   /**
    * @return principals 
    */
-  @Explain(displayName = "Principals")
+  @Explain(displayName = "Principals", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public List<PrincipalDesc> getPrincipals() {
     return principals;
   }
@@ -85,7 +87,7 @@ public class GrantDesc extends DDLDesc i
   /**
    * @return grant option
    */
-  @Explain(displayName = "grant option")
+  @Explain(displayName = "grant option", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public boolean isGrantOption() {
     return grantOption;
   }
@@ -100,7 +102,7 @@ public class GrantDesc extends DDLDesc i
   /**
    * @return privilege subject
    */
-  @Explain(displayName="privilege subject")
+  @Explain(displayName="privilege subject", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public PrivilegeObjectDesc getPrivilegeSubjectDesc() {
     return privilegeSubjectDesc;
   }

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/GrantRevokeRoleDDL.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/GrantRevokeRoleDDL.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/GrantRevokeRoleDDL.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/GrantRevokeRoleDDL.java Wed Apr  8 00:05:54 2015
@@ -21,8 +21,10 @@ package org.apache.hadoop.hive.ql.plan;
 import java.util.List;
 
 import org.apache.hadoop.hive.metastore.api.PrincipalType;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
 
-@Explain(displayName="grant or revoke roles")
+
+@Explain(displayName="grant or revoke roles", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
 public class GrantRevokeRoleDDL {
 
   private boolean grant;
@@ -55,7 +57,7 @@ public class GrantRevokeRoleDDL {
   /**
    * @return grant or revoke privileges
    */
-  @Explain(displayName="grant (or revoke)")
+  @Explain(displayName="grant (or revoke)", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public boolean getGrant() {
     return grant;
   }
@@ -67,7 +69,7 @@ public class GrantRevokeRoleDDL {
   /**
    * @return a list of principals
    */
-  @Explain(displayName="principals")
+  @Explain(displayName="principals", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public List<PrincipalDesc> getPrincipalDesc() {
     return principalDesc;
   }
@@ -79,7 +81,7 @@ public class GrantRevokeRoleDDL {
   /**
    * @return a list of roles
    */
-  @Explain(displayName="roles")
+  @Explain(displayName="roles", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public List<String> getRoles() {
     return roles;
   }

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/GroupByDesc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/GroupByDesc.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/GroupByDesc.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/GroupByDesc.java Wed Apr  8 00:05:54 2015
@@ -25,12 +25,14 @@ import org.apache.hadoop.hive.ql.exec.Gr
 import org.apache.hadoop.hive.ql.udf.UDFType;
 import org.apache.hadoop.hive.ql.udf.generic.GenericUDAFEvaluator;
 import org.apache.hive.common.util.AnnotationUtils;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
+
 
 /**
  * GroupByDesc.
  *
  */
-@Explain(displayName = "Group By Operator")
+@Explain(displayName = "Group By Operator", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
 public class GroupByDesc extends AbstractOperatorDesc {
   /**
    * Group-by Mode: COMPLETE: complete 1-phase aggregation: iterate, terminate
@@ -156,7 +158,7 @@ public class GroupByDesc extends Abstrac
     this.mode = mode;
   }
 
-  @Explain(displayName = "keys")
+  @Explain(displayName = "keys", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public String getKeyString() {
     return PlanUtils.getExprListString(keys);
   }
@@ -169,7 +171,7 @@ public class GroupByDesc extends Abstrac
     this.keys = keys;
   }
 
-  @Explain(displayName = "outputColumnNames")
+  @Explain(displayName = "outputColumnNames", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public ArrayList<java.lang.String> getOutputColumnNames() {
     return outputColumnNames;
   }
@@ -201,7 +203,7 @@ public class GroupByDesc extends Abstrac
     this.memoryThreshold = memoryThreshold;
   }
 
-  @Explain(displayName = "aggregations")
+  @Explain(displayName = "aggregations", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public List<String> getAggregatorStrings() {
     List<String> res = new ArrayList<String>();
     for (AggregationDesc agg: aggregators) {

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/HashTableDummyDesc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/HashTableDummyDesc.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/HashTableDummyDesc.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/HashTableDummyDesc.java Wed Apr  8 00:05:54 2015
@@ -17,12 +17,14 @@
  */
 
 package org.apache.hadoop.hive.ql.plan;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
+
 
 /**
  * HashTable Dummy Descriptor implementation.
  *
  */
-@Explain(displayName = "HashTable Dummy Operator")
+@Explain(displayName = "HashTable Dummy Operator", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
 public class HashTableDummyDesc extends AbstractOperatorDesc {
   private TableDesc tbl;
 

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/HashTableSinkDesc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/HashTableSinkDesc.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/HashTableSinkDesc.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/HashTableSinkDesc.java Wed Apr  8 00:05:54 2015
@@ -25,12 +25,14 @@ import java.util.List;
 import java.util.Map;
 
 import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
+
 
 /**
  * Map Join operator Descriptor implementation.
  *
  */
-@Explain(displayName = "HashTable Sink Operator")
+@Explain(displayName = "HashTable Sink Operator", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
 public class HashTableSinkDesc extends JoinDesc implements Serializable {
   private static final long serialVersionUID = 1L;
 
@@ -285,7 +287,7 @@ public class HashTableSinkDesc extends J
   }
 
   @Override
-  @Explain(displayName = "filter mappings", normalExplain = false)
+  @Explain(displayName = "filter mappings", explainLevels = { Level.EXTENDED })
   public Map<Integer, String> getFilterMapString() {
     return toCompactString(filterMap);
   }
@@ -301,7 +303,7 @@ public class HashTableSinkDesc extends J
   /**
    * @return the keys in string form
    */
-  @Explain(displayName = "keys")
+  @Explain(displayName = "keys", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public Map<Byte, String> getKeysString() {
     Map<Byte, String> keyMap = new LinkedHashMap<Byte, String>();
     for (Map.Entry<Byte, List<ExprNodeDesc>> k: getKeys().entrySet()) {
@@ -328,7 +330,7 @@ public class HashTableSinkDesc extends J
   /**
    * @return the position of the big table not in memory
    */
-  @Explain(displayName = "Position of Big Table", normalExplain = false)
+  @Explain(displayName = "Position of Big Table", explainLevels = { Level.EXTENDED })
   public int getPosBigTable() {
     return posBigTable;
   }

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/JoinCondDesc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/JoinCondDesc.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/JoinCondDesc.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/JoinCondDesc.java Wed Apr  8 00:05:54 2015
@@ -19,6 +19,8 @@
 package org.apache.hadoop.hive.ql.plan;
 
 import java.io.Serializable;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
+
 
 /**
  * Join conditions Descriptor implementation.
@@ -107,7 +109,7 @@ public class JoinCondDesc implements Ser
     this.type = type;
   }
 
-  @Explain
+  @Explain(explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public String getJoinCondString() {
     StringBuilder sb = new StringBuilder();
 

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/JoinDesc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/JoinDesc.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/JoinDesc.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/JoinDesc.java Wed Apr  8 00:05:54 2015
@@ -29,12 +29,14 @@ import java.util.Map;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hive.ql.exec.Operator;
 import org.apache.hadoop.hive.ql.parse.QBJoinTree;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
+
 
 /**
  * Join operator Descriptor implementation.
  *
  */
-@Explain(displayName = "Join Operator")
+@Explain(displayName = "Join Operator", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
 public class JoinDesc extends AbstractOperatorDesc {
   private static final long serialVersionUID = 1L;
   public static final int INNER_JOIN = 0;
@@ -209,7 +211,7 @@ public class JoinDesc extends AbstractOp
   /**
    * @return the keys in string form
    */
-  @Explain(displayName = "keys")
+  @Explain(displayName = "keys", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public Map<Byte, String> getKeysString() {
     Map<Byte, String> keyMap = new LinkedHashMap<Byte, String>();
     for (byte i = 0; i < joinKeys.length; i++) {
@@ -229,7 +231,7 @@ public class JoinDesc extends AbstractOp
    *
    * @return Map from alias to filters on the alias.
    */
-  @Explain(displayName = "filter predicates")
+  @Explain(displayName = "filter predicates", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public Map<Byte, String> getFiltersStringMap() {
     if (getFilters() == null || getFilters().size() == 0) {
       return null;
@@ -275,7 +277,7 @@ public class JoinDesc extends AbstractOp
     this.filters = filters;
   }
 
-  @Explain(displayName = "outputColumnNames")
+  @Explain(displayName = "outputColumnNames", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public List<String> getOutputColumnNames() {
     return outputColumnNames;
   }
@@ -293,7 +295,7 @@ public class JoinDesc extends AbstractOp
     this.noOuterJoin = noOuterJoin;
   }
 
-  @Explain(displayName = "condition map")
+  @Explain(displayName = "condition map", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public List<JoinCondDesc> getCondsList() {
     if (conds == null) {
       return null;
@@ -453,7 +455,7 @@ public class JoinDesc extends AbstractOp
     this.filterMap = filterMap;
   }
 
-  @Explain(displayName = "filter mappings", normalExplain = false)
+  @Explain(displayName = "filter mappings", explainLevels = { Level.EXTENDED })
   public Map<Integer, String> getFilterMapString() {
     return toCompactString(filterMap);
   }

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/LateralViewForwardDesc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/LateralViewForwardDesc.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/LateralViewForwardDesc.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/LateralViewForwardDesc.java Wed Apr  8 00:05:54 2015
@@ -17,13 +17,15 @@
  */
 
 package org.apache.hadoop.hive.ql.plan;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
+
 
 
 /**
  * LateralViewForwardDesc.
  *
  */
-@Explain(displayName = "Lateral View Forward")
+@Explain(displayName = "Lateral View Forward", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
 public class LateralViewForwardDesc extends AbstractOperatorDesc {
   private static final long serialVersionUID = 1L;
 

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/LateralViewJoinDesc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/LateralViewJoinDesc.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/LateralViewJoinDesc.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/LateralViewJoinDesc.java Wed Apr  8 00:05:54 2015
@@ -19,13 +19,15 @@
 package org.apache.hadoop.hive.ql.plan;
 
 import java.util.ArrayList;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
+
 
 
 /**
  * LateralViewJoinDesc.
  *
  */
-@Explain(displayName = "Lateral View Join Operator")
+@Explain(displayName = "Lateral View Join Operator", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
 public class LateralViewJoinDesc extends AbstractOperatorDesc {
   private static final long serialVersionUID = 1L;
 
@@ -44,7 +46,7 @@ public class LateralViewJoinDesc extends
     this.outputInternalColNames = outputInternalColNames;
   }
 
-  @Explain(displayName = "outputColumnNames")
+  @Explain(displayName = "outputColumnNames", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public ArrayList<String> getOutputInternalColNames() {
     return outputInternalColNames;
   }

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/LimitDesc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/LimitDesc.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/LimitDesc.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/LimitDesc.java Wed Apr  8 00:05:54 2015
@@ -17,13 +17,14 @@
  */
 
 package org.apache.hadoop.hive.ql.plan;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
 
 
 /**
  * LimitDesc.
  *
  */
-@Explain(displayName = "Limit")
+@Explain(displayName = "Limit", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
 public class LimitDesc extends AbstractOperatorDesc {
   private static final long serialVersionUID = 1L;
   private int limit;
@@ -36,7 +37,7 @@ public class LimitDesc extends AbstractO
     this.limit = limit;
   }
 
-  @Explain(displayName = "Number of rows")
+  @Explain(displayName = "Number of rows", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public int getLimit() {
     return limit;
   }

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/LoadDesc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/LoadDesc.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/LoadDesc.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/LoadDesc.java Wed Apr  8 00:05:54 2015
@@ -21,6 +21,7 @@ package org.apache.hadoop.hive.ql.plan;
 import java.io.Serializable;
 
 import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
 
 /**
  * LoadDesc.
@@ -37,7 +38,7 @@ public class LoadDesc implements Seriali
     this.sourcePath = sourcePath;
   }
 
-  @Explain(displayName = "source", normalExplain = false)  
+  @Explain(displayName = "source", explainLevels = { Level.EXTENDED })
   public Path getSourcePath() {
     return sourcePath;
   }

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/LoadTableDesc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/LoadTableDesc.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/LoadTableDesc.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/LoadTableDesc.java Wed Apr  8 00:05:54 2015
@@ -24,6 +24,7 @@ import java.util.Map;
 
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hive.ql.io.AcidUtils;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
 
 /**
  * LoadTableDesc.
@@ -125,7 +126,7 @@ public class LoadTableDesc extends org.a
     return holdDDLTime;
   }
 
-  @Explain(displayName = "table")
+  @Explain(displayName = "table", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public TableDesc getTable() {
     return table;
   }
@@ -134,7 +135,7 @@ public class LoadTableDesc extends org.a
     this.table = table;
   }
 
-  @Explain(displayName = "partition")
+  @Explain(displayName = "partition", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public Map<String, String> getPartitionSpec() {
     return partitionSpec;
   }

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/LockDatabaseDesc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/LockDatabaseDesc.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/LockDatabaseDesc.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/LockDatabaseDesc.java Wed Apr  8 00:05:54 2015
@@ -19,12 +19,14 @@
 package org.apache.hadoop.hive.ql.plan;
 
 import java.io.Serializable;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
+
 
 /**
  * LockDatabaseDesc.
  *
  */
-@Explain(displayName = "Lock Database")
+@Explain(displayName = "Lock Database", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
 public class LockDatabaseDesc extends DDLDesc implements Serializable {
   private static final long serialVersionUID = 1L;
 
@@ -42,7 +44,7 @@ public class LockDatabaseDesc extends DD
     this.queryId = queryId;
   }
 
-  @Explain(displayName = "database")
+  @Explain(displayName = "database", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public String getDatabaseName() {
     return databaseName;
   }

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/LockTableDesc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/LockTableDesc.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/LockTableDesc.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/LockTableDesc.java Wed Apr  8 00:05:54 2015
@@ -22,12 +22,14 @@ import java.io.Serializable;
 import java.util.Map;
 
 import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
+
 
 /**
  * LockTableDesc.
  *
  */
-@Explain(displayName = "Lock Table")
+@Explain(displayName = "Lock Table", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
 public class LockTableDesc extends DDLDesc implements Serializable {
   private static final long serialVersionUID = 1L;
 

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/MapJoinDesc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/MapJoinDesc.java?rev=1671979&r1=1671978&r2=1671979&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/MapJoinDesc.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/MapJoinDesc.java Wed Apr  8 00:05:54 2015
@@ -27,12 +27,13 @@ import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Set;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
 
 /**
  * Map Join operator Descriptor implementation.
  *
  */
-@Explain(displayName = "Map Join Operator")
+@Explain(displayName = "Map Join Operator", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
 public class MapJoinDesc extends JoinDesc implements Serializable {
   private static final long serialVersionUID = 1L;
 
@@ -121,7 +122,7 @@ public class MapJoinDesc extends JoinDes
     }
   }
 
-  @Explain(displayName = "input vertices")
+  @Explain(displayName = "input vertices", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public Map<Integer, String> getParentToInput() {
     return parentToInput;
   }
@@ -138,7 +139,7 @@ public class MapJoinDesc extends JoinDes
     return parentDataSizes;
   }
 
-  @Explain(displayName = "Estimated key counts", normalExplain = false)
+  @Explain(displayName = "Estimated key counts", explainLevels = { Level.EXTENDED })
   public String getKeyCountsExplainDesc() {
     StringBuilder result = null;
     for (Map.Entry<Integer, Long> entry : parentKeyCounts.entrySet()) {
@@ -195,7 +196,7 @@ public class MapJoinDesc extends JoinDes
    * @return the keys in string form
    */
   @Override
-  @Explain(displayName = "keys")
+  @Explain(displayName = "keys", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
   public Map<Byte, String> getKeysString() {
     Map<Byte, String> keyMap = new LinkedHashMap<Byte, String>();
     for (Map.Entry<Byte, List<ExprNodeDesc>> k: getKeys().entrySet()) {
@@ -222,7 +223,7 @@ public class MapJoinDesc extends JoinDes
   /**
    * @return the position of the big table not in memory
    */
-  @Explain(displayName = "Position of Big Table", normalExplain = false)
+  @Explain(displayName = "Position of Big Table", explainLevels = { Level.EXTENDED })
   public int getPosBigTable() {
     return posBigTable;
   }
@@ -312,7 +313,7 @@ public class MapJoinDesc extends JoinDes
     this.bigTablePartSpecToFileMapping = partToFileMapping;
   }
 
-  @Explain(displayName = "BucketMapJoin", normalExplain = false, displayOnlyOnTrue = true)
+  @Explain(displayName = "BucketMapJoin", explainLevels = { Level.EXTENDED }, displayOnlyOnTrue = true)
   public boolean isBucketMapJoin() {
     return isBucketMapJoin;
   }



Mime
View raw message