You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by jc...@apache.org on 2016/04/25 17:05:40 UTC
[18/18] hive git commit: HIVE-13533: Remove AST dump (Jesus Camacho
Rodriguez, reviewed by Ashutosh Chauhan)
HIVE-13533: Remove AST dump (Jesus Camacho Rodriguez, reviewed by Ashutosh Chauhan)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/6908198d
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/6908198d
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/6908198d
Branch: refs/heads/master
Commit: 6908198df93b07e0e5fcadc7c901097028a07e94
Parents: 37db169
Author: Jesus Camacho Rodriguez <jc...@apache.org>
Authored: Mon Apr 18 10:46:19 2016 +0100
Committer: Jesus Camacho Rodriguez <jc...@apache.org>
Committed: Mon Apr 25 16:03:20 2016 +0100
----------------------------------------------------------------------
.../java/org/apache/hadoop/hive/ql/Driver.java | 2 +-
.../apache/hadoop/hive/ql/exec/ExplainTask.java | 33 +-
.../apache/hadoop/hive/ql/hooks/ATSHook.java | 6 +-
.../hadoop/hive/ql/parse/CalcitePlanner.java | 4 +-
.../hive/ql/parse/ExplainSemanticAnalyzer.java | 3 +-
.../apache/hadoop/hive/ql/plan/ExplainWork.java | 16 -
.../parse/TestUpdateDeleteSemanticAnalyzer.java | 44 +-
.../alter_partition_coltype.q.out | 168 --
.../results/clientpositive/ambiguitycheck.q.out | 30 -
.../analyze_table_null_partition.q.out | 16 -
.../auto_join_reordering_values.q.out | 83 -
.../clientpositive/auto_sortmerge_join_1.q.out | 96 -
.../clientpositive/auto_sortmerge_join_11.q.out | 153 --
.../clientpositive/auto_sortmerge_join_12.q.out | 60 -
.../clientpositive/auto_sortmerge_join_2.q.out | 64 -
.../clientpositive/auto_sortmerge_join_3.q.out | 96 -
.../clientpositive/auto_sortmerge_join_4.q.out | 96 -
.../clientpositive/auto_sortmerge_join_5.q.out | 96 -
.../clientpositive/auto_sortmerge_join_7.q.out | 96 -
.../clientpositive/auto_sortmerge_join_8.q.out | 96 -
.../clientpositive/binary_output_format.q.out | 36 -
.../test/results/clientpositive/bucket1.q.out | 17 -
.../test/results/clientpositive/bucket2.q.out | 17 -
.../test/results/clientpositive/bucket3.q.out | 21 -
.../test/results/clientpositive/bucket4.q.out | 17 -
.../test/results/clientpositive/bucket5.q.out | 36 -
.../results/clientpositive/bucket_many.q.out | 17 -
.../clientpositive/bucket_map_join_1.q.out | 47 -
.../clientpositive/bucket_map_join_2.q.out | 47 -
.../clientpositive/bucket_map_join_spark1.q.out | 104 -
.../clientpositive/bucket_map_join_spark2.q.out | 104 -
.../clientpositive/bucket_map_join_spark3.q.out | 104 -
.../clientpositive/bucket_map_join_spark4.q.out | 134 --
.../clientpositive/bucketcontext_1.q.out | 74 -
.../clientpositive/bucketcontext_2.q.out | 74 -
.../clientpositive/bucketcontext_3.q.out | 74 -
.../clientpositive/bucketcontext_4.q.out | 74 -
.../clientpositive/bucketcontext_5.q.out | 74 -
.../clientpositive/bucketcontext_6.q.out | 74 -
.../clientpositive/bucketcontext_7.q.out | 74 -
.../clientpositive/bucketcontext_8.q.out | 74 -
.../results/clientpositive/bucketmapjoin1.q.out | 226 --
.../clientpositive/bucketmapjoin10.q.out | 51 -
.../clientpositive/bucketmapjoin11.q.out | 112 -
.../clientpositive/bucketmapjoin12.q.out | 102 -
.../clientpositive/bucketmapjoin13.q.out | 155 --
.../results/clientpositive/bucketmapjoin2.q.out | 164 --
.../results/clientpositive/bucketmapjoin3.q.out | 128 --
.../results/clientpositive/bucketmapjoin4.q.out | 100 -
.../results/clientpositive/bucketmapjoin5.q.out | 100 -
.../results/clientpositive/bucketmapjoin7.q.out | 73 -
.../results/clientpositive/bucketmapjoin8.q.out | 102 -
.../results/clientpositive/bucketmapjoin9.q.out | 102 -
.../clientpositive/bucketmapjoin_negative.q.out | 57 -
.../bucketmapjoin_negative2.q.out | 50 -
.../bucketmapjoin_negative3.q.out | 409 ----
.../cbo_rp_outer_join_ppr.q.java1.7.out | 168 --
.../clientpositive/columnstats_partlvl.q.out | 30 -
.../clientpositive/columnstats_tbllvl.q.out | 27 -
.../test/results/clientpositive/combine2.q.out | 23 -
.../constantPropagateForSubQuery.q.out | 62 -
ql/src/test/results/clientpositive/ctas.q.out | 43 -
.../disable_merge_for_bucketing.q.out | 17 -
.../display_colstats_tbllvl.q.out | 13 -
.../clientpositive/drop_multi_partitions.q.out | 14 -
.../dynamic_partition_skip_default.q.out | 91 -
.../encryption_join_unencrypted_tbl.q.out | 32 -
...on_join_with_different_encryption_keys.q.out | 32 -
.../clientpositive/explain_logical.q.out | 316 ---
.../extrapolate_part_stats_full.q.out | 74 -
.../extrapolate_part_stats_partial.q.out | 111 -
.../extrapolate_part_stats_partial_ndv.q.out | 78 -
.../clientpositive/filter_join_breaktask.q.out | 102 -
.../clientpositive/fouter_join_ppr.q.out | 336 ---
.../clientpositive/groupby_map_ppr.q.out | 71 -
.../groupby_map_ppr_multi_distinct.q.out | 88 -
.../results/clientpositive/groupby_ppr.q.out | 71 -
.../groupby_ppr_multi_distinct.q.out | 88 -
.../clientpositive/groupby_sort_1_23.q.out | 782 -------
.../results/clientpositive/groupby_sort_6.q.out | 90 -
.../clientpositive/groupby_sort_skew_1_23.q.out | 782 -------
.../test/results/clientpositive/input23.q.out | 52 -
.../test/results/clientpositive/input42.q.out | 83 -
.../results/clientpositive/input_part1.q.out | 56 -
.../results/clientpositive/input_part2.q.out | 103 -
.../results/clientpositive/input_part7.q.out | 99 -
.../results/clientpositive/input_part9.q.out | 29 -
ql/src/test/results/clientpositive/join17.q.out | 38 -
ql/src/test/results/clientpositive/join26.q.out | 79 -
ql/src/test/results/clientpositive/join32.q.out | 73 -
.../clientpositive/join32_lessSize.q.out | 330 ---
ql/src/test/results/clientpositive/join33.q.out | 73 -
ql/src/test/results/clientpositive/join34.q.out | 104 -
ql/src/test/results/clientpositive/join35.q.out | 112 -
ql/src/test/results/clientpositive/join9.q.out | 54 -
.../clientpositive/join_filters_overlap.q.out | 430 ----
.../results/clientpositive/join_map_ppr.q.out | 158 --
.../clientpositive/list_bucket_dml_1.q.out | 70 -
.../list_bucket_dml_10.q.java1.7.out | 28 -
.../list_bucket_dml_11.q.java1.7.out | 63 -
.../list_bucket_dml_12.q.java1.7.out | 106 -
.../list_bucket_dml_13.q.java1.7.out | 70 -
.../clientpositive/list_bucket_dml_14.q.out | 42 -
.../list_bucket_dml_2.q.java1.7.out | 69 -
.../clientpositive/list_bucket_dml_3.q.out | 68 -
.../list_bucket_dml_4.q.java1.7.out | 102 -
.../list_bucket_dml_5.q.java1.7.out | 76 -
.../list_bucket_dml_6.q.java1.7.out | 112 -
.../clientpositive/list_bucket_dml_7.q.out | 112 -
.../list_bucket_dml_8.q.java1.7.out | 69 -
.../list_bucket_dml_9.q.java1.7.out | 102 -
.../list_bucket_query_multiskew_1.q.out | 144 --
.../list_bucket_query_multiskew_2.q.out | 117 -
.../list_bucket_query_multiskew_3.q.out | 130 --
.../list_bucket_query_oneskew_1.q.out | 81 -
.../list_bucket_query_oneskew_2.q.out | 170 --
.../list_bucket_query_oneskew_3.q.out | 28 -
.../clientpositive/llap/llap_nullscan.q.out | 20 -
.../llap/tez_join_result_complex.q.out | 530 -----
.../results/clientpositive/load_dyn_part8.q.out | 63 -
.../clientpositive/louter_join_ppr.q.out | 336 ---
ql/src/test/results/clientpositive/macro.q.out | 62 -
.../clientpositive/mapjoin_mapjoin.q.out | 45 -
ql/src/test/results/clientpositive/merge3.q.out | 110 -
.../results/clientpositive/metadataonly1.q.out | 216 --
.../offset_limit_global_optimizer.q.out | 288 ---
.../clientpositive/optimize_nullscan.q.out | 313 ---
.../clientpositive/outer_join_ppr.q.java1.7.out | 168 --
ql/src/test/results/clientpositive/pcr.q.out | 920 --------
ql/src/test/results/clientpositive/pcs.q.out | 517 -----
.../results/clientpositive/pointlookup2.q.out | 298 ---
.../results/clientpositive/pointlookup3.q.out | 309 ---
.../results/clientpositive/pointlookup4.q.out | 146 --
.../clientpositive/ppd_join_filter.q.out | 380 ----
.../results/clientpositive/ppd_union_view.q.out | 42 -
ql/src/test/results/clientpositive/ppd_vc.q.out | 92 -
.../clientpositive/ppr_allchildsarenull.q.out | 88 -
.../test/results/clientpositive/push_or.q.out | 42 -
.../clientpositive/rand_partitionpruner1.q.out | 22 -
.../clientpositive/rand_partitionpruner2.q.out | 33 -
.../clientpositive/rand_partitionpruner3.q.out | 94 -
.../clientpositive/reduce_deduplicate.q.out | 147 --
.../clientpositive/router_join_ppr.q.out | 336 ---
.../test/results/clientpositive/sample1.q.out | 39 -
.../test/results/clientpositive/sample10.q.out | 39 -
.../test/results/clientpositive/sample2.q.out | 23 -
.../test/results/clientpositive/sample4.q.out | 25 -
.../test/results/clientpositive/sample5.q.out | 25 -
.../test/results/clientpositive/sample6.q.out | 256 ---
.../test/results/clientpositive/sample7.q.out | 32 -
.../test/results/clientpositive/sample8.q.out | 68 -
.../test/results/clientpositive/sample9.q.out | 37 -
.../clientpositive/serde_user_properties.q.out | 160 --
.../results/clientpositive/smb_mapjoin9.q.out | 154 --
.../results/clientpositive/smb_mapjoin_11.q.out | 101 -
.../results/clientpositive/smb_mapjoin_12.q.out | 132 --
.../results/clientpositive/smb_mapjoin_13.q.out | 90 -
.../results/clientpositive/smb_mapjoin_15.q.out | 210 --
.../clientpositive/sort_merge_join_desc_5.q.out | 51 -
.../clientpositive/sort_merge_join_desc_6.q.out | 51 -
.../clientpositive/sort_merge_join_desc_7.q.out | 51 -
.../spark/auto_join_reordering_values.q.out | 83 -
.../spark/auto_sortmerge_join_1.q.out | 96 -
.../spark/auto_sortmerge_join_12.q.out | 60 -
.../spark/auto_sortmerge_join_3.q.out | 96 -
.../spark/auto_sortmerge_join_4.q.out | 96 -
.../spark/auto_sortmerge_join_5.q.out | 96 -
.../spark/auto_sortmerge_join_7.q.out | 96 -
.../spark/auto_sortmerge_join_8.q.out | 96 -
.../results/clientpositive/spark/bucket2.q.out | 17 -
.../results/clientpositive/spark/bucket3.q.out | 21 -
.../results/clientpositive/spark/bucket4.q.out | 17 -
.../results/clientpositive/spark/bucket5.q.out | 36 -
.../spark/bucket_map_join_1.q.out | 47 -
.../spark/bucket_map_join_2.q.out | 47 -
.../spark/bucket_map_join_spark1.q.out | 104 -
.../spark/bucket_map_join_spark2.q.out | 104 -
.../spark/bucket_map_join_spark3.q.out | 104 -
.../spark/bucket_map_join_spark4.q.out | 134 --
.../clientpositive/spark/bucketmapjoin1.q.out | 226 --
.../clientpositive/spark/bucketmapjoin10.q.out | 51 -
.../clientpositive/spark/bucketmapjoin11.q.out | 112 -
.../clientpositive/spark/bucketmapjoin12.q.out | 102 -
.../clientpositive/spark/bucketmapjoin13.q.out | 155 --
.../clientpositive/spark/bucketmapjoin2.q.out | 164 --
.../clientpositive/spark/bucketmapjoin3.q.out | 128 --
.../clientpositive/spark/bucketmapjoin4.q.out | 100 -
.../clientpositive/spark/bucketmapjoin5.q.out | 100 -
.../clientpositive/spark/bucketmapjoin7.q.out | 73 -
.../clientpositive/spark/bucketmapjoin8.q.out | 102 -
.../clientpositive/spark/bucketmapjoin9.q.out | 102 -
.../spark/bucketmapjoin_negative.q.out | 57 -
.../spark/bucketmapjoin_negative2.q.out | 50 -
.../spark/bucketmapjoin_negative3.q.out | 409 ----
.../results/clientpositive/spark/ctas.q.out | 43 -
.../spark/disable_merge_for_bucketing.q.out | 17 -
.../spark/filter_join_breaktask.q.out | 102 -
.../clientpositive/spark/groupby_map_ppr.q.out | 71 -
.../spark/groupby_map_ppr_multi_distinct.q.out | 88 -
.../clientpositive/spark/groupby_ppr.q.out | 71 -
.../spark/groupby_ppr_multi_distinct.q.out | 88 -
.../spark/groupby_sort_1_23.q.out | 782 -------
.../spark/groupby_sort_skew_1_23.q.out | 782 -------
.../clientpositive/spark/input_part2.q.out | 103 -
.../results/clientpositive/spark/join17.q.out | 38 -
.../results/clientpositive/spark/join26.q.out | 79 -
.../results/clientpositive/spark/join32.q.out | 73 -
.../clientpositive/spark/join32_lessSize.q.out | 330 ---
.../results/clientpositive/spark/join33.q.out | 73 -
.../results/clientpositive/spark/join34.q.out | 104 -
.../results/clientpositive/spark/join35.q.out | 112 -
.../results/clientpositive/spark/join9.q.out | 54 -
.../spark/join_filters_overlap.q.out | 430 ----
.../clientpositive/spark/join_map_ppr.q.out | 158 --
.../spark/list_bucket_dml_10.q.java1.7.out | 28 -
.../spark/list_bucket_dml_2.q.java1.7.out | 69 -
.../clientpositive/spark/load_dyn_part8.q.out | 63 -
.../clientpositive/spark/louter_join_ppr.q.out | 336 ---
.../clientpositive/spark/mapjoin_mapjoin.q.out | 45 -
.../spark/optimize_nullscan.q.out | 313 ---
.../spark/outer_join_ppr.q.java1.7.out | 168 --
.../test/results/clientpositive/spark/pcr.q.out | 920 --------
.../clientpositive/spark/ppd_join_filter.q.out | 380 ----
.../spark/reduce_deduplicate.q.out | 147 --
.../clientpositive/spark/router_join_ppr.q.out | 336 ---
.../results/clientpositive/spark/sample1.q.out | 39 -
.../results/clientpositive/spark/sample10.q.out | 39 -
.../results/clientpositive/spark/sample2.q.out | 23 -
.../results/clientpositive/spark/sample4.q.out | 25 -
.../results/clientpositive/spark/sample5.q.out | 25 -
.../results/clientpositive/spark/sample6.q.out | 256 ---
.../results/clientpositive/spark/sample7.q.out | 32 -
.../results/clientpositive/spark/sample8.q.out | 68 -
.../results/clientpositive/spark/sample9.q.out | 37 -
.../clientpositive/spark/smb_mapjoin_11.q.out | 101 -
.../clientpositive/spark/smb_mapjoin_12.q.out | 132 --
.../clientpositive/spark/smb_mapjoin_13.q.out | 90 -
.../clientpositive/spark/smb_mapjoin_15.q.out | 210 --
.../results/clientpositive/spark/stats0.q.out | 34 -
.../results/clientpositive/spark/stats12.q.out | 14 -
.../results/clientpositive/spark/stats13.q.out | 15 -
.../results/clientpositive/spark/stats3.q.out | 11 -
.../clientpositive/spark/transform_ppr1.q.out | 75 -
.../clientpositive/spark/transform_ppr2.q.out | 75 -
.../results/clientpositive/spark/union22.q.out | 140 --
.../results/clientpositive/spark/union24.q.out | 341 ---
.../clientpositive/spark/union_ppr.q.out | 92 -
.../clientpositive/spark/vectorized_ptf.q.out | 2128 ------------------
ql/src/test/results/clientpositive/stats0.q.out | 34 -
.../test/results/clientpositive/stats11.q.out | 114 -
.../test/results/clientpositive/stats12.q.out | 14 -
.../test/results/clientpositive/stats13.q.out | 15 -
ql/src/test/results/clientpositive/stats3.q.out | 11 -
.../temp_table_display_colstats_tbllvl.q.out | 13 -
.../tez/auto_sortmerge_join_1.q.out | 96 -
.../tez/auto_sortmerge_join_11.q.out | 153 --
.../tez/auto_sortmerge_join_12.q.out | 60 -
.../tez/auto_sortmerge_join_2.q.out | 64 -
.../tez/auto_sortmerge_join_3.q.out | 96 -
.../tez/auto_sortmerge_join_4.q.out | 96 -
.../tez/auto_sortmerge_join_5.q.out | 96 -
.../tez/auto_sortmerge_join_7.q.out | 96 -
.../tez/auto_sortmerge_join_8.q.out | 96 -
.../results/clientpositive/tez/bucket2.q.out | 17 -
.../results/clientpositive/tez/bucket3.q.out | 21 -
.../results/clientpositive/tez/bucket4.q.out | 17 -
.../clientpositive/tez/bucketpruning1.q.out | 803 -------
.../test/results/clientpositive/tez/ctas.q.out | 43 -
.../tez/disable_merge_for_bucketing.q.out | 17 -
.../tez/filter_join_breaktask.q.out | 102 -
.../clientpositive/tez/llap_nullscan.q.out | 20 -
.../clientpositive/tez/mapjoin_mapjoin.q.out | 45 -
.../clientpositive/tez/metadataonly1.q.out | 216 --
.../clientpositive/tez/optimize_nullscan.q.out | 313 ---
.../results/clientpositive/tez/sample1.q.out | 39 -
.../tez/tez_join_result_complex.q.out | 530 -----
.../clientpositive/tez/transform_ppr1.q.out | 75 -
.../clientpositive/tez/transform_ppr2.q.out | 75 -
.../clientpositive/tez/unionDistinct_1.q.out | 569 -----
.../clientpositive/tez/vectorized_ptf.q.out | 2128 ------------------
.../results/clientpositive/transform_ppr1.q.out | 75 -
.../results/clientpositive/transform_ppr2.q.out | 75 -
.../truncate_column_list_bucket.q.out | 52 -
.../results/clientpositive/udf_explode.q.out | 167 --
.../clientpositive/udf_java_method.q.out | 63 -
.../results/clientpositive/udf_reflect.q.out | 71 -
.../results/clientpositive/udf_reflect2.q.out | 229 --
.../results/clientpositive/udtf_explode.q.out | 134 --
.../test/results/clientpositive/union22.q.out | 140 --
.../test/results/clientpositive/union24.q.out | 341 ---
.../clientpositive/unionDistinct_1.q.out | 569 -----
.../test/results/clientpositive/union_ppr.q.out | 92 -
.../results/clientpositive/vectorized_ptf.q.out | 2128 ------------------
293 files changed, 31 insertions(+), 42691 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/6908198d/ql/src/java/org/apache/hadoop/hive/ql/Driver.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/Driver.java b/ql/src/java/org/apache/hadoop/hive/ql/Driver.java
index 9aefff8..2a06962 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/Driver.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/Driver.java
@@ -594,7 +594,7 @@ public class Driver implements CommandProcessor {
PrintStream ps = new PrintStream(baos);
try {
List<Task<?>> rootTasks = sem.getAllRootTasks();
- task.getJSONPlan(ps, astTree, rootTasks, sem.getFetchTask(), false, true, true);
+ task.getJSONPlan(ps, rootTasks, sem.getFetchTask(), false, true, true);
ret = baos.toString();
} catch (Exception e) {
LOG.warn("Exception generating explain output: " + e, e);
http://git-wip-us.apache.org/repos/asf/hive/blob/6908198d/ql/src/java/org/apache/hadoop/hive/ql/exec/ExplainTask.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/ExplainTask.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/ExplainTask.java
index 4116141..4ce0864 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/ExplainTask.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/ExplainTask.java
@@ -39,8 +39,6 @@ import java.util.Map.Entry;
import java.util.Set;
import java.util.TreeMap;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.hive.common.jsonexplain.JsonParser;
import org.apache.hadoop.hive.common.jsonexplain.JsonParserFactory;
@@ -50,7 +48,6 @@ import org.apache.hadoop.hive.ql.DriverContext;
import org.apache.hadoop.hive.ql.hooks.ReadEntity;
import org.apache.hadoop.hive.ql.metadata.Table;
import org.apache.hadoop.hive.ql.optimizer.physical.StageIDsRearranger;
-import org.apache.hadoop.hive.ql.parse.ASTNode;
import org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer;
import org.apache.hadoop.hive.ql.plan.Explain;
import org.apache.hadoop.hive.ql.plan.Explain.Level;
@@ -68,6 +65,8 @@ import org.apache.hive.common.util.AnnotationUtils;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* ExplainTask implementation.
@@ -139,18 +138,6 @@ public class ExplainTask extends Task<ExplainWork> implements Serializable {
out = null;
}
- // Print out the parse AST
- if (work.getAstStringTree() != null) {
- String jsonAST = outputAST(work.getAstStringTree(), out, jsonOutput, 0);
- if (out != null) {
- out.println();
- }
-
- if (jsonOutput) {
- outJSONObject.put("ABSTRACT SYNTAX TREE", jsonAST);
- }
- }
-
if (work.getParseContext() != null) {
if (out != null) {
out.print("LOGICAL PLAN:");
@@ -172,11 +159,11 @@ public class ExplainTask extends Task<ExplainWork> implements Serializable {
public JSONObject getJSONPlan(PrintStream out, ExplainWork work)
throws Exception {
- return getJSONPlan(out, work.getAstTree(), work.getRootTasks(), work.getFetchTask(),
+ return getJSONPlan(out, work.getRootTasks(), work.getFetchTask(),
work.isFormatted(), work.getExtended(), work.isAppendTaskType());
}
- public JSONObject getJSONPlan(PrintStream out, ASTNode ast, List<Task<?>> tasks, Task<?> fetchTask,
+ public JSONObject getJSONPlan(PrintStream out, List<Task<?>> tasks, Task<?> fetchTask,
boolean jsonOutput, boolean isExtended, boolean appendTaskType) throws Exception {
// If the user asked for a formatted output, dump the json output
@@ -187,18 +174,6 @@ public class ExplainTask extends Task<ExplainWork> implements Serializable {
out = null;
}
- // Print out the parse AST
- if (ast != null && isExtended) {
- String jsonAST = outputAST(ast.dump(), out, jsonOutput, 0);
- if (out != null) {
- out.println();
- }
-
- if (jsonOutput) {
- outJSONObject.put("ABSTRACT SYNTAX TREE", jsonAST);
- }
- }
-
List<Task> ordered = StageIDsRearranger.getExplainOrder(conf, tasks);
if (fetchTask != null) {
http://git-wip-us.apache.org/repos/asf/hive/blob/6908198d/ql/src/java/org/apache/hadoop/hive/ql/hooks/ATSHook.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/hooks/ATSHook.java b/ql/src/java/org/apache/hadoop/hive/ql/hooks/ATSHook.java
index f490161..b7e70be 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/hooks/ATSHook.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/hooks/ATSHook.java
@@ -22,11 +22,8 @@ import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hive.conf.HiveConf;
-import org.apache.hadoop.hive.conf.HiveConf.ConfVars;
import org.apache.hadoop.hive.ql.QueryPlan;
import org.apache.hadoop.hive.ql.exec.ExplainTask;
import org.apache.hadoop.hive.ql.exec.TaskFactory;
@@ -39,6 +36,8 @@ import org.apache.hadoop.yarn.api.records.timeline.TimelineEvent;
import org.apache.hadoop.yarn.client.api.TimelineClient;
import org.apache.hadoop.yarn.conf.YarnConfiguration;
import org.json.JSONObject;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
@@ -124,7 +123,6 @@ public class ATSHook implements ExecuteWithHookContext {
null,// pCtx
plan.getRootTasks(),// RootTasks
plan.getFetchTask(),// FetchTask
- null,// astStringTree
null,// analyzer
false,// extended
true,// formatted
http://git-wip-us.apache.org/repos/asf/hive/blob/6908198d/ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java
index b59347d..c069dc4 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java
@@ -297,8 +297,8 @@ public class CalcitePlanner extends SemanticAnalyzer {
LOG.info("CBO Succeeded; optimized logical plan.");
this.ctx.setCboInfo("Plan optimized by CBO.");
this.ctx.setCboSucceeded(true);
- if (LOG.isDebugEnabled()) {
- LOG.debug(newAST.dump());
+ if (LOG.isTraceEnabled()) {
+ LOG.trace(newAST.dump());
}
}
} catch (Exception e) {
http://git-wip-us.apache.org/repos/asf/hive/blob/6908198d/ql/src/java/org/apache/hadoop/hive/ql/parse/ExplainSemanticAnalyzer.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/ExplainSemanticAnalyzer.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/ExplainSemanticAnalyzer.java
index e393be2..eefc145 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/ExplainSemanticAnalyzer.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/ExplainSemanticAnalyzer.java
@@ -24,8 +24,8 @@ import java.util.List;
import org.apache.hadoop.hive.conf.HiveConf;
import org.apache.hadoop.hive.metastore.api.FieldSchema;
-import org.apache.hadoop.hive.ql.exec.FetchTask;
import org.apache.hadoop.hive.ql.exec.ExplainTask;
+import org.apache.hadoop.hive.ql.exec.FetchTask;
import org.apache.hadoop.hive.ql.exec.Task;
import org.apache.hadoop.hive.ql.exec.TaskFactory;
import org.apache.hadoop.hive.ql.plan.ExplainWork;
@@ -102,7 +102,6 @@ public class ExplainSemanticAnalyzer extends BaseSemanticAnalyzer {
pCtx,
tasks,
fetchTask,
- input,
sem,
extended,
formatted,
http://git-wip-us.apache.org/repos/asf/hive/blob/6908198d/ql/src/java/org/apache/hadoop/hive/ql/plan/ExplainWork.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/ExplainWork.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/ExplainWork.java
index 132cb8d..a213c83 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/plan/ExplainWork.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/ExplainWork.java
@@ -26,7 +26,6 @@ import java.util.List;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.hive.ql.exec.Task;
import org.apache.hadoop.hive.ql.hooks.ReadEntity;
-import org.apache.hadoop.hive.ql.parse.ASTNode;
import org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer;
import org.apache.hadoop.hive.ql.parse.ParseContext;
@@ -40,8 +39,6 @@ public class ExplainWork implements Serializable {
private Path resFile;
private ArrayList<Task<? extends Serializable>> rootTasks;
private Task<? extends Serializable> fetchTask;
- private ASTNode astTree;
- private String astStringTree;
private HashSet<ReadEntity> inputs;
private ParseContext pCtx;
@@ -65,7 +62,6 @@ public class ExplainWork implements Serializable {
ParseContext pCtx,
List<Task<? extends Serializable>> rootTasks,
Task<? extends Serializable> fetchTask,
- ASTNode astTree,
BaseSemanticAnalyzer analyzer,
boolean extended,
boolean formatted,
@@ -77,7 +73,6 @@ public class ExplainWork implements Serializable {
this.resFile = resFile;
this.rootTasks = new ArrayList<Task<? extends Serializable>>(rootTasks);
this.fetchTask = fetchTask;
- this.astTree = astTree;
this.analyzer = analyzer;
if (analyzer != null) {
this.inputs = analyzer.getInputs();
@@ -116,17 +111,6 @@ public class ExplainWork implements Serializable {
this.fetchTask = fetchTask;
}
- public ASTNode getAstTree() {
- return astTree;
- }
-
- public String getAstStringTree() {
- if (astStringTree == null) {
- astStringTree = astTree.dump();
- }
- return astStringTree;
- }
-
public HashSet<ReadEntity> getInputs() {
return inputs;
}
http://git-wip-us.apache.org/repos/asf/hive/blob/6908198d/ql/src/test/org/apache/hadoop/hive/ql/parse/TestUpdateDeleteSemanticAnalyzer.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/parse/TestUpdateDeleteSemanticAnalyzer.java b/ql/src/test/org/apache/hadoop/hive/ql/parse/TestUpdateDeleteSemanticAnalyzer.java
index d795324..8614d40 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/parse/TestUpdateDeleteSemanticAnalyzer.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/parse/TestUpdateDeleteSemanticAnalyzer.java
@@ -23,8 +23,6 @@ import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
@@ -42,6 +40,8 @@ import org.apache.hadoop.hive.ql.plan.ExplainWork;
import org.apache.hadoop.hive.ql.session.SessionState;
import org.junit.Before;
import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class TestUpdateDeleteSemanticAnalyzer {
@@ -59,7 +59,7 @@ public class TestUpdateDeleteSemanticAnalyzer {
try {
ReturnInfo rc = parseAndAnalyze("insert into table T select a, b from U", "testInsertSelect");
- LOG.info(explain((SemanticAnalyzer)rc.sem, rc.plan, rc.ast));
+ LOG.info(explain((SemanticAnalyzer)rc.sem, rc.plan));
} finally {
cleanupTables();
@@ -70,7 +70,7 @@ public class TestUpdateDeleteSemanticAnalyzer {
public void testDeleteAllNonPartitioned() throws Exception {
try {
ReturnInfo rc = parseAndAnalyze("delete from T", "testDeleteAllNonPartitioned");
- LOG.info(explain((SemanticAnalyzer)rc.sem, rc.plan, rc.ast));
+ LOG.info(explain((SemanticAnalyzer)rc.sem, rc.plan));
} finally {
cleanupTables();
}
@@ -80,7 +80,7 @@ public class TestUpdateDeleteSemanticAnalyzer {
public void testDeleteWhereNoPartition() throws Exception {
try {
ReturnInfo rc = parseAndAnalyze("delete from T where a > 5", "testDeleteWhereNoPartition");
- LOG.info(explain((SemanticAnalyzer)rc.sem, rc.plan, rc.ast));
+ LOG.info(explain((SemanticAnalyzer)rc.sem, rc.plan));
} finally {
cleanupTables();
}
@@ -90,7 +90,7 @@ public class TestUpdateDeleteSemanticAnalyzer {
public void testDeleteAllPartitioned() throws Exception {
try {
ReturnInfo rc = parseAndAnalyze("delete from U", "testDeleteAllPartitioned");
- LOG.info(explain((SemanticAnalyzer)rc.sem, rc.plan, rc.ast));
+ LOG.info(explain((SemanticAnalyzer)rc.sem, rc.plan));
} finally {
cleanupTables();
}
@@ -100,7 +100,7 @@ public class TestUpdateDeleteSemanticAnalyzer {
public void testDeleteAllWherePartitioned() throws Exception {
try {
ReturnInfo rc = parseAndAnalyze("delete from U where a > 5", "testDeleteAllWherePartitioned");
- LOG.info(explain((SemanticAnalyzer)rc.sem, rc.plan, rc.ast));
+ LOG.info(explain((SemanticAnalyzer)rc.sem, rc.plan));
} finally {
cleanupTables();
}
@@ -111,7 +111,7 @@ public class TestUpdateDeleteSemanticAnalyzer {
try {
ReturnInfo rc = parseAndAnalyze("delete from U where ds = 'today'",
"testDeleteFromPartitionOnly");
- LOG.info(explain((SemanticAnalyzer)rc.sem, rc.plan, rc.ast));
+ LOG.info(explain((SemanticAnalyzer)rc.sem, rc.plan));
} finally {
cleanupTables();
}
@@ -122,7 +122,7 @@ public class TestUpdateDeleteSemanticAnalyzer {
try {
ReturnInfo rc = parseAndAnalyze("delete from U where ds = 'today' and a > 5",
"testDeletePartitionWhere");
- LOG.info(explain((SemanticAnalyzer)rc.sem, rc.plan, rc.ast));
+ LOG.info(explain((SemanticAnalyzer)rc.sem, rc.plan));
} finally {
cleanupTables();
}
@@ -132,7 +132,7 @@ public class TestUpdateDeleteSemanticAnalyzer {
public void testUpdateAllNonPartitioned() throws Exception {
try {
ReturnInfo rc = parseAndAnalyze("update T set b = 5", "testUpdateAllNonPartitioned");
- LOG.info(explain((SemanticAnalyzer)rc.sem, rc.plan, rc.ast));
+ LOG.info(explain((SemanticAnalyzer)rc.sem, rc.plan));
} finally {
cleanupTables();
}
@@ -143,7 +143,7 @@ public class TestUpdateDeleteSemanticAnalyzer {
try {
ReturnInfo rc = parseAndAnalyze("update T set b = 5 where b > 5",
"testUpdateAllNonPartitionedWhere");
- LOG.info(explain((SemanticAnalyzer)rc.sem, rc.plan, rc.ast));
+ LOG.info(explain((SemanticAnalyzer)rc.sem, rc.plan));
} finally {
cleanupTables();
}
@@ -153,7 +153,7 @@ public class TestUpdateDeleteSemanticAnalyzer {
public void testUpdateAllPartitioned() throws Exception {
try {
ReturnInfo rc = parseAndAnalyze("update U set b = 5", "testUpdateAllPartitioned");
- LOG.info(explain((SemanticAnalyzer)rc.sem, rc.plan, rc.ast));
+ LOG.info(explain((SemanticAnalyzer)rc.sem, rc.plan));
} finally {
cleanupTables();
}
@@ -164,7 +164,7 @@ public class TestUpdateDeleteSemanticAnalyzer {
try {
ReturnInfo rc = parseAndAnalyze("update U set b = 5 where b > 5",
"testUpdateAllPartitionedWhere");
- LOG.info(explain((SemanticAnalyzer)rc.sem, rc.plan, rc.ast));
+ LOG.info(explain((SemanticAnalyzer)rc.sem, rc.plan));
} finally {
cleanupTables();
}
@@ -175,7 +175,7 @@ public class TestUpdateDeleteSemanticAnalyzer {
try {
ReturnInfo rc = parseAndAnalyze("update U set b = 5 where ds = 'today'",
"testUpdateOnePartition");
- LOG.info(explain((SemanticAnalyzer)rc.sem, rc.plan, rc.ast));
+ LOG.info(explain((SemanticAnalyzer)rc.sem, rc.plan));
} finally {
cleanupTables();
}
@@ -186,7 +186,7 @@ public class TestUpdateDeleteSemanticAnalyzer {
try {
ReturnInfo rc = parseAndAnalyze("update U set b = 5 where ds = 'today' and b > 5",
"testUpdateOnePartitionWhere");
- LOG.info(explain((SemanticAnalyzer)rc.sem, rc.plan, rc.ast));
+ LOG.info(explain((SemanticAnalyzer)rc.sem, rc.plan));
} finally {
cleanupTables();
}
@@ -198,7 +198,7 @@ public class TestUpdateDeleteSemanticAnalyzer {
ReturnInfo rc = parseAndAnalyze("insert into table T values ('abc', 3), ('ghi', null)",
"testInsertValues");
- LOG.info(explain((SemanticAnalyzer)rc.sem, rc.plan, rc.ast));
+ LOG.info(explain((SemanticAnalyzer)rc.sem, rc.plan));
} finally {
cleanupTables();
@@ -212,7 +212,7 @@ public class TestUpdateDeleteSemanticAnalyzer {
"('abc', 3, 'today'), ('ghi', 5, 'tomorrow')",
"testInsertValuesPartitioned");
- LOG.info(explain((SemanticAnalyzer) rc.sem, rc.plan, rc.ast));
+ LOG.info(explain((SemanticAnalyzer) rc.sem, rc.plan));
} finally {
cleanupTables();
@@ -235,12 +235,10 @@ public class TestUpdateDeleteSemanticAnalyzer {
}
private class ReturnInfo {
- ASTNode ast;
BaseSemanticAnalyzer sem;
QueryPlan plan;
- ReturnInfo(ASTNode a, BaseSemanticAnalyzer s, QueryPlan p) {
- ast = a;
+ ReturnInfo(BaseSemanticAnalyzer s, QueryPlan p) {
sem = s;
plan = p;
}
@@ -283,10 +281,10 @@ public class TestUpdateDeleteSemanticAnalyzer {
QueryPlan plan = new QueryPlan(query, sem, 0L, testName, null, null);
- return new ReturnInfo(tree, sem, plan);
+ return new ReturnInfo(sem, plan);
}
- private String explain(SemanticAnalyzer sem, QueryPlan plan, ASTNode astTree) throws
+ private String explain(SemanticAnalyzer sem, QueryPlan plan) throws
IOException {
FileSystem fs = FileSystem.get(conf);
File f = File.createTempFile("TestSemanticAnalyzer", "explain");
@@ -294,7 +292,7 @@ public class TestUpdateDeleteSemanticAnalyzer {
fs.create(tmp);
fs.deleteOnExit(tmp);
ExplainWork work = new ExplainWork(tmp, sem.getParseContext(), sem.getRootTasks(),
- sem.getFetchTask(), astTree, sem, true, false, false, false, false, false, null);
+ sem.getFetchTask(), sem, true, false, false, false, false, false, null);
ExplainTask task = new ExplainTask();
task.setWork(work);
task.initialize(conf, plan, null, null);
http://git-wip-us.apache.org/repos/asf/hive/blob/6908198d/ql/src/test/results/clientpositive/alter_partition_coltype.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/alter_partition_coltype.q.out b/ql/src/test/results/clientpositive/alter_partition_coltype.q.out
index a184372..d6f607c 100644
--- a/ql/src/test/results/clientpositive/alter_partition_coltype.q.out
+++ b/ql/src/test/results/clientpositive/alter_partition_coltype.q.out
@@ -89,28 +89,6 @@ PREHOOK: query: explain extended select count(*) from alter_coltype where dt = '
PREHOOK: type: QUERY
POSTHOOK: query: explain extended select count(*) from alter_coltype where dt = '100'
POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
-
-TOK_QUERY
- TOK_FROM
- TOK_TABREF
- TOK_TABNAME
- alter_coltype
- TOK_INSERT
- TOK_DESTINATION
- TOK_DIR
- TOK_TMP_FILE
- TOK_SELECT
- TOK_SELEXPR
- TOK_FUNCTIONSTAR
- count
- TOK_WHERE
- =
- TOK_TABLE_OR_COL
- dt
- '100'
-
-
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -316,28 +294,6 @@ PREHOOK: query: explain extended select count(*) from alter_coltype where ts = '
PREHOOK: type: QUERY
POSTHOOK: query: explain extended select count(*) from alter_coltype where ts = '6.30'
POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
-
-TOK_QUERY
- TOK_FROM
- TOK_TABREF
- TOK_TABNAME
- alter_coltype
- TOK_INSERT
- TOK_DESTINATION
- TOK_DIR
- TOK_TMP_FILE
- TOK_SELECT
- TOK_SELEXPR
- TOK_FUNCTIONSTAR
- count
- TOK_WHERE
- =
- TOK_TABLE_OR_COL
- ts
- '6.30'
-
-
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -470,33 +426,6 @@ PREHOOK: query: explain extended select count(*) from alter_coltype where ts = 3
PREHOOK: type: QUERY
POSTHOOK: query: explain extended select count(*) from alter_coltype where ts = 3.0 and dt=100
POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
-
-TOK_QUERY
- TOK_FROM
- TOK_TABREF
- TOK_TABNAME
- alter_coltype
- TOK_INSERT
- TOK_DESTINATION
- TOK_DIR
- TOK_TMP_FILE
- TOK_SELECT
- TOK_SELEXPR
- TOK_FUNCTIONSTAR
- count
- TOK_WHERE
- and
- =
- TOK_TABLE_OR_COL
- ts
- 3.0
- =
- TOK_TABLE_OR_COL
- dt
- 100
-
-
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -678,37 +607,6 @@ PREHOOK: query: explain extended select key, value, dt, ts from alter_coltype wh
PREHOOK: type: QUERY
POSTHOOK: query: explain extended select key, value, dt, ts from alter_coltype where dt is not null
POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
-
-TOK_QUERY
- TOK_FROM
- TOK_TABREF
- TOK_TABNAME
- alter_coltype
- TOK_INSERT
- TOK_DESTINATION
- TOK_DIR
- TOK_TMP_FILE
- TOK_SELECT
- TOK_SELEXPR
- TOK_TABLE_OR_COL
- key
- TOK_SELEXPR
- TOK_TABLE_OR_COL
- value
- TOK_SELEXPR
- TOK_TABLE_OR_COL
- dt
- TOK_SELEXPR
- TOK_TABLE_OR_COL
- ts
- TOK_WHERE
- TOK_FUNCTION
- TOK_ISNOTNULL
- TOK_TABLE_OR_COL
- dt
-
-
STAGE DEPENDENCIES:
Stage-0 is a root stage
@@ -950,34 +848,6 @@ PREHOOK: query: explain extended select intcol from pt.alterdynamic_part_table w
PREHOOK: type: QUERY
POSTHOOK: query: explain extended select intcol from pt.alterdynamic_part_table where partcol1='1' and partcol2='1'
POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
-
-TOK_QUERY
- TOK_FROM
- TOK_TABREF
- TOK_TABNAME
- pt
- alterdynamic_part_table
- TOK_INSERT
- TOK_DESTINATION
- TOK_DIR
- TOK_TMP_FILE
- TOK_SELECT
- TOK_SELEXPR
- TOK_TABLE_OR_COL
- intcol
- TOK_WHERE
- and
- =
- TOK_TABLE_OR_COL
- partcol1
- '1'
- =
- TOK_TABLE_OR_COL
- partcol2
- '1'
-
-
STAGE DEPENDENCIES:
Stage-0 is a root stage
@@ -1045,44 +915,6 @@ PREHOOK: query: explain extended select intcol from pt.alterdynamic_part_table w
PREHOOK: type: QUERY
POSTHOOK: query: explain extended select intcol from pt.alterdynamic_part_table where (partcol1='2' and partcol2='1')or (partcol1='1' and partcol2='__HIVE_DEFAULT_PARTITION__')
POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
-
-TOK_QUERY
- TOK_FROM
- TOK_TABREF
- TOK_TABNAME
- pt
- alterdynamic_part_table
- TOK_INSERT
- TOK_DESTINATION
- TOK_DIR
- TOK_TMP_FILE
- TOK_SELECT
- TOK_SELEXPR
- TOK_TABLE_OR_COL
- intcol
- TOK_WHERE
- or
- and
- =
- TOK_TABLE_OR_COL
- partcol1
- '2'
- =
- TOK_TABLE_OR_COL
- partcol2
- '1'
- and
- =
- TOK_TABLE_OR_COL
- partcol1
- '1'
- =
- TOK_TABLE_OR_COL
- partcol2
- '__HIVE_DEFAULT_PARTITION__'
-
-
STAGE DEPENDENCIES:
Stage-0 is a root stage
http://git-wip-us.apache.org/repos/asf/hive/blob/6908198d/ql/src/test/results/clientpositive/ambiguitycheck.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/ambiguitycheck.q.out b/ql/src/test/results/clientpositive/ambiguitycheck.q.out
index 5ee28c6..3c0f3aa 100644
--- a/ql/src/test/results/clientpositive/ambiguitycheck.q.out
+++ b/ql/src/test/results/clientpositive/ambiguitycheck.q.out
@@ -709,26 +709,6 @@ PREHOOK: query: explain extended select int(1.2) from src limit 1
PREHOOK: type: QUERY
POSTHOOK: query: explain extended select int(1.2) from src limit 1
POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
-
-TOK_QUERY
- TOK_FROM
- TOK_TABREF
- TOK_TABNAME
- src
- TOK_INSERT
- TOK_DESTINATION
- TOK_DIR
- TOK_TMP_FILE
- TOK_SELECT
- TOK_SELEXPR
- TOK_FUNCTION
- int
- 1.2
- TOK_LIMIT
- 1
-
-
STAGE DEPENDENCIES:
Stage-0 is a root stage
@@ -837,16 +817,6 @@ PREHOOK: query: explain extended desc default.src key
PREHOOK: type: DESCTABLE
POSTHOOK: query: explain extended desc default.src key
POSTHOOK: type: DESCTABLE
-ABSTRACT SYNTAX TREE:
-
-TOK_DESCTABLE
- TOK_TABTYPE
- TOK_TABNAME
- default
- src
- key
-
-
STAGE DEPENDENCIES:
Stage-0 is a root stage
Stage-1 depends on stages: Stage-0
http://git-wip-us.apache.org/repos/asf/hive/blob/6908198d/ql/src/test/results/clientpositive/analyze_table_null_partition.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/analyze_table_null_partition.q.out b/ql/src/test/results/clientpositive/analyze_table_null_partition.q.out
index 72a24d5..1cca288 100644
--- a/ql/src/test/results/clientpositive/analyze_table_null_partition.q.out
+++ b/ql/src/test/results/clientpositive/analyze_table_null_partition.q.out
@@ -92,22 +92,6 @@ PREHOOK: type: QUERY
POSTHOOK: query: -- Another way to show stats.
EXPLAIN EXTENDED select * from test2
POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
-
-TOK_QUERY
- TOK_FROM
- TOK_TABREF
- TOK_TABNAME
- test2
- TOK_INSERT
- TOK_DESTINATION
- TOK_DIR
- TOK_TMP_FILE
- TOK_SELECT
- TOK_SELEXPR
- TOK_ALLCOLREF
-
-
STAGE DEPENDENCIES:
Stage-0 is a root stage
http://git-wip-us.apache.org/repos/asf/hive/blob/6908198d/ql/src/test/results/clientpositive/auto_join_reordering_values.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_join_reordering_values.q.out b/ql/src/test/results/clientpositive/auto_join_reordering_values.q.out
index db79fa5..f3f445b 100644
--- a/ql/src/test/results/clientpositive/auto_join_reordering_values.q.out
+++ b/ql/src/test/results/clientpositive/auto_join_reordering_values.q.out
@@ -84,89 +84,6 @@ JOIN `orderpayment_small` `order_city` ON `order_city`.`cityid` = `orderpayment`
JOIN `user_small` `user` ON `user`.`userid` = `orderpayment`.`userid`
limit 5
POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
-
-TOK_QUERY
- TOK_FROM
- TOK_JOIN
- TOK_JOIN
- TOK_JOIN
- TOK_JOIN
- TOK_TABREF
- TOK_TABNAME
- orderpayment_small
- orderpayment
- TOK_TABREF
- TOK_TABNAME
- orderpayment_small
- dim_pay_date
- =
- .
- TOK_TABLE_OR_COL
- dim_pay_date
- date
- .
- TOK_TABLE_OR_COL
- orderpayment
- date
- TOK_TABREF
- TOK_TABNAME
- orderpayment_small
- deal
- =
- .
- TOK_TABLE_OR_COL
- deal
- dealid
- .
- TOK_TABLE_OR_COL
- orderpayment
- dealid
- TOK_TABREF
- TOK_TABNAME
- orderpayment_small
- order_city
- =
- .
- TOK_TABLE_OR_COL
- order_city
- cityid
- .
- TOK_TABLE_OR_COL
- orderpayment
- cityid
- TOK_TABREF
- TOK_TABNAME
- user_small
- user
- =
- .
- TOK_TABLE_OR_COL
- user
- userid
- .
- TOK_TABLE_OR_COL
- orderpayment
- userid
- TOK_INSERT
- TOK_DESTINATION
- TOK_DIR
- TOK_TMP_FILE
- TOK_SELECT
- TOK_SELEXPR
- .
- TOK_TABLE_OR_COL
- dim_pay_date
- date
- TOK_SELEXPR
- .
- TOK_TABLE_OR_COL
- deal
- dealid
- TOK_LIMIT
- 5
-
-
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-2 depends on stages: Stage-1
http://git-wip-us.apache.org/repos/asf/hive/blob/6908198d/ql/src/test/results/clientpositive/auto_sortmerge_join_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_sortmerge_join_1.q.out b/ql/src/test/results/clientpositive/auto_sortmerge_join_1.q.out
index f768ea4..0902556 100644
--- a/ql/src/test/results/clientpositive/auto_sortmerge_join_1.q.out
+++ b/ql/src/test/results/clientpositive/auto_sortmerge_join_1.q.out
@@ -109,38 +109,6 @@ PREHOOK: type: QUERY
POSTHOOK: query: -- Since size is being used to find the big table, the order of the tables in the join does not matter
explain extended select count(*) FROM bucket_small a JOIN bucket_big b ON a.key = b.key
POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
-
-TOK_QUERY
- TOK_FROM
- TOK_JOIN
- TOK_TABREF
- TOK_TABNAME
- bucket_small
- a
- TOK_TABREF
- TOK_TABNAME
- bucket_big
- b
- =
- .
- TOK_TABLE_OR_COL
- a
- key
- .
- TOK_TABLE_OR_COL
- b
- key
- TOK_INSERT
- TOK_DESTINATION
- TOK_DIR
- TOK_TMP_FILE
- TOK_SELECT
- TOK_SELEXPR
- TOK_FUNCTIONSTAR
- count
-
-
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -330,38 +298,6 @@ PREHOOK: query: explain extended select count(*) FROM bucket_big a JOIN bucket_s
PREHOOK: type: QUERY
POSTHOOK: query: explain extended select count(*) FROM bucket_big a JOIN bucket_small b ON a.key = b.key
POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
-
-TOK_QUERY
- TOK_FROM
- TOK_JOIN
- TOK_TABREF
- TOK_TABNAME
- bucket_big
- a
- TOK_TABREF
- TOK_TABNAME
- bucket_small
- b
- =
- .
- TOK_TABLE_OR_COL
- a
- key
- .
- TOK_TABLE_OR_COL
- b
- key
- TOK_INSERT
- TOK_DESTINATION
- TOK_DIR
- TOK_TMP_FILE
- TOK_SELECT
- TOK_SELEXPR
- TOK_FUNCTIONSTAR
- count
-
-
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -551,38 +487,6 @@ PREHOOK: query: explain extended select count(*) FROM bucket_big a JOIN bucket_s
PREHOOK: type: QUERY
POSTHOOK: query: explain extended select count(*) FROM bucket_big a JOIN bucket_small b ON a.key = b.key
POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
-
-TOK_QUERY
- TOK_FROM
- TOK_JOIN
- TOK_TABREF
- TOK_TABNAME
- bucket_big
- a
- TOK_TABREF
- TOK_TABNAME
- bucket_small
- b
- =
- .
- TOK_TABLE_OR_COL
- a
- key
- .
- TOK_TABLE_OR_COL
- b
- key
- TOK_INSERT
- TOK_DESTINATION
- TOK_DIR
- TOK_TMP_FILE
- TOK_SELECT
- TOK_SELEXPR
- TOK_FUNCTIONSTAR
- count
-
-
STAGE DEPENDENCIES:
Stage-5 is a root stage , consists of Stage-6, Stage-7, Stage-1
Stage-6 has a backup stage: Stage-1
http://git-wip-us.apache.org/repos/asf/hive/blob/6908198d/ql/src/test/results/clientpositive/auto_sortmerge_join_11.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_sortmerge_join_11.q.out b/ql/src/test/results/clientpositive/auto_sortmerge_join_11.q.out
index f4bbfd0..81de2b0 100644
--- a/ql/src/test/results/clientpositive/auto_sortmerge_join_11.q.out
+++ b/ql/src/test/results/clientpositive/auto_sortmerge_join_11.q.out
@@ -105,38 +105,6 @@ PREHOOK: query: explain extended select count(*) FROM bucket_small a JOIN bucket
PREHOOK: type: QUERY
POSTHOOK: query: explain extended select count(*) FROM bucket_small a JOIN bucket_big b ON a.key = b.key
POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
-
-TOK_QUERY
- TOK_FROM
- TOK_JOIN
- TOK_TABREF
- TOK_TABNAME
- bucket_small
- a
- TOK_TABREF
- TOK_TABNAME
- bucket_big
- b
- =
- .
- TOK_TABLE_OR_COL
- a
- key
- .
- TOK_TABLE_OR_COL
- b
- key
- TOK_INSERT
- TOK_DESTINATION
- TOK_DIR
- TOK_TMP_FILE
- TOK_SELECT
- TOK_SELEXPR
- TOK_FUNCTIONSTAR
- count
-
-
STAGE DEPENDENCIES:
Stage-5 is a root stage
Stage-2 depends on stages: Stage-5
@@ -453,38 +421,6 @@ POSTHOOK: query: -- Since size is being used to find the big table, the order of
-- bucketized mapjoin is not done
explain extended select count(*) FROM bucket_small a JOIN bucket_big b ON a.key = b.key
POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
-
-TOK_QUERY
- TOK_FROM
- TOK_JOIN
- TOK_TABREF
- TOK_TABNAME
- bucket_small
- a
- TOK_TABREF
- TOK_TABNAME
- bucket_big
- b
- =
- .
- TOK_TABLE_OR_COL
- a
- key
- .
- TOK_TABLE_OR_COL
- b
- key
- TOK_INSERT
- TOK_DESTINATION
- TOK_DIR
- TOK_TMP_FILE
- TOK_SELECT
- TOK_SELEXPR
- TOK_FUNCTIONSTAR
- count
-
-
STAGE DEPENDENCIES:
Stage-5 is a root stage
Stage-2 depends on stages: Stage-5
@@ -795,43 +731,6 @@ PREHOOK: type: QUERY
POSTHOOK: query: -- The join is converted to a bucketed mapjoin with a mapjoin hint
explain extended select /*+ mapjoin(a) */ count(*) FROM bucket_small a JOIN bucket_big b ON a.key = b.key
POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
-
-TOK_QUERY
- TOK_FROM
- TOK_JOIN
- TOK_TABREF
- TOK_TABNAME
- bucket_small
- a
- TOK_TABREF
- TOK_TABNAME
- bucket_big
- b
- =
- .
- TOK_TABLE_OR_COL
- a
- key
- .
- TOK_TABLE_OR_COL
- b
- key
- TOK_INSERT
- TOK_DESTINATION
- TOK_DIR
- TOK_TMP_FILE
- TOK_SELECT
- TOK_HINTLIST
- TOK_HINT
- TOK_MAPJOIN
- TOK_HINTARGLIST
- a
- TOK_SELEXPR
- TOK_FUNCTIONSTAR
- count
-
-
STAGE DEPENDENCIES:
Stage-3 is a root stage
Stage-1 depends on stages: Stage-3
@@ -1097,58 +996,6 @@ PREHOOK: type: QUERY
POSTHOOK: query: -- HIVE-7023
explain extended select /* + MAPJOIN(a,b) */ count(*) FROM bucket_small a JOIN bucket_big b ON a.key = b.key JOIN bucket_big c ON a.key = c.key
POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
-
-TOK_QUERY
- TOK_FROM
- TOK_JOIN
- TOK_JOIN
- TOK_TABREF
- TOK_TABNAME
- bucket_small
- a
- TOK_TABREF
- TOK_TABNAME
- bucket_big
- b
- =
- .
- TOK_TABLE_OR_COL
- a
- key
- .
- TOK_TABLE_OR_COL
- b
- key
- TOK_TABREF
- TOK_TABNAME
- bucket_big
- c
- =
- .
- TOK_TABLE_OR_COL
- a
- key
- .
- TOK_TABLE_OR_COL
- c
- key
- TOK_INSERT
- TOK_DESTINATION
- TOK_DIR
- TOK_TMP_FILE
- TOK_SELECT
- TOK_HINTLIST
- TOK_HINT
- TOK_MAPJOIN
- TOK_HINTARGLIST
- a
- b
- TOK_SELEXPR
- TOK_FUNCTIONSTAR
- count
-
-
STAGE DEPENDENCIES:
Stage-4 is a root stage
Stage-1 depends on stages: Stage-4
http://git-wip-us.apache.org/repos/asf/hive/blob/6908198d/ql/src/test/results/clientpositive/auto_sortmerge_join_12.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_sortmerge_join_12.q.out b/ql/src/test/results/clientpositive/auto_sortmerge_join_12.q.out
index e5ff904..26a11a7 100644
--- a/ql/src/test/results/clientpositive/auto_sortmerge_join_12.q.out
+++ b/ql/src/test/results/clientpositive/auto_sortmerge_join_12.q.out
@@ -143,66 +143,6 @@ PREHOOK: query: explain extended select count(*) FROM bucket_small a JOIN bucket
PREHOOK: type: QUERY
POSTHOOK: query: explain extended select count(*) FROM bucket_small a JOIN bucket_medium b ON a.key = b.key JOIN bucket_big c ON c.key = b.key JOIN bucket_medium d ON c.key = b.key
POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
-
-TOK_QUERY
- TOK_FROM
- TOK_JOIN
- TOK_JOIN
- TOK_JOIN
- TOK_TABREF
- TOK_TABNAME
- bucket_small
- a
- TOK_TABREF
- TOK_TABNAME
- bucket_medium
- b
- =
- .
- TOK_TABLE_OR_COL
- a
- key
- .
- TOK_TABLE_OR_COL
- b
- key
- TOK_TABREF
- TOK_TABNAME
- bucket_big
- c
- =
- .
- TOK_TABLE_OR_COL
- c
- key
- .
- TOK_TABLE_OR_COL
- b
- key
- TOK_TABREF
- TOK_TABNAME
- bucket_medium
- d
- =
- .
- TOK_TABLE_OR_COL
- c
- key
- .
- TOK_TABLE_OR_COL
- b
- key
- TOK_INSERT
- TOK_DESTINATION
- TOK_DIR
- TOK_TMP_FILE
- TOK_SELECT
- TOK_SELEXPR
- TOK_FUNCTIONSTAR
- count
-
-
STAGE DEPENDENCIES:
Stage-9 is a root stage
Stage-3 depends on stages: Stage-9
http://git-wip-us.apache.org/repos/asf/hive/blob/6908198d/ql/src/test/results/clientpositive/auto_sortmerge_join_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_sortmerge_join_2.q.out b/ql/src/test/results/clientpositive/auto_sortmerge_join_2.q.out
index 0de079d..78cd03d 100644
--- a/ql/src/test/results/clientpositive/auto_sortmerge_join_2.q.out
+++ b/ql/src/test/results/clientpositive/auto_sortmerge_join_2.q.out
@@ -89,38 +89,6 @@ PREHOOK: type: QUERY
POSTHOOK: query: -- Since the leftmost table is assumed as the big table, arrange the tables in the join accordingly
explain extended select count(*) FROM bucket_big a JOIN bucket_small b ON a.key = b.key
POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
-
-TOK_QUERY
- TOK_FROM
- TOK_JOIN
- TOK_TABREF
- TOK_TABNAME
- bucket_big
- a
- TOK_TABREF
- TOK_TABNAME
- bucket_small
- b
- =
- .
- TOK_TABLE_OR_COL
- a
- key
- .
- TOK_TABLE_OR_COL
- b
- key
- TOK_INSERT
- TOK_DESTINATION
- TOK_DIR
- TOK_TMP_FILE
- TOK_SELECT
- TOK_SELEXPR
- TOK_FUNCTIONSTAR
- count
-
-
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -312,38 +280,6 @@ PREHOOK: type: QUERY
POSTHOOK: query: -- The mapjoin should fail resulting in the sort-merge join
explain extended select count(*) FROM bucket_big a JOIN bucket_small b ON a.key = b.key
POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
-
-TOK_QUERY
- TOK_FROM
- TOK_JOIN
- TOK_TABREF
- TOK_TABNAME
- bucket_big
- a
- TOK_TABREF
- TOK_TABNAME
- bucket_small
- b
- =
- .
- TOK_TABLE_OR_COL
- a
- key
- .
- TOK_TABLE_OR_COL
- b
- key
- TOK_INSERT
- TOK_DESTINATION
- TOK_DIR
- TOK_TMP_FILE
- TOK_SELECT
- TOK_SELEXPR
- TOK_FUNCTIONSTAR
- count
-
-
STAGE DEPENDENCIES:
Stage-5 is a root stage , consists of Stage-6, Stage-7, Stage-1
Stage-6 has a backup stage: Stage-1
http://git-wip-us.apache.org/repos/asf/hive/blob/6908198d/ql/src/test/results/clientpositive/auto_sortmerge_join_3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_sortmerge_join_3.q.out b/ql/src/test/results/clientpositive/auto_sortmerge_join_3.q.out
index a161f1c..7ddf6b3 100644
--- a/ql/src/test/results/clientpositive/auto_sortmerge_join_3.q.out
+++ b/ql/src/test/results/clientpositive/auto_sortmerge_join_3.q.out
@@ -89,38 +89,6 @@ PREHOOK: type: QUERY
POSTHOOK: query: -- Since size is being used to find the big table, the order of the tables in the join does not matter
explain extended select count(*) FROM bucket_small a JOIN bucket_big b ON a.key = b.key
POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
-
-TOK_QUERY
- TOK_FROM
- TOK_JOIN
- TOK_TABREF
- TOK_TABNAME
- bucket_small
- a
- TOK_TABREF
- TOK_TABNAME
- bucket_big
- b
- =
- .
- TOK_TABLE_OR_COL
- a
- key
- .
- TOK_TABLE_OR_COL
- b
- key
- TOK_INSERT
- TOK_DESTINATION
- TOK_DIR
- TOK_TMP_FILE
- TOK_SELECT
- TOK_SELEXPR
- TOK_FUNCTIONSTAR
- count
-
-
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -264,38 +232,6 @@ PREHOOK: query: explain extended select count(*) FROM bucket_big a JOIN bucket_s
PREHOOK: type: QUERY
POSTHOOK: query: explain extended select count(*) FROM bucket_big a JOIN bucket_small b ON a.key = b.key
POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
-
-TOK_QUERY
- TOK_FROM
- TOK_JOIN
- TOK_TABREF
- TOK_TABNAME
- bucket_big
- a
- TOK_TABREF
- TOK_TABNAME
- bucket_small
- b
- =
- .
- TOK_TABLE_OR_COL
- a
- key
- .
- TOK_TABLE_OR_COL
- b
- key
- TOK_INSERT
- TOK_DESTINATION
- TOK_DIR
- TOK_TMP_FILE
- TOK_SELECT
- TOK_SELEXPR
- TOK_FUNCTIONSTAR
- count
-
-
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -439,38 +375,6 @@ PREHOOK: query: explain extended select count(*) FROM bucket_big a JOIN bucket_s
PREHOOK: type: QUERY
POSTHOOK: query: explain extended select count(*) FROM bucket_big a JOIN bucket_small b ON a.key = b.key
POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
-
-TOK_QUERY
- TOK_FROM
- TOK_JOIN
- TOK_TABREF
- TOK_TABNAME
- bucket_big
- a
- TOK_TABREF
- TOK_TABNAME
- bucket_small
- b
- =
- .
- TOK_TABLE_OR_COL
- a
- key
- .
- TOK_TABLE_OR_COL
- b
- key
- TOK_INSERT
- TOK_DESTINATION
- TOK_DIR
- TOK_TMP_FILE
- TOK_SELECT
- TOK_SELEXPR
- TOK_FUNCTIONSTAR
- count
-
-
STAGE DEPENDENCIES:
Stage-5 is a root stage , consists of Stage-6, Stage-7, Stage-1
Stage-6 has a backup stage: Stage-1
http://git-wip-us.apache.org/repos/asf/hive/blob/6908198d/ql/src/test/results/clientpositive/auto_sortmerge_join_4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_sortmerge_join_4.q.out b/ql/src/test/results/clientpositive/auto_sortmerge_join_4.q.out
index 3421ab1..5b68da2 100644
--- a/ql/src/test/results/clientpositive/auto_sortmerge_join_4.q.out
+++ b/ql/src/test/results/clientpositive/auto_sortmerge_join_4.q.out
@@ -105,38 +105,6 @@ PREHOOK: type: QUERY
POSTHOOK: query: -- Since size is being used to find the big table, the order of the tables in the join does not matter
explain extended select count(*) FROM bucket_small a JOIN bucket_big b ON a.key = b.key
POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
-
-TOK_QUERY
- TOK_FROM
- TOK_JOIN
- TOK_TABREF
- TOK_TABNAME
- bucket_small
- a
- TOK_TABREF
- TOK_TABNAME
- bucket_big
- b
- =
- .
- TOK_TABLE_OR_COL
- a
- key
- .
- TOK_TABLE_OR_COL
- b
- key
- TOK_INSERT
- TOK_DESTINATION
- TOK_DIR
- TOK_TMP_FILE
- TOK_SELECT
- TOK_SELEXPR
- TOK_FUNCTIONSTAR
- count
-
-
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -280,38 +248,6 @@ PREHOOK: query: explain extended select count(*) FROM bucket_big a JOIN bucket_s
PREHOOK: type: QUERY
POSTHOOK: query: explain extended select count(*) FROM bucket_big a JOIN bucket_small b ON a.key = b.key
POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
-
-TOK_QUERY
- TOK_FROM
- TOK_JOIN
- TOK_TABREF
- TOK_TABNAME
- bucket_big
- a
- TOK_TABREF
- TOK_TABNAME
- bucket_small
- b
- =
- .
- TOK_TABLE_OR_COL
- a
- key
- .
- TOK_TABLE_OR_COL
- b
- key
- TOK_INSERT
- TOK_DESTINATION
- TOK_DIR
- TOK_TMP_FILE
- TOK_SELECT
- TOK_SELEXPR
- TOK_FUNCTIONSTAR
- count
-
-
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -455,38 +391,6 @@ PREHOOK: query: explain extended select count(*) FROM bucket_big a JOIN bucket_s
PREHOOK: type: QUERY
POSTHOOK: query: explain extended select count(*) FROM bucket_big a JOIN bucket_small b ON a.key = b.key
POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
-
-TOK_QUERY
- TOK_FROM
- TOK_JOIN
- TOK_TABREF
- TOK_TABNAME
- bucket_big
- a
- TOK_TABREF
- TOK_TABNAME
- bucket_small
- b
- =
- .
- TOK_TABLE_OR_COL
- a
- key
- .
- TOK_TABLE_OR_COL
- b
- key
- TOK_INSERT
- TOK_DESTINATION
- TOK_DIR
- TOK_TMP_FILE
- TOK_SELECT
- TOK_SELEXPR
- TOK_FUNCTIONSTAR
- count
-
-
STAGE DEPENDENCIES:
Stage-5 is a root stage , consists of Stage-6, Stage-7, Stage-1
Stage-6 has a backup stage: Stage-1
http://git-wip-us.apache.org/repos/asf/hive/blob/6908198d/ql/src/test/results/clientpositive/auto_sortmerge_join_5.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_sortmerge_join_5.q.out b/ql/src/test/results/clientpositive/auto_sortmerge_join_5.q.out
index 9c2663c..07bcb89 100644
--- a/ql/src/test/results/clientpositive/auto_sortmerge_join_5.q.out
+++ b/ql/src/test/results/clientpositive/auto_sortmerge_join_5.q.out
@@ -76,38 +76,6 @@ PREHOOK: type: QUERY
POSTHOOK: query: -- Since size is being used to find the big table, the order of the tables in the join does not matter
explain extended select count(*) FROM bucket_small a JOIN bucket_big b ON a.key = b.key
POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
-
-TOK_QUERY
- TOK_FROM
- TOK_JOIN
- TOK_TABREF
- TOK_TABNAME
- bucket_small
- a
- TOK_TABREF
- TOK_TABNAME
- bucket_big
- b
- =
- .
- TOK_TABLE_OR_COL
- a
- key
- .
- TOK_TABLE_OR_COL
- b
- key
- TOK_INSERT
- TOK_DESTINATION
- TOK_DIR
- TOK_TMP_FILE
- TOK_SELECT
- TOK_SELEXPR
- TOK_FUNCTIONSTAR
- count
-
-
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -242,38 +210,6 @@ PREHOOK: query: explain extended select count(*) FROM bucket_big a JOIN bucket_s
PREHOOK: type: QUERY
POSTHOOK: query: explain extended select count(*) FROM bucket_big a JOIN bucket_small b ON a.key = b.key
POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
-
-TOK_QUERY
- TOK_FROM
- TOK_JOIN
- TOK_TABREF
- TOK_TABNAME
- bucket_big
- a
- TOK_TABREF
- TOK_TABNAME
- bucket_small
- b
- =
- .
- TOK_TABLE_OR_COL
- a
- key
- .
- TOK_TABLE_OR_COL
- b
- key
- TOK_INSERT
- TOK_DESTINATION
- TOK_DIR
- TOK_TMP_FILE
- TOK_SELECT
- TOK_SELEXPR
- TOK_FUNCTIONSTAR
- count
-
-
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -408,38 +344,6 @@ PREHOOK: query: explain extended select count(*) FROM bucket_big a JOIN bucket_s
PREHOOK: type: QUERY
POSTHOOK: query: explain extended select count(*) FROM bucket_big a JOIN bucket_small b ON a.key = b.key
POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
-
-TOK_QUERY
- TOK_FROM
- TOK_JOIN
- TOK_TABREF
- TOK_TABNAME
- bucket_big
- a
- TOK_TABREF
- TOK_TABNAME
- bucket_small
- b
- =
- .
- TOK_TABLE_OR_COL
- a
- key
- .
- TOK_TABLE_OR_COL
- b
- key
- TOK_INSERT
- TOK_DESTINATION
- TOK_DIR
- TOK_TMP_FILE
- TOK_SELECT
- TOK_SELEXPR
- TOK_FUNCTIONSTAR
- count
-
-
STAGE DEPENDENCIES:
Stage-5 is a root stage , consists of Stage-6, Stage-7, Stage-1
Stage-6 has a backup stage: Stage-1
http://git-wip-us.apache.org/repos/asf/hive/blob/6908198d/ql/src/test/results/clientpositive/auto_sortmerge_join_7.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_sortmerge_join_7.q.out b/ql/src/test/results/clientpositive/auto_sortmerge_join_7.q.out
index a25db01..d12c1ca 100644
--- a/ql/src/test/results/clientpositive/auto_sortmerge_join_7.q.out
+++ b/ql/src/test/results/clientpositive/auto_sortmerge_join_7.q.out
@@ -122,38 +122,6 @@ PREHOOK: type: QUERY
POSTHOOK: query: -- Since size is being used to find the big table, the order of the tables in the join does not matter
explain extended select count(*) FROM bucket_small a JOIN bucket_big b ON a.key = b.key
POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
-
-TOK_QUERY
- TOK_FROM
- TOK_JOIN
- TOK_TABREF
- TOK_TABNAME
- bucket_small
- a
- TOK_TABREF
- TOK_TABNAME
- bucket_big
- b
- =
- .
- TOK_TABLE_OR_COL
- a
- key
- .
- TOK_TABLE_OR_COL
- b
- key
- TOK_INSERT
- TOK_DESTINATION
- TOK_DIR
- TOK_TMP_FILE
- TOK_SELECT
- TOK_SELEXPR
- TOK_FUNCTIONSTAR
- count
-
-
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -345,38 +313,6 @@ PREHOOK: query: explain extended select count(*) FROM bucket_big a JOIN bucket_s
PREHOOK: type: QUERY
POSTHOOK: query: explain extended select count(*) FROM bucket_big a JOIN bucket_small b ON a.key = b.key
POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
-
-TOK_QUERY
- TOK_FROM
- TOK_JOIN
- TOK_TABREF
- TOK_TABNAME
- bucket_big
- a
- TOK_TABREF
- TOK_TABNAME
- bucket_small
- b
- =
- .
- TOK_TABLE_OR_COL
- a
- key
- .
- TOK_TABLE_OR_COL
- b
- key
- TOK_INSERT
- TOK_DESTINATION
- TOK_DIR
- TOK_TMP_FILE
- TOK_SELECT
- TOK_SELEXPR
- TOK_FUNCTIONSTAR
- count
-
-
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -568,38 +504,6 @@ PREHOOK: query: explain extended select count(*) FROM bucket_big a JOIN bucket_s
PREHOOK: type: QUERY
POSTHOOK: query: explain extended select count(*) FROM bucket_big a JOIN bucket_small b ON a.key = b.key
POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
-
-TOK_QUERY
- TOK_FROM
- TOK_JOIN
- TOK_TABREF
- TOK_TABNAME
- bucket_big
- a
- TOK_TABREF
- TOK_TABNAME
- bucket_small
- b
- =
- .
- TOK_TABLE_OR_COL
- a
- key
- .
- TOK_TABLE_OR_COL
- b
- key
- TOK_INSERT
- TOK_DESTINATION
- TOK_DIR
- TOK_TMP_FILE
- TOK_SELECT
- TOK_SELEXPR
- TOK_FUNCTIONSTAR
- count
-
-
STAGE DEPENDENCIES:
Stage-5 is a root stage , consists of Stage-6, Stage-7, Stage-1
Stage-6 has a backup stage: Stage-1
http://git-wip-us.apache.org/repos/asf/hive/blob/6908198d/ql/src/test/results/clientpositive/auto_sortmerge_join_8.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_sortmerge_join_8.q.out b/ql/src/test/results/clientpositive/auto_sortmerge_join_8.q.out
index d22ba3b..ce0590c 100644
--- a/ql/src/test/results/clientpositive/auto_sortmerge_join_8.q.out
+++ b/ql/src/test/results/clientpositive/auto_sortmerge_join_8.q.out
@@ -122,38 +122,6 @@ PREHOOK: type: QUERY
POSTHOOK: query: -- Since size is being used to find the big table, the order of the tables in the join does not matter
explain extended select count(*) FROM bucket_small a JOIN bucket_big b ON a.key = b.key
POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
-
-TOK_QUERY
- TOK_FROM
- TOK_JOIN
- TOK_TABREF
- TOK_TABNAME
- bucket_small
- a
- TOK_TABREF
- TOK_TABNAME
- bucket_big
- b
- =
- .
- TOK_TABLE_OR_COL
- a
- key
- .
- TOK_TABLE_OR_COL
- b
- key
- TOK_INSERT
- TOK_DESTINATION
- TOK_DIR
- TOK_TMP_FILE
- TOK_SELECT
- TOK_SELEXPR
- TOK_FUNCTIONSTAR
- count
-
-
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -345,38 +313,6 @@ PREHOOK: query: explain extended select count(*) FROM bucket_big a JOIN bucket_s
PREHOOK: type: QUERY
POSTHOOK: query: explain extended select count(*) FROM bucket_big a JOIN bucket_small b ON a.key = b.key
POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
-
-TOK_QUERY
- TOK_FROM
- TOK_JOIN
- TOK_TABREF
- TOK_TABNAME
- bucket_big
- a
- TOK_TABREF
- TOK_TABNAME
- bucket_small
- b
- =
- .
- TOK_TABLE_OR_COL
- a
- key
- .
- TOK_TABLE_OR_COL
- b
- key
- TOK_INSERT
- TOK_DESTINATION
- TOK_DIR
- TOK_TMP_FILE
- TOK_SELECT
- TOK_SELEXPR
- TOK_FUNCTIONSTAR
- count
-
-
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -570,38 +506,6 @@ PREHOOK: type: QUERY
POSTHOOK: query: -- The mapjoin should fail resulting in the sort-merge join
explain extended select count(*) FROM bucket_big a JOIN bucket_small b ON a.key = b.key
POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
-
-TOK_QUERY
- TOK_FROM
- TOK_JOIN
- TOK_TABREF
- TOK_TABNAME
- bucket_big
- a
- TOK_TABREF
- TOK_TABNAME
- bucket_small
- b
- =
- .
- TOK_TABLE_OR_COL
- a
- key
- .
- TOK_TABLE_OR_COL
- b
- key
- TOK_INSERT
- TOK_DESTINATION
- TOK_DIR
- TOK_TMP_FILE
- TOK_SELECT
- TOK_SELEXPR
- TOK_FUNCTIONSTAR
- count
-
-
STAGE DEPENDENCIES:
Stage-5 is a root stage , consists of Stage-6, Stage-7, Stage-1
Stage-6 has a backup stage: Stage-1
http://git-wip-us.apache.org/repos/asf/hive/blob/6908198d/ql/src/test/results/clientpositive/binary_output_format.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/binary_output_format.q.out b/ql/src/test/results/clientpositive/binary_output_format.q.out
index 32b2feb..608d475 100644
--- a/ql/src/test/results/clientpositive/binary_output_format.q.out
+++ b/ql/src/test/results/clientpositive/binary_output_format.q.out
@@ -52,42 +52,6 @@ SELECT TRANSFORM(*)
RECORDREADER 'org.apache.hadoop.hive.ql.exec.BinaryRecordReader'
FROM src
POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
-
-TOK_QUERY
- TOK_FROM
- TOK_TABREF
- TOK_TABNAME
- src
- TOK_INSERT
- TOK_DESTINATION
- TOK_TAB
- TOK_TABNAME
- dest1
- TOK_SELECT
- TOK_SELEXPR
- TOK_TRANSFORM
- TOK_EXPLIST
- TOK_ALLCOLREF
- TOK_SERDE
- TOK_RECORDWRITER
- 'cat'
- TOK_SERDE
- TOK_SERDENAME
- 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
- TOK_TABLEPROPERTIES
- TOK_TABLEPROPLIST
- TOK_TABLEPROPERTY
- 'serialization.last.column.takes.rest'
- 'true'
- TOK_RECORDREADER
- 'org.apache.hadoop.hive.ql.exec.BinaryRecordReader'
- TOK_TABCOLLIST
- TOK_TABCOL
- mydata
- TOK_STRING
-
-
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-7 depends on stages: Stage-1 , consists of Stage-4, Stage-3, Stage-5
http://git-wip-us.apache.org/repos/asf/hive/blob/6908198d/ql/src/test/results/clientpositive/bucket1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/bucket1.q.out b/ql/src/test/results/clientpositive/bucket1.q.out
index 0680176..96b8d4e 100644
--- a/ql/src/test/results/clientpositive/bucket1.q.out
+++ b/ql/src/test/results/clientpositive/bucket1.q.out
@@ -18,23 +18,6 @@ POSTHOOK: query: explain extended
insert overwrite table bucket1_1
select * from src
POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
-
-TOK_QUERY
- TOK_FROM
- TOK_TABREF
- TOK_TABNAME
- src
- TOK_INSERT
- TOK_DESTINATION
- TOK_TAB
- TOK_TABNAME
- bucket1_1
- TOK_SELECT
- TOK_SELEXPR
- TOK_ALLCOLREF
-
-
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
http://git-wip-us.apache.org/repos/asf/hive/blob/6908198d/ql/src/test/results/clientpositive/bucket2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/bucket2.q.out b/ql/src/test/results/clientpositive/bucket2.q.out
index 958e556..b5572fd 100644
--- a/ql/src/test/results/clientpositive/bucket2.q.out
+++ b/ql/src/test/results/clientpositive/bucket2.q.out
@@ -18,23 +18,6 @@ POSTHOOK: query: explain extended
insert overwrite table bucket2_1
select * from src
POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
-
-TOK_QUERY
- TOK_FROM
- TOK_TABREF
- TOK_TABNAME
- src
- TOK_INSERT
- TOK_DESTINATION
- TOK_TAB
- TOK_TABNAME
- bucket2_1
- TOK_SELECT
- TOK_SELEXPR
- TOK_ALLCOLREF
-
-
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
http://git-wip-us.apache.org/repos/asf/hive/blob/6908198d/ql/src/test/results/clientpositive/bucket3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/bucket3.q.out b/ql/src/test/results/clientpositive/bucket3.q.out
index eca9ba5..29afaea 100644
--- a/ql/src/test/results/clientpositive/bucket3.q.out
+++ b/ql/src/test/results/clientpositive/bucket3.q.out
@@ -18,27 +18,6 @@ POSTHOOK: query: explain extended
insert overwrite table bucket3_1 partition (ds='1')
select * from src
POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
-
-TOK_QUERY
- TOK_FROM
- TOK_TABREF
- TOK_TABNAME
- src
- TOK_INSERT
- TOK_DESTINATION
- TOK_TAB
- TOK_TABNAME
- bucket3_1
- TOK_PARTSPEC
- TOK_PARTVAL
- ds
- '1'
- TOK_SELECT
- TOK_SELEXPR
- TOK_ALLCOLREF
-
-
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
http://git-wip-us.apache.org/repos/asf/hive/blob/6908198d/ql/src/test/results/clientpositive/bucket4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/bucket4.q.out b/ql/src/test/results/clientpositive/bucket4.q.out
index dd9ef00..c4baf72 100644
--- a/ql/src/test/results/clientpositive/bucket4.q.out
+++ b/ql/src/test/results/clientpositive/bucket4.q.out
@@ -14,23 +14,6 @@ POSTHOOK: query: explain extended
insert overwrite table bucket4_1
select * from src
POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
-
-TOK_QUERY
- TOK_FROM
- TOK_TABREF
- TOK_TABNAME
- src
- TOK_INSERT
- TOK_DESTINATION
- TOK_TAB
- TOK_TABNAME
- bucket4_1
- TOK_SELECT
- TOK_SELEXPR
- TOK_ALLCOLREF
-
-
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
http://git-wip-us.apache.org/repos/asf/hive/blob/6908198d/ql/src/test/results/clientpositive/bucket5.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/bucket5.q.out b/ql/src/test/results/clientpositive/bucket5.q.out
index fa926aa..dee79f9 100644
--- a/ql/src/test/results/clientpositive/bucket5.q.out
+++ b/ql/src/test/results/clientpositive/bucket5.q.out
@@ -30,42 +30,6 @@ FROM src
INSERT OVERWRITE TABLE bucketed_table SELECT key, value
INSERT OVERWRITE TABLE unbucketed_table SELECT key, value cluster by key
POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
-
-TOK_QUERY
- TOK_FROM
- TOK_TABREF
- TOK_TABNAME
- src
- TOK_INSERT
- TOK_DESTINATION
- TOK_TAB
- TOK_TABNAME
- bucketed_table
- TOK_SELECT
- TOK_SELEXPR
- TOK_TABLE_OR_COL
- key
- TOK_SELEXPR
- TOK_TABLE_OR_COL
- value
- TOK_INSERT
- TOK_DESTINATION
- TOK_TAB
- TOK_TABNAME
- unbucketed_table
- TOK_SELECT
- TOK_SELEXPR
- TOK_TABLE_OR_COL
- key
- TOK_SELEXPR
- TOK_TABLE_OR_COL
- value
- TOK_CLUSTERBY
- TOK_TABLE_OR_COL
- key
-
-
STAGE DEPENDENCIES:
Stage-2 is a root stage
Stage-0 depends on stages: Stage-2
http://git-wip-us.apache.org/repos/asf/hive/blob/6908198d/ql/src/test/results/clientpositive/bucket_many.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/bucket_many.q.out b/ql/src/test/results/clientpositive/bucket_many.q.out
index a9e2f0b..90d9fb8 100644
--- a/ql/src/test/results/clientpositive/bucket_many.q.out
+++ b/ql/src/test/results/clientpositive/bucket_many.q.out
@@ -14,23 +14,6 @@ POSTHOOK: query: explain extended
insert overwrite table bucket_many
select * from src
POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
-
-TOK_QUERY
- TOK_FROM
- TOK_TABREF
- TOK_TABNAME
- src
- TOK_INSERT
- TOK_DESTINATION
- TOK_TAB
- TOK_TABNAME
- bucket_many
- TOK_SELECT
- TOK_SELEXPR
- TOK_ALLCOLREF
-
-
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
http://git-wip-us.apache.org/repos/asf/hive/blob/6908198d/ql/src/test/results/clientpositive/bucket_map_join_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/bucket_map_join_1.q.out b/ql/src/test/results/clientpositive/bucket_map_join_1.q.out
index 05fb434..49bf2ca 100644
--- a/ql/src/test/results/clientpositive/bucket_map_join_1.q.out
+++ b/ql/src/test/results/clientpositive/bucket_map_join_1.q.out
@@ -56,53 +56,6 @@ POSTHOOK: query: -- The tables are bucketed in same columns in different order,
explain extended
select /*+ mapjoin(b) */ count(*) from table1 a join table2 b on a.key=b.key and a.value=b.value
POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
-
-TOK_QUERY
- TOK_FROM
- TOK_JOIN
- TOK_TABREF
- TOK_TABNAME
- table1
- a
- TOK_TABREF
- TOK_TABNAME
- table2
- b
- and
- =
- .
- TOK_TABLE_OR_COL
- a
- key
- .
- TOK_TABLE_OR_COL
- b
- key
- =
- .
- TOK_TABLE_OR_COL
- a
- value
- .
- TOK_TABLE_OR_COL
- b
- value
- TOK_INSERT
- TOK_DESTINATION
- TOK_DIR
- TOK_TMP_FILE
- TOK_SELECT
- TOK_HINTLIST
- TOK_HINT
- TOK_MAPJOIN
- TOK_HINTARGLIST
- b
- TOK_SELEXPR
- TOK_FUNCTIONSTAR
- count
-
-
STAGE DEPENDENCIES:
Stage-3 is a root stage
Stage-1 depends on stages: Stage-3
http://git-wip-us.apache.org/repos/asf/hive/blob/6908198d/ql/src/test/results/clientpositive/bucket_map_join_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/bucket_map_join_2.q.out b/ql/src/test/results/clientpositive/bucket_map_join_2.q.out
index 1173c93..9ec7033 100644
--- a/ql/src/test/results/clientpositive/bucket_map_join_2.q.out
+++ b/ql/src/test/results/clientpositive/bucket_map_join_2.q.out
@@ -56,53 +56,6 @@ POSTHOOK: query: -- The tables are bucketed in same columns in different order,
explain extended
select /*+ mapjoin(b) */ count(*) from table1 a join table2 b on a.key=b.key and a.value=b.value
POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
-
-TOK_QUERY
- TOK_FROM
- TOK_JOIN
- TOK_TABREF
- TOK_TABNAME
- table1
- a
- TOK_TABREF
- TOK_TABNAME
- table2
- b
- and
- =
- .
- TOK_TABLE_OR_COL
- a
- key
- .
- TOK_TABLE_OR_COL
- b
- key
- =
- .
- TOK_TABLE_OR_COL
- a
- value
- .
- TOK_TABLE_OR_COL
- b
- value
- TOK_INSERT
- TOK_DESTINATION
- TOK_DIR
- TOK_TMP_FILE
- TOK_SELECT
- TOK_HINTLIST
- TOK_HINT
- TOK_MAPJOIN
- TOK_HINTARGLIST
- b
- TOK_SELEXPR
- TOK_FUNCTIONSTAR
- count
-
-
STAGE DEPENDENCIES:
Stage-3 is a root stage
Stage-1 depends on stages: Stage-3