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 2019/06/25 15:08:49 UTC
[hive] branch master updated: HIVE-21857: Sort conditions in a
filter predicate to accelerate query processing (Jesus Camacho Rodriguez,
reviewed by Vineet Garg)
This is an automated email from the ASF dual-hosted git repository.
jcamacho pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hive.git
The following commit(s) were added to refs/heads/master by this push:
new 18a5dcb HIVE-21857: Sort conditions in a filter predicate to accelerate query processing (Jesus Camacho Rodriguez, reviewed by Vineet Garg)
18a5dcb is described below
commit 18a5dcb95b1707d540f95b1d6898266977b2b464
Author: Jesus Camacho Rodriguez <jc...@apache.org>
AuthorDate: Tue Jun 11 00:34:26 2019 -0700
HIVE-21857: Sort conditions in a filter predicate to accelerate query processing (Jesus Camacho Rodriguez, reviewed by Vineet Garg)
Close apache/hive#671
---
.../positive/accumulo_predicate_pushdown.q.out | 6 +-
.../test/results/positive/accumulo_queries.q.out | 2 +-
.../accumulo_single_sourced_multi_insert.q.out | 4 +-
.../java/org/apache/hadoop/hive/conf/HiveConf.java | 3 +
.../test/results/positive/hbase_custom_key2.q.out | 2 +-
.../results/positive/hbase_ppd_key_range.q.out | 4 +-
.../src/test/results/positive/hbase_pushdown.q.out | 2 +-
.../src/test/results/positive/hbase_queries.q.out | 2 +-
.../hbase_single_sourced_multi_insert.q.out | 4 +-
.../apache/hadoop/hive/ql/exec/ExplainTask.java | 19 +-
.../hive/ql/optimizer/calcite/HiveRelOptUtil.java | 12 +-
.../hive/ql/optimizer/calcite/RelOptHiveTable.java | 4 +-
.../calcite/rules/HiveFilterSortPredicates.java | 282 ++++
.../calcite/stats/FilterSelectivityEstimator.java | 47 +-
.../calcite/stats/HiveRelMdDistinctRowCount.java | 96 +-
.../calcite/stats/HiveRelMdSelectivity.java | 27 +-
.../ql/optimizer/calcite/stats/HiveRelMdSize.java | 6 +-
.../hive/ql/optimizer/ppr/PartitionPruner.java | 14 +-
.../hadoop/hive/ql/parse/CalcitePlanner.java | 44 +-
.../org/apache/hadoop/hive/ql/plan/Explain.java | 2 -
.../org/apache/hadoop/hive/ql/plan/FilterDesc.java | 12 +-
.../queries/clientpositive/auto_sortmerge_join_4.q | 2 +-
.../clientnegative/bucket_mapjoin_mismatch1.q.out | 26 +-
.../clientnegative/insert_into_with_schema2.q.out | 2 +-
.../test/results/clientpositive/acid_stats4.q.out | 4 +-
.../clientpositive/alterColumnStatsPart.q.out | 8 +-
.../annotate_stats_deep_filters.q.out | 4 +-
.../clientpositive/annotate_stats_join_pkfk.q.out | 8 +-
.../clientpositive/annotate_stats_part.q.out | 36 +-
.../results/clientpositive/autoColumnStats_2.q.out | 4 +-
.../test/results/clientpositive/auto_join14.q.out | 2 +-
.../test/results/clientpositive/auto_join2.q.out | 4 +-
.../test/results/clientpositive/auto_join20.q.out | 2 +-
.../test/results/clientpositive/auto_join29.q.out | 6 +-
.../test/results/clientpositive/auto_join32.q.out | 6 +-
.../test/results/clientpositive/auto_join4.q.out | 4 +-
.../test/results/clientpositive/auto_join5.q.out | 2 +-
.../test/results/clientpositive/auto_join6.q.out | 4 +-
.../test/results/clientpositive/auto_join7.q.out | 6 +-
.../test/results/clientpositive/auto_join8.q.out | 4 +-
.../auto_join_reordering_values.q.out | 2 +-
.../results/clientpositive/auto_join_stats.q.out | 24 +-
.../results/clientpositive/auto_join_stats2.q.out | 8 +-
.../beeline/materialized_view_create_rewrite.q.out | 4 +-
.../clientpositive/beeline/smb_mapjoin_10.q.out | 2 +-
.../clientpositive/bucket_map_join_spark1.q.out | 48 +-
.../clientpositive/bucket_map_join_spark2.q.out | 48 +-
.../clientpositive/bucket_map_join_spark3.q.out | 48 +-
ql/src/test/results/clientpositive/cbo_const.q.out | 2 +-
.../test/results/clientpositive/cbo_input26.q.out | 110 +-
.../clientpositive/cbo_rp_outer_join_ppr.q.out | 4 +-
.../clientpositive/cbo_rp_simple_select.q.out | 4 +-
.../results/clientpositive/cbo_simple_select.q.out | 4 +-
.../results/clientpositive/cbo_union_view.q.out | 78 +-
.../column_pruning_partitioned_view.q.out | 4 +-
.../results/clientpositive/constant_prop_1.q.out | 2 +-
.../results/clientpositive/constant_prop_3.q.out | 4 +-
.../clientpositive/constprog_partitioner.q.out | 2 +-
.../clientpositive/correlated_join_keys.q.out | 8 +-
.../clientpositive/correlationoptimizer10.q.out | 4 +-
.../clientpositive/correlationoptimizer13.q.out | 2 +-
.../clientpositive/correlationoptimizer8.q.out | 24 +-
.../clientpositive/correlationoptimizer9.q.out | 8 +-
.../clientpositive/druid/druid_timeseries.q.out | 2 +-
.../druid/druidmini_expressions.q.out | 2 +-
.../druid/druidmini_extractTime.q.out | 18 +-
.../clientpositive/druid/druidmini_floorTime.q.out | 18 +-
.../clientpositive/druid/druidmini_mv.q.out | 6 +-
.../test/results/clientpositive/except_all.q.out | 6 +-
.../results/clientpositive/explain_logical.q.out | 6 +-
.../clientpositive/filter_cond_pushdown.q.out | 4 +-
.../filter_cond_pushdown_HIVE_15647.q.out | 10 +-
.../clientpositive/filter_join_breaktask.q.out | 24 +-
.../results/clientpositive/filter_numeric.q.out | 6 +-
.../results/clientpositive/flatten_and_or.q.out | 2 +-
.../clientpositive/fold_eq_with_case_when.q.out | 4 +-
.../test/results/clientpositive/fold_to_null.q.out | 6 +-
.../results/clientpositive/folder_predicate.q.out | 14 +-
.../groupby_grouping_sets_grouping.q.out | 4 +-
.../groupby_multi_single_reducer3.q.out | 20 +-
.../results/clientpositive/groupby_position.q.out | 2 +-
.../results/clientpositive/groupby_sort_6.q.out | 68 +-
.../results/clientpositive/groupby_sort_7.q.out | 12 +-
.../results/clientpositive/groupby_sort_8.q.out | 8 +-
.../results/clientpositive/groupby_sort_9.q.out | 12 +-
ql/src/test/results/clientpositive/having2.q.out | 14 +-
.../identity_project_remove_skip.q.out | 2 +-
.../results/clientpositive/infer_const_type.q.out | 8 +-
ql/src/test/results/clientpositive/input12.q.out | 2 +-
ql/src/test/results/clientpositive/input13.q.out | 4 +-
ql/src/test/results/clientpositive/input23.q.out | 16 +-
ql/src/test/results/clientpositive/input26.q.out | 28 +-
ql/src/test/results/clientpositive/input42.q.out | 4 +-
.../test/results/clientpositive/input_part2.q.out | 4 +-
.../test/results/clientpositive/input_part4.q.out | 8 +-
.../test/results/clientpositive/input_part5.q.out | 2 +-
.../results/clientpositive/input_testxpath4.q.out | 4 +-
ql/src/test/results/clientpositive/insert1.q.out | 2 +-
.../insert2_overwrite_partitions.q.out | 48 +-
.../test/results/clientpositive/interval_3.q.out | 2 +-
ql/src/test/results/clientpositive/join14.q.out | 2 +-
ql/src/test/results/clientpositive/join19.q.out | 6 +-
ql/src/test/results/clientpositive/join2.q.out | 4 +-
ql/src/test/results/clientpositive/join20.q.out | 2 +-
ql/src/test/results/clientpositive/join34.q.out | 12 +-
ql/src/test/results/clientpositive/join35.q.out | 12 +-
ql/src/test/results/clientpositive/join4.q.out | 4 +-
ql/src/test/results/clientpositive/join40.q.out | 2 +-
ql/src/test/results/clientpositive/join42.q.out | 4 +-
ql/src/test/results/clientpositive/join45.q.out | 4 +-
ql/src/test/results/clientpositive/join46.q.out | 4 +-
ql/src/test/results/clientpositive/join5.q.out | 2 +-
ql/src/test/results/clientpositive/join6.q.out | 4 +-
ql/src/test/results/clientpositive/join7.q.out | 6 +-
ql/src/test/results/clientpositive/join8.q.out | 4 +-
.../results/clientpositive/join_hive_626.q.out | 2 +-
.../test/results/clientpositive/join_parse.q.out | 2 +-
.../results/clientpositive/join_reorder2.q.out | 4 +-
.../results/clientpositive/join_reorder3.q.out | 4 +-
ql/src/test/results/clientpositive/join_vc.q.out | 40 +-
ql/src/test/results/clientpositive/join_view.q.out | 22 +-
.../test/results/clientpositive/keep_uniform.q.out | 2 +-
.../results/clientpositive/list_bucket_dml_1.q.out | 4 +-
.../clientpositive/list_bucket_dml_11.q.out | 4 +-
.../clientpositive/list_bucket_dml_12.q.out | 4 +-
.../clientpositive/list_bucket_dml_13.q.out | 2 +-
.../results/clientpositive/list_bucket_dml_2.q.out | 2 +-
.../results/clientpositive/list_bucket_dml_3.q.out | 4 +-
.../results/clientpositive/list_bucket_dml_4.q.out | 2 +-
.../results/clientpositive/list_bucket_dml_5.q.out | 2 +-
.../results/clientpositive/list_bucket_dml_9.q.out | 2 +-
.../list_bucket_query_multiskew_1.q.out | 12 +-
.../list_bucket_query_multiskew_2.q.out | 8 +-
.../list_bucket_query_multiskew_3.q.out | 8 +-
.../list_bucket_query_oneskew_1.q.out | 36 +-
.../list_bucket_query_oneskew_2.q.out | 46 +-
.../list_bucket_query_oneskew_3.q.out | 8 +-
.../llap/acid_vectorization_original.q.out | 28 +-
.../results/clientpositive/llap/auto_join29.q.out | 6 +-
.../llap/auto_sortmerge_join_1.q.out | 42 +-
.../llap/auto_sortmerge_join_11.q.out | 32 +-
.../llap/auto_sortmerge_join_16.q.out | 38 +-
.../llap/auto_sortmerge_join_2.q.out | 28 +-
.../llap/auto_sortmerge_join_3.q.out | 42 +-
.../llap/auto_sortmerge_join_4.q.out | 42 +-
.../llap/auto_sortmerge_join_6.q.out | 8 +-
.../llap/auto_sortmerge_join_7.q.out | 42 +-
.../llap/auto_sortmerge_join_8.q.out | 42 +-
.../clientpositive/llap/bucket_map_join_tez2.q.out | 20 +-
.../clientpositive/llap/bucketmapjoin1.q.out | 80 +-
.../clientpositive/llap/bucketmapjoin2.q.out | 76 +-
.../clientpositive/llap/bucketmapjoin3.q.out | 56 +-
.../clientpositive/llap/bucketpruning1.q.out | 240 ++--
.../llap/bucketsortoptimize_insert_7.q.out | 26 +-
.../clientpositive/llap/cbo_simple_select.q.out | 4 +-
.../clientpositive/llap/check_constraint.q.out | 18 +-
.../columnStatsUpdateForStatsOptimizer_1.q.out | 4 +-
.../clientpositive/llap/constprog_semijoin.q.out | 2 +-
.../llap/dynamic_partition_join_noncbo.q.out | 2 +-
.../llap/dynamic_partition_pruning.q.out | 14 +-
.../llap/dynamic_partition_pruning_2.q.out | 16 +-
.../llap/dynamic_semijoin_reduction.q.out | 24 +-
.../llap/dynamic_semijoin_reduction_2.q.out | 8 +-
.../llap/dynamic_semijoin_reduction_3.q.out | 8 +-
.../llap/dynamic_semijoin_reduction_4.q.out | 6 +-
.../dynamic_semijoin_reduction_on_aggcol.q.out | 2 +-
.../llap/dynamic_semijoin_reduction_sw.q.out | 6 +-
.../llap/dynamic_semijoin_reduction_sw2.q.out | 4 +-
.../llap/dynamic_semijoin_user_level.q.out | 14 +-
.../llap/dynpart_sort_opt_vectorization.q.out | 30 +-
.../llap/dynpart_sort_optimization.q.out | 44 +-
.../llap/dynpart_sort_optimization2.q.out | 12 +-
.../llap/enforce_constraint_notnull.q.out | 30 +-
.../clientpositive/llap/except_distinct.q.out | 10 +-
.../clientpositive/llap/explainuser_1.q.out | 62 +-
.../clientpositive/llap/explainuser_2.q.out | 12 +-
.../clientpositive/llap/explainuser_4.q.out | 12 +-
.../llap/external_jdbc_table_perf.q.out | 1347 ++++++++------------
.../llap/filter_join_breaktask.q.out | 10 +-
.../llap/groupby_groupingset_bug.q.out | 4 +-
.../llap/hybridgrace_hashjoin_1.q.out | 68 +-
.../llap/hybridgrace_hashjoin_2.q.out | 8 +-
.../llap/identity_project_remove_skip.q.out | 2 +-
.../test/results/clientpositive/llap/insert1.q.out | 2 +-
.../llap/insert1_overwrite_partitions.q.out | 62 +-
.../llap/insert_into_default_keyword.q.out | 6 +-
.../clientpositive/llap/join32_lessSize.q.out | 2 +-
.../test/results/clientpositive/llap/join46.q.out | 4 +-
.../results/clientpositive/llap/keep_uniform.q.out | 2 +-
.../results/clientpositive/llap/lineage2.q.out | 6 +-
.../results/clientpositive/llap/lineage3.q.out | 6 +-
.../clientpositive/llap/llap_uncompressed.q.out | 2 +-
.../results/clientpositive/llap/mapjoin46.q.out | 4 +-
.../results/clientpositive/llap/mapjoin_hint.q.out | 2 +-
.../clientpositive/llap/mapjoin_mapjoin.q.out | 4 +-
.../llap/materialized_view_create_rewrite.q.out | 4 +-
.../llap/materialized_view_create_rewrite_3.q.out | 2 +-
.../llap/materialized_view_create_rewrite_4.q.out | 4 +-
.../llap/materialized_view_create_rewrite_5.q.out | 4 +-
.../materialized_view_create_rewrite_dummy.q.out | 4 +-
...ialized_view_create_rewrite_rebuild_dummy.q.out | 2 +-
...erialized_view_create_rewrite_time_window.q.out | 2 +-
.../llap/materialized_view_partitioned.q.out | 10 +-
.../llap/materialized_view_partitioned_2.q.out | 4 +-
.../llap/materialized_view_partitioned_3.q.out | 2 +-
.../llap/materialized_view_rewrite_2.q.out | 2 +-
.../llap/materialized_view_rewrite_5.q.out | 2 +-
.../llap/materialized_view_rewrite_7.q.out | 12 +-
.../llap/materialized_view_rewrite_part_2.q.out | 2 +-
.../llap/materialized_view_rewrite_ssb.q.out | 14 +-
.../llap/materialized_view_rewrite_ssb_2.q.out | 10 +-
.../results/clientpositive/llap/mergejoin.q.out | 10 +-
.../llap/metadata_only_queries.q.out | 12 +-
.../clientpositive/llap/multiMapJoin1.q.out | 8 +-
.../clientpositive/llap/multi_column_in.q.out | 6 +-
.../llap/multi_column_in_single.q.out | 8 +-
.../results/clientpositive/llap/multi_insert.q.out | 32 +-
.../results/clientpositive/llap/orc_llap.q.out | 12 +-
.../llap/orc_predicate_pushdown.q.out | 22 +-
.../llap/parquet_predicate_pushdown.q.out | 24 +-
.../clientpositive/llap/partition_ctas.q.out | 2 +-
.../clientpositive/llap/ppd_union_view.q.out | 36 +-
.../clientpositive/llap/q93_with_constraints.q.out | 10 +-
.../results/clientpositive/llap/quotedid_smb.q.out | 2 +-
.../clientpositive/llap/reopt_semijoin.q.out | 4 +-
.../llap/results_cache_temptable.q.out | 2 +-
.../llap/results_cache_with_masking.q.out | 8 +-
.../llap/retry_failure_stat_changes.q.out | 6 +-
.../clientpositive/llap/runtime_stats_hs2.q.out | 4 +-
.../schema_evol_orc_nonvec_part_all_complex.q.out | 4 +-
..._evol_orc_nonvec_part_all_complex_llap_io.q.out | 4 +-
.../schema_evol_orc_vec_part_all_complex.q.out | 4 +-
...ema_evol_orc_vec_part_all_complex_llap_io.q.out | 4 +-
.../schema_evol_text_nonvec_part_all_complex.q.out | 4 +-
...evol_text_nonvec_part_all_complex_llap_io.q.out | 4 +-
.../schema_evol_text_vec_part_all_complex.q.out | 4 +-
...ma_evol_text_vec_part_all_complex_llap_io.q.out | 8 +-
.../schema_evol_text_vecrow_part_all_complex.q.out | 4 +-
...evol_text_vecrow_part_all_complex_llap_io.q.out | 8 +-
.../clientpositive/llap/semijoin_hint.q.out | 40 +-
.../clientpositive/llap/semijoin_reddedup.q.out | 2 +-
.../results/clientpositive/llap/sharedwork.q.out | 8 +-
.../results/clientpositive/llap/skewjoin.q.out | 4 +-
.../clientpositive/llap/smb_mapjoin_15.q.out | 4 +-
.../clientpositive/llap/smb_mapjoin_18.q.out | 2 +-
.../results/clientpositive/llap/sqlmerge.q.out | 4 +-
.../test/results/clientpositive/llap/stats11.q.out | 36 +-
.../clientpositive/llap/stats_only_null.q.out | 4 +-
.../results/clientpositive/llap/subquery_ALL.q.out | 4 +-
.../clientpositive/llap/subquery_corr.q.out | 6 +-
.../clientpositive/llap/subquery_exists.q.out | 2 +-
.../results/clientpositive/llap/subquery_in.q.out | 50 +-
.../clientpositive/llap/subquery_in_having.q.out | 6 +-
.../clientpositive/llap/subquery_multi.q.out | 66 +-
.../clientpositive/llap/subquery_notin.q.out | 98 +-
.../clientpositive/llap/subquery_scalar.q.out | 30 +-
.../clientpositive/llap/subquery_select.q.out | 10 +-
.../clientpositive/llap/subquery_views.q.out | 6 +-
.../llap/tez_dynpart_hashjoin_1.q.out | 12 +-
.../clientpositive/llap/tez_smb_empty.q.out | 64 +-
.../results/clientpositive/llap/tez_smb_main.q.out | 54 +-
.../clientpositive/llap/tez_smb_reduce_side.q.out | 4 +-
.../clientpositive/llap/tez_union_group_by.q.out | 2 +-
.../llap/tez_vector_dynpart_hashjoin_1.q.out | 12 +-
.../clientpositive/llap/unionDistinct_1.q.out | 6 +-
.../clientpositive/llap/vector_between_in.q.out | 4 +-
.../clientpositive/llap/vector_date_1.q.out | 8 +-
.../clientpositive/llap/vector_decimal_cast.q.out | 12 +-
.../llap/vector_decimal_expressions.q.out | 12 +-
.../vector_groupby_grouping_sets_grouping.q.out | 4 +-
.../llap/vector_groupby_mapjoin.q.out | 4 +-
.../llap/vector_groupby_sort_8.q.out | 6 +-
.../clientpositive/llap/vector_interval_2.q.out | 32 +-
.../llap/vector_interval_mapjoin.q.out | 4 +-
.../clientpositive/llap/vector_join_filters.q.out | 10 +-
.../clientpositive/llap/vector_list_constant.q.out | 8 +-
.../llap/vector_mapjoin_reduce.q.out | 8 +-
.../llap/vector_mr_diff_schema_alias.q.out | 2 +-
.../clientpositive/llap/vector_multi_insert.q.out | 2 +-
.../llap/vector_orc_nested_column_pruning.q.out | 10 +-
.../llap/vector_reuse_scratchcols.q.out | 12 +-
.../clientpositive/llap/vectorization_0.q.out | 10 +-
.../clientpositive/llap/vectorization_1.q.out | 6 +-
.../clientpositive/llap/vectorization_10.q.out | 2 +-
.../clientpositive/llap/vectorization_11.q.out | 6 +-
.../clientpositive/llap/vectorization_12.q.out | 6 +-
.../clientpositive/llap/vectorization_13.q.out | 4 +-
.../clientpositive/llap/vectorization_14.q.out | 6 +-
.../clientpositive/llap/vectorization_15.q.out | 6 +-
.../clientpositive/llap/vectorization_16.q.out | 2 +-
.../clientpositive/llap/vectorization_17.q.out | 6 +-
.../clientpositive/llap/vectorization_2.q.out | 4 +-
.../clientpositive/llap/vectorization_3.q.out | 2 +-
.../clientpositive/llap/vectorization_4.q.out | 6 +-
.../clientpositive/llap/vectorization_5.q.out | 2 +-
.../clientpositive/llap/vectorization_6.q.out | 4 +-
.../clientpositive/llap/vectorization_7.q.out | 12 +-
.../clientpositive/llap/vectorization_8.q.out | 12 +-
.../clientpositive/llap/vectorization_9.q.out | 2 +-
.../llap/vectorization_decimal_date.q.out | 2 +-
.../clientpositive/llap/vectorization_div0.q.out | 6 +-
.../clientpositive/llap/vectorization_limit.q.out | 4 +-
.../llap/vectorization_short_regress.q.out | 70 +-
.../clientpositive/llap/vectorized_context.q.out | 2 +-
.../vectorized_dynamic_partition_pruning.q.out | 14 +-
.../vectorized_dynamic_semijoin_reduction.q.out | 16 +-
.../vectorized_dynamic_semijoin_reduction2.q.out | 16 +-
.../clientpositive/llap/vectorized_join46.q.out | 4 +-
.../clientpositive/llap/vectorized_mapjoin3.q.out | 6 +-
.../llap/vectorized_nested_mapjoin.q.out | 2 +-
.../llap/vectorized_string_funcs.q.out | 2 +-
.../results/clientpositive/load_dyn_part13.q.out | 2 +-
.../results/clientpositive/louter_join_ppr.q.out | 16 +-
.../test/results/clientpositive/manyViewJoin.q.out | 16 +-
ql/src/test/results/clientpositive/mapjoin46.q.out | 4 +-
.../mapjoin_filter_on_outerjoin.q.out | 4 +-
.../results/clientpositive/mapjoin_mapjoin.q.out | 4 +-
ql/src/test/results/clientpositive/masking_1.q.out | 32 +-
.../test/results/clientpositive/masking_10.q.out | 12 +-
.../test/results/clientpositive/masking_12.q.out | 24 +-
.../test/results/clientpositive/masking_13.q.out | 8 +-
.../results/clientpositive/masking_1_newdb.q.out | 8 +-
ql/src/test/results/clientpositive/masking_3.q.out | 8 +-
ql/src/test/results/clientpositive/masking_4.q.out | 10 +-
ql/src/test/results/clientpositive/masking_8.q.out | 16 +-
ql/src/test/results/clientpositive/masking_9.q.out | 4 +-
.../clientpositive/masking_disablecbo_1.q.out | 2 +-
.../clientpositive/masking_disablecbo_2.q.out | 4 +-
.../clientpositive/masking_disablecbo_3.q.out | 12 +-
.../test/results/clientpositive/masking_mv.q.out | 16 +-
.../clientpositive/merge_dynamic_partition.q.out | 54 +-
.../clientpositive/merge_dynamic_partition2.q.out | 18 +-
.../clientpositive/merge_dynamic_partition3.q.out | 18 +-
.../clientpositive/metadata_only_queries.q.out | 12 +-
.../results/clientpositive/multi_insert_gby.q.out | 2 +-
.../results/clientpositive/multi_insert_gby4.q.out | 2 +-
...ulti_insert_move_tasks_share_dependencies.q.out | 56 +-
.../clientpositive/multi_insert_with_join2.q.out | 14 +-
.../clientpositive/nested_column_pruning.q.out | 8 +-
.../test/results/clientpositive/nonmr_fetch.q.out | 4 +-
.../test/results/clientpositive/nullgroup5.q.out | 18 +-
.../clientpositive/orc_nested_column_pruning.q.out | 8 +-
.../results/clientpositive/outer_join_ppr.q.out | 8 +-
.../clientpositive/parquet_vectorization_0.q.out | 10 +-
.../clientpositive/parquet_vectorization_1.q.out | 6 +-
.../clientpositive/parquet_vectorization_10.q.out | 2 +-
.../clientpositive/parquet_vectorization_11.q.out | 6 +-
.../clientpositive/parquet_vectorization_12.q.out | 6 +-
.../clientpositive/parquet_vectorization_13.q.out | 4 +-
.../clientpositive/parquet_vectorization_14.q.out | 6 +-
.../clientpositive/parquet_vectorization_15.q.out | 6 +-
.../clientpositive/parquet_vectorization_16.q.out | 2 +-
.../clientpositive/parquet_vectorization_17.q.out | 6 +-
.../clientpositive/parquet_vectorization_2.q.out | 4 +-
.../clientpositive/parquet_vectorization_3.q.out | 2 +-
.../clientpositive/parquet_vectorization_4.q.out | 6 +-
.../clientpositive/parquet_vectorization_5.q.out | 2 +-
.../clientpositive/parquet_vectorization_6.q.out | 4 +-
.../clientpositive/parquet_vectorization_7.q.out | 12 +-
.../clientpositive/parquet_vectorization_8.q.out | 12 +-
.../clientpositive/parquet_vectorization_9.q.out | 2 +-
.../parquet_vectorization_decimal_date.q.out | 2 +-
.../parquet_vectorization_div0.q.out | 4 +-
.../parquet_vectorization_limit.q.out | 4 +-
.../parquet_vectorization_offset_limit.q.out | 4 +-
ql/src/test/results/clientpositive/pcr.q.out | 26 +-
ql/src/test/results/clientpositive/pcs.q.out | 12 +-
.../results/clientpositive/perf/spark/query1.q.out | 6 +-
.../clientpositive/perf/spark/query10.q.out | 10 +-
.../clientpositive/perf/spark/query11.q.out | 8 +-
.../clientpositive/perf/spark/query12.q.out | 8 +-
.../clientpositive/perf/spark/query13.q.out | 12 +-
.../clientpositive/perf/spark/query15.q.out | 4 +-
.../clientpositive/perf/spark/query16.q.out | 14 +-
.../clientpositive/perf/spark/query17.q.out | 16 +-
.../clientpositive/perf/spark/query18.q.out | 12 +-
.../clientpositive/perf/spark/query19.q.out | 4 +-
.../clientpositive/perf/spark/query20.q.out | 8 +-
.../clientpositive/perf/spark/query21.q.out | 8 +-
.../clientpositive/perf/spark/query22.q.out | 2 +-
.../clientpositive/perf/spark/query23.q.out | 8 +-
.../clientpositive/perf/spark/query24.q.out | 16 +-
.../clientpositive/perf/spark/query25.q.out | 12 +-
.../clientpositive/perf/spark/query26.q.out | 10 +-
.../clientpositive/perf/spark/query27.q.out | 10 +-
.../clientpositive/perf/spark/query28.q.out | 12 +-
.../clientpositive/perf/spark/query29.q.out | 8 +-
.../results/clientpositive/perf/spark/query3.q.out | 2 +-
.../clientpositive/perf/spark/query30.q.out | 4 +-
.../clientpositive/perf/spark/query31.q.out | 14 +-
.../clientpositive/perf/spark/query32.q.out | 10 +-
.../clientpositive/perf/spark/query33.q.out | 18 +-
.../clientpositive/perf/spark/query34.q.out | 14 +-
.../clientpositive/perf/spark/query35.q.out | 6 +-
.../clientpositive/perf/spark/query36.q.out | 6 +-
.../clientpositive/perf/spark/query37.q.out | 10 +-
.../clientpositive/perf/spark/query38.q.out | 10 +-
.../clientpositive/perf/spark/query39.q.out | 8 +-
.../results/clientpositive/perf/spark/query4.q.out | 12 +-
.../clientpositive/perf/spark/query40.q.out | 8 +-
.../clientpositive/perf/spark/query42.q.out | 2 +-
.../clientpositive/perf/spark/query44.q.out | 8 +-
.../clientpositive/perf/spark/query45.q.out | 4 +-
.../clientpositive/perf/spark/query46.q.out | 8 +-
.../clientpositive/perf/spark/query47.q.out | 26 +-
.../clientpositive/perf/spark/query48.q.out | 12 +-
.../clientpositive/perf/spark/query49.q.out | 14 +-
.../results/clientpositive/perf/spark/query5.q.out | 14 +-
.../clientpositive/perf/spark/query50.q.out | 6 +-
.../clientpositive/perf/spark/query51.q.out | 4 +-
.../clientpositive/perf/spark/query52.q.out | 2 +-
.../clientpositive/perf/spark/query53.q.out | 4 +-
.../clientpositive/perf/spark/query54.q.out | 20 +-
.../clientpositive/perf/spark/query55.q.out | 2 +-
.../clientpositive/perf/spark/query56.q.out | 18 +-
.../clientpositive/perf/spark/query57.q.out | 26 +-
.../clientpositive/perf/spark/query58.q.out | 38 +-
.../clientpositive/perf/spark/query59.q.out | 4 +-
.../results/clientpositive/perf/spark/query6.q.out | 10 +-
.../clientpositive/perf/spark/query60.q.out | 18 +-
.../clientpositive/perf/spark/query61.q.out | 24 +-
.../clientpositive/perf/spark/query63.q.out | 4 +-
.../clientpositive/perf/spark/query65.q.out | 6 +-
.../clientpositive/perf/spark/query66.q.out | 4 +-
.../clientpositive/perf/spark/query67.q.out | 4 +-
.../clientpositive/perf/spark/query68.q.out | 12 +-
.../clientpositive/perf/spark/query69.q.out | 10 +-
.../results/clientpositive/perf/spark/query7.q.out | 10 +-
.../clientpositive/perf/spark/query70.q.out | 12 +-
.../clientpositive/perf/spark/query71.q.out | 10 +-
.../clientpositive/perf/spark/query72.q.out | 16 +-
.../clientpositive/perf/spark/query73.q.out | 14 +-
.../clientpositive/perf/spark/query74.q.out | 16 +-
.../clientpositive/perf/spark/query75.q.out | 20 +-
.../clientpositive/perf/spark/query76.q.out | 4 +-
.../clientpositive/perf/spark/query77.q.out | 20 +-
.../clientpositive/perf/spark/query78.q.out | 12 +-
.../clientpositive/perf/spark/query79.q.out | 4 +-
.../results/clientpositive/perf/spark/query8.q.out | 4 +-
.../clientpositive/perf/spark/query80.q.out | 26 +-
.../clientpositive/perf/spark/query81.q.out | 4 +-
.../clientpositive/perf/spark/query82.q.out | 10 +-
.../clientpositive/perf/spark/query83.q.out | 36 +-
.../clientpositive/perf/spark/query84.q.out | 4 +-
.../clientpositive/perf/spark/query85.q.out | 18 +-
.../clientpositive/perf/spark/query86.q.out | 4 +-
.../clientpositive/perf/spark/query87.q.out | 12 +-
.../clientpositive/perf/spark/query88.q.out | 64 +-
.../clientpositive/perf/spark/query89.q.out | 4 +-
.../clientpositive/perf/spark/query91.q.out | 12 +-
.../clientpositive/perf/spark/query92.q.out | 10 +-
.../clientpositive/perf/spark/query93.q.out | 6 +-
.../clientpositive/perf/spark/query94.q.out | 14 +-
.../clientpositive/perf/spark/query95.q.out | 14 +-
.../clientpositive/perf/spark/query96.q.out | 4 +-
.../clientpositive/perf/spark/query97.q.out | 4 +-
.../clientpositive/perf/spark/query98.q.out | 8 +-
.../clientpositive/perf/spark/query99.q.out | 4 +-
.../clientpositive/perf/tez/cbo_ext_query1.q.out | 8 +-
.../clientpositive/perf/tez/cbo_query1.q.out | 4 +-
.../clientpositive/perf/tez/cbo_query10.q.out | 4 +-
.../clientpositive/perf/tez/cbo_query11.q.out | 4 +-
.../clientpositive/perf/tez/cbo_query12.q.out | 2 +-
.../clientpositive/perf/tez/cbo_query13.q.out | 2 +-
.../clientpositive/perf/tez/cbo_query14.q.out | 48 +-
.../clientpositive/perf/tez/cbo_query15.q.out | 4 +-
.../clientpositive/perf/tez/cbo_query16.q.out | 4 +-
.../clientpositive/perf/tez/cbo_query17.q.out | 6 +-
.../clientpositive/perf/tez/cbo_query18.q.out | 6 +-
.../clientpositive/perf/tez/cbo_query19.q.out | 4 +-
.../clientpositive/perf/tez/cbo_query20.q.out | 2 +-
.../clientpositive/perf/tez/cbo_query23.q.out | 8 +-
.../clientpositive/perf/tez/cbo_query24.q.out | 4 +-
.../clientpositive/perf/tez/cbo_query25.q.out | 12 +-
.../clientpositive/perf/tez/cbo_query26.q.out | 4 +-
.../clientpositive/perf/tez/cbo_query27.q.out | 2 +-
.../clientpositive/perf/tez/cbo_query29.q.out | 10 +-
.../clientpositive/perf/tez/cbo_query30.q.out | 2 +-
.../clientpositive/perf/tez/cbo_query31.q.out | 12 +-
.../clientpositive/perf/tez/cbo_query32.q.out | 4 +-
.../clientpositive/perf/tez/cbo_query34.q.out | 6 +-
.../clientpositive/perf/tez/cbo_query35.q.out | 4 +-
.../clientpositive/perf/tez/cbo_query36.q.out | 2 +-
.../clientpositive/perf/tez/cbo_query37.q.out | 2 +-
.../clientpositive/perf/tez/cbo_query38.q.out | 2 +-
.../clientpositive/perf/tez/cbo_query4.q.out | 8 +-
.../clientpositive/perf/tez/cbo_query40.q.out | 2 +-
.../clientpositive/perf/tez/cbo_query42.q.out | 2 +-
.../clientpositive/perf/tez/cbo_query46.q.out | 4 +-
.../clientpositive/perf/tez/cbo_query47.q.out | 6 +-
.../clientpositive/perf/tez/cbo_query48.q.out | 2 +-
.../clientpositive/perf/tez/cbo_query49.q.out | 6 +-
.../clientpositive/perf/tez/cbo_query5.q.out | 8 +-
.../clientpositive/perf/tez/cbo_query50.q.out | 4 +-
.../clientpositive/perf/tez/cbo_query51.q.out | 4 +-
.../clientpositive/perf/tez/cbo_query52.q.out | 2 +-
.../clientpositive/perf/tez/cbo_query53.q.out | 2 +-
.../clientpositive/perf/tez/cbo_query54.q.out | 10 +-
.../clientpositive/perf/tez/cbo_query55.q.out | 2 +-
.../clientpositive/perf/tez/cbo_query57.q.out | 6 +-
.../clientpositive/perf/tez/cbo_query58.q.out | 6 +-
.../clientpositive/perf/tez/cbo_query6.q.out | 4 +-
.../clientpositive/perf/tez/cbo_query61.q.out | 4 +-
.../clientpositive/perf/tez/cbo_query63.q.out | 2 +-
.../clientpositive/perf/tez/cbo_query64.q.out | 12 +-
.../clientpositive/perf/tez/cbo_query66.q.out | 2 +-
.../clientpositive/perf/tez/cbo_query68.q.out | 4 +-
.../clientpositive/perf/tez/cbo_query69.q.out | 4 +-
.../clientpositive/perf/tez/cbo_query7.q.out | 4 +-
.../clientpositive/perf/tez/cbo_query71.q.out | 12 +-
.../clientpositive/perf/tez/cbo_query72.q.out | 4 +-
.../clientpositive/perf/tez/cbo_query73.q.out | 6 +-
.../clientpositive/perf/tez/cbo_query74.q.out | 12 +-
.../clientpositive/perf/tez/cbo_query75.q.out | 24 +-
.../clientpositive/perf/tez/cbo_query76.q.out | 6 +-
.../clientpositive/perf/tez/cbo_query77.q.out | 4 +-
.../clientpositive/perf/tez/cbo_query78.q.out | 6 +-
.../clientpositive/perf/tez/cbo_query79.q.out | 4 +-
.../clientpositive/perf/tez/cbo_query8.q.out | 2 +-
.../clientpositive/perf/tez/cbo_query80.q.out | 6 +-
.../clientpositive/perf/tez/cbo_query81.q.out | 4 +-
.../clientpositive/perf/tez/cbo_query82.q.out | 2 +-
.../clientpositive/perf/tez/cbo_query83.q.out | 4 +-
.../clientpositive/perf/tez/cbo_query84.q.out | 2 +-
.../clientpositive/perf/tez/cbo_query85.q.out | 8 +-
.../clientpositive/perf/tez/cbo_query87.q.out | 2 +-
.../clientpositive/perf/tez/cbo_query88.q.out | 32 +-
.../clientpositive/perf/tez/cbo_query89.q.out | 2 +-
.../clientpositive/perf/tez/cbo_query90.q.out | 4 +-
.../clientpositive/perf/tez/cbo_query91.q.out | 6 +-
.../clientpositive/perf/tez/cbo_query92.q.out | 4 +-
.../clientpositive/perf/tez/cbo_query93.q.out | 2 +-
.../clientpositive/perf/tez/cbo_query94.q.out | 4 +-
.../clientpositive/perf/tez/cbo_query95.q.out | 2 +-
.../clientpositive/perf/tez/cbo_query96.q.out | 2 +-
.../clientpositive/perf/tez/cbo_query98.q.out | 2 +-
.../clientpositive/perf/tez/cbo_query99.q.out | 2 +-
.../perf/tez/constraints/cbo_ext_query1.q.out | 8 +-
.../perf/tez/constraints/cbo_query1.q.out | 4 +-
.../perf/tez/constraints/cbo_query10.q.out | 4 +-
.../perf/tez/constraints/cbo_query11.q.out | 4 +-
.../perf/tez/constraints/cbo_query13.q.out | 2 +-
.../perf/tez/constraints/cbo_query14.q.out | 24 +-
.../perf/tez/constraints/cbo_query15.q.out | 4 +-
.../perf/tez/constraints/cbo_query16.q.out | 2 +-
.../perf/tez/constraints/cbo_query17.q.out | 4 +-
.../perf/tez/constraints/cbo_query18.q.out | 4 +-
.../perf/tez/constraints/cbo_query19.q.out | 2 +-
.../perf/tez/constraints/cbo_query23.q.out | 6 +-
.../perf/tez/constraints/cbo_query24.q.out | 4 +-
.../perf/tez/constraints/cbo_query25.q.out | 10 +-
.../perf/tez/constraints/cbo_query26.q.out | 4 +-
.../perf/tez/constraints/cbo_query27.q.out | 2 +-
.../perf/tez/constraints/cbo_query29.q.out | 8 +-
.../perf/tez/constraints/cbo_query30.q.out | 2 +-
.../perf/tez/constraints/cbo_query31.q.out | 12 +-
.../perf/tez/constraints/cbo_query32.q.out | 2 +-
.../perf/tez/constraints/cbo_query34.q.out | 6 +-
.../perf/tez/constraints/cbo_query35.q.out | 4 +-
.../perf/tez/constraints/cbo_query37.q.out | 2 +-
.../perf/tez/constraints/cbo_query38.q.out | 2 +-
.../perf/tez/constraints/cbo_query4.q.out | 8 +-
.../perf/tez/constraints/cbo_query42.q.out | 2 +-
.../perf/tez/constraints/cbo_query46.q.out | 6 +-
.../perf/tez/constraints/cbo_query48.q.out | 2 +-
.../perf/tez/constraints/cbo_query5.q.out | 6 +-
.../perf/tez/constraints/cbo_query50.q.out | 2 +-
.../perf/tez/constraints/cbo_query52.q.out | 2 +-
.../perf/tez/constraints/cbo_query54.q.out | 8 +-
.../perf/tez/constraints/cbo_query55.q.out | 2 +-
.../perf/tez/constraints/cbo_query6.q.out | 4 +-
.../perf/tez/constraints/cbo_query61.q.out | 6 +-
.../perf/tez/constraints/cbo_query64.q.out | 12 +-
.../perf/tez/constraints/cbo_query66.q.out | 2 +-
.../perf/tez/constraints/cbo_query68.q.out | 6 +-
.../perf/tez/constraints/cbo_query69.q.out | 4 +-
.../perf/tez/constraints/cbo_query7.q.out | 2 +-
.../perf/tez/constraints/cbo_query71.q.out | 8 +-
.../perf/tez/constraints/cbo_query72.q.out | 2 +-
.../perf/tez/constraints/cbo_query73.q.out | 6 +-
.../perf/tez/constraints/cbo_query74.q.out | 12 +-
.../perf/tez/constraints/cbo_query75.q.out | 12 +-
.../perf/tez/constraints/cbo_query77.q.out | 4 +-
.../perf/tez/constraints/cbo_query78.q.out | 2 +-
.../perf/tez/constraints/cbo_query79.q.out | 6 +-
.../perf/tez/constraints/cbo_query8.q.out | 2 +-
.../perf/tez/constraints/cbo_query80.q.out | 6 +-
.../perf/tez/constraints/cbo_query81.q.out | 4 +-
.../perf/tez/constraints/cbo_query82.q.out | 2 +-
.../perf/tez/constraints/cbo_query84.q.out | 2 +-
.../perf/tez/constraints/cbo_query85.q.out | 8 +-
.../perf/tez/constraints/cbo_query87.q.out | 2 +-
.../perf/tez/constraints/cbo_query88.q.out | 32 +-
.../perf/tez/constraints/cbo_query90.q.out | 4 +-
.../perf/tez/constraints/cbo_query91.q.out | 6 +-
.../perf/tez/constraints/cbo_query92.q.out | 2 +-
.../perf/tez/constraints/cbo_query94.q.out | 2 +-
.../perf/tez/constraints/cbo_query95.q.out | 2 +-
.../perf/tez/constraints/cbo_query96.q.out | 2 +-
.../perf/tez/constraints/cbo_query99.q.out | 2 +-
.../perf/tez/constraints/mv_query44.q.out | 4 +-
.../perf/tez/constraints/query1.q.out | 4 +-
.../perf/tez/constraints/query10.q.out | 8 +-
.../perf/tez/constraints/query11.q.out | 8 +-
.../perf/tez/constraints/query12.q.out | 2 +-
.../perf/tez/constraints/query13.q.out | 6 +-
.../perf/tez/constraints/query14.q.out | 32 +-
.../perf/tez/constraints/query15.q.out | 6 +-
.../perf/tez/constraints/query16.q.out | 4 +-
.../perf/tez/constraints/query17.q.out | 4 +-
.../perf/tez/constraints/query18.q.out | 24 +-
.../perf/tez/constraints/query19.q.out | 4 +-
.../perf/tez/constraints/query20.q.out | 2 +-
.../perf/tez/constraints/query21.q.out | 2 +-
.../perf/tez/constraints/query23.q.out | 14 +-
.../perf/tez/constraints/query24.q.out | 4 +-
.../perf/tez/constraints/query25.q.out | 6 +-
.../perf/tez/constraints/query26.q.out | 4 +-
.../perf/tez/constraints/query27.q.out | 4 +-
.../perf/tez/constraints/query28.q.out | 12 +-
.../perf/tez/constraints/query29.q.out | 6 +-
.../perf/tez/constraints/query3.q.out | 2 +-
.../perf/tez/constraints/query30.q.out | 6 +-
.../perf/tez/constraints/query31.q.out | 26 +-
.../perf/tez/constraints/query33.q.out | 8 +-
.../perf/tez/constraints/query34.q.out | 6 +-
.../perf/tez/constraints/query35.q.out | 10 +-
.../perf/tez/constraints/query36.q.out | 2 +-
.../perf/tez/constraints/query37.q.out | 2 +-
.../perf/tez/constraints/query38.q.out | 6 +-
.../perf/tez/constraints/query39.q.out | 4 +-
.../perf/tez/constraints/query4.q.out | 12 +-
.../perf/tez/constraints/query40.q.out | 2 +-
.../perf/tez/constraints/query42.q.out | 4 +-
.../perf/tez/constraints/query43.q.out | 2 +-
.../perf/tez/constraints/query44.q.out | 4 +-
.../perf/tez/constraints/query45.q.out | 6 +-
.../perf/tez/constraints/query46.q.out | 6 +-
.../perf/tez/constraints/query47.q.out | 10 +-
.../perf/tez/constraints/query48.q.out | 10 +-
.../perf/tez/constraints/query49.q.out | 8 +-
.../perf/tez/constraints/query5.q.out | 8 +-
.../perf/tez/constraints/query50.q.out | 4 +-
.../perf/tez/constraints/query51.q.out | 4 +-
.../perf/tez/constraints/query52.q.out | 4 +-
.../perf/tez/constraints/query53.q.out | 4 +-
.../perf/tez/constraints/query54.q.out | 16 +-
.../perf/tez/constraints/query55.q.out | 4 +-
.../perf/tez/constraints/query56.q.out | 8 +-
.../perf/tez/constraints/query57.q.out | 8 +-
.../perf/tez/constraints/query58.q.out | 10 +-
.../perf/tez/constraints/query6.q.out | 8 +-
.../perf/tez/constraints/query60.q.out | 8 +-
.../perf/tez/constraints/query61.q.out | 12 +-
.../perf/tez/constraints/query63.q.out | 4 +-
.../perf/tez/constraints/query64.q.out | 110 +-
.../perf/tez/constraints/query65.q.out | 2 +-
.../perf/tez/constraints/query66.q.out | 4 +-
.../perf/tez/constraints/query67.q.out | 2 +-
.../perf/tez/constraints/query68.q.out | 6 +-
.../perf/tez/constraints/query69.q.out | 8 +-
.../perf/tez/constraints/query7.q.out | 4 +-
.../perf/tez/constraints/query70.q.out | 2 +-
.../perf/tez/constraints/query71.q.out | 12 +-
.../perf/tez/constraints/query72.q.out | 10 +-
.../perf/tez/constraints/query73.q.out | 6 +-
.../perf/tez/constraints/query74.q.out | 8 +-
.../perf/tez/constraints/query75.q.out | 14 +-
.../perf/tez/constraints/query76.q.out | 4 +-
.../perf/tez/constraints/query77.q.out | 10 +-
.../perf/tez/constraints/query78.q.out | 6 +-
.../perf/tez/constraints/query79.q.out | 4 +-
.../perf/tez/constraints/query8.q.out | 4 +-
.../perf/tez/constraints/query80.q.out | 6 +-
.../perf/tez/constraints/query81.q.out | 4 +-
.../perf/tez/constraints/query82.q.out | 4 +-
.../perf/tez/constraints/query83.q.out | 2 +-
.../perf/tez/constraints/query84.q.out | 2 +-
.../perf/tez/constraints/query85.q.out | 10 +-
.../perf/tez/constraints/query86.q.out | 2 +-
.../perf/tez/constraints/query87.q.out | 10 +-
.../perf/tez/constraints/query88.q.out | 18 +-
.../perf/tez/constraints/query89.q.out | 4 +-
.../perf/tez/constraints/query90.q.out | 2 +-
.../perf/tez/constraints/query91.q.out | 30 +-
.../perf/tez/constraints/query93.q.out | 2 +-
.../perf/tez/constraints/query94.q.out | 4 +-
.../perf/tez/constraints/query95.q.out | 10 +-
.../perf/tez/constraints/query96.q.out | 2 +-
.../perf/tez/constraints/query97.q.out | 4 +-
.../perf/tez/constraints/query98.q.out | 2 +-
.../perf/tez/constraints/query99.q.out | 2 +-
.../results/clientpositive/perf/tez/query1.q.out | 4 +-
.../results/clientpositive/perf/tez/query10.q.out | 10 +-
.../results/clientpositive/perf/tez/query11.q.out | 10 +-
.../results/clientpositive/perf/tez/query12.q.out | 2 +-
.../results/clientpositive/perf/tez/query13.q.out | 6 +-
.../results/clientpositive/perf/tez/query14.q.out | 38 +-
.../results/clientpositive/perf/tez/query15.q.out | 8 +-
.../results/clientpositive/perf/tez/query16.q.out | 4 +-
.../results/clientpositive/perf/tez/query17.q.out | 6 +-
.../results/clientpositive/perf/tez/query18.q.out | 24 +-
.../results/clientpositive/perf/tez/query19.q.out | 6 +-
.../results/clientpositive/perf/tez/query20.q.out | 2 +-
.../results/clientpositive/perf/tez/query21.q.out | 4 +-
.../results/clientpositive/perf/tez/query22.q.out | 2 +-
.../results/clientpositive/perf/tez/query23.q.out | 14 +-
.../results/clientpositive/perf/tez/query24.q.out | 8 +-
.../results/clientpositive/perf/tez/query25.q.out | 12 +-
.../results/clientpositive/perf/tez/query26.q.out | 4 +-
.../results/clientpositive/perf/tez/query27.q.out | 4 +-
.../results/clientpositive/perf/tez/query28.q.out | 12 +-
.../results/clientpositive/perf/tez/query29.q.out | 10 +-
.../results/clientpositive/perf/tez/query3.q.out | 2 +-
.../results/clientpositive/perf/tez/query30.q.out | 6 +-
.../results/clientpositive/perf/tez/query31.q.out | 26 +-
.../results/clientpositive/perf/tez/query32.q.out | 4 +-
.../results/clientpositive/perf/tez/query33.q.out | 10 +-
.../results/clientpositive/perf/tez/query34.q.out | 6 +-
.../results/clientpositive/perf/tez/query35.q.out | 10 +-
.../results/clientpositive/perf/tez/query36.q.out | 2 +-
.../results/clientpositive/perf/tez/query37.q.out | 6 +-
.../results/clientpositive/perf/tez/query38.q.out | 8 +-
.../results/clientpositive/perf/tez/query39.q.out | 6 +-
.../results/clientpositive/perf/tez/query4.q.out | 14 +-
.../results/clientpositive/perf/tez/query40.q.out | 4 +-
.../results/clientpositive/perf/tez/query42.q.out | 4 +-
.../results/clientpositive/perf/tez/query43.q.out | 2 +-
.../results/clientpositive/perf/tez/query44.q.out | 4 +-
.../results/clientpositive/perf/tez/query45.q.out | 6 +-
.../results/clientpositive/perf/tez/query46.q.out | 6 +-
.../results/clientpositive/perf/tez/query47.q.out | 10 +-
.../results/clientpositive/perf/tez/query48.q.out | 10 +-
.../results/clientpositive/perf/tez/query49.q.out | 14 +-
.../results/clientpositive/perf/tez/query5.q.out | 12 +-
.../results/clientpositive/perf/tez/query50.q.out | 6 +-
.../results/clientpositive/perf/tez/query51.q.out | 6 +-
.../results/clientpositive/perf/tez/query52.q.out | 4 +-
.../results/clientpositive/perf/tez/query53.q.out | 4 +-
.../results/clientpositive/perf/tez/query54.q.out | 18 +-
.../results/clientpositive/perf/tez/query55.q.out | 4 +-
.../results/clientpositive/perf/tez/query56.q.out | 8 +-
.../results/clientpositive/perf/tez/query57.q.out | 8 +-
.../results/clientpositive/perf/tez/query58.q.out | 12 +-
.../results/clientpositive/perf/tez/query59.q.out | 4 +-
.../results/clientpositive/perf/tez/query6.q.out | 8 +-
.../results/clientpositive/perf/tez/query60.q.out | 8 +-
.../results/clientpositive/perf/tez/query61.q.out | 12 +-
.../results/clientpositive/perf/tez/query63.q.out | 4 +-
.../results/clientpositive/perf/tez/query64.q.out | 102 +-
.../results/clientpositive/perf/tez/query65.q.out | 4 +-
.../results/clientpositive/perf/tez/query66.q.out | 4 +-
.../results/clientpositive/perf/tez/query67.q.out | 4 +-
.../results/clientpositive/perf/tez/query68.q.out | 6 +-
.../results/clientpositive/perf/tez/query69.q.out | 10 +-
.../results/clientpositive/perf/tez/query7.q.out | 4 +-
.../results/clientpositive/perf/tez/query70.q.out | 6 +-
.../results/clientpositive/perf/tez/query71.q.out | 12 +-
.../results/clientpositive/perf/tez/query72.q.out | 16 +-
.../results/clientpositive/perf/tez/query73.q.out | 6 +-
.../results/clientpositive/perf/tez/query74.q.out | 10 +-
.../results/clientpositive/perf/tez/query75.q.out | 20 +-
.../results/clientpositive/perf/tez/query76.q.out | 6 +-
.../results/clientpositive/perf/tez/query77.q.out | 10 +-
.../results/clientpositive/perf/tez/query78.q.out | 12 +-
.../results/clientpositive/perf/tez/query79.q.out | 2 +-
.../results/clientpositive/perf/tez/query8.q.out | 4 +-
.../results/clientpositive/perf/tez/query80.q.out | 6 +-
.../results/clientpositive/perf/tez/query81.q.out | 4 +-
.../results/clientpositive/perf/tez/query82.q.out | 6 +-
.../results/clientpositive/perf/tez/query83.q.out | 8 +-
.../results/clientpositive/perf/tez/query84.q.out | 2 +-
.../results/clientpositive/perf/tez/query85.q.out | 10 +-
.../results/clientpositive/perf/tez/query86.q.out | 4 +-
.../results/clientpositive/perf/tez/query87.q.out | 12 +-
.../results/clientpositive/perf/tez/query88.q.out | 18 +-
.../results/clientpositive/perf/tez/query89.q.out | 4 +-
.../results/clientpositive/perf/tez/query90.q.out | 2 +-
.../results/clientpositive/perf/tez/query91.q.out | 28 +-
.../results/clientpositive/perf/tez/query92.q.out | 4 +-
.../results/clientpositive/perf/tez/query93.q.out | 4 +-
.../results/clientpositive/perf/tez/query94.q.out | 4 +-
.../results/clientpositive/perf/tez/query95.q.out | 10 +-
.../results/clientpositive/perf/tez/query96.q.out | 2 +-
.../results/clientpositive/perf/tez/query97.q.out | 6 +-
.../results/clientpositive/perf/tez/query98.q.out | 2 +-
.../results/clientpositive/perf/tez/query99.q.out | 4 +-
.../test/results/clientpositive/pointlookup.q.out | 2 +-
.../test/results/clientpositive/pointlookup3.q.out | 4 +-
.../results/clientpositive/ppd_clusterby.q.out | 4 +-
ql/src/test/results/clientpositive/ppd_gby.q.out | 4 +-
ql/src/test/results/clientpositive/ppd_gby2.q.out | 4 +-
.../test/results/clientpositive/ppd_gby_join.q.out | 36 +-
ql/src/test/results/clientpositive/ppd_join.q.out | 28 +-
ql/src/test/results/clientpositive/ppd_join2.q.out | 16 +-
ql/src/test/results/clientpositive/ppd_join3.q.out | 28 +-
ql/src/test/results/clientpositive/ppd_join4.q.out | 2 +-
.../results/clientpositive/ppd_multi_insert.q.out | 8 +-
.../results/clientpositive/ppd_outer_join1.q.out | 4 +-
.../results/clientpositive/ppd_outer_join2.q.out | 4 +-
.../results/clientpositive/ppd_outer_join3.q.out | 4 +-
.../results/clientpositive/ppd_outer_join4.q.out | 8 +-
.../test/results/clientpositive/ppd_udf_case.q.out | 12 +-
.../test/results/clientpositive/ppd_udf_col.q.out | 8 +-
.../clientpositive/ppr_allchildsarenull.q.out | 6 +-
ql/src/test/results/clientpositive/push_or.q.out | 6 +-
ql/src/test/results/clientpositive/quote1.q.out | 8 +-
.../clientpositive/quotedid_partition.q.out | 2 +-
.../clientpositive/rand_partitionpruner3.q.out | 15 +-
.../results/clientpositive/rcfile_null_value.q.out | 2 +-
.../results/clientpositive/router_join_ppr.q.out | 16 +-
ql/src/test/results/clientpositive/sample8.q.out | 4 +-
.../clientpositive/select_unquote_and.q.out | 2 +-
ql/src/test/results/clientpositive/semijoin2.q.out | 4 +-
ql/src/test/results/clientpositive/semijoin5.q.out | 6 +-
ql/src/test/results/clientpositive/skewjoin.q.out | 4 +-
.../results/clientpositive/skewjoin_mapjoin1.q.out | 24 +-
.../clientpositive/skewjoin_mapjoin10.q.out | 24 +-
.../clientpositive/skewjoin_mapjoin11.q.out | 8 +-
.../results/clientpositive/skewjoin_mapjoin2.q.out | 8 +-
.../results/clientpositive/skewjoin_mapjoin3.q.out | 8 +-
.../results/clientpositive/skewjoin_mapjoin4.q.out | 8 +-
.../results/clientpositive/skewjoin_mapjoin6.q.out | 8 +-
.../results/clientpositive/skewjoin_mapjoin7.q.out | 16 +-
.../results/clientpositive/skewjoin_mapjoin9.q.out | 8 +-
.../clientpositive/skewjoin_union_remove_1.q.out | 24 +-
.../clientpositive/skewjoin_union_remove_2.q.out | 8 +-
.../test/results/clientpositive/skewjoinopt1.q.out | 24 +-
.../results/clientpositive/skewjoinopt10.q.out | 8 +-
.../results/clientpositive/skewjoinopt11.q.out | 16 +-
.../results/clientpositive/skewjoinopt12.q.out | 8 +-
.../results/clientpositive/skewjoinopt14.q.out | 8 +-
.../results/clientpositive/skewjoinopt16.q.out | 8 +-
.../results/clientpositive/skewjoinopt17.q.out | 16 +-
.../results/clientpositive/skewjoinopt19.q.out | 8 +-
.../test/results/clientpositive/skewjoinopt2.q.out | 24 +-
.../results/clientpositive/skewjoinopt20.q.out | 8 +-
.../results/clientpositive/skewjoinopt21.q.out | 8 +-
.../test/results/clientpositive/skewjoinopt3.q.out | 8 +-
.../test/results/clientpositive/skewjoinopt4.q.out | 16 +-
.../test/results/clientpositive/skewjoinopt5.q.out | 8 +-
.../test/results/clientpositive/skewjoinopt6.q.out | 8 +-
.../test/results/clientpositive/skewjoinopt7.q.out | 8 +-
.../test/results/clientpositive/skewjoinopt8.q.out | 8 +-
.../test/results/clientpositive/smb_mapjoin9.q.out | 4 +-
.../results/clientpositive/smb_mapjoin_10.q.out | 2 +-
.../results/clientpositive/smb_mapjoin_47.q.out | 4 +-
.../clientpositive/sort_merge_join_desc_2.q.out | 2 +-
.../clientpositive/sort_merge_join_desc_3.q.out | 2 +-
.../clientpositive/sort_merge_join_desc_4.q.out | 4 +-
.../clientpositive/sort_merge_join_desc_8.q.out | 4 +-
.../results/clientpositive/spark/auto_join14.q.out | 2 +-
.../results/clientpositive/spark/auto_join19.q.out | 2 +-
.../results/clientpositive/spark/auto_join2.q.out | 4 +-
.../results/clientpositive/spark/auto_join20.q.out | 2 +-
.../results/clientpositive/spark/auto_join28.q.out | 2 +-
.../results/clientpositive/spark/auto_join29.q.out | 14 +-
.../results/clientpositive/spark/auto_join4.q.out | 4 +-
.../results/clientpositive/spark/auto_join5.q.out | 2 +-
.../results/clientpositive/spark/auto_join6.q.out | 4 +-
.../results/clientpositive/spark/auto_join7.q.out | 6 +-
.../results/clientpositive/spark/auto_join8.q.out | 4 +-
.../results/clientpositive/spark/auto_join9.q.out | 2 +-
.../spark/auto_join_reordering_values.q.out | 2 +-
.../clientpositive/spark/auto_join_stats.q.out | 8 +-
.../clientpositive/spark/auto_join_stats2.q.out | 8 +-
.../spark/auto_sortmerge_join_16.q.out | 2 +-
.../spark/auto_sortmerge_join_16.q.out_spark | 2 +-
.../spark/auto_sortmerge_join_6.q.out | 4 +-
.../spark/bucket_map_join_spark1.q.out | 8 +-
.../spark/bucket_map_join_spark2.q.out | 8 +-
.../spark/bucket_map_join_spark3.q.out | 8 +-
.../spark/bucket_map_join_tez2.q.out | 2 +-
.../clientpositive/spark/bucketmapjoin1.q.out | 8 +-
.../clientpositive/spark/bucketmapjoin2.q.out | 8 +-
.../clientpositive/spark/bucketmapjoin3.q.out | 16 +-
.../spark/bucketsortoptimize_insert_4.q.out | 4 +-
.../spark/bucketsortoptimize_insert_7.q.out | 2 +-
.../spark/bucketsortoptimize_insert_8.q.out | 4 +-
.../clientpositive/spark/cbo_simple_select.q.out | 4 +-
.../spark/constprog_partitioner.q.out | 4 +-
.../clientpositive/spark/constprog_semijoin.q.out | 2 +-
.../clientpositive/spark/dynamic_rdd_cache.q.out | 8 +-
.../spark/dynpart_sort_optimization.q.out | 46 +-
.../spark/filter_join_breaktask.q.out | 14 +-
.../spark/groupby_multi_single_reducer3.q.out | 20 +-
.../clientpositive/spark/groupby_position.q.out | 2 +-
.../spark/identity_project_remove_skip.q.out | 2 +-
.../results/clientpositive/spark/input12.q.out | 2 +-
.../results/clientpositive/spark/input13.q.out | 4 +-
.../results/clientpositive/spark/input_part2.q.out | 4 +-
.../results/clientpositive/spark/insert1.q.out | 2 +-
.../test/results/clientpositive/spark/join14.q.out | 2 +-
.../test/results/clientpositive/spark/join19.q.out | 6 +-
.../test/results/clientpositive/spark/join2.q.out | 4 +-
.../test/results/clientpositive/spark/join20.q.out | 2 +-
.../test/results/clientpositive/spark/join26.q.out | 4 +-
.../test/results/clientpositive/spark/join28.q.out | 2 +-
.../test/results/clientpositive/spark/join32.q.out | 4 +-
.../clientpositive/spark/join32_lessSize.q.out | 18 +-
.../test/results/clientpositive/spark/join33.q.out | 4 +-
.../test/results/clientpositive/spark/join34.q.out | 12 +-
.../test/results/clientpositive/spark/join35.q.out | 12 +-
.../test/results/clientpositive/spark/join4.q.out | 4 +-
.../test/results/clientpositive/spark/join40.q.out | 2 +-
.../test/results/clientpositive/spark/join5.q.out | 2 +-
.../test/results/clientpositive/spark/join6.q.out | 4 +-
.../test/results/clientpositive/spark/join7.q.out | 6 +-
.../test/results/clientpositive/spark/join8.q.out | 4 +-
.../test/results/clientpositive/spark/join9.q.out | 4 +-
.../clientpositive/spark/join_alt_syntax.q.out | 16 +-
.../spark/join_cond_pushdown_2.q.out | 8 +-
.../spark/join_cond_pushdown_4.q.out | 8 +-
.../spark/join_cond_pushdown_unqual2.q.out | 4 +-
.../spark/join_cond_pushdown_unqual4.q.out | 4 +-
.../clientpositive/spark/join_hive_626.q.out | 2 +-
.../spark/join_merge_multi_expressions.q.out | 2 +-
.../clientpositive/spark/join_reorder2.q.out | 4 +-
.../clientpositive/spark/join_reorder3.q.out | 4 +-
.../clientpositive/spark/list_bucket_dml_2.q.out | 2 +-
.../clientpositive/spark/load_dyn_part13.q.out | 2 +-
.../clientpositive/spark/louter_join_ppr.q.out | 16 +-
.../clientpositive/spark/mapjoin_distinct.q.out | 16 +-
.../spark/mapjoin_filter_on_outerjoin.q.out | 4 +-
.../clientpositive/spark/mapjoin_mapjoin.q.out | 4 +-
.../clientpositive/spark/mapjoin_subquery.q.out | 4 +-
.../clientpositive/spark/multi_insert.q.out | 32 +-
.../clientpositive/spark/multi_insert_gby.q.out | 2 +-
...ulti_insert_move_tasks_share_dependencies.q.out | 56 +-
.../clientpositive/spark/outer_join_ppr.q.out | 8 +-
.../spark/parquet_vectorization_0.q.out | 10 +-
.../spark/parquet_vectorization_1.q.out | 6 +-
.../spark/parquet_vectorization_10.q.out | 2 +-
.../spark/parquet_vectorization_12.q.out | 6 +-
.../spark/parquet_vectorization_13.q.out | 4 +-
.../spark/parquet_vectorization_14.q.out | 6 +-
.../spark/parquet_vectorization_15.q.out | 6 +-
.../spark/parquet_vectorization_16.q.out | 2 +-
.../spark/parquet_vectorization_17.q.out | 6 +-
.../spark/parquet_vectorization_2.q.out | 4 +-
.../spark/parquet_vectorization_3.q.out | 4 +-
.../spark/parquet_vectorization_4.q.out | 6 +-
.../spark/parquet_vectorization_5.q.out | 2 +-
.../spark/parquet_vectorization_6.q.out | 4 +-
.../spark/parquet_vectorization_7.q.out | 12 +-
.../spark/parquet_vectorization_8.q.out | 12 +-
.../spark/parquet_vectorization_9.q.out | 2 +-
.../spark/parquet_vectorization_decimal_date.q.out | 2 +-
.../spark/parquet_vectorization_div0.q.out | 4 +-
.../spark/parquet_vectorization_limit.q.out | 4 +-
.../spark/parquet_vectorization_offset_limit.q.out | 4 +-
ql/src/test/results/clientpositive/spark/pcr.q.out | 42 +-
.../clientpositive/spark/ppd_gby_join.q.out | 16 +-
.../results/clientpositive/spark/ppd_join.q.out | 16 +-
.../results/clientpositive/spark/ppd_join2.q.out | 24 +-
.../results/clientpositive/spark/ppd_join3.q.out | 28 +-
.../results/clientpositive/spark/ppd_join4.q.out | 2 +-
.../clientpositive/spark/ppd_multi_insert.q.out | 8 +-
.../clientpositive/spark/ppd_outer_join1.q.out | 4 +-
.../clientpositive/spark/ppd_outer_join2.q.out | 4 +-
.../clientpositive/spark/ppd_outer_join3.q.out | 4 +-
.../clientpositive/spark/ppd_outer_join4.q.out | 8 +-
.../clientpositive/spark/quotedid_smb.q.out | 2 +-
.../clientpositive/spark/router_join_ppr.q.out | 16 +-
.../results/clientpositive/spark/sample8.q.out | 4 +-
.../results/clientpositive/spark/semijoin.q.out | 2 +-
.../results/clientpositive/spark/skewjoin.q.out | 6 +-
.../spark/skewjoin_union_remove_1.q.out | 24 +-
.../spark/skewjoin_union_remove_2.q.out | 12 +-
.../clientpositive/spark/skewjoinopt1.q.out | 24 +-
.../clientpositive/spark/skewjoinopt10.q.out | 4 +-
.../clientpositive/spark/skewjoinopt11.q.out | 4 +-
.../clientpositive/spark/skewjoinopt12.q.out | 8 +-
.../clientpositive/spark/skewjoinopt14.q.out | 6 +-
.../clientpositive/spark/skewjoinopt15.q.out | 24 +-
.../clientpositive/spark/skewjoinopt16.q.out | 8 +-
.../clientpositive/spark/skewjoinopt17.q.out | 12 +-
.../clientpositive/spark/skewjoinopt19.q.out | 4 +-
.../clientpositive/spark/skewjoinopt2.q.out | 24 +-
.../clientpositive/spark/skewjoinopt20.q.out | 4 +-
.../clientpositive/spark/skewjoinopt3.q.out | 8 +-
.../clientpositive/spark/skewjoinopt4.q.out | 8 +-
.../clientpositive/spark/skewjoinopt5.q.out | 8 +-
.../clientpositive/spark/skewjoinopt6.q.out | 8 +-
.../clientpositive/spark/skewjoinopt7.q.out | 12 +-
.../clientpositive/spark/skewjoinopt8.q.out | 12 +-
.../clientpositive/spark/smb_mapjoin_10.q.out | 2 +-
.../clientpositive/spark/smb_mapjoin_15.q.out | 2 +-
.../clientpositive/spark/smb_mapjoin_18.q.out | 2 +-
.../spark/spark_dynamic_partition_pruning.q.out | 16 +-
.../spark/spark_dynamic_partition_pruning_3.q.out | 2 +-
.../clientpositive/spark/spark_explainuser_1.q.out | 88 +-
.../spark/spark_use_ts_stats_for_mapjoin.q.out | 4 +-
...park_vectorized_dynamic_partition_pruning.q.out | 14 +-
.../clientpositive/spark/stats_only_null.q.out | 4 +-
.../clientpositive/spark/subquery_exists.q.out | 2 +-
.../results/clientpositive/spark/subquery_in.q.out | 74 +-
.../clientpositive/spark/subquery_multi.q.out | 72 +-
.../clientpositive/spark/subquery_notin.q.out | 100 +-
.../clientpositive/spark/subquery_scalar.q.out | 38 +-
.../clientpositive/spark/subquery_select.q.out | 14 +-
.../clientpositive/spark/subquery_views.q.out | 8 +-
.../clientpositive/spark/transform_ppr1.q.out | 2 +-
.../results/clientpositive/spark/union22.q.out | 6 +-
.../results/clientpositive/spark/union_view.q.out | 22 +-
.../clientpositive/spark/vector_between_in.q.out | 4 +-
.../spark/vector_mapjoin_reduce.q.out | 16 +-
.../clientpositive/spark/vectorization_0.q.out | 10 +-
.../clientpositive/spark/vectorization_1.q.out | 6 +-
.../clientpositive/spark/vectorization_10.q.out | 2 +-
.../clientpositive/spark/vectorization_12.q.out | 6 +-
.../clientpositive/spark/vectorization_13.q.out | 4 +-
.../clientpositive/spark/vectorization_14.q.out | 6 +-
.../clientpositive/spark/vectorization_15.q.out | 6 +-
.../clientpositive/spark/vectorization_16.q.out | 2 +-
.../clientpositive/spark/vectorization_17.q.out | 6 +-
.../clientpositive/spark/vectorization_2.q.out | 4 +-
.../clientpositive/spark/vectorization_3.q.out | 6 +-
.../clientpositive/spark/vectorization_4.q.out | 6 +-
.../clientpositive/spark/vectorization_5.q.out | 2 +-
.../clientpositive/spark/vectorization_6.q.out | 4 +-
.../clientpositive/spark/vectorization_9.q.out | 2 +-
.../spark/vectorization_decimal_date.q.out | 2 +-
.../clientpositive/spark/vectorization_div0.q.out | 6 +-
.../spark/vectorization_short_regress.q.out | 64 +-
.../spark/vectorized_nested_mapjoin.q.out | 2 +-
.../spark/vectorized_string_funcs.q.out | 2 +-
.../special_character_in_tabnames_2.q.out | 2 +-
.../clientpositive/stat_estimate_drill.q.out | 2 +-
.../results/clientpositive/stats_only_null.q.out | 4 +-
.../test/results/clientpositive/stats_part.q.out | 14 +-
.../test/results/clientpositive/stats_part2.q.out | 14 +-
.../results/clientpositive/stats_ppr_all.q.out | 14 +-
.../results/clientpositive/subquery_exists.q.out | 2 +-
.../clientpositive/subquery_notin_having.q.out | 10 +-
.../clientpositive/subquery_unqualcolumnrefs.q.out | 2 +-
.../tez/acid_vectorization_original_tez.q.out | 28 +-
.../clientpositive/tez/explainanalyze_4.q.out | 12 +-
.../tez/hybridgrace_hashjoin_1.q.out | 68 +-
.../tez/hybridgrace_hashjoin_2.q.out | 8 +-
.../results/clientpositive/transform_ppr1.q.out | 2 +-
.../truncate_column_list_bucket.q.out | 8 +-
ql/src/test/results/clientpositive/union22.q.out | 6 +-
.../test/results/clientpositive/union_offcbo.q.out | 8 +-
.../results/clientpositive/union_pos_alias.q.out | 16 +-
.../test/results/clientpositive/union_view.q.out | 136 +-
.../results/clientpositive/vector_date_1.q.out | 8 +-
.../clientpositive/vector_decimal_cast.q.out | 12 +-
.../vector_decimal_expressions.q.out | 12 +-
.../clientpositive/vector_groupby_mapjoin.q.out | 10 +-
.../clientpositive/vector_interval_mapjoin.q.out | 4 +-
.../vector_mr_diff_schema_alias.q.out | 2 +-
.../clientpositive/vector_multi_insert.q.out | 2 +-
.../vector_non_constant_in_expr.q.out | 2 +-
.../clientpositive/vector_outer_join3.q.out | 2 +-
.../results/clientpositive/vectorization_1.q.out | 6 +-
.../results/clientpositive/vectorization_10.q.out | 2 +-
.../results/clientpositive/vectorization_11.q.out | 6 +-
.../results/clientpositive/vectorization_12.q.out | 6 +-
.../results/clientpositive/vectorization_13.q.out | 4 +-
.../results/clientpositive/vectorization_14.q.out | 6 +-
.../results/clientpositive/vectorization_15.q.out | 6 +-
.../results/clientpositive/vectorization_16.q.out | 2 +-
.../results/clientpositive/vectorization_17.q.out | 6 +-
.../results/clientpositive/vectorization_2.q.out | 4 +-
.../results/clientpositive/vectorization_3.q.out | 2 +-
.../results/clientpositive/vectorization_4.q.out | 6 +-
.../results/clientpositive/vectorization_5.q.out | 2 +-
.../results/clientpositive/vectorization_6.q.out | 4 +-
.../results/clientpositive/vectorization_7.q.out | 12 +-
.../results/clientpositive/vectorization_8.q.out | 12 +-
.../results/clientpositive/vectorization_9.q.out | 2 +-
.../vectorization_decimal_date.q.out | 2 +-
.../clientpositive/vectorization_limit.q.out | 4 +-
.../vectorization_offset_limit.q.out | 4 +-
.../clientpositive/vectorized_context.q.out | 2 +-
.../clientpositive/vectorized_join46_mr.q.out | 4 +-
.../clientpositive/vectorized_mapjoin3.q.out | 6 +-
.../clientpositive/vectorized_string_funcs.q.out | 2 +-
ql/src/test/results/clientpositive/view_cbo.q.out | 2 +-
1080 files changed, 6377 insertions(+), 6255 deletions(-)
diff --git a/accumulo-handler/src/test/results/positive/accumulo_predicate_pushdown.q.out b/accumulo-handler/src/test/results/positive/accumulo_predicate_pushdown.q.out
index 63368c2..960027e 100644
--- a/accumulo-handler/src/test/results/positive/accumulo_predicate_pushdown.q.out
+++ b/accumulo-handler/src/test/results/positive/accumulo_predicate_pushdown.q.out
@@ -285,7 +285,7 @@ STAGE PLANS:
filterExpr: (key >= '90') (type: boolean)
Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((UDFToDouble(key) = UDFToDouble(UDFToInteger(value))) and (value like '%9%')) (type: boolean)
+ predicate: ((value like '%9%') and (UDFToDouble(key) = UDFToDouble(UDFToInteger(value)))) (type: boolean)
Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: string), value (type: string)
@@ -458,10 +458,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: accumulo_pushdown
- filterExpr: ((key <= '80') or (value like '%90%')) (type: boolean)
+ filterExpr: ((value like '%90%') or (key <= '80')) (type: boolean)
Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((key <= '80') or (value like '%90%')) (type: boolean)
+ predicate: ((value like '%90%') or (key <= '80')) (type: boolean)
Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: string), value (type: string)
diff --git a/accumulo-handler/src/test/results/positive/accumulo_queries.q.out b/accumulo-handler/src/test/results/positive/accumulo_queries.q.out
index 32a6e44..8a08332 100644
--- a/accumulo-handler/src/test/results/positive/accumulo_queries.q.out
+++ b/accumulo-handler/src/test/results/positive/accumulo_queries.q.out
@@ -303,7 +303,7 @@ STAGE PLANS:
alias: accumulo_table_1
Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((key < 120) and (key > 100)) (type: boolean)
+ predicate: ((key > 100) and (key < 120)) (type: boolean)
Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: int)
diff --git a/accumulo-handler/src/test/results/positive/accumulo_single_sourced_multi_insert.q.out b/accumulo-handler/src/test/results/positive/accumulo_single_sourced_multi_insert.q.out
index 12343d5..a090362 100644
--- a/accumulo-handler/src/test/results/positive/accumulo_single_sourced_multi_insert.q.out
+++ b/accumulo-handler/src/test/results/positive/accumulo_single_sourced_multi_insert.q.out
@@ -77,7 +77,7 @@ STAGE PLANS:
alias: a
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((key < 50) and (key > 0)) (type: boolean)
+ predicate: ((key > 0) and (key < 50)) (type: boolean)
Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), '' (type: string)
@@ -106,7 +106,7 @@ STAGE PLANS:
Statistics: Num rows: 1 Data size: 880 Basic stats: COMPLETE Column stats: COMPLETE
value expressions: _col0 (type: struct<columntype:string,maxlength:bigint,sumlength:bigint,count:bigint,countnulls:bigint,bitvector:binary>), _col1 (type: struct<columntype:string,maxlength:bigint,sumlength:bigint,count:bigint,countnulls:bigint,bitvector:binary>)
Filter Operator
- predicate: ((key < 100) and (key > 50)) (type: boolean)
+ predicate: ((key > 50) and (key < 100)) (type: boolean)
Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: value (type: string), '' (type: string)
diff --git a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
index e50ff99..600b187 100644
--- a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
+++ b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
@@ -2348,6 +2348,9 @@ public class HiveConf extends Configuration {
HIVE_OPTIMIZE_CONSTRAINTS_JOIN("hive.optimize.constraints.join", true, "Whether to use referential constraints\n" +
"to optimize (remove or transform) join operators"),
+ HIVE_OPTIMIZE_SORT_PREDS_WITH_STATS("hive.optimize.filter.preds.sort", true, "Whether to sort conditions in filters\n" +
+ "based on estimated selectivity and compute cost"),
+
HIVE_OPTIMIZE_REDUCE_WITH_STATS("hive.optimize.filter.stats.reduction", false, "Whether to simplify comparison\n" +
"expressions in filter operators using column stats"),
diff --git a/hbase-handler/src/test/results/positive/hbase_custom_key2.q.out b/hbase-handler/src/test/results/positive/hbase_custom_key2.q.out
index 44a3cd2..2077727 100644
--- a/hbase-handler/src/test/results/positive/hbase_custom_key2.q.out
+++ b/hbase-handler/src/test/results/positive/hbase_custom_key2.q.out
@@ -111,7 +111,7 @@ STAGE PLANS:
Processor Tree:
TableScan
alias: hbase_ck_4
- filterExpr: ((key.col1 >= '165') and (key.col1 < '27')) (type: boolean)
+ filterExpr: ((key.col1 < '27') and (key.col1 >= '165')) (type: boolean)
Statistics: Num rows: 1 Data size: 792 Basic stats: COMPLETE Column stats: NONE
Filter Operator
predicate: ((key.col1 < '27') and (key.col1 >= '165')) (type: boolean)
diff --git a/hbase-handler/src/test/results/positive/hbase_ppd_key_range.q.out b/hbase-handler/src/test/results/positive/hbase_ppd_key_range.q.out
index 5ab5bb3..f6c5ea1 100644
--- a/hbase-handler/src/test/results/positive/hbase_ppd_key_range.q.out
+++ b/hbase-handler/src/test/results/positive/hbase_ppd_key_range.q.out
@@ -285,7 +285,7 @@ STAGE PLANS:
filterExpr: (key >= '90') (type: boolean)
Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((UDFToDouble(key) = UDFToDouble(UDFToInteger(value))) and (value like '%9%')) (type: boolean)
+ predicate: ((value like '%9%') and (UDFToDouble(key) = UDFToDouble(UDFToInteger(value)))) (type: boolean)
Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: string), value (type: string)
@@ -459,7 +459,7 @@ STAGE PLANS:
alias: hbase_pushdown
Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((key <= '80') or (value like '%90%')) (type: boolean)
+ predicate: ((value like '%90%') or (key <= '80')) (type: boolean)
Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: string), value (type: string)
diff --git a/hbase-handler/src/test/results/positive/hbase_pushdown.q.out b/hbase-handler/src/test/results/positive/hbase_pushdown.q.out
index d3cdd9e..963acc1 100644
--- a/hbase-handler/src/test/results/positive/hbase_pushdown.q.out
+++ b/hbase-handler/src/test/results/positive/hbase_pushdown.q.out
@@ -184,7 +184,7 @@ STAGE PLANS:
filterExpr: (key = 90) (type: boolean)
Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((key = UDFToInteger(value)) and (value like '%90%')) (type: boolean)
+ predicate: ((value like '%90%') and (key = UDFToInteger(value))) (type: boolean)
Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: 90 (type: int), value (type: string)
diff --git a/hbase-handler/src/test/results/positive/hbase_queries.q.out b/hbase-handler/src/test/results/positive/hbase_queries.q.out
index 0c21d6d..47f2d90 100644
--- a/hbase-handler/src/test/results/positive/hbase_queries.q.out
+++ b/hbase-handler/src/test/results/positive/hbase_queries.q.out
@@ -303,7 +303,7 @@ STAGE PLANS:
alias: hbase_table_1
Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((key < 120) and (key > 100)) (type: boolean)
+ predicate: ((key > 100) and (key < 120)) (type: boolean)
Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: int)
diff --git a/hbase-handler/src/test/results/positive/hbase_single_sourced_multi_insert.q.out b/hbase-handler/src/test/results/positive/hbase_single_sourced_multi_insert.q.out
index e3d0b9d..de67b9f 100644
--- a/hbase-handler/src/test/results/positive/hbase_single_sourced_multi_insert.q.out
+++ b/hbase-handler/src/test/results/positive/hbase_single_sourced_multi_insert.q.out
@@ -77,7 +77,7 @@ STAGE PLANS:
alias: a
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((key < 50) and (key > 0)) (type: boolean)
+ predicate: ((key > 0) and (key < 50)) (type: boolean)
Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), '' (type: string)
@@ -106,7 +106,7 @@ STAGE PLANS:
Statistics: Num rows: 1 Data size: 880 Basic stats: COMPLETE Column stats: COMPLETE
value expressions: _col0 (type: struct<columntype:string,maxlength:bigint,sumlength:bigint,count:bigint,countnulls:bigint,bitvector:binary>), _col1 (type: struct<columntype:string,maxlength:bigint,sumlength:bigint,count:bigint,countnulls:bigint,bitvector:binary>)
Filter Operator
- predicate: ((key < 100) and (key > 50)) (type: boolean)
+ predicate: ((key > 50) and (key < 100)) (type: boolean)
Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: value (type: string), '' (type: string)
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 8223d6b..4a71a5b 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
@@ -957,14 +957,8 @@ public class ExplainTask extends Task<ExplainWork> implements Serializable {
Object val = null;
try {
- if(postProcess(xpl_note)) {
- val = m.invoke(work, inTest);
- }
- else{
- val = m.invoke(work);
- }
- }
- catch (InvocationTargetException ex) {
+ val = m.invoke(work);
+ } catch (InvocationTargetException ex) {
// Ignore the exception, this may be caused by external jars
val = null;
}
@@ -1084,15 +1078,6 @@ public class ExplainTask extends Task<ExplainWork> implements Serializable {
}
/**
- * use case: this is only use for testing purposes. For instance, we might
- * want to sort the expressions in a filter so we get deterministic comparable
- * golden files
- */
- private boolean postProcess(Explain exp) {
- return exp.postProcess();
- }
-
- /**
* use case: we want to print the object in explain only if it is true
* how to do : print it unless the following 3 are all true:
* 1. displayOnlyOnTrue tag is on
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveRelOptUtil.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveRelOptUtil.java
index 3742efe..b8380d6 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveRelOptUtil.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveRelOptUtil.java
@@ -558,8 +558,16 @@ public class HiveRelOptUtil extends RelOptUtil {
// 1) Gather all tables from the FK side and the table from the
// non-FK side
final Set<RelTableRef> leftTables = mq.getTableReferences(join.getLeft());
- final Set<RelTableRef> rightTables =
- Sets.difference(mq.getTableReferences(join), mq.getTableReferences(join.getLeft()));
+ if (leftTables == null) {
+ // Could not infer, bail out
+ return cannotExtract;
+ }
+ final Set<RelTableRef> joinTables = mq.getTableReferences(join);
+ if (joinTables == null) {
+ // Could not infer, bail out
+ return cannotExtract;
+ }
+ final Set<RelTableRef> rightTables = Sets.difference(joinTables, leftTables);
final Set<RelTableRef> fkTables = join.getLeft() == fkInput ? leftTables : rightTables;
final Set<RelTableRef> nonFkTables = join.getLeft() == fkInput ? rightTables : leftTables;
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/RelOptHiveTable.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/RelOptHiveTable.java
index 53eeb0c..0c5140b 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/RelOptHiveTable.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/RelOptHiveTable.java
@@ -682,7 +682,9 @@ public class RelOptHiveTable implements RelOptTable {
Set<Integer> projIndxSet = new HashSet<Integer>(projIndxLst);
if (projIndxLst != null) {
for (Integer i : projIndxLst) {
- if (hiveColStatsMap.get(i) != null) {
+ if (i >= noOfNonVirtualCols) {
+ projIndxSet.remove(i);
+ } else if (hiveColStatsMap.get(i) != null) {
colStatsBldr.add(hiveColStatsMap.get(i));
projIndxSet.remove(i);
}
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveFilterSortPredicates.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveFilterSortPredicates.java
new file mode 100644
index 0000000..df75e93
--- /dev/null
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveFilterSortPredicates.java
@@ -0,0 +1,282 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to you under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hive.ql.optimizer.calcite.rules;
+
+import java.util.Comparator;
+import java.util.List;
+import java.util.stream.Collectors;
+import org.apache.calcite.plan.RelOptRule;
+import org.apache.calcite.plan.RelOptRuleCall;
+import org.apache.calcite.rel.RelNode;
+import org.apache.calcite.rel.core.Filter;
+import org.apache.calcite.rel.metadata.RelMetadataQuery;
+import org.apache.calcite.rex.RexCall;
+import org.apache.calcite.rex.RexDynamicParam;
+import org.apache.calcite.rex.RexFieldAccess;
+import org.apache.calcite.rex.RexInputRef;
+import org.apache.calcite.rex.RexLiteral;
+import org.apache.calcite.rex.RexNode;
+import org.apache.calcite.rex.RexShuttle;
+import org.apache.calcite.rex.RexVisitorImpl;
+import org.apache.calcite.util.Pair;
+import org.apache.hadoop.hive.ql.optimizer.calcite.stats.FilterSelectivityEstimator;
+import org.apache.hadoop.hive.ql.optimizer.calcite.stats.HiveRelMdSize;
+
+
+/**
+ * Rule that sorts conditions in a filter predicate to accelerate query processing
+ * based on selectivity and compute cost. Currently it is not applied recursively,
+ * i.e., it is only applied to top predicates in the condition.
+ */
+public class HiveFilterSortPredicates extends RelOptRule {
+
+ public static final HiveFilterSortPredicates INSTANCE = new HiveFilterSortPredicates();
+
+
+ private HiveFilterSortPredicates() {
+ super(
+ operand(Filter.class,
+ operand(RelNode.class, any())));
+ }
+
+ @Override
+ public boolean matches(RelOptRuleCall call) {
+ final Filter filter = call.rel(0);
+
+ HiveRulesRegistry registry = call.getPlanner().getContext().unwrap(HiveRulesRegistry.class);
+
+ // If this operator has been visited already by the rule,
+ // we do not need to apply the optimization
+ if (registry != null && registry.getVisited(this).contains(filter)) {
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public void onMatch(RelOptRuleCall call) {
+ final Filter filter = call.rel(0);
+ final RelNode input = call.rel(1);
+
+ // Register that we have visited this operator in this rule
+ HiveRulesRegistry registry = call.getPlanner().getContext().unwrap(HiveRulesRegistry.class);
+ if (registry != null) {
+ registry.registerVisited(this, filter);
+ }
+
+ final RexNode originalCond = filter.getCondition();
+ RexSortPredicatesShuttle sortPredicatesShuttle = new RexSortPredicatesShuttle(
+ input, filter.getCluster().getMetadataQuery());
+ final RexNode newCond = originalCond.accept(sortPredicatesShuttle);
+ if (!sortPredicatesShuttle.modified) {
+ // We are done, bail out
+ return;
+ }
+
+ // We register the new filter so we do not fire the rule on it again
+ final Filter newFilter = filter.copy(filter.getTraitSet(), input, newCond);
+ if (registry != null) {
+ registry.registerVisited(this, newFilter);
+ }
+
+ call.transformTo(newFilter);
+ }
+
+ /**
+ * If the expression is an AND/OR, it will sort predicates accordingly
+ * to maximize performance.
+ */
+ private static class RexSortPredicatesShuttle extends RexShuttle {
+
+ private FilterSelectivityEstimator selectivityEstimator;
+ private boolean modified;
+
+ private RexSortPredicatesShuttle(RelNode inputRel, RelMetadataQuery mq) {
+ selectivityEstimator = new FilterSelectivityEstimator(inputRel, mq);
+ modified = false;
+ }
+
+ @Override
+ public RexNode visitCall(final RexCall call) {
+ switch (call.getKind()) {
+ case AND:
+ List<RexNode> newAndOperands = call.getOperands()
+ .stream()
+ .map(pred -> new Pair<>(pred, rankingAnd(pred)))
+ .sorted(Comparator.comparing(Pair::getValue, Comparator.nullsLast(Double::compare)))
+ .map(Pair::getKey)
+ .collect(Collectors.toList());
+ if (!call.getOperands().equals(newAndOperands)) {
+ modified = true;
+ return call.clone(call.getType(), newAndOperands);
+ }
+ break;
+ case OR:
+ List<RexNode> newOrOperands = call.getOperands()
+ .stream()
+ .map(pred -> new Pair<>(pred, rankingOr(pred)))
+ .sorted(Comparator.comparing(Pair::getValue, Comparator.nullsLast(Double::compare)))
+ .map(Pair::getKey)
+ .collect(Collectors.toList());
+ if (!call.getOperands().equals(newOrOperands)) {
+ modified = true;
+ return call.clone(call.getType(), newOrOperands);
+ }
+ break;
+ }
+ return call;
+ }
+
+ /**
+ * Nodes in an AND clause are sorted by a rank value calculated as:
+ * rank = (selectivity - 1) / cost per tuple
+ * The intuition is that more selective/cheaper conditions should be evaluated
+ * first in the AND clause, since FALSE will end the evaluation.
+ */
+ private Double rankingAnd(RexNode e) {
+ Double selectivity = selectivityEstimator.estimateSelectivity(e);
+ if (selectivity == null) {
+ return null;
+ }
+ Double costPerTuple = costPerTuple(e);
+ if (costPerTuple == null) {
+ return null;
+ }
+ return (selectivity - 1d) / costPerTuple;
+ }
+
+ /**
+ * Nodes in an OR clause are sorted by a rank value calculated as:
+ * rank = (-selectivity) / cost per tuple
+ * The intuition is that less selective/cheaper conditions should be evaluated
+ * first in the OR clause, since TRUE will end the evaluation.
+ */
+ private Double rankingOr(RexNode e) {
+ Double selectivity = selectivityEstimator.estimateSelectivity(e);
+ if (selectivity == null) {
+ return null;
+ }
+ Double costPerTuple = costPerTuple(e);
+ if (costPerTuple == null) {
+ return null;
+ }
+ return -selectivity / costPerTuple;
+ }
+
+ private Double costPerTuple(RexNode e) {
+ return e.accept(new RexFunctionCost());
+ }
+
+ }
+
+ /**
+ * The cost of a call expression e is computed as:
+ * cost(e) = functionCost + sum_1..n(byteSize(o_i) + cost(o_i))
+ * with the call having operands i in 1..n.
+ */
+ private static class RexFunctionCost extends RexVisitorImpl<Double> {
+
+ private RexFunctionCost() {
+ super(true);
+ }
+
+ @Override
+ public Double visitCall(RexCall call) {
+ if (!deep) {
+ return null;
+ }
+
+ Double cost = 0.d;
+ for (RexNode operand : call.operands) {
+ Double operandCost = operand.accept(this);
+ if (operandCost == null) {
+ return null;
+ }
+ cost += operandCost;
+ Double size = HiveRelMdSize.averageTypeSize(operand.getType());
+ if (size == null) {
+ return null;
+ }
+ cost += size;
+ }
+
+ return cost + functionCost(call);
+ }
+
+ private static Double functionCost(RexCall call) {
+ switch (call.getKind()) {
+ case EQUALS:
+ case NOT_EQUALS:
+ case LESS_THAN:
+ case GREATER_THAN:
+ case LESS_THAN_OR_EQUAL:
+ case GREATER_THAN_OR_EQUAL:
+ case IS_NOT_NULL:
+ case IS_NULL:
+ case IS_TRUE:
+ case IS_NOT_TRUE:
+ case IS_FALSE:
+ case IS_NOT_FALSE:
+ return 1d;
+
+ case BETWEEN:
+ return 3d;
+
+ case IN:
+ return 2d * (call.getOperands().size() - 1);
+
+ case AND:
+ case OR:
+ return 1d * call.getOperands().size();
+
+ case CAST:
+ // This heuristic represents that CAST operation is 8 times more expensive
+ // than a comparison operation such as EQUALS, NOT_EQUALS, etc.
+ return 8d;
+
+ default:
+ // By default, we give this heuristic value to unrecognized functions.
+ // The idea is that those functions will be more expensive to evaluate
+ // than the simple functions considered above.
+ // TODO: Add more functions/improve the heuristic after running additional experiments.
+ return 32d;
+ }
+ }
+
+ @Override
+ public Double visitInputRef(RexInputRef inputRef) {
+ return 0d;
+ }
+
+ @Override
+ public Double visitFieldAccess(RexFieldAccess fieldAccess) {
+ return 0d;
+ }
+
+ @Override
+ public Double visitLiteral(RexLiteral literal) {
+ return 0d;
+ }
+
+ @Override
+ public Double visitDynamicParam(RexDynamicParam dynamicParam) {
+ return 0d;
+ }
+
+ }
+}
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/FilterSelectivityEstimator.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/FilterSelectivityEstimator.java
index d362e9b..6c04f10 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/FilterSelectivityEstimator.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/FilterSelectivityEstimator.java
@@ -35,6 +35,7 @@ import org.apache.calcite.rex.RexUtil;
import org.apache.calcite.rex.RexVisitorImpl;
import org.apache.calcite.sql.SqlKind;
import org.apache.calcite.sql.SqlOperator;
+import org.apache.calcite.sql.type.SqlTypeName;
import org.apache.calcite.sql.type.SqlTypeUtil;
import org.apache.calcite.util.ImmutableBitSet;
import org.apache.hadoop.hive.ql.optimizer.calcite.HiveCalciteUtil;
@@ -47,7 +48,7 @@ public class FilterSelectivityEstimator extends RexVisitorImpl<Double> {
private final double childCardinality;
private final RelMetadataQuery mq;
- protected FilterSelectivityEstimator(RelNode childRel, RelMetadataQuery mq) {
+ public FilterSelectivityEstimator(RelNode childRel, RelMetadataQuery mq) {
super(true);
this.mq = mq;
this.childRel = childRel;
@@ -59,6 +60,16 @@ public class FilterSelectivityEstimator extends RexVisitorImpl<Double> {
}
@Override
+ public Double visitInputRef(RexInputRef inputRef) {
+ if (inputRef.getType().getSqlTypeName() == SqlTypeName.BOOLEAN) {
+ // If it is a boolean and we assume uniform distribution,
+ // it will filter half the rows
+ return 0.5;
+ }
+ return null;
+ }
+
+ @Override
public Double visitCall(RexCall call) {
if (!deep) {
return 1.0;
@@ -120,11 +131,14 @@ public class FilterSelectivityEstimator extends RexVisitorImpl<Double> {
// present in NDV which may not be correct (Range check can find it) 3) We
// assume values in NDV set is uniformly distributed over col values
// (account for skewness - histogram).
- selectivity = computeFunctionSelectivity(call) * (call.operands.size() - 1);
- if (selectivity <= 0.0) {
- selectivity = 0.10;
- } else if (selectivity >= 1.0) {
- selectivity = 1.0;
+ selectivity = computeFunctionSelectivity(call);
+ if (selectivity != null) {
+ selectivity = selectivity * (call.operands.size() - 1);
+ if (selectivity <= 0.0) {
+ selectivity = 0.10;
+ } else if (selectivity >= 1.0) {
+ selectivity = 1.0;
+ }
}
break;
}
@@ -145,7 +159,11 @@ public class FilterSelectivityEstimator extends RexVisitorImpl<Double> {
* @return
*/
private Double computeNotEqualitySelectivity(RexCall call) {
- double tmpNDV = getMaxNDV(call);
+ Double tmpNDV = getMaxNDV(call);
+ if (tmpNDV == null) {
+ // Could not be computed
+ return null;
+ }
if (tmpNDV > 1) {
return (tmpNDV - 1) / tmpNDV;
@@ -164,7 +182,12 @@ public class FilterSelectivityEstimator extends RexVisitorImpl<Double> {
* @return
*/
private Double computeFunctionSelectivity(RexCall call) {
- return 1 / getMaxNDV(call);
+ Double tmpNDV = getMaxNDV(call);
+ if (tmpNDV == null) {
+ // Could not be computed
+ return null;
+ }
+ return 1 / tmpNDV;
}
/**
@@ -255,13 +278,16 @@ public class FilterSelectivityEstimator extends RexVisitorImpl<Double> {
}
private Double getMaxNDV(RexCall call) {
- double tmpNDV;
+ Double tmpNDV;
double maxNDV = 1.0;
InputReferencedVisitor irv;
for (RexNode op : call.getOperands()) {
if (op instanceof RexInputRef) {
tmpNDV = HiveRelMdDistinctRowCount.getDistinctRowCount(this.childRel, mq,
((RexInputRef) op).getIndex());
+ if (tmpNDV == null) {
+ return null;
+ }
if (tmpNDV > maxNDV) {
maxNDV = tmpNDV;
}
@@ -271,6 +297,9 @@ public class FilterSelectivityEstimator extends RexVisitorImpl<Double> {
for (Integer childProjIndx : irv.inputPosReferenced) {
tmpNDV = HiveRelMdDistinctRowCount.getDistinctRowCount(this.childRel,
mq, childProjIndx);
+ if (tmpNDV == null) {
+ return null;
+ }
if (tmpNDV > maxNDV) {
maxNDV = tmpNDV;
}
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdDistinctRowCount.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdDistinctRowCount.java
index 80b939a..b2b2f3c 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdDistinctRowCount.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdDistinctRowCount.java
@@ -17,11 +17,14 @@
*/
package org.apache.hadoop.hive.ql.optimizer.calcite.stats;
+import java.util.ArrayList;
import java.util.List;
import org.apache.calcite.plan.RelOptCost;
+import org.apache.calcite.plan.RelOptUtil;
import org.apache.calcite.rel.RelNode;
import org.apache.calcite.rel.core.Join;
+import org.apache.calcite.rel.core.JoinRelType;
import org.apache.calcite.rel.core.SemiJoin;
import org.apache.calcite.rel.metadata.ChainedRelMetadataProvider;
import org.apache.calcite.rel.metadata.ReflectiveRelMetadataProvider;
@@ -29,9 +32,12 @@ import org.apache.calcite.rel.metadata.RelMdDistinctRowCount;
import org.apache.calcite.rel.metadata.RelMdUtil;
import org.apache.calcite.rel.metadata.RelMetadataProvider;
import org.apache.calcite.rel.metadata.RelMetadataQuery;
+import org.apache.calcite.rex.RexBuilder;
import org.apache.calcite.rex.RexNode;
+import org.apache.calcite.rex.RexUtil;
import org.apache.calcite.util.BuiltInMethod;
import org.apache.calcite.util.ImmutableBitSet;
+import org.apache.calcite.util.NumberUtil;
import org.apache.hadoop.hive.ql.optimizer.calcite.HiveCalciteUtil;
import org.apache.hadoop.hive.ql.optimizer.calcite.cost.HiveCost;
import org.apache.hadoop.hive.ql.optimizer.calcite.reloperators.HiveJoin;
@@ -57,21 +63,7 @@ public class HiveRelMdDistinctRowCount extends RelMdDistinctRowCount {
private HiveRelMdDistinctRowCount() {
}
- // Catch-all rule when none of the others apply.
- @Override
- public Double getDistinctRowCount(RelNode rel, RelMetadataQuery mq, ImmutableBitSet groupKey,
- RexNode predicate) {
- if (rel instanceof HiveTableScan) {
- return getDistinctRowCount((HiveTableScan) rel, mq, groupKey, predicate);
- }
- /*
- * For now use Calcite' default formulas for propagating NDVs up the Query
- * Tree.
- */
- return super.getDistinctRowCount(rel, mq, groupKey, predicate);
- }
-
- private Double getDistinctRowCount(HiveTableScan htRel, RelMetadataQuery mq, ImmutableBitSet groupKey,
+ public Double getDistinctRowCount(HiveTableScan htRel, RelMetadataQuery mq, ImmutableBitSet groupKey,
RexNode predicate) {
List<Integer> projIndxLst = HiveCalciteUtil
.translateBitSetToProjIndx(groupKey);
@@ -100,7 +92,7 @@ public class HiveRelMdDistinctRowCount extends RelMdDistinctRowCount {
return mq.getDistinctRowCount(hjRel.getLeft(), groupKey,
rel.getCluster().getRexBuilder().makeLiteral(true));
} else {
- return RelMdUtil.getJoinDistinctRowCount(mq, rel, rel.getJoinType(),
+ return getJoinDistinctRowCount(mq, rel, rel.getJoinType(),
groupKey, predicate, true);
}
}
@@ -108,6 +100,78 @@ public class HiveRelMdDistinctRowCount extends RelMdDistinctRowCount {
return mq.getDistinctRowCount(rel, groupKey, predicate);
}
+ /**
+ * TODO: This method is a copy of {@link RelMdUtil#getJoinDistinctRowCount}.
+ * We will remove it once we replace Math.max with a null-safe method in
+ * Calcite.
+ *
+ * Computes the number of distinct rows for a set of keys returned from a
+ * join. Also known as NDV (number of distinct values).
+ *
+ * @param joinRel RelNode representing the join
+ * @param joinType type of join
+ * @param groupKey keys that the distinct row count will be computed for
+ * @param predicate join predicate
+ * @param useMaxNdv If true use formula <code>max(left NDV, right NDV)</code>,
+ * otherwise use <code>left NDV * right NDV</code>.
+ * @return number of distinct rows
+ */
+ public static Double getJoinDistinctRowCount(RelMetadataQuery mq,
+ RelNode joinRel, JoinRelType joinType, ImmutableBitSet groupKey,
+ RexNode predicate, boolean useMaxNdv) {
+ Double distRowCount = null;
+ ImmutableBitSet.Builder leftMask = ImmutableBitSet.builder();
+ ImmutableBitSet.Builder rightMask = ImmutableBitSet.builder();
+ RelNode left = joinRel.getInputs().get(0);
+ RelNode right = joinRel.getInputs().get(1);
+
+ RelMdUtil.setLeftRightBitmaps(
+ groupKey,
+ leftMask,
+ rightMask,
+ left.getRowType().getFieldCount());
+
+ // determine which filters apply to the left vs right
+ RexNode leftPred = null;
+ RexNode rightPred = null;
+ if (predicate != null) {
+ final List<RexNode> leftFilters = new ArrayList<>();
+ final List<RexNode> rightFilters = new ArrayList<>();
+ final List<RexNode> joinFilters = new ArrayList<>();
+ final List<RexNode> predList = RelOptUtil.conjunctions(predicate);
+
+ RelOptUtil.classifyFilters(
+ joinRel,
+ predList,
+ joinType,
+ joinType == JoinRelType.INNER,
+ !joinType.generatesNullsOnLeft(),
+ !joinType.generatesNullsOnRight(),
+ joinFilters,
+ leftFilters,
+ rightFilters);
+
+ RexBuilder rexBuilder = joinRel.getCluster().getRexBuilder();
+ leftPred =
+ RexUtil.composeConjunction(rexBuilder, leftFilters, true);
+ rightPred =
+ RexUtil.composeConjunction(rexBuilder, rightFilters, true);
+ }
+
+ Double leftDistRowCount = mq.getDistinctRowCount(left, leftMask.build(), leftPred);
+ Double rightDistRowCount = mq.getDistinctRowCount(right, rightMask.build(), rightPred);
+ if (leftDistRowCount != null && rightDistRowCount != null) {
+ if (useMaxNdv) {
+ distRowCount = Math.max(leftDistRowCount, rightDistRowCount);
+ } else {
+ distRowCount =
+ NumberUtil.multiply(leftDistRowCount, rightDistRowCount);
+ }
+ }
+
+ return RelMdUtil.numDistinctVals(distRowCount, mq.getRowCount(joinRel));
+ }
+
/*
* Favor Broad Plans over Deep Plans.
*/
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdSelectivity.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdSelectivity.java
index 7e92082..f6a6cf4 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdSelectivity.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdSelectivity.java
@@ -105,15 +105,27 @@ public class HiveRelMdSelectivity extends RelMdSelectivity {
// 1. Update Col Stats Map with col stats for columns from left side of
// Join which are part of join keys
for (Integer ljk : jpi.getProjsFromLeftPartOfJoinKeysInChildSchema()) {
- colStatMapBuilder.put(ljk,
- HiveRelMdDistinctRowCount.getDistinctRowCount(j.getLeft(), mq, ljk));
+ Double ljkDistRowCount =
+ HiveRelMdDistinctRowCount.getDistinctRowCount(j.getLeft(), mq, ljk);
+ if (ljkDistRowCount == null) {
+ // Distinct row count could not be determined,
+ // return default selectivity
+ return 1.0;
+ }
+ colStatMapBuilder.put(ljk, ljkDistRowCount);
}
// 2. Update Col Stats Map with col stats for columns from right side of
// Join which are part of join keys
for (Integer rjk : jpi.getProjsFromRightPartOfJoinKeysInChildSchema()) {
- colStatMapBuilder.put(rjk + rightOffSet,
- HiveRelMdDistinctRowCount.getDistinctRowCount(j.getRight(), mq, rjk));
+ Double rjkDistRowCount =
+ HiveRelMdDistinctRowCount.getDistinctRowCount(j.getRight(), mq, rjk);
+ if (rjkDistRowCount == null) {
+ // Distinct row count could not be determined,
+ // return default selectivity
+ return 1.0;
+ }
+ colStatMapBuilder.put(rjk + rightOffSet, rjkDistRowCount);
}
colStatMap = colStatMapBuilder.build();
@@ -125,17 +137,16 @@ public class HiveRelMdSelectivity extends RelMdSelectivity {
if (noOfPE > 0) {
boolean isCorrelatedColumns = j.getCluster().getPlanner().getContext().
unwrap(HiveConfPlannerContext.class).getIsCorrelatedColumns();
- if (noOfPE > 1 && isCorrelatedColumns ){
+ if (noOfPE > 1 && isCorrelatedColumns) {
ndvEstimate = maxNdvForCorrelatedColumns(peLst, colStatMap);
- }
- else {
+ } else {
ndvEstimate = exponentialBackoff(peLst, colStatMap);
}
if (j instanceof SemiJoin) {
ndvEstimate = Math.min(mq.getRowCount(j.getLeft()),
ndvEstimate);
- }else if (j instanceof HiveJoin){
+ } else if (j instanceof HiveJoin) {
ndvEstimate = Math.min(mq.getRowCount(j.getLeft())
* mq.getRowCount(j.getRight()), ndvEstimate);
} else {
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdSize.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdSize.java
index c1cd344..893cb99 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdSize.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdSize.java
@@ -121,6 +121,10 @@ public class HiveRelMdSize extends RelMdSize {
// supports all types
@Override
public Double averageTypeValueSize(RelDataType type) {
+ return averageTypeSize(type);
+ }
+
+ public static Double averageTypeSize(RelDataType type) {
switch (type.getSqlTypeName()) {
case BOOLEAN:
case TINYINT:
@@ -163,7 +167,7 @@ public class HiveRelMdSize extends RelMdSize {
case ROW:
Double average = 0.0;
for (RelDataTypeField field : type.getFieldList()) {
- average += averageTypeValueSize(field.getType());
+ average += averageTypeSize(field.getType());
}
return average;
default:
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ppr/PartitionPruner.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ppr/PartitionPruner.java
index aeb30e8..7c8d752 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ppr/PartitionPruner.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ppr/PartitionPruner.java
@@ -203,17 +203,17 @@ public class PartitionPruner extends Transform {
prunerExpr = removeNonPartCols(prunerExpr, extractPartColNames(tab), partColsUsedInFilter);
// Remove all parts that are not partition columns. See javadoc for details.
ExprNodeDesc compactExpr = compactExpr(prunerExpr.clone());
- String oldFilter = prunerExpr.getExprString();
+ String oldFilter = prunerExpr.getExprString(true);
if (compactExpr == null || isBooleanExpr(compactExpr)) {
if (isFalseExpr(compactExpr)) {
- return new PrunedPartitionList(tab, key + compactExpr.getExprString(),
+ return new PrunedPartitionList(tab, key + compactExpr.getExprString(true),
new LinkedHashSet<Partition>(0), new ArrayList<String>(0), false);
}
// For null and true values, return every partition
return getAllPartsFromCacheOrServer(tab, key, true, prunedPartitionsMap);
}
- String compactExprString = compactExpr.getExprString();
+ String compactExprString = compactExpr.getExprString(true);
if (LOG.isDebugEnabled()) {
LOG.debug("Filter w/ compacting: " + compactExprString
+ "; filter w/o compacting: " + oldFilter);
@@ -224,8 +224,8 @@ public class PartitionPruner extends Transform {
return ppList;
}
- ppList = getPartitionsFromServer(tab, key, (ExprNodeGenericFuncDesc)compactExpr,
- conf, alias, partColsUsedInFilter, oldFilter.equals(compactExpr.getExprString()));
+ ppList = getPartitionsFromServer(tab, key, (ExprNodeGenericFuncDesc) compactExpr,
+ conf, alias, partColsUsedInFilter, oldFilter.equals(compactExprString));
prunedPartitionsMap.put(key, ppList);
return ppList;
}
@@ -285,7 +285,7 @@ public class PartitionPruner extends Transform {
}
if (!isBooleanExpr(expr)) {
throw new IllegalStateException("Unexpected non-boolean ExprNodeConstantDesc: "
- + expr.getExprString());
+ + expr.getExprString(true));
}
return expr;
} else if (expr instanceof ExprNodeColumnDesc) {
@@ -363,7 +363,7 @@ public class PartitionPruner extends Transform {
return expr;
} else {
- throw new IllegalStateException("Unexpected type of ExprNodeDesc: " + expr.getExprString());
+ throw new IllegalStateException("Unexpected type of ExprNodeDesc: " + expr.getExprString(true));
}
}
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 e6d510c..7a30239 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
@@ -185,6 +185,7 @@ import org.apache.hadoop.hive.ql.optimizer.calcite.rules.HiveFilterJoinRule;
import org.apache.hadoop.hive.ql.optimizer.calcite.rules.HiveFilterProjectTSTransposeRule;
import org.apache.hadoop.hive.ql.optimizer.calcite.rules.HiveFilterProjectTransposeRule;
import org.apache.hadoop.hive.ql.optimizer.calcite.rules.HiveFilterSetOpTransposeRule;
+import org.apache.hadoop.hive.ql.optimizer.calcite.rules.HiveFilterSortPredicates;
import org.apache.hadoop.hive.ql.optimizer.calcite.rules.HiveFilterSortTransposeRule;
import org.apache.hadoop.hive.ql.optimizer.calcite.rules.HiveInsertExchange4JoinRule;
import org.apache.hadoop.hive.ql.optimizer.calcite.rules.HiveIntersectMergeRule;
@@ -1179,7 +1180,22 @@ public class CalcitePlanner extends SemanticAnalyzer {
throw new SemanticException("OR clause expected below TOK_WHERE in incremental rewriting");
}
// We bypass the OR clause and select the first disjunct
- ASTNode newCondInUpdate = (ASTNode) whereClauseInUpdate.getChild(0).getChild(0);
+ int indexUpdate;
+ int indexInsert;
+ if (whereClauseInUpdate.getChild(0).getChild(0).getType() == HiveParser.EQUAL ||
+ (whereClauseInUpdate.getChild(0).getChild(0).getType() == HiveParser.KW_AND &&
+ whereClauseInUpdate.getChild(0).getChild(0).getChild(0).getType() == HiveParser.EQUAL)) {
+ indexUpdate = 0;
+ indexInsert = 1;
+ } else if (whereClauseInUpdate.getChild(0).getChild(1).getType() == HiveParser.EQUAL ||
+ (whereClauseInUpdate.getChild(0).getChild(1).getType() == HiveParser.KW_AND &&
+ whereClauseInUpdate.getChild(0).getChild(1).getChild(0).getType() == HiveParser.EQUAL)) {
+ indexUpdate = 1;
+ indexInsert = 0;
+ } else {
+ throw new SemanticException("Unexpected condition in incremental rewriting");
+ }
+ ASTNode newCondInUpdate = (ASTNode) whereClauseInUpdate.getChild(0).getChild(indexUpdate);
ParseDriver.adaptor.setChild(whereClauseInUpdate, 0, newCondInUpdate);
// 4.3) Finally, we add SORT clause, this is needed for the UPDATE.
// TOK_SORTBY
@@ -1216,7 +1232,7 @@ public class CalcitePlanner extends SemanticAnalyzer {
throw new SemanticException("OR clause expected below TOK_WHERE in incremental rewriting");
}
// We bypass the OR clause and select the second disjunct
- ASTNode newCondInInsert = (ASTNode) whereClauseInInsert.getChild(0).getChild(1);
+ ASTNode newCondInInsert = (ASTNode) whereClauseInInsert.getChild(0).getChild(indexInsert);
ParseDriver.adaptor.setChild(whereClauseInInsert, 0, newCondInInsert);
// 6) Now we set some tree properties related to multi-insert
// operation with INSERT/UPDATE
@@ -1961,7 +1977,16 @@ public class CalcitePlanner extends SemanticAnalyzer {
perfLogger.PerfLogEnd(this.getClass().getName(), PerfLogger.OPTIMIZER, "Calcite: Window fixing rule");
}
- // 10. Apply Druid transformation rules
+ // 10. Sort predicates in filter expressions
+ if (conf.getBoolVar(HiveConf.ConfVars.HIVE_OPTIMIZE_SORT_PREDS_WITH_STATS)) {
+ perfLogger.PerfLogBegin(this.getClass().getName(), PerfLogger.OPTIMIZER);
+ calciteOptimizedPlan = hepPlan(calciteOptimizedPlan, false, mdProvider.getMetadataProvider(), null,
+ HepMatchOrder.BOTTOM_UP, HiveFilterSortPredicates.INSTANCE);
+ perfLogger.PerfLogEnd(this.getClass().getName(), PerfLogger.OPTIMIZER,
+ "Calcite: Sort predicates within filter operators");
+ }
+
+ // 11. Apply Druid and JDBC transformation rules
perfLogger.PerfLogBegin(this.getClass().getName(), PerfLogger.OPTIMIZER);
calciteOptimizedPlan = hepPlan(calciteOptimizedPlan, false, mdProvider.getMetadataProvider(), null,
HepMatchOrder.BOTTOM_UP,
@@ -2005,7 +2030,7 @@ public class CalcitePlanner extends SemanticAnalyzer {
perfLogger.PerfLogEnd(this.getClass().getName(), PerfLogger.OPTIMIZER, "Calcite: JDBC transformation rules");
}
- // 11. Run rules to aid in translation from Calcite tree to Hive tree
+ // 12. Run rules to aid in translation from Calcite tree to Hive tree
if (HiveConf.getBoolVar(conf, ConfVars.HIVE_CBO_RETPATH_HIVEOP)) {
perfLogger.PerfLogBegin(this.getClass().getName(), PerfLogger.OPTIMIZER);
// 12.1. Merge join into multijoin operators (if possible)
@@ -2026,7 +2051,7 @@ public class CalcitePlanner extends SemanticAnalyzer {
HiveFilterProjectTSTransposeRule.INSTANCE, HiveFilterProjectTSTransposeRule.INSTANCE_DRUID,
HiveProjectFilterPullUpConstantsRule.INSTANCE);
- // 11.2. Introduce exchange operators below join/multijoin operators
+ // 12.2. Introduce exchange operators below join/multijoin operators
calciteOptimizedPlan = hepPlan(calciteOptimizedPlan, false, mdProvider.getMetadataProvider(), null,
HepMatchOrder.BOTTOM_UP, HiveInsertExchange4JoinRule.EXCHANGE_BELOW_JOIN,
HiveInsertExchange4JoinRule.EXCHANGE_BELOW_MULTIJOIN);
@@ -2190,9 +2215,9 @@ public class CalcitePlanner extends SemanticAnalyzer {
perfLogger.PerfLogBegin(this.getClass().getName(), PerfLogger.OPTIMIZER);
basePlan = hepPlan(basePlan, false, mdProvider, executorProvider,
- HiveSortLimitRemoveRule.INSTANCE);
+ HiveSortLimitRemoveRule.INSTANCE);
perfLogger.PerfLogEnd(this.getClass().getName(), PerfLogger.OPTIMIZER,
- "Calcite: Trying to remove Limit and Order by");
+ "Calcite: Trying to remove Limit and Order by");
// 6. Apply Partition Pruning
perfLogger.PerfLogBegin(this.getClass().getName(), PerfLogger.OPTIMIZER);
@@ -2203,8 +2228,7 @@ public class CalcitePlanner extends SemanticAnalyzer {
// 7. Projection Pruning (this introduces select above TS & hence needs to be run last due to PP)
perfLogger.PerfLogBegin(this.getClass().getName(), PerfLogger.OPTIMIZER);
HiveRelFieldTrimmer fieldTrimmer = new HiveRelFieldTrimmer(null,
- HiveRelFactories.HIVE_BUILDER.create(cluster, null),
- profilesCBO.contains(ExtendedCBOProfile.JOIN_REORDERING));
+ HiveRelFactories.HIVE_BUILDER.create(cluster, null), true);
basePlan = fieldTrimmer.trim(basePlan);
perfLogger.PerfLogEnd(this.getClass().getName(), PerfLogger.OPTIMIZER,
"Calcite: Prejoin ordering transformation, Projection Pruning");
@@ -3395,7 +3419,7 @@ public class CalcitePlanner extends SemanticAnalyzer {
} catch (SemanticException e) {
throw new CalciteSubquerySemanticException(e.getMessage());
}
- if(isSubQuery) {
+ if (isSubQuery) {
// since subqueries will later be rewritten into JOINs we want join reordering logic to trigger
profilesCBO.add(ExtendedCBOProfile.JOIN_REORDERING);
}
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/Explain.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/Explain.java
index 030bb61..409b03f 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/plan/Explain.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/Explain.java
@@ -77,6 +77,4 @@ public @interface Explain {
};
Vectorization vectorization() default Vectorization.NON_VECTORIZED;
- boolean postProcess() default false;
-
}
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/FilterDesc.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/FilterDesc.java
index fc7327a..944fa4f 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/plan/FilterDesc.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/FilterDesc.java
@@ -111,24 +111,16 @@ public class FilterDesc extends AbstractOperatorDesc {
}
@Signature
+ @Explain(displayName = "predicate")
public String getPredicateString() {
return PlanUtils.getExprListString(Arrays.asList(predicate));
}
+ @Explain(displayName = "predicate", explainLevels = { Level.USER })
public String getUserLevelExplainPredicateString() {
return PlanUtils.getExprListString(Arrays.asList(predicate), true);
}
- @Explain(displayName = "predicate", postProcess = true)
- public String getPredicateString(boolean postProcess) {
- return PlanUtils.getExprListString(Arrays.asList(predicate), false, postProcess);
- }
-
- @Explain(displayName = "predicate", explainLevels = { Level.USER }, postProcess = true)
- public String getUserLevelExplainPredicateString(boolean postProcess) {
- return PlanUtils.getExprListString(Arrays.asList(predicate), true, postProcess);
- }
-
public org.apache.hadoop.hive.ql.plan.ExprNodeDesc getPredicate() {
return predicate;
}
diff --git a/ql/src/test/queries/clientpositive/auto_sortmerge_join_4.q b/ql/src/test/queries/clientpositive/auto_sortmerge_join_4.q
index 19e363a..2a5f749 100644
--- a/ql/src/test/queries/clientpositive/auto_sortmerge_join_4.q
+++ b/ql/src/test/queries/clientpositive/auto_sortmerge_join_4.q
@@ -27,7 +27,7 @@ set hive.optimize.bucketmapjoin.sortedmerge = true;
set hive.auto.convert.sortmerge.join.to.mapjoin=false;
set hive.auto.convert.sortmerge.join.bigtable.selection.policy = org.apache.hadoop.hive.ql.optimizer.AvgPartitionSizeBasedBigTableSelectorForAutoSMJ;
-- disable hash joins
-set hive.auto.convert.join.noconditionaltask.size=200;
+set hive.auto.convert.join.noconditionaltask.size=1;
-- 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_n12 a JOIN bucket_big_n12 b ON a.key = b.key;
diff --git a/ql/src/test/results/clientnegative/bucket_mapjoin_mismatch1.q.out b/ql/src/test/results/clientnegative/bucket_mapjoin_mismatch1.q.out
index eced299..6036a75 100644
--- a/ql/src/test/results/clientnegative/bucket_mapjoin_mismatch1.q.out
+++ b/ql/src/test/results/clientnegative/bucket_mapjoin_mismatch1.q.out
@@ -104,37 +104,37 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: a
- filterExpr: ((ds = '2008-04-08') and key is not null) (type: boolean)
- Statistics: Num rows: 108 Data size: 61552 Basic stats: PARTIAL Column stats: NONE
+ filterExpr: (key is not null and (ds = '2008-04-08')) (type: boolean)
+ Statistics: Num rows: 108 Data size: 16732 Basic stats: PARTIAL Column stats: NONE
Filter Operator
predicate: key is not null (type: boolean)
- Statistics: Num rows: 103 Data size: 58702 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 88 Data size: 13633 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: int), value (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 103 Data size: 58702 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 88 Data size: 13633 Basic stats: PARTIAL Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: int)
sort order: +
Map-reduce partition columns: _col0 (type: int)
- Statistics: Num rows: 103 Data size: 58702 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 88 Data size: 13633 Basic stats: PARTIAL Column stats: NONE
value expressions: _col1 (type: string)
TableScan
alias: b
- filterExpr: ((ds = '2008-04-08') and key is not null) (type: boolean)
- Statistics: Num rows: 70 Data size: 40284 Basic stats: PARTIAL Column stats: NONE
+ filterExpr: (key is not null and (ds = '2008-04-08')) (type: boolean)
+ Statistics: Num rows: 70 Data size: 10904 Basic stats: PARTIAL Column stats: NONE
Filter Operator
predicate: key is not null (type: boolean)
- Statistics: Num rows: 67 Data size: 38557 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 57 Data size: 8878 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: int), value (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 67 Data size: 38557 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 57 Data size: 8878 Basic stats: PARTIAL Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: int)
sort order: +
Map-reduce partition columns: _col0 (type: int)
- Statistics: Num rows: 67 Data size: 38557 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 57 Data size: 8878 Basic stats: PARTIAL Column stats: NONE
value expressions: _col1 (type: string)
Reduce Operator Tree:
Join Operator
@@ -144,14 +144,14 @@ STAGE PLANS:
0 _col0 (type: int)
1 _col0 (type: int)
outputColumnNames: _col0, _col1, _col3
- Statistics: Num rows: 113 Data size: 64572 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 96 Data size: 14996 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col3 (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 113 Data size: 64572 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 96 Data size: 14996 Basic stats: PARTIAL Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 113 Data size: 64572 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 96 Data size: 14996 Basic stats: PARTIAL Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
diff --git a/ql/src/test/results/clientnegative/insert_into_with_schema2.q.out b/ql/src/test/results/clientnegative/insert_into_with_schema2.q.out
index 4243e51..ed55b89 100644
--- a/ql/src/test/results/clientnegative/insert_into_with_schema2.q.out
+++ b/ql/src/test/results/clientnegative/insert_into_with_schema2.q.out
@@ -30,4 +30,4 @@ POSTHOOK: query: create table target1(x int, y int, z int)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:x314n
POSTHOOK: Output: x314n@target1
-FAILED: SemanticException 0:0 Expected 3 columns for insclause-0/x314n@target1; select produces 2 columns. Error encountered near token 'source.s2'
+FAILED: SemanticException 0:0 Expected 3 columns for insclause-0/x314n@target1; select produces 2 columns. Error encountered near token 'TOK_ALLCOLREF'
diff --git a/ql/src/test/results/clientpositive/acid_stats4.q.out b/ql/src/test/results/clientpositive/acid_stats4.q.out
index bf8585d..2297f05 100644
--- a/ql/src/test/results/clientpositive/acid_stats4.q.out
+++ b/ql/src/test/results/clientpositive/acid_stats4.q.out
@@ -639,11 +639,11 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: stats_part
- Statistics: Num rows: 3 Data size: 27 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 3 Data size: 12 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key2 (type: int)
outputColumnNames: key2
- Statistics: Num rows: 3 Data size: 27 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 3 Data size: 12 Basic stats: COMPLETE Column stats: NONE
Group By Operator
aggregations: count(key2)
minReductionHashAggr: 0.99
diff --git a/ql/src/test/results/clientpositive/alterColumnStatsPart.q.out b/ql/src/test/results/clientpositive/alterColumnStatsPart.q.out
index 7a157a2..447bb3a 100644
--- a/ql/src/test/results/clientpositive/alterColumnStatsPart.q.out
+++ b/ql/src/test/results/clientpositive/alterColumnStatsPart.q.out
@@ -126,11 +126,11 @@ STAGE PLANS:
TableScan
alias: p
filterExpr: (c = 1) (type: boolean)
- Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: a (type: int)
outputColumnNames: a
- Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
Group By Operator
aggregations: max(a)
minReductionHashAggr: 0.99
@@ -272,11 +272,11 @@ STAGE PLANS:
TableScan
alias: p
filterExpr: (c = 4) (type: boolean)
- Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: a (type: int)
outputColumnNames: a
- Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
Group By Operator
aggregations: max(a)
minReductionHashAggr: 0.99
diff --git a/ql/src/test/results/clientpositive/annotate_stats_deep_filters.q.out b/ql/src/test/results/clientpositive/annotate_stats_deep_filters.q.out
index 5edaea2..53e1f78 100644
--- a/ql/src/test/results/clientpositive/annotate_stats_deep_filters.q.out
+++ b/ql/src/test/results/clientpositive/annotate_stats_deep_filters.q.out
@@ -127,7 +127,7 @@ STAGE PLANS:
filterExpr: (((t = 1Y) and (si = 2S)) or ((t = 2Y) and (si = 3S)) or ((t = 3Y) and (si = 4S)) or ((t = 4Y) and (si = 5S)) or ((t = 5Y) and (si = 6S)) or ((t = 6Y) and (si = 7S)) or ((t = 7Y) and (si = 8S)) or ((t = 9Y) and (si = 10S)) or ((t = 10Y) and (si = 11S)) or ((t = 11Y) and (si = 12S)) or ((t = 12Y) and (si = 13S)) or ((t = 13Y) and (si = 14S)) or ((t = 14Y) and (si = 15S)) or ((t = 15Y) and (si = 16S)) or ((t = 16Y) and (si = 17S)) or ((t = 17Y) and (si = 18S)) or (( [...]
Statistics: Num rows: 2098 Data size: 16744 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (((t = 10Y) and (si = 11S)) or ((t = 11Y) and (si = 12S)) or ((t = 12Y) and (si = 13S)) or ((t = 13Y) and (si = 14S)) or ((t = 14Y) and (si = 15S)) or ((t = 15Y) and (si = 16S)) or ((t = 16Y) and (si = 17S)) or ((t = 17Y) and (si = 18S)) or ((t = 1Y) and (si = 2S)) or ((t = 27Y) and (si = 28S)) or ((t = 2Y) and (si = 3S)) or ((t = 37Y) and (si = 38S)) or ((t = 3Y) and (si = 4S)) or ((t = 47Y) and (si = 48S)) or ((t = 4Y) and (si = 5S)) or ((t = 52Y) and (si = 53S [...]
+ predicate: (((t = 1Y) and (si = 2S)) or ((t = 2Y) and (si = 3S)) or ((t = 3Y) and (si = 4S)) or ((t = 4Y) and (si = 5S)) or ((t = 5Y) and (si = 6S)) or ((t = 6Y) and (si = 7S)) or ((t = 7Y) and (si = 8S)) or ((t = 9Y) and (si = 10S)) or ((t = 10Y) and (si = 11S)) or ((t = 11Y) and (si = 12S)) or ((t = 12Y) and (si = 13S)) or ((t = 13Y) and (si = 14S)) or ((t = 14Y) and (si = 15S)) or ((t = 15Y) and (si = 16S)) or ((t = 16Y) and (si = 17S)) or ((t = 17Y) and (si = 18S)) or ( [...]
Statistics: Num rows: 20 Data size: 160 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
Statistics: Num rows: 20 Data size: 160 Basic stats: COMPLETE Column stats: COMPLETE
@@ -223,7 +223,7 @@ STAGE PLANS:
filterExpr: (((t = 1Y) and (si = 2S)) or ((t = 2Y) and (si = 3S)) or ((t = 3Y) and (si = 4S)) or ((t = 4Y) and (si = 5S)) or ((t = 5Y) and (si = 6S)) or ((t = 6Y) and (si = 7S)) or ((t = 7Y) and (si = 8S)) or ((t = 9Y) and (si = 10S)) or ((t = 10Y) and (si = 11S)) or ((t = 11Y) and (si = 12S)) or ((t = 12Y) and (si = 13S)) or ((t = 13Y) and (si = 14S)) or ((t = 14Y) and (si = 15S)) or ((t = 15Y) and (si = 16S)) or ((t = 16Y) and (si = 17S)) or ((t = 17Y) and (si = 18S)) or (( [...]
Statistics: Num rows: 2098 Data size: 211174 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (((t = 10Y) and (si = 11S)) or ((t = 11Y) and (si = 12S)) or ((t = 12Y) and (si = 13S)) or ((t = 13Y) and (si = 14S)) or ((t = 14Y) and (si = 15S)) or ((t = 15Y) and (si = 16S)) or ((t = 16Y) and (si = 17S)) or ((t = 17Y) and (si = 18S)) or ((t = 1Y) and (si = 2S)) or ((t = 27Y) and (si = 28S)) or ((t = 2Y) and (si = 3S)) or ((t = 37Y) and (si = 38S)) or ((t = 3Y) and (si = 4S)) or ((t = 47Y) and (si = 48S)) or ((t = 4Y) and (si = 5S)) or ((t = 52Y) and (si = 53S [...]
+ predicate: (((t = 1Y) and (si = 2S)) or ((t = 2Y) and (si = 3S)) or ((t = 3Y) and (si = 4S)) or ((t = 4Y) and (si = 5S)) or ((t = 5Y) and (si = 6S)) or ((t = 6Y) and (si = 7S)) or ((t = 7Y) and (si = 8S)) or ((t = 9Y) and (si = 10S)) or ((t = 10Y) and (si = 11S)) or ((t = 11Y) and (si = 12S)) or ((t = 12Y) and (si = 13S)) or ((t = 13Y) and (si = 14S)) or ((t = 14Y) and (si = 15S)) or ((t = 15Y) and (si = 16S)) or ((t = 16Y) and (si = 17S)) or ((t = 17Y) and (si = 18S)) or ( [...]
Statistics: Num rows: 2098 Data size: 211174 Basic stats: COMPLETE Column stats: NONE
Select Operator
Statistics: Num rows: 2098 Data size: 211174 Basic stats: COMPLETE Column stats: NONE
diff --git a/ql/src/test/results/clientpositive/annotate_stats_join_pkfk.q.out b/ql/src/test/results/clientpositive/annotate_stats_join_pkfk.q.out
index cce87c4..64b97ee5 100644
--- a/ql/src/test/results/clientpositive/annotate_stats_join_pkfk.q.out
+++ b/ql/src/test/results/clientpositive/annotate_stats_join_pkfk.q.out
@@ -1299,7 +1299,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: ss
- filterExpr: (ss_store_sk is not null and ss_addr_sk is not null) (type: boolean)
+ filterExpr: (ss_addr_sk is not null and ss_store_sk is not null) (type: boolean)
Statistics: Num rows: 1000 Data size: 7664 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
predicate: (ss_addr_sk is not null and ss_store_sk is not null) (type: boolean)
@@ -1380,14 +1380,14 @@ STAGE PLANS:
0 _col0 (type: int)
1 _col0 (type: int)
outputColumnNames: _col2
- Statistics: Num rows: 241 Data size: 964 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 223 Data size: 892 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col2 (type: int)
outputColumnNames: _col0
- Statistics: Num rows: 241 Data size: 964 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 223 Data size: 892 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 241 Data size: 964 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 223 Data size: 892 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
diff --git a/ql/src/test/results/clientpositive/annotate_stats_part.q.out b/ql/src/test/results/clientpositive/annotate_stats_part.q.out
index 1b98811..05bfa34 100644
--- a/ql/src/test/results/clientpositive/annotate_stats_part.q.out
+++ b/ql/src/test/results/clientpositive/annotate_stats_part.q.out
@@ -58,11 +58,11 @@ STAGE PLANS:
Processor Tree:
TableScan
alias: loc_orc_n4
- Statistics: Num rows: 1 Data size: 380 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: state (type: string), locid (type: int), zip (type: bigint), year (type: string)
outputColumnNames: _col0, _col1, _col2, _col3
- Statistics: Num rows: 1 Data size: 380 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
ListSink
PREHOOK: query: insert overwrite table loc_orc_n4 partition(year) select * from loc_staging_n4
@@ -102,11 +102,11 @@ STAGE PLANS:
Processor Tree:
TableScan
alias: loc_orc_n4
- Statistics: Num rows: 20 Data size: 15670 Basic stats: PARTIAL Column stats: PARTIAL
+ Statistics: Num rows: 20 Data size: 7208 Basic stats: PARTIAL Column stats: PARTIAL
Select Operator
expressions: state (type: string), locid (type: int), zip (type: bigint), year (type: string)
outputColumnNames: _col0, _col1, _col2, _col3
- Statistics: Num rows: 20 Data size: 15670 Basic stats: PARTIAL Column stats: PARTIAL
+ Statistics: Num rows: 20 Data size: 7208 Basic stats: PARTIAL Column stats: PARTIAL
ListSink
PREHOOK: query: analyze table loc_orc_n4 partition(year='2001') compute statistics
@@ -140,11 +140,11 @@ STAGE PLANS:
TableScan
alias: loc_orc_n4
filterExpr: (year = '__HIVE_DEFAULT_PARTITION__') (type: boolean)
- Statistics: Num rows: 9 Data size: 5364 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 9 Data size: 1764 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: state (type: string), locid (type: int), zip (type: bigint), '__HIVE_DEFAULT_PARTITION__' (type: string)
outputColumnNames: _col0, _col1, _col2, _col3
- Statistics: Num rows: 9 Data size: 5364 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 9 Data size: 1764 Basic stats: PARTIAL Column stats: NONE
ListSink
PREHOOK: query: explain select * from loc_orc_n4
@@ -169,11 +169,11 @@ STAGE PLANS:
Processor Tree:
TableScan
alias: loc_orc_n4
- Statistics: Num rows: 16 Data size: 10358 Basic stats: PARTIAL Column stats: PARTIAL
+ Statistics: Num rows: 16 Data size: 6080 Basic stats: PARTIAL Column stats: PARTIAL
Select Operator
expressions: state (type: string), locid (type: int), zip (type: bigint), year (type: string)
outputColumnNames: _col0, _col1, _col2, _col3
- Statistics: Num rows: 16 Data size: 10358 Basic stats: PARTIAL Column stats: PARTIAL
+ Statistics: Num rows: 16 Data size: 6080 Basic stats: PARTIAL Column stats: PARTIAL
ListSink
PREHOOK: query: explain select * from loc_orc_n4 where year='2001'
@@ -197,11 +197,11 @@ STAGE PLANS:
TableScan
alias: loc_orc_n4
filterExpr: (year = '2001') (type: boolean)
- Statistics: Num rows: 7 Data size: 2050 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 7 Data size: 1372 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: state (type: string), locid (type: int), zip (type: bigint), '2001' (type: string)
outputColumnNames: _col0, _col1, _col2, _col3
- Statistics: Num rows: 7 Data size: 2050 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 7 Data size: 1372 Basic stats: COMPLETE Column stats: NONE
ListSink
PREHOOK: query: analyze table loc_orc_n4 partition(year) compute statistics
@@ -237,11 +237,11 @@ STAGE PLANS:
TableScan
alias: loc_orc_n4
filterExpr: (year = '__HIVE_DEFAULT_PARTITION__') (type: boolean)
- Statistics: Num rows: 1 Data size: 292 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 196 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: state (type: string), locid (type: int), zip (type: bigint), '__HIVE_DEFAULT_PARTITION__' (type: string)
outputColumnNames: _col0, _col1, _col2, _col3
- Statistics: Num rows: 1 Data size: 292 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 196 Basic stats: COMPLETE Column stats: NONE
ListSink
PREHOOK: query: explain select * from loc_orc_n4
@@ -266,7 +266,7 @@ STAGE PLANS:
Processor Tree:
TableScan
alias: loc_orc_n4
- Statistics: Num rows: 8 Data size: 3814 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 8 Data size: 3040 Basic stats: COMPLETE Column stats: PARTIAL
Select Operator
expressions: state (type: string), locid (type: int), zip (type: bigint), year (type: string)
outputColumnNames: _col0, _col1, _col2, _col3
@@ -296,7 +296,7 @@ STAGE PLANS:
TableScan
alias: loc_orc_n4
filterExpr: (year) IN ('2001', '__HIVE_DEFAULT_PARTITION__') (type: boolean)
- Statistics: Num rows: 8 Data size: 3814 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 8 Data size: 3040 Basic stats: COMPLETE Column stats: PARTIAL
Select Operator
expressions: state (type: string), locid (type: int), zip (type: bigint), year (type: string)
outputColumnNames: _col0, _col1, _col2, _col3
@@ -367,11 +367,11 @@ STAGE PLANS:
Processor Tree:
TableScan
alias: loc_orc_n4
- Statistics: Num rows: 8 Data size: 838 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 8 Data size: 64 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: zip (type: bigint)
outputColumnNames: _col0
- Statistics: Num rows: 8 Data size: 838 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 8 Data size: 64 Basic stats: COMPLETE Column stats: NONE
ListSink
PREHOOK: query: explain select state from loc_orc_n4
@@ -510,11 +510,11 @@ STAGE PLANS:
TableScan
alias: loc_orc_n4
filterExpr: (year <> '2001') (type: boolean)
- Statistics: Num rows: 1 Data size: 284 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: state (type: string), locid (type: int)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 284 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
ListSink
PREHOOK: query: explain select * from loc_orc_n4
diff --git a/ql/src/test/results/clientpositive/autoColumnStats_2.q.out b/ql/src/test/results/clientpositive/autoColumnStats_2.q.out
index 121a103..0bbfec6 100644
--- a/ql/src/test/results/clientpositive/autoColumnStats_2.q.out
+++ b/ql/src/test/results/clientpositive/autoColumnStats_2.q.out
@@ -829,11 +829,11 @@ STAGE PLANS:
TableScan
alias: alter5
filterExpr: (dt = 'a') (type: boolean)
- Statistics: Num rows: 49 Data size: 27892 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 49 Data size: 7544 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: col1 (type: string), 'a' (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 49 Data size: 27892 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 49 Data size: 7544 Basic stats: PARTIAL Column stats: NONE
ListSink
PREHOOK: query: drop table src_stat_part
diff --git a/ql/src/test/results/clientpositive/auto_join14.q.out b/ql/src/test/results/clientpositive/auto_join14.q.out
index 176f2f2..9ddc3c7 100644
--- a/ql/src/test/results/clientpositive/auto_join14.q.out
+++ b/ql/src/test/results/clientpositive/auto_join14.q.out
@@ -61,7 +61,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart
- filterExpr: ((ds = '2008-04-08') and (UDFToDouble(key) > 100.0D)) (type: boolean)
+ filterExpr: ((UDFToDouble(key) > 100.0D) and (ds = '2008-04-08')) (type: boolean)
Statistics: Num rows: 1000 Data size: 178000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
predicate: (UDFToDouble(key) > 100.0D) (type: boolean)
diff --git a/ql/src/test/results/clientpositive/auto_join2.q.out b/ql/src/test/results/clientpositive/auto_join2.q.out
index 25ee73f..3ed9791 100644
--- a/ql/src/test/results/clientpositive/auto_join2.q.out
+++ b/ql/src/test/results/clientpositive/auto_join2.q.out
@@ -42,7 +42,7 @@ STAGE PLANS:
filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
+ predicate: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -77,7 +77,7 @@ STAGE PLANS:
filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
+ predicate: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
diff --git a/ql/src/test/results/clientpositive/auto_join20.q.out b/ql/src/test/results/clientpositive/auto_join20.q.out
index 733f51b..08ca69e 100644
--- a/ql/src/test/results/clientpositive/auto_join20.q.out
+++ b/ql/src/test/results/clientpositive/auto_join20.q.out
@@ -274,7 +274,7 @@ STAGE PLANS:
filterExpr: ((key < 15) and (key < 10)) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((key < 10) and (key < 15)) (type: boolean)
+ predicate: ((key < 15) and (key < 10)) (type: boolean)
Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE
HashTable Sink Operator
keys:
diff --git a/ql/src/test/results/clientpositive/auto_join29.q.out b/ql/src/test/results/clientpositive/auto_join29.q.out
index 5f10d5f..6210e9c 100644
--- a/ql/src/test/results/clientpositive/auto_join29.q.out
+++ b/ql/src/test/results/clientpositive/auto_join29.q.out
@@ -2688,7 +2688,7 @@ STAGE PLANS:
filterExpr: ((key > 10) and (key < 10)) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((key < 10) and (key > 10)) (type: boolean)
+ predicate: ((key > 10) and (key < 10)) (type: boolean)
Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE
HashTable Sink Operator
keys:
@@ -2805,7 +2805,7 @@ STAGE PLANS:
filterExpr: ((key > 10) and (key < 10)) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((key < 10) and (key > 10)) (type: boolean)
+ predicate: ((key > 10) and (key < 10)) (type: boolean)
Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE
HashTable Sink Operator
keys:
@@ -3764,7 +3764,7 @@ STAGE PLANS:
filterExpr: ((key > 10) and (key < 10)) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((key < 10) and (key > 10)) (type: boolean)
+ predicate: ((key > 10) and (key < 10)) (type: boolean)
Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE
HashTable Sink Operator
keys:
diff --git a/ql/src/test/results/clientpositive/auto_join32.q.out b/ql/src/test/results/clientpositive/auto_join32.q.out
index cda6c7a..4ef5c67 100644
--- a/ql/src/test/results/clientpositive/auto_join32.q.out
+++ b/ql/src/test/results/clientpositive/auto_join32.q.out
@@ -436,14 +436,14 @@ STAGE PLANS:
TableScan
alias: s
filterExpr: ((p = 'bar') and name is not null) (type: boolean)
- Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
predicate: ((p = 'bar') and name is not null) (type: boolean)
- Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: name (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
Sorted Merge Bucket Map Join Operator
condition map:
Inner Join 0 to 1
diff --git a/ql/src/test/results/clientpositive/auto_join4.q.out b/ql/src/test/results/clientpositive/auto_join4.q.out
index eaf7083..86bfffa 100644
--- a/ql/src/test/results/clientpositive/auto_join4.q.out
+++ b/ql/src/test/results/clientpositive/auto_join4.q.out
@@ -61,7 +61,7 @@ STAGE PLANS:
filterExpr: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean)
+ predicate: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string)
@@ -80,7 +80,7 @@ STAGE PLANS:
filterExpr: ((UDFToDouble(key) > 10.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 10.0D)) (type: boolean)
+ predicate: ((UDFToDouble(key) > 10.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string)
diff --git a/ql/src/test/results/clientpositive/auto_join5.q.out b/ql/src/test/results/clientpositive/auto_join5.q.out
index 8c6c31c..b2884aa 100644
--- a/ql/src/test/results/clientpositive/auto_join5.q.out
+++ b/ql/src/test/results/clientpositive/auto_join5.q.out
@@ -80,7 +80,7 @@ STAGE PLANS:
filterExpr: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 25.0D)) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((UDFToDouble(key) < 25.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean)
+ predicate: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 25.0D)) (type: boolean)
Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string)
diff --git a/ql/src/test/results/clientpositive/auto_join6.q.out b/ql/src/test/results/clientpositive/auto_join6.q.out
index 977236f..e48c839 100644
--- a/ql/src/test/results/clientpositive/auto_join6.q.out
+++ b/ql/src/test/results/clientpositive/auto_join6.q.out
@@ -55,7 +55,7 @@ STAGE PLANS:
filterExpr: ((UDFToDouble(key) > 10.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 10.0D)) (type: boolean)
+ predicate: ((UDFToDouble(key) > 10.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string)
@@ -72,7 +72,7 @@ STAGE PLANS:
filterExpr: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 25.0D)) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((UDFToDouble(key) < 25.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean)
+ predicate: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 25.0D)) (type: boolean)
Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string)
diff --git a/ql/src/test/results/clientpositive/auto_join7.q.out b/ql/src/test/results/clientpositive/auto_join7.q.out
index aad848f..690d426 100644
--- a/ql/src/test/results/clientpositive/auto_join7.q.out
+++ b/ql/src/test/results/clientpositive/auto_join7.q.out
@@ -67,7 +67,7 @@ STAGE PLANS:
filterExpr: ((UDFToDouble(key) > 10.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 10.0D)) (type: boolean)
+ predicate: ((UDFToDouble(key) > 10.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string)
@@ -84,7 +84,7 @@ STAGE PLANS:
filterExpr: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 25.0D)) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((UDFToDouble(key) < 25.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean)
+ predicate: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 25.0D)) (type: boolean)
Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string)
@@ -125,7 +125,7 @@ STAGE PLANS:
filterExpr: ((UDFToDouble(key) > 20.0D) and (UDFToDouble(key) < 25.0D)) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((UDFToDouble(key) < 25.0D) and (UDFToDouble(key) > 20.0D)) (type: boolean)
+ predicate: ((UDFToDouble(key) > 20.0D) and (UDFToDouble(key) < 25.0D)) (type: boolean)
Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string)
diff --git a/ql/src/test/results/clientpositive/auto_join8.q.out b/ql/src/test/results/clientpositive/auto_join8.q.out
index b2f8543..61a92de 100644
--- a/ql/src/test/results/clientpositive/auto_join8.q.out
+++ b/ql/src/test/results/clientpositive/auto_join8.q.out
@@ -61,7 +61,7 @@ STAGE PLANS:
filterExpr: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean)
+ predicate: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string)
@@ -80,7 +80,7 @@ STAGE PLANS:
filterExpr: ((UDFToDouble(key) > 10.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 10.0D)) (type: boolean)
+ predicate: ((UDFToDouble(key) > 10.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string)
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 055064d..d9c7720 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
@@ -121,7 +121,7 @@ STAGE PLANS:
GatherStats: false
Filter Operator
isSamplingPred: false
- predicate: (cityid is not null and date is not null and dealid is not null and userid is not null) (type: boolean)
+ predicate: (date is not null and dealid is not null and cityid is not null and userid is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 106 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: dealid (type: int), date (type: string), cityid (type: int), userid (type: int)
diff --git a/ql/src/test/results/clientpositive/auto_join_stats.q.out b/ql/src/test/results/clientpositive/auto_join_stats.q.out
index 06448f4..515ccb0 100644
--- a/ql/src/test/results/clientpositive/auto_join_stats.q.out
+++ b/ql/src/test/results/clientpositive/auto_join_stats.q.out
@@ -60,7 +60,7 @@ STAGE PLANS:
filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
+ predicate: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -79,7 +79,7 @@ STAGE PLANS:
filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
+ predicate: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -167,7 +167,7 @@ STAGE PLANS:
filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
+ predicate: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -186,7 +186,7 @@ STAGE PLANS:
filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
+ predicate: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -218,7 +218,7 @@ STAGE PLANS:
filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
+ predicate: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -235,7 +235,7 @@ STAGE PLANS:
filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
+ predicate: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -345,7 +345,7 @@ STAGE PLANS:
filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
+ predicate: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -364,7 +364,7 @@ STAGE PLANS:
filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
+ predicate: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -479,7 +479,7 @@ STAGE PLANS:
filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
+ predicate: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -498,7 +498,7 @@ STAGE PLANS:
filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
+ predicate: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -530,7 +530,7 @@ STAGE PLANS:
filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
+ predicate: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -547,7 +547,7 @@ STAGE PLANS:
filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
+ predicate: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
diff --git a/ql/src/test/results/clientpositive/auto_join_stats2.q.out b/ql/src/test/results/clientpositive/auto_join_stats2.q.out
index 8eb4b2e..235a2ba 100644
--- a/ql/src/test/results/clientpositive/auto_join_stats2.q.out
+++ b/ql/src/test/results/clientpositive/auto_join_stats2.q.out
@@ -63,7 +63,7 @@ STAGE PLANS:
filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
+ predicate: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -82,7 +82,7 @@ STAGE PLANS:
filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
+ predicate: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -218,7 +218,7 @@ STAGE PLANS:
filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
+ predicate: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -253,7 +253,7 @@ STAGE PLANS:
filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
+ predicate: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
diff --git a/ql/src/test/results/clientpositive/beeline/materialized_view_create_rewrite.q.out b/ql/src/test/results/clientpositive/beeline/materialized_view_create_rewrite.q.out
index 74ef098..e9753db 100644
--- a/ql/src/test/results/clientpositive/beeline/materialized_view_create_rewrite.q.out
+++ b/ql/src/test/results/clientpositive/beeline/materialized_view_create_rewrite.q.out
@@ -192,7 +192,7 @@ STAGE PLANS:
filterExpr: ((d = 3) and (a = 3)) (type: boolean)
Statistics: Num rows: 5 Data size: 600 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((a = 3) and (d = 3)) (type: boolean)
+ predicate: ((d = 3) and (a = 3)) (type: boolean)
Statistics: Num rows: 1 Data size: 120 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: c (type: decimal(10,2))
@@ -429,7 +429,7 @@ STAGE PLANS:
filterExpr: ((d = 3) and (a = 3)) (type: boolean)
Statistics: Num rows: 5 Data size: 600 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((a = 3) and (d = 3)) (type: boolean)
+ predicate: ((d = 3) and (a = 3)) (type: boolean)
Statistics: Num rows: 1 Data size: 120 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: c (type: decimal(10,2))
diff --git a/ql/src/test/results/clientpositive/beeline/smb_mapjoin_10.q.out b/ql/src/test/results/clientpositive/beeline/smb_mapjoin_10.q.out
index e374b59..d902155 100644
--- a/ql/src/test/results/clientpositive/beeline/smb_mapjoin_10.q.out
+++ b/ql/src/test/results/clientpositive/beeline/smb_mapjoin_10.q.out
@@ -89,7 +89,7 @@ STAGE PLANS:
filterExpr: (userid is not null and pageid is not null and postid is not null and type is not null) (type: boolean)
Statistics: Num rows: 13 Data size: 6688 Basic stats: PARTIAL Column stats: NONE
Filter Operator
- predicate: (pageid is not null and postid is not null and type is not null and userid is not null) (type: boolean)
+ predicate: (userid is not null and pageid is not null and postid is not null and type is not null) (type: boolean)
Statistics: Num rows: 13 Data size: 6688 Basic stats: PARTIAL Column stats: NONE
Sorted Merge Bucket Map Join Operator
condition map:
diff --git a/ql/src/test/results/clientpositive/bucket_map_join_spark1.q.out b/ql/src/test/results/clientpositive/bucket_map_join_spark1.q.out
index 22c6531..8006d5c 100644
--- a/ql/src/test/results/clientpositive/bucket_map_join_spark1.q.out
+++ b/ql/src/test/results/clientpositive/bucket_map_join_spark1.q.out
@@ -132,7 +132,7 @@ FROM `default`.`srcbucket_mapjoin_part_n19`
WHERE `key` IS NOT NULL) AS `t0`
INNER JOIN (SELECT `key`, `value`
FROM `default`.`srcbucket_mapjoin_part_2_n16`
-WHERE `ds` = '2008-04-08' AND `key` IS NOT NULL) AS `t2` ON `t0`.`key` = `t2`.`key`
+WHERE `key` IS NOT NULL AND `ds` = '2008-04-08') AS `t2` ON `t0`.`key` = `t2`.`key`
STAGE DEPENDENCIES:
Stage-6 is a root stage
Stage-5 depends on stages: Stage-6
@@ -201,16 +201,16 @@ STAGE PLANS:
TableScan
alias: a
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 149 Data size: 85004 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 149 Data size: 23124 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: int), value (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE
HashTable Sink Operator
keys:
0 _col0 (type: int)
@@ -222,17 +222,17 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: b
- filterExpr: ((ds = '2008-04-08') and key is not null) (type: boolean)
- Statistics: Num rows: 149 Data size: 85004 Basic stats: PARTIAL Column stats: NONE
+ filterExpr: (key is not null and (ds = '2008-04-08')) (type: boolean)
+ Statistics: Num rows: 149 Data size: 23124 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: int), value (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE
Map Join Operator
condition map:
Inner Join 0 to 1
@@ -241,17 +241,17 @@ STAGE PLANS:
1 _col0 (type: int)
outputColumnNames: _col0, _col1, _col3
Position of Big Table: 1
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: CAST( _col0 AS STRING) (type: string), _col1 (type: string), _col3 (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
File Output Operator
compressed: false
GlobalTableId: 1
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.TextInputFormat
@@ -282,7 +282,7 @@ STAGE PLANS:
Select Operator
expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string)
outputColumnNames: key, value1, value2
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
Group By Operator
aggregations: compute_stats(key, 'hll'), compute_stats(value1, 'hll'), compute_stats(value2, 'hll')
minReductionHashAggr: 0.99
@@ -594,7 +594,7 @@ FROM `default`.`srcbucket_mapjoin_part_n19`
WHERE `key` IS NOT NULL) AS `t0`
INNER JOIN (SELECT `key`, `value`
FROM `default`.`srcbucket_mapjoin_part_2_n16`
-WHERE `ds` = '2008-04-08' AND `key` IS NOT NULL) AS `t2` ON `t0`.`key` = `t2`.`key`
+WHERE `key` IS NOT NULL AND `ds` = '2008-04-08') AS `t2` ON `t0`.`key` = `t2`.`key`
STAGE DEPENDENCIES:
Stage-6 is a root stage
Stage-5 depends on stages: Stage-6
@@ -663,16 +663,16 @@ STAGE PLANS:
TableScan
alias: a
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 149 Data size: 85004 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 149 Data size: 23124 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: int), value (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE
HashTable Sink Operator
keys:
0 _col0 (type: int)
@@ -684,17 +684,17 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: b
- filterExpr: ((ds = '2008-04-08') and key is not null) (type: boolean)
- Statistics: Num rows: 149 Data size: 85004 Basic stats: PARTIAL Column stats: NONE
+ filterExpr: (key is not null and (ds = '2008-04-08')) (type: boolean)
+ Statistics: Num rows: 149 Data size: 23124 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: int), value (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE
Map Join Operator
condition map:
Inner Join 0 to 1
@@ -703,17 +703,17 @@ STAGE PLANS:
1 _col0 (type: int)
outputColumnNames: _col0, _col1, _col3
Position of Big Table: 1
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: CAST( _col0 AS STRING) (type: string), _col1 (type: string), _col3 (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
File Output Operator
compressed: false
GlobalTableId: 1
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.TextInputFormat
@@ -744,7 +744,7 @@ STAGE PLANS:
Select Operator
expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string)
outputColumnNames: key, value1, value2
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
Group By Operator
aggregations: compute_stats(key, 'hll'), compute_stats(value1, 'hll'), compute_stats(value2, 'hll')
minReductionHashAggr: 0.99
diff --git a/ql/src/test/results/clientpositive/bucket_map_join_spark2.q.out b/ql/src/test/results/clientpositive/bucket_map_join_spark2.q.out
index 38ed123..23d704a 100644
--- a/ql/src/test/results/clientpositive/bucket_map_join_spark2.q.out
+++ b/ql/src/test/results/clientpositive/bucket_map_join_spark2.q.out
@@ -116,7 +116,7 @@ FROM `default`.`srcbucket_mapjoin_part_n12`
WHERE `key` IS NOT NULL) AS `t0`
INNER JOIN (SELECT `key`, `value`
FROM `default`.`srcbucket_mapjoin_part_2_n10`
-WHERE `ds` = '2008-04-08' AND `key` IS NOT NULL) AS `t2` ON `t0`.`key` = `t2`.`key`
+WHERE `key` IS NOT NULL AND `ds` = '2008-04-08') AS `t2` ON `t0`.`key` = `t2`.`key`
STAGE DEPENDENCIES:
Stage-6 is a root stage
Stage-5 depends on stages: Stage-6
@@ -184,17 +184,17 @@ STAGE PLANS:
$hdt$_1:b
TableScan
alias: b
- filterExpr: ((ds = '2008-04-08') and key is not null) (type: boolean)
- Statistics: Num rows: 78 Data size: 44908 Basic stats: PARTIAL Column stats: NONE
+ filterExpr: (key is not null and (ds = '2008-04-08')) (type: boolean)
+ Statistics: Num rows: 78 Data size: 12220 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 75 Data size: 43180 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 64 Data size: 10026 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: int), value (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 75 Data size: 43180 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 64 Data size: 10026 Basic stats: PARTIAL Column stats: NONE
HashTable Sink Operator
keys:
0 _col0 (type: int)
@@ -207,16 +207,16 @@ STAGE PLANS:
TableScan
alias: a
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 149 Data size: 85004 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 149 Data size: 23124 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: int), value (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE
Map Join Operator
condition map:
Inner Join 0 to 1
@@ -225,17 +225,17 @@ STAGE PLANS:
1 _col0 (type: int)
outputColumnNames: _col0, _col1, _col3
Position of Big Table: 0
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: CAST( _col0 AS STRING) (type: string), _col1 (type: string), _col3 (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
File Output Operator
compressed: false
GlobalTableId: 1
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.TextInputFormat
@@ -266,7 +266,7 @@ STAGE PLANS:
Select Operator
expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string)
outputColumnNames: key, value1, value2
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
Group By Operator
aggregations: compute_stats(key, 'hll'), compute_stats(value1, 'hll'), compute_stats(value2, 'hll')
minReductionHashAggr: 0.99
@@ -578,7 +578,7 @@ FROM `default`.`srcbucket_mapjoin_part_n12`
WHERE `key` IS NOT NULL) AS `t0`
INNER JOIN (SELECT `key`, `value`
FROM `default`.`srcbucket_mapjoin_part_2_n10`
-WHERE `ds` = '2008-04-08' AND `key` IS NOT NULL) AS `t2` ON `t0`.`key` = `t2`.`key`
+WHERE `key` IS NOT NULL AND `ds` = '2008-04-08') AS `t2` ON `t0`.`key` = `t2`.`key`
STAGE DEPENDENCIES:
Stage-6 is a root stage
Stage-5 depends on stages: Stage-6
@@ -646,17 +646,17 @@ STAGE PLANS:
$hdt$_1:b
TableScan
alias: b
- filterExpr: ((ds = '2008-04-08') and key is not null) (type: boolean)
- Statistics: Num rows: 78 Data size: 44908 Basic stats: PARTIAL Column stats: NONE
+ filterExpr: (key is not null and (ds = '2008-04-08')) (type: boolean)
+ Statistics: Num rows: 78 Data size: 12220 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 75 Data size: 43180 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 64 Data size: 10026 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: int), value (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 75 Data size: 43180 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 64 Data size: 10026 Basic stats: PARTIAL Column stats: NONE
HashTable Sink Operator
keys:
0 _col0 (type: int)
@@ -669,16 +669,16 @@ STAGE PLANS:
TableScan
alias: a
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 149 Data size: 85004 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 149 Data size: 23124 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: int), value (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE
Map Join Operator
condition map:
Inner Join 0 to 1
@@ -687,17 +687,17 @@ STAGE PLANS:
1 _col0 (type: int)
outputColumnNames: _col0, _col1, _col3
Position of Big Table: 0
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: CAST( _col0 AS STRING) (type: string), _col1 (type: string), _col3 (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
File Output Operator
compressed: false
GlobalTableId: 1
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.TextInputFormat
@@ -728,7 +728,7 @@ STAGE PLANS:
Select Operator
expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string)
outputColumnNames: key, value1, value2
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
Group By Operator
aggregations: compute_stats(key, 'hll'), compute_stats(value1, 'hll'), compute_stats(value2, 'hll')
minReductionHashAggr: 0.99
diff --git a/ql/src/test/results/clientpositive/bucket_map_join_spark3.q.out b/ql/src/test/results/clientpositive/bucket_map_join_spark3.q.out
index 1795b89..5d59a53 100644
--- a/ql/src/test/results/clientpositive/bucket_map_join_spark3.q.out
+++ b/ql/src/test/results/clientpositive/bucket_map_join_spark3.q.out
@@ -116,7 +116,7 @@ FROM `default`.`srcbucket_mapjoin_part_n4`
WHERE `key` IS NOT NULL) AS `t0`
INNER JOIN (SELECT `key`, `value`
FROM `default`.`srcbucket_mapjoin_part_2_n3`
-WHERE `ds` = '2008-04-08' AND `key` IS NOT NULL) AS `t2` ON `t0`.`key` = `t2`.`key`
+WHERE `key` IS NOT NULL AND `ds` = '2008-04-08') AS `t2` ON `t0`.`key` = `t2`.`key`
STAGE DEPENDENCIES:
Stage-6 is a root stage
Stage-5 depends on stages: Stage-6
@@ -185,16 +185,16 @@ STAGE PLANS:
TableScan
alias: a
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 78 Data size: 44908 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 78 Data size: 12220 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 75 Data size: 43180 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 64 Data size: 10026 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: int), value (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 75 Data size: 43180 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 64 Data size: 10026 Basic stats: PARTIAL Column stats: NONE
HashTable Sink Operator
keys:
0 _col0 (type: int)
@@ -206,17 +206,17 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: b
- filterExpr: ((ds = '2008-04-08') and key is not null) (type: boolean)
- Statistics: Num rows: 149 Data size: 85004 Basic stats: PARTIAL Column stats: NONE
+ filterExpr: (key is not null and (ds = '2008-04-08')) (type: boolean)
+ Statistics: Num rows: 149 Data size: 23124 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: int), value (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE
Map Join Operator
condition map:
Inner Join 0 to 1
@@ -225,17 +225,17 @@ STAGE PLANS:
1 _col0 (type: int)
outputColumnNames: _col0, _col1, _col3
Position of Big Table: 1
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: CAST( _col0 AS STRING) (type: string), _col1 (type: string), _col3 (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
File Output Operator
compressed: false
GlobalTableId: 1
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.TextInputFormat
@@ -266,7 +266,7 @@ STAGE PLANS:
Select Operator
expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string)
outputColumnNames: key, value1, value2
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
Group By Operator
aggregations: compute_stats(key, 'hll'), compute_stats(value1, 'hll'), compute_stats(value2, 'hll')
minReductionHashAggr: 0.99
@@ -578,7 +578,7 @@ FROM `default`.`srcbucket_mapjoin_part_n4`
WHERE `key` IS NOT NULL) AS `t0`
INNER JOIN (SELECT `key`, `value`
FROM `default`.`srcbucket_mapjoin_part_2_n3`
-WHERE `ds` = '2008-04-08' AND `key` IS NOT NULL) AS `t2` ON `t0`.`key` = `t2`.`key`
+WHERE `key` IS NOT NULL AND `ds` = '2008-04-08') AS `t2` ON `t0`.`key` = `t2`.`key`
STAGE DEPENDENCIES:
Stage-6 is a root stage
Stage-5 depends on stages: Stage-6
@@ -647,16 +647,16 @@ STAGE PLANS:
TableScan
alias: a
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 78 Data size: 44908 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 78 Data size: 12220 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 75 Data size: 43180 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 64 Data size: 10026 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: int), value (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 75 Data size: 43180 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 64 Data size: 10026 Basic stats: PARTIAL Column stats: NONE
HashTable Sink Operator
keys:
0 _col0 (type: int)
@@ -668,17 +668,17 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: b
- filterExpr: ((ds = '2008-04-08') and key is not null) (type: boolean)
- Statistics: Num rows: 149 Data size: 85004 Basic stats: PARTIAL Column stats: NONE
+ filterExpr: (key is not null and (ds = '2008-04-08')) (type: boolean)
+ Statistics: Num rows: 149 Data size: 23124 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: int), value (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE
Map Join Operator
condition map:
Inner Join 0 to 1
@@ -687,17 +687,17 @@ STAGE PLANS:
1 _col0 (type: int)
outputColumnNames: _col0, _col1, _col3
Position of Big Table: 1
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: CAST( _col0 AS STRING) (type: string), _col1 (type: string), _col3 (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
File Output Operator
compressed: false
GlobalTableId: 1
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.TextInputFormat
@@ -728,7 +728,7 @@ STAGE PLANS:
Select Operator
expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string)
outputColumnNames: key, value1, value2
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
Group By Operator
aggregations: compute_stats(key, 'hll'), compute_stats(value1, 'hll'), compute_stats(value2, 'hll')
minReductionHashAggr: 0.99
diff --git a/ql/src/test/results/clientpositive/cbo_const.q.out b/ql/src/test/results/clientpositive/cbo_const.q.out
index 5c6b76e..a5409c5 100644
--- a/ql/src/test/results/clientpositive/cbo_const.q.out
+++ b/ql/src/test/results/clientpositive/cbo_const.q.out
@@ -272,7 +272,7 @@ STAGE PLANS:
filterExpr: ((ds = '2008-04-08') and (UDFToDouble(hr) = 14.0D) and value is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 452 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((UDFToDouble(hr) = 14.0D) and (ds = '2008-04-08') and value is not null) (type: boolean)
+ predicate: ((ds = '2008-04-08') and (UDFToDouble(hr) = 14.0D) and value is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 452 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: value (type: string)
diff --git a/ql/src/test/results/clientpositive/cbo_input26.q.out b/ql/src/test/results/clientpositive/cbo_input26.q.out
index 0d7ddd3..480edcb 100644
--- a/ql/src/test/results/clientpositive/cbo_input26.q.out
+++ b/ql/src/test/results/clientpositive/cbo_input26.q.out
@@ -67,28 +67,28 @@ STAGE PLANS:
Map Operator Tree:
TableScan
Union
- Statistics: Num rows: 6 Data size: 1774 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 6 Data size: 1574 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string), _col1 (type: string), '2008-04-08' (type: string), _col2 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3
- Statistics: Num rows: 6 Data size: 3288 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 6 Data size: 2148 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 6 Data size: 3288 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 6 Data size: 2148 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
TableScan
Union
- Statistics: Num rows: 6 Data size: 1774 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 6 Data size: 1574 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string), _col1 (type: string), '2008-04-08' (type: string), _col2 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3
- Statistics: Num rows: 6 Data size: 3288 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 6 Data size: 2148 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 6 Data size: 3288 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 6 Data size: 2148 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -100,20 +100,20 @@ STAGE PLANS:
TableScan
alias: b
filterExpr: ((ds = '2008-04-08') and (hr = '14')) (type: boolean)
- Statistics: Num rows: 1 Data size: 736 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 536 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
predicate: ((ds = '2008-04-08') and (hr = '14')) (type: boolean)
- Statistics: Num rows: 1 Data size: 736 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 536 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 168 Basic stats: COMPLETE Column stats: COMPLETE
Limit
Number of rows: 5
- Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 168 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
sort order:
- Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 168 Basic stats: COMPLETE Column stats: COMPLETE
TopN Hash Memory Usage: 0.1
value expressions: _col0 (type: string), _col1 (type: string)
Execution mode: vectorized
@@ -121,14 +121,14 @@ STAGE PLANS:
Select Operator
expressions: VALUE._col0 (type: string), VALUE._col1 (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 168 Basic stats: COMPLETE Column stats: COMPLETE
Limit
Number of rows: 5
- Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 168 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string), _col1 (type: string), '14' (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 1 Data size: 454 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 254 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
table:
@@ -233,28 +233,28 @@ STAGE PLANS:
Map Operator Tree:
TableScan
Union
- Statistics: Num rows: 6 Data size: 1135 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 6 Data size: 1035 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: '2008-04-08' (type: string), _col0 (type: string), _col1 (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 6 Data size: 2184 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 6 Data size: 1602 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 6 Data size: 2184 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 6 Data size: 1602 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
TableScan
Union
- Statistics: Num rows: 6 Data size: 1135 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 6 Data size: 1035 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: '2008-04-08' (type: string), _col0 (type: string), _col1 (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 6 Data size: 2184 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 6 Data size: 1602 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 6 Data size: 2184 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 6 Data size: 1602 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -266,20 +266,20 @@ STAGE PLANS:
TableScan
alias: b
filterExpr: ((ds = '2008-04-08') and (hr = '14')) (type: boolean)
- Statistics: Num rows: 1 Data size: 552 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 452 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
predicate: ((ds = '2008-04-08') and (hr = '14')) (type: boolean)
- Statistics: Num rows: 1 Data size: 552 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 452 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
Limit
Number of rows: 5
- Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
sort order:
- Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
TopN Hash Memory Usage: 0.1
value expressions: _col0 (type: string)
Execution mode: vectorized
@@ -287,14 +287,14 @@ STAGE PLANS:
Select Operator
expressions: VALUE._col0 (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
Limit
Number of rows: 5
- Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string), '14' (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 270 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 170 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
table:
@@ -399,28 +399,28 @@ STAGE PLANS:
Map Operator Tree:
TableScan
Union
- Statistics: Num rows: 6 Data size: 1135 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 6 Data size: 1035 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: '2008-04-08' (type: string), _col0 (type: string), _col1 (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 6 Data size: 2184 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 6 Data size: 1602 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 6 Data size: 2184 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 6 Data size: 1602 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
TableScan
Union
- Statistics: Num rows: 6 Data size: 1135 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 6 Data size: 1035 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: '2008-04-08' (type: string), _col0 (type: string), _col1 (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 6 Data size: 2184 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 6 Data size: 1602 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 6 Data size: 2184 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 6 Data size: 1602 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -432,20 +432,20 @@ STAGE PLANS:
TableScan
alias: b
filterExpr: ((ds = '2008-04-08') and (hr = '14')) (type: boolean)
- Statistics: Num rows: 1 Data size: 552 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 452 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
predicate: ((ds = '2008-04-08') and (hr = '14')) (type: boolean)
- Statistics: Num rows: 1 Data size: 552 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 452 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
Limit
Number of rows: 5
- Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
sort order:
- Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
TopN Hash Memory Usage: 0.1
value expressions: _col0 (type: string)
Execution mode: vectorized
@@ -453,14 +453,14 @@ STAGE PLANS:
Select Operator
expressions: VALUE._col0 (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
Limit
Number of rows: 5
- Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string), '14' (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 270 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 170 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
table:
@@ -564,28 +564,28 @@ STAGE PLANS:
Map Operator Tree:
TableScan
Union
- Statistics: Num rows: 6 Data size: 1258 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 6 Data size: 1058 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string), '2008-04-08' (type: string), _col1 (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 6 Data size: 2772 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 6 Data size: 1632 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 6 Data size: 2772 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 6 Data size: 1632 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
TableScan
Union
- Statistics: Num rows: 6 Data size: 1258 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 6 Data size: 1058 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string), '2008-04-08' (type: string), _col1 (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 6 Data size: 2772 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 6 Data size: 1632 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 6 Data size: 2772 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 6 Data size: 1632 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -597,20 +597,20 @@ STAGE PLANS:
TableScan
alias: b
filterExpr: ((ds = '2008-04-08') and (hr = '14')) (type: boolean)
- Statistics: Num rows: 1 Data size: 736 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 536 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
predicate: ((ds = '2008-04-08') and (hr = '14')) (type: boolean)
- Statistics: Num rows: 1 Data size: 736 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 536 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 168 Basic stats: COMPLETE Column stats: COMPLETE
Limit
Number of rows: 5
- Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 168 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
sort order:
- Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 168 Basic stats: COMPLETE Column stats: COMPLETE
TopN Hash Memory Usage: 0.1
value expressions: _col0 (type: string), _col1 (type: string)
Execution mode: vectorized
@@ -618,10 +618,10 @@ STAGE PLANS:
Select Operator
expressions: VALUE._col0 (type: string), VALUE._col1 (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 168 Basic stats: COMPLETE Column stats: COMPLETE
Limit
Number of rows: 5
- Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 168 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
table:
diff --git a/ql/src/test/results/clientpositive/cbo_rp_outer_join_ppr.q.out b/ql/src/test/results/clientpositive/cbo_rp_outer_join_ppr.q.out
index 684155f..605f1ae 100644
--- a/ql/src/test/results/clientpositive/cbo_rp_outer_join_ppr.q.out
+++ b/ql/src/test/results/clientpositive/cbo_rp_outer_join_ppr.q.out
@@ -63,7 +63,7 @@ STAGE PLANS:
GatherStats: false
Filter Operator
isSamplingPred: false
- predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean)
+ predicate: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
Statistics: Num rows: 111 Data size: 19758 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string)
@@ -377,7 +377,7 @@ STAGE PLANS:
GatherStats: false
Filter Operator
isSamplingPred: false
- predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean)
+ predicate: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
Statistics: Num rows: 111 Data size: 19758 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string)
diff --git a/ql/src/test/results/clientpositive/cbo_rp_simple_select.q.out b/ql/src/test/results/clientpositive/cbo_rp_simple_select.q.out
index 96ac125..94590f1 100644
--- a/ql/src/test/results/clientpositive/cbo_rp_simple_select.q.out
+++ b/ql/src/test/results/clientpositive/cbo_rp_simple_select.q.out
@@ -932,7 +932,7 @@ STAGE PLANS:
filterExpr: (c_int is not null or (c_int = (2 * c_int))) (type: boolean)
Statistics: Num rows: 20 Data size: 7138 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((c_int = (2 * c_int)) or c_int is not null) (type: boolean)
+ predicate: (c_int is not null or (c_int = (2 * c_int))) (type: boolean)
Statistics: Num rows: 20 Data size: 7138 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string), c_int (type: int), c_float (type: float), c_boolean (type: boolean), dt (type: string)
@@ -978,7 +978,7 @@ STAGE PLANS:
filterExpr: (c_int is not null or (c_int = 0)) (type: boolean)
Statistics: Num rows: 20 Data size: 7138 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((c_int = 0) or c_int is not null) (type: boolean)
+ predicate: (c_int is not null or (c_int = 0)) (type: boolean)
Statistics: Num rows: 20 Data size: 7138 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string), c_int (type: int), c_float (type: float), c_boolean (type: boolean), dt (type: string)
diff --git a/ql/src/test/results/clientpositive/cbo_simple_select.q.out b/ql/src/test/results/clientpositive/cbo_simple_select.q.out
index 8beaecf..bd84e0d 100644
--- a/ql/src/test/results/clientpositive/cbo_simple_select.q.out
+++ b/ql/src/test/results/clientpositive/cbo_simple_select.q.out
@@ -932,7 +932,7 @@ STAGE PLANS:
filterExpr: (c_int is not null or (c_int = (2 * c_int))) (type: boolean)
Statistics: Num rows: 20 Data size: 7138 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((c_int = (2 * c_int)) or c_int is not null) (type: boolean)
+ predicate: (c_int is not null or (c_int = (2 * c_int))) (type: boolean)
Statistics: Num rows: 20 Data size: 7138 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string), c_int (type: int), c_float (type: float), c_boolean (type: boolean), dt (type: string)
@@ -978,7 +978,7 @@ STAGE PLANS:
filterExpr: (c_int is not null or (c_int = 0)) (type: boolean)
Statistics: Num rows: 20 Data size: 7138 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((c_int = 0) or c_int is not null) (type: boolean)
+ predicate: (c_int is not null or (c_int = 0)) (type: boolean)
Statistics: Num rows: 20 Data size: 7138 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string), c_int (type: int), c_float (type: float), c_boolean (type: boolean), dt (type: string)
diff --git a/ql/src/test/results/clientpositive/cbo_union_view.q.out b/ql/src/test/results/clientpositive/cbo_union_view.q.out
index 71fb4e6..4d2e28c 100644
--- a/ql/src/test/results/clientpositive/cbo_union_view.q.out
+++ b/ql/src/test/results/clientpositive/cbo_union_view.q.out
@@ -79,23 +79,23 @@ STAGE PLANS:
filterExpr: (key = 86) (type: boolean)
properties:
insideView TRUE
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
predicate: (key = 86) (type: boolean)
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: value (type: string), ds (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Union
- Statistics: Num rows: 3 Data size: 1104 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 3 Data size: 804 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: 86 (type: int), _col0 (type: string), _col1 (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 3 Data size: 1116 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 3 Data size: 816 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 3 Data size: 1116 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 3 Data size: 816 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -105,23 +105,23 @@ STAGE PLANS:
filterExpr: (key = 86) (type: boolean)
properties:
insideView TRUE
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
predicate: (key = 86) (type: boolean)
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: value (type: string), ds (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Union
- Statistics: Num rows: 3 Data size: 1104 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 3 Data size: 804 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: 86 (type: int), _col0 (type: string), _col1 (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 3 Data size: 1116 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 3 Data size: 816 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 3 Data size: 1116 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 3 Data size: 816 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -131,23 +131,23 @@ STAGE PLANS:
filterExpr: (key = 86) (type: boolean)
properties:
insideView TRUE
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
predicate: (key = 86) (type: boolean)
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: value (type: string), ds (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Union
- Statistics: Num rows: 3 Data size: 1104 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 3 Data size: 804 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: 86 (type: int), _col0 (type: string), _col1 (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 3 Data size: 1116 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 3 Data size: 816 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 3 Data size: 1116 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 3 Data size: 816 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -186,23 +186,23 @@ STAGE PLANS:
filterExpr: ((key = 86) and (ds = '1')) (type: boolean)
properties:
insideView TRUE
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((ds = '1') and (key = 86)) (type: boolean)
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ predicate: ((key = 86) and (ds = '1')) (type: boolean)
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: value (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
Union
- Statistics: Num rows: 3 Data size: 552 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 3 Data size: 252 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: 86 (type: int), _col0 (type: string), '1' (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 3 Data size: 819 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 3 Data size: 519 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 3 Data size: 819 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 3 Data size: 519 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -212,23 +212,23 @@ STAGE PLANS:
filterExpr: ((key = 86) and (ds = '1')) (type: boolean)
properties:
insideView TRUE
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((ds = '1') and (key = 86)) (type: boolean)
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ predicate: ((key = 86) and (ds = '1')) (type: boolean)
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: value (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
Union
- Statistics: Num rows: 3 Data size: 552 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 3 Data size: 252 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: 86 (type: int), _col0 (type: string), '1' (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 3 Data size: 819 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 3 Data size: 519 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 3 Data size: 819 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 3 Data size: 519 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -238,23 +238,23 @@ STAGE PLANS:
filterExpr: ((key = 86) and (ds = '1')) (type: boolean)
properties:
insideView TRUE
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((ds = '1') and (key = 86)) (type: boolean)
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ predicate: ((key = 86) and (ds = '1')) (type: boolean)
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: value (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
Union
- Statistics: Num rows: 3 Data size: 552 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 3 Data size: 252 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: 86 (type: int), _col0 (type: string), '1' (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 3 Data size: 819 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 3 Data size: 519 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 3 Data size: 819 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 3 Data size: 519 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
diff --git a/ql/src/test/results/clientpositive/column_pruning_partitioned_view.q.out b/ql/src/test/results/clientpositive/column_pruning_partitioned_view.q.out
index 066614f..e9c0d42 100644
--- a/ql/src/test/results/clientpositive/column_pruning_partitioned_view.q.out
+++ b/ql/src/test/results/clientpositive/column_pruning_partitioned_view.q.out
@@ -39,10 +39,10 @@ STAGE PLANS:
alias: lv_table
properties:
insideView TRUE
- Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: c1 (type: string), c2 (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
ListSink
diff --git a/ql/src/test/results/clientpositive/constant_prop_1.q.out b/ql/src/test/results/clientpositive/constant_prop_1.q.out
index 5d522da..b4d2237 100644
--- a/ql/src/test/results/clientpositive/constant_prop_1.q.out
+++ b/ql/src/test/results/clientpositive/constant_prop_1.q.out
@@ -479,7 +479,7 @@ STAGE PLANS:
filterExpr: (key is not null and (value = '234')) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((value = '234') and key is not null) (type: boolean)
+ predicate: (key is not null and (value = '234')) (type: boolean)
Statistics: Num rows: 2 Data size: 356 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: key (type: string)
diff --git a/ql/src/test/results/clientpositive/constant_prop_3.q.out b/ql/src/test/results/clientpositive/constant_prop_3.q.out
index 293d8f8..f91c75b 100644
--- a/ql/src/test/results/clientpositive/constant_prop_3.q.out
+++ b/ql/src/test/results/clientpositive/constant_prop_3.q.out
@@ -222,7 +222,7 @@ STAGE PLANS:
filterExpr: ((p_size) IN (22, 14, 27, 49, 21, 33, 35, 28) and (p_brand <> 'Brand#34') and p_partkey is not null and (not (p_type like 'ECONOMY BRUSHED%'))) (type: boolean)
Statistics: Num rows: 1 Data size: 176 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((not (p_type like 'ECONOMY BRUSHED%')) and (p_brand <> 'Brand#34') and (p_size) IN (22, 14, 27, 49, 21, 33, 35, 28) and p_partkey is not null) (type: boolean)
+ predicate: ((p_size) IN (22, 14, 27, 49, 21, 33, 35, 28) and (p_brand <> 'Brand#34') and p_partkey is not null and (not (p_type like 'ECONOMY BRUSHED%'))) (type: boolean)
Statistics: Num rows: 1 Data size: 176 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: p_partkey (type: int), p_brand (type: string), p_type (type: string), p_size (type: int)
@@ -284,7 +284,7 @@ STAGE PLANS:
outputColumnNames: _col1, _col3, _col4, _col5, _col6, _col7, _col9
Statistics: Num rows: 1 Data size: 196 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (((_col7 >= _col6) or (_col6 = 0L) or _col9 is not null or _col1 is null) and (_col1 is not null or (_col6 = 0L) or _col9 is not null) and (_col9 is null or (_col6 = 0L))) (type: boolean)
+ predicate: ((_col9 is null or (_col6 = 0L)) and (_col1 is not null or (_col6 = 0L) or _col9 is not null) and ((_col7 >= _col6) or (_col6 = 0L) or _col9 is not null or _col1 is null)) (type: boolean)
Statistics: Num rows: 1 Data size: 196 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col1 (type: int), _col3 (type: string), _col4 (type: string), _col5 (type: int)
diff --git a/ql/src/test/results/clientpositive/constprog_partitioner.q.out b/ql/src/test/results/clientpositive/constprog_partitioner.q.out
index 4e497d2..e42287c 100644
--- a/ql/src/test/results/clientpositive/constprog_partitioner.q.out
+++ b/ql/src/test/results/clientpositive/constprog_partitioner.q.out
@@ -116,7 +116,7 @@ STAGE PLANS:
value expressions: _col1 (type: int), _col2 (type: int)
TableScan
alias: lineitem
- filterExpr: ((l_shipmode = 'AIR') and (l_linenumber = 1) and l_orderkey is not null) (type: boolean)
+ filterExpr: ((l_linenumber = 1) and (l_shipmode = 'AIR') and l_orderkey is not null) (type: boolean)
Statistics: Num rows: 100 Data size: 9600 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
predicate: ((l_linenumber = 1) and (l_shipmode = 'AIR') and l_orderkey is not null) (type: boolean)
diff --git a/ql/src/test/results/clientpositive/correlated_join_keys.q.out b/ql/src/test/results/clientpositive/correlated_join_keys.q.out
index 34aa35d..c766e84 100644
--- a/ql/src/test/results/clientpositive/correlated_join_keys.q.out
+++ b/ql/src/test/results/clientpositive/correlated_join_keys.q.out
@@ -90,7 +90,7 @@ STAGE PLANS:
filterExpr: (ca_zip is not null and ca_state is not null) (type: boolean)
Statistics: Num rows: 20 Data size: 3500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (ca_state is not null and ca_zip is not null) (type: boolean)
+ predicate: (ca_zip is not null and ca_state is not null) (type: boolean)
Statistics: Num rows: 20 Data size: 3500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: ca_state (type: string), ca_zip (type: string)
@@ -106,7 +106,7 @@ STAGE PLANS:
filterExpr: (ca_zip is not null and ca_state is not null) (type: boolean)
Statistics: Num rows: 20 Data size: 3500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (ca_state is not null and ca_zip is not null) (type: boolean)
+ predicate: (ca_zip is not null and ca_state is not null) (type: boolean)
Statistics: Num rows: 20 Data size: 3500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: ca_state (type: string), ca_zip (type: string)
@@ -189,7 +189,7 @@ STAGE PLANS:
filterExpr: (ca_zip is not null and ca_state is not null) (type: boolean)
Statistics: Num rows: 20 Data size: 3500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (ca_state is not null and ca_zip is not null) (type: boolean)
+ predicate: (ca_zip is not null and ca_state is not null) (type: boolean)
Statistics: Num rows: 20 Data size: 3500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: ca_state (type: string), ca_zip (type: string)
@@ -205,7 +205,7 @@ STAGE PLANS:
filterExpr: (ca_zip is not null and ca_state is not null) (type: boolean)
Statistics: Num rows: 20 Data size: 3500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (ca_state is not null and ca_zip is not null) (type: boolean)
+ predicate: (ca_zip is not null and ca_state is not null) (type: boolean)
Statistics: Num rows: 20 Data size: 3500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: ca_state (type: string), ca_zip (type: string)
diff --git a/ql/src/test/results/clientpositive/correlationoptimizer10.q.out b/ql/src/test/results/clientpositive/correlationoptimizer10.q.out
index c8ea187..315a00f 100644
--- a/ql/src/test/results/clientpositive/correlationoptimizer10.q.out
+++ b/ql/src/test/results/clientpositive/correlationoptimizer10.q.out
@@ -431,7 +431,7 @@ STAGE PLANS:
filterExpr: ((UDFToDouble(key) > 20.0D) and (UDFToDouble(key) < 200.0D)) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((UDFToDouble(key) < 200.0D) and (UDFToDouble(key) > 20.0D)) (type: boolean)
+ predicate: ((UDFToDouble(key) > 20.0D) and (UDFToDouble(key) < 200.0D)) (type: boolean)
Statistics: Num rows: 55 Data size: 4785 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string)
@@ -619,7 +619,7 @@ STAGE PLANS:
filterExpr: ((UDFToDouble(key) > 20.0D) and (UDFToDouble(key) < 200.0D)) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((UDFToDouble(key) < 200.0D) and (UDFToDouble(key) > 20.0D)) (type: boolean)
+ predicate: ((UDFToDouble(key) > 20.0D) and (UDFToDouble(key) < 200.0D)) (type: boolean)
Statistics: Num rows: 55 Data size: 4785 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string)
diff --git a/ql/src/test/results/clientpositive/correlationoptimizer13.q.out b/ql/src/test/results/clientpositive/correlationoptimizer13.q.out
index 64b784e..058d4ed 100644
--- a/ql/src/test/results/clientpositive/correlationoptimizer13.q.out
+++ b/ql/src/test/results/clientpositive/correlationoptimizer13.q.out
@@ -74,7 +74,7 @@ STAGE PLANS:
filterExpr: ((c2 > 100) and (c1 < 120) and c3 is not null) (type: boolean)
Statistics: Num rows: 1028 Data size: 101772 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((c1 < 120) and (c2 > 100) and c3 is not null) (type: boolean)
+ predicate: ((c2 > 100) and (c1 < 120) and c3 is not null) (type: boolean)
Statistics: Num rows: 114 Data size: 11286 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: c1 (type: int), c3 (type: string)
diff --git a/ql/src/test/results/clientpositive/correlationoptimizer8.q.out b/ql/src/test/results/clientpositive/correlationoptimizer8.q.out
index 37a6c44..9751a96 100644
--- a/ql/src/test/results/clientpositive/correlationoptimizer8.q.out
+++ b/ql/src/test/results/clientpositive/correlationoptimizer8.q.out
@@ -34,10 +34,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: x
- filterExpr: ((UDFToDouble(key) < 20.0D) and UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D) (type: boolean)
+ filterExpr: (UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D and (UDFToDouble(key) < 20.0D)) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((UDFToDouble(key) < 20.0D) and UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D) (type: boolean)
+ predicate: (UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D and (UDFToDouble(key) < 20.0D)) (type: boolean)
Statistics: Num rows: 148 Data size: 12876 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
aggregations: count()
@@ -131,10 +131,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: x1
- filterExpr: ((UDFToDouble(key) > 100.0D) and UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D) (type: boolean)
+ filterExpr: (UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D and (UDFToDouble(key) > 100.0D)) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((UDFToDouble(key) > 100.0D) and UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D) (type: boolean)
+ predicate: (UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D and (UDFToDouble(key) > 100.0D)) (type: boolean)
Statistics: Num rows: 148 Data size: 12876 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
aggregations: count()
@@ -239,10 +239,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: x
- filterExpr: ((UDFToDouble(key) < 20.0D) and UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D) (type: boolean)
+ filterExpr: (UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D and (UDFToDouble(key) < 20.0D)) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((UDFToDouble(key) < 20.0D) and UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D) (type: boolean)
+ predicate: (UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D and (UDFToDouble(key) < 20.0D)) (type: boolean)
Statistics: Num rows: 148 Data size: 12876 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
aggregations: count()
@@ -259,10 +259,10 @@ STAGE PLANS:
value expressions: _col1 (type: bigint)
TableScan
alias: x1
- filterExpr: ((UDFToDouble(key) > 100.0D) and UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D) (type: boolean)
+ filterExpr: (UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D and (UDFToDouble(key) > 100.0D)) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((UDFToDouble(key) > 100.0D) and UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D) (type: boolean)
+ predicate: (UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D and (UDFToDouble(key) > 100.0D)) (type: boolean)
Statistics: Num rows: 148 Data size: 12876 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
aggregations: count()
@@ -906,10 +906,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: x
- filterExpr: ((UDFToDouble(key) < 20.0D) and UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D) (type: boolean)
+ filterExpr: (UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D and (UDFToDouble(key) < 20.0D)) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((UDFToDouble(key) < 20.0D) and UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D) (type: boolean)
+ predicate: (UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D and (UDFToDouble(key) < 20.0D)) (type: boolean)
Statistics: Num rows: 148 Data size: 12876 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
aggregations: count()
@@ -1003,10 +1003,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: x1
- filterExpr: ((UDFToDouble(key) > 100.0D) and UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D) (type: boolean)
+ filterExpr: (UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D and (UDFToDouble(key) > 100.0D)) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((UDFToDouble(key) > 100.0D) and UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D) (type: boolean)
+ predicate: (UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D and (UDFToDouble(key) > 100.0D)) (type: boolean)
Statistics: Num rows: 148 Data size: 26344 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
aggregations: count()
diff --git a/ql/src/test/results/clientpositive/correlationoptimizer9.q.out b/ql/src/test/results/clientpositive/correlationoptimizer9.q.out
index ac296db..0c2f78f 100644
--- a/ql/src/test/results/clientpositive/correlationoptimizer9.q.out
+++ b/ql/src/test/results/clientpositive/correlationoptimizer9.q.out
@@ -131,7 +131,7 @@ STAGE PLANS:
filterExpr: ((c2 > 100) and (c2 < 120)) (type: boolean)
Statistics: Num rows: 1028 Data size: 4112 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((c2 < 120) and (c2 > 100)) (type: boolean)
+ predicate: ((c2 > 100) and (c2 < 120)) (type: boolean)
Statistics: Num rows: 114 Data size: 456 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
aggregations: count()
@@ -247,7 +247,7 @@ STAGE PLANS:
filterExpr: ((c2 > 100) and (c2 < 120)) (type: boolean)
Statistics: Num rows: 1028 Data size: 4112 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((c2 < 120) and (c2 > 100)) (type: boolean)
+ predicate: ((c2 > 100) and (c2 < 120)) (type: boolean)
Statistics: Num rows: 114 Data size: 456 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
aggregations: count()
@@ -464,7 +464,7 @@ STAGE PLANS:
filterExpr: ((c2 > 100) and (c1 < 120) and c3 is not null) (type: boolean)
Statistics: Num rows: 1028 Data size: 101772 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((c1 < 120) and (c2 > 100) and c3 is not null) (type: boolean)
+ predicate: ((c2 > 100) and (c1 < 120) and c3 is not null) (type: boolean)
Statistics: Num rows: 114 Data size: 11286 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: c1 (type: int), c3 (type: string)
@@ -584,7 +584,7 @@ STAGE PLANS:
filterExpr: ((c2 > 100) and (c1 < 120) and c3 is not null) (type: boolean)
Statistics: Num rows: 1028 Data size: 101772 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((c1 < 120) and (c2 > 100) and c3 is not null) (type: boolean)
+ predicate: ((c2 > 100) and (c1 < 120) and c3 is not null) (type: boolean)
Statistics: Num rows: 114 Data size: 11286 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: c1 (type: int), c3 (type: string)
diff --git a/ql/src/test/results/clientpositive/druid/druid_timeseries.q.out b/ql/src/test/results/clientpositive/druid/druid_timeseries.q.out
index b6bc199..beb4618 100644
--- a/ql/src/test/results/clientpositive/druid/druid_timeseries.q.out
+++ b/ql/src/test/results/clientpositive/druid/druid_timeseries.q.out
@@ -31,7 +31,7 @@ STAGE PLANS:
properties:
druid.fieldNames $f0
druid.fieldTypes bigint
- druid.query.json {"queryType":"timeseries","dataSource":"wikipedia","descending":false,"granularity":"all","filter":{"type":"or","fields":[{"type":"bound","dimension":"__time","lower":"2010-01-01T00:00:00.000Z","lowerStrict":false,"upper":"2012-03-01T00:00:00.000Z","upperStrict":false,"ordering":"lexicographic","extractionFn":{"type":"timeFormat","format":"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'","timeZone":"UTC"}},{"type":"bound","dimension":"added","upper":"0.0","upperStrict":false,"o [...]
+ druid.query.json {"queryType":"timeseries","dataSource":"wikipedia","descending":false,"granularity":"all","filter":{"type":"or","fields":[{"type":"bound","dimension":"added","upper":"0.0","upperStrict":false,"ordering":"numeric"},{"type":"bound","dimension":"__time","lower":"2010-01-01T00:00:00.000Z","lowerStrict":false,"upper":"2012-03-01T00:00:00.000Z","upperStrict":false,"ordering":"lexicographic","extractionFn":{"type":"timeFormat","format":"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'" [...]
druid.query.type timeseries
Select Operator
expressions: $f0 (type: bigint)
diff --git a/ql/src/test/results/clientpositive/druid/druidmini_expressions.q.out b/ql/src/test/results/clientpositive/druid/druidmini_expressions.q.out
index a094f32..902b4c9 100644
--- a/ql/src/test/results/clientpositive/druid/druidmini_expressions.q.out
+++ b/ql/src/test/results/clientpositive/druid/druidmini_expressions.q.out
@@ -114,7 +114,7 @@ STAGE PLANS:
properties:
druid.fieldNames $f0
druid.fieldTypes bigint
- druid.query.json {"queryType":"timeseries","dataSource":"default.druid_table_alltypesorc","descending":false,"granularity":"all","filter":{"type":"and","fields":[{"type":"expression","expression":"(strlen(CAST(\"ctinyint\", 'STRING')) > 1)"},{"type":"expression","expression":"(strlen(CAST(\"ctinyint\", 'STRING')) < 10)"},{"type":"expression","expression":"((pow(\"cfloat\",2) * pow(\"csmallint\",3)) > 1)"},{"type":"expression","expression":"(sqrt(abs(\"ctinyint\")) > 3)"}]},"a [...]
+ druid.query.json {"queryType":"timeseries","dataSource":"default.druid_table_alltypesorc","descending":false,"granularity":"all","filter":{"type":"and","fields":[{"type":"expression","expression":"(sqrt(abs(\"ctinyint\")) > 3)"},{"type":"expression","expression":"((pow(\"cfloat\",2) * pow(\"csmallint\",3)) > 1)"},{"type":"expression","expression":"(strlen(CAST(\"ctinyint\", 'STRING')) > 1)"},{"type":"expression","expression":"(strlen(CAST(\"ctinyint\", 'STRING')) < 10)"}]},"a [...]
druid.query.type timeseries
Select Operator
expressions: $f0 (type: bigint)
diff --git a/ql/src/test/results/clientpositive/druid/druidmini_extractTime.q.out b/ql/src/test/results/clientpositive/druid/druidmini_extractTime.q.out
index 7ae55e9..281cb53 100644
--- a/ql/src/test/results/clientpositive/druid/druidmini_extractTime.q.out
+++ b/ql/src/test/results/clientpositive/druid/druidmini_extractTime.q.out
@@ -36,7 +36,7 @@ STAGE PLANS:
properties:
druid.fieldNames extract_second
druid.fieldTypes int
- druid.query.json {"queryType":"groupBy","dataSource":"default.druid_table_alltypesorc","granularity":"all","dimensions":[{"type":"extraction","dimension":"__time","outputName":"extract_second","extractionFn":{"type":"timeFormat","format":"s","timeZone":"US/Pacific","locale":"en-US"}}],"limitSpec":{"type":"default"},"filter":{"type":"and","fields":[{"type":"expression","expression":"(strlen(CAST(\"ctinyint\", 'STRING')) > 1)"},{"type":"expression","expression":"(strlen(CAST(\" [...]
+ druid.query.json {"queryType":"groupBy","dataSource":"default.druid_table_alltypesorc","granularity":"all","dimensions":[{"type":"extraction","dimension":"__time","outputName":"extract_second","extractionFn":{"type":"timeFormat","format":"s","timeZone":"US/Pacific","locale":"en-US"}}],"limitSpec":{"type":"default"},"filter":{"type":"and","fields":[{"type":"expression","expression":"(sqrt(abs(\"ctinyint\")) > 3)"},{"type":"expression","expression":"((pow(\"cfloat\",2) * pow(\" [...]
druid.query.type groupBy
Select Operator
expressions: extract_second (type: int)
@@ -82,7 +82,7 @@ STAGE PLANS:
properties:
druid.fieldNames extract_minute
druid.fieldTypes int
- druid.query.json {"queryType":"groupBy","dataSource":"default.druid_table_alltypesorc","granularity":"all","dimensions":[{"type":"extraction","dimension":"__time","outputName":"extract_minute","extractionFn":{"type":"timeFormat","format":"m","timeZone":"US/Pacific","locale":"en-US"}}],"limitSpec":{"type":"default"},"filter":{"type":"and","fields":[{"type":"expression","expression":"(strlen(CAST(\"ctinyint\", 'STRING')) > 1)"},{"type":"expression","expression":"(strlen(CAST(\" [...]
+ druid.query.json {"queryType":"groupBy","dataSource":"default.druid_table_alltypesorc","granularity":"all","dimensions":[{"type":"extraction","dimension":"__time","outputName":"extract_minute","extractionFn":{"type":"timeFormat","format":"m","timeZone":"US/Pacific","locale":"en-US"}}],"limitSpec":{"type":"default"},"filter":{"type":"and","fields":[{"type":"expression","expression":"(sqrt(abs(\"ctinyint\")) > 3)"},{"type":"expression","expression":"((pow(\"cfloat\",2) * pow(\" [...]
druid.query.type groupBy
Select Operator
expressions: extract_minute (type: int)
@@ -128,7 +128,7 @@ STAGE PLANS:
properties:
druid.fieldNames extract_hour
druid.fieldTypes int
- druid.query.json {"queryType":"groupBy","dataSource":"default.druid_table_alltypesorc","granularity":"all","dimensions":[{"type":"extraction","dimension":"__time","outputName":"extract_hour","extractionFn":{"type":"timeFormat","format":"H","timeZone":"US/Pacific","locale":"en-US"}}],"limitSpec":{"type":"default"},"filter":{"type":"and","fields":[{"type":"expression","expression":"(strlen(CAST(\"ctinyint\", 'STRING')) > 1)"},{"type":"expression","expression":"(strlen(CAST(\"ct [...]
+ druid.query.json {"queryType":"groupBy","dataSource":"default.druid_table_alltypesorc","granularity":"all","dimensions":[{"type":"extraction","dimension":"__time","outputName":"extract_hour","extractionFn":{"type":"timeFormat","format":"H","timeZone":"US/Pacific","locale":"en-US"}}],"limitSpec":{"type":"default"},"filter":{"type":"and","fields":[{"type":"expression","expression":"(sqrt(abs(\"ctinyint\")) > 3)"},{"type":"expression","expression":"((pow(\"cfloat\",2) * pow(\"cs [...]
druid.query.type groupBy
Select Operator
expressions: extract_hour (type: int)
@@ -173,7 +173,7 @@ STAGE PLANS:
properties:
druid.fieldNames extract_day
druid.fieldTypes int
- druid.query.json {"queryType":"groupBy","dataSource":"default.druid_table_alltypesorc","granularity":"all","dimensions":[{"type":"extraction","dimension":"__time","outputName":"extract_day","extractionFn":{"type":"timeFormat","format":"d","timeZone":"US/Pacific","locale":"en-US"}}],"limitSpec":{"type":"default"},"filter":{"type":"and","fields":[{"type":"expression","expression":"(strlen(CAST(\"ctinyint\", 'STRING')) > 1)"},{"type":"expression","expression":"(strlen(CAST(\"cti [...]
+ druid.query.json {"queryType":"groupBy","dataSource":"default.druid_table_alltypesorc","granularity":"all","dimensions":[{"type":"extraction","dimension":"__time","outputName":"extract_day","extractionFn":{"type":"timeFormat","format":"d","timeZone":"US/Pacific","locale":"en-US"}}],"limitSpec":{"type":"default"},"filter":{"type":"and","fields":[{"type":"expression","expression":"(sqrt(abs(\"ctinyint\")) > 3)"},{"type":"expression","expression":"((pow(\"cfloat\",2) * pow(\"csm [...]
druid.query.type groupBy
Select Operator
expressions: extract_day (type: int)
@@ -218,7 +218,7 @@ STAGE PLANS:
properties:
druid.fieldNames extract_week
druid.fieldTypes int
- druid.query.json {"queryType":"groupBy","dataSource":"default.druid_table_alltypesorc","granularity":"all","dimensions":[{"type":"extraction","dimension":"__time","outputName":"extract_week","extractionFn":{"type":"timeFormat","format":"w","timeZone":"US/Pacific","locale":"en-US"}}],"limitSpec":{"type":"default"},"filter":{"type":"and","fields":[{"type":"expression","expression":"(strlen(CAST(\"ctinyint\", 'STRING')) > 1)"},{"type":"expression","expression":"(strlen(CAST(\"ct [...]
+ druid.query.json {"queryType":"groupBy","dataSource":"default.druid_table_alltypesorc","granularity":"all","dimensions":[{"type":"extraction","dimension":"__time","outputName":"extract_week","extractionFn":{"type":"timeFormat","format":"w","timeZone":"US/Pacific","locale":"en-US"}}],"limitSpec":{"type":"default"},"filter":{"type":"and","fields":[{"type":"expression","expression":"(sqrt(abs(\"ctinyint\")) > 3)"},{"type":"expression","expression":"((pow(\"cfloat\",2) * pow(\"cs [...]
druid.query.type groupBy
Select Operator
expressions: extract_week (type: int)
@@ -263,7 +263,7 @@ STAGE PLANS:
properties:
druid.fieldNames extract_month
druid.fieldTypes int
- druid.query.json {"queryType":"groupBy","dataSource":"default.druid_table_alltypesorc","granularity":"all","dimensions":[{"type":"extraction","dimension":"__time","outputName":"extract_month","extractionFn":{"type":"timeFormat","format":"M","timeZone":"US/Pacific","locale":"en-US"}}],"limitSpec":{"type":"default"},"filter":{"type":"and","fields":[{"type":"expression","expression":"(strlen(CAST(\"ctinyint\", 'STRING')) > 1)"},{"type":"expression","expression":"(strlen(CAST(\"c [...]
+ druid.query.json {"queryType":"groupBy","dataSource":"default.druid_table_alltypesorc","granularity":"all","dimensions":[{"type":"extraction","dimension":"__time","outputName":"extract_month","extractionFn":{"type":"timeFormat","format":"M","timeZone":"US/Pacific","locale":"en-US"}}],"limitSpec":{"type":"default"},"filter":{"type":"and","fields":[{"type":"expression","expression":"(sqrt(abs(\"ctinyint\")) > 3)"},{"type":"expression","expression":"((pow(\"cfloat\",2) * pow(\"c [...]
druid.query.type groupBy
Select Operator
expressions: extract_month (type: int)
@@ -308,7 +308,7 @@ STAGE PLANS:
properties:
druid.fieldNames vc
druid.fieldTypes int
- druid.query.json {"queryType":"groupBy","dataSource":"default.druid_table_alltypesorc","granularity":"all","dimensions":[{"type":"default","dimension":"vc","outputName":"vc","outputType":"LONG"}],"virtualColumns":[{"type":"expression","name":"vc","expression":"timestamp_extract(\"__time\",'QUARTER','US/Pacific')","outputType":"LONG"}],"limitSpec":{"type":"default"},"filter":{"type":"and","fields":[{"type":"expression","expression":"(strlen(CAST(\"ctinyint\", 'STRING')) > 1)"} [...]
+ druid.query.json {"queryType":"groupBy","dataSource":"default.druid_table_alltypesorc","granularity":"all","dimensions":[{"type":"default","dimension":"vc","outputName":"vc","outputType":"LONG"}],"virtualColumns":[{"type":"expression","name":"vc","expression":"timestamp_extract(\"__time\",'QUARTER','US/Pacific')","outputType":"LONG"}],"limitSpec":{"type":"default"},"filter":{"type":"and","fields":[{"type":"expression","expression":"(sqrt(abs(\"ctinyint\")) > 3)"},{"type":"exp [...]
druid.query.type groupBy
Select Operator
expressions: vc (type: int)
@@ -353,7 +353,7 @@ STAGE PLANS:
properties:
druid.fieldNames extract_year
druid.fieldTypes int
- druid.query.json {"queryType":"groupBy","dataSource":"default.druid_table_alltypesorc","granularity":"all","dimensions":[{"type":"extraction","dimension":"__time","outputName":"extract_year","extractionFn":{"type":"timeFormat","format":"yyyy","timeZone":"US/Pacific","locale":"en-US"}}],"limitSpec":{"type":"default"},"filter":{"type":"and","fields":[{"type":"expression","expression":"(strlen(CAST(\"ctinyint\", 'STRING')) > 1)"},{"type":"expression","expression":"(strlen(CAST(\ [...]
+ druid.query.json {"queryType":"groupBy","dataSource":"default.druid_table_alltypesorc","granularity":"all","dimensions":[{"type":"extraction","dimension":"__time","outputName":"extract_year","extractionFn":{"type":"timeFormat","format":"yyyy","timeZone":"US/Pacific","locale":"en-US"}}],"limitSpec":{"type":"default"},"filter":{"type":"and","fields":[{"type":"expression","expression":"(sqrt(abs(\"ctinyint\")) > 3)"},{"type":"expression","expression":"((pow(\"cfloat\",2) * pow(\ [...]
druid.query.type groupBy
Select Operator
expressions: extract_year (type: int)
@@ -464,7 +464,7 @@ STAGE PLANS:
properties:
druid.fieldNames vc
druid.fieldTypes int
- druid.query.json {"queryType":"scan","dataSource":"default.druid_table_alltypesorc","intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"],"filter":{"type":"and","fields":[{"type":"expression","expression":"(strlen(CAST(\"ctinyint\", 'STRING')) > 1)"},{"type":"expression","expression":"(strlen(CAST(\"ctinyint\", 'STRING')) < 10)"},{"type":"expression","expression":"((pow(\"cfloat\",2) * pow(\"csmallint\",3)) > 1)"},{"type":"expression","expression":"(sqrt(abs(\"cti [...]
+ druid.query.json {"queryType":"scan","dataSource":"default.druid_table_alltypesorc","intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"],"filter":{"type":"and","fields":[{"type":"expression","expression":"(sqrt(abs(\"ctinyint\")) > 3)"},{"type":"expression","expression":"((pow(\"cfloat\",2) * pow(\"csmallint\",3)) > 1)"},{"type":"expression","expression":"(strlen(CAST(\"ctinyint\", 'STRING')) > 1)"},{"type":"expression","expression":"(strlen(CAST(\"ctinyint\", 'S [...]
druid.query.type scan
Select Operator
expressions: vc (type: int)
diff --git a/ql/src/test/results/clientpositive/druid/druidmini_floorTime.q.out b/ql/src/test/results/clientpositive/druid/druidmini_floorTime.q.out
index 685f85e..aced136 100644
--- a/ql/src/test/results/clientpositive/druid/druidmini_floorTime.q.out
+++ b/ql/src/test/results/clientpositive/druid/druidmini_floorTime.q.out
@@ -37,7 +37,7 @@ STAGE PLANS:
properties:
druid.fieldNames timestamp
druid.fieldTypes timestamp with local time zone
- druid.query.json {"queryType":"timeseries","dataSource":"default.druid_table_alltypesorc","descending":false,"granularity":{"type":"period","period":"PT1S","timeZone":"US/Pacific"},"filter":{"type":"and","fields":[{"type":"expression","expression":"(strlen(CAST(\"ctinyint\", 'STRING')) > 1)"},{"type":"expression","expression":"(strlen(CAST(\"ctinyint\", 'STRING')) < 10)"},{"type":"expression","expression":"((pow(\"cfloat\",2) * pow(\"csmallint\",3)) > 1)"},{"type":"expression [...]
+ druid.query.json {"queryType":"timeseries","dataSource":"default.druid_table_alltypesorc","descending":false,"granularity":{"type":"period","period":"PT1S","timeZone":"US/Pacific"},"filter":{"type":"and","fields":[{"type":"expression","expression":"(sqrt(abs(\"ctinyint\")) > 3)"},{"type":"expression","expression":"((pow(\"cfloat\",2) * pow(\"csmallint\",3)) > 1)"},{"type":"expression","expression":"(strlen(CAST(\"ctinyint\", 'STRING')) > 1)"},{"type":"expression","expression" [...]
druid.query.type timeseries
Select Operator
expressions: timestamp (type: timestamp with local time zone)
@@ -83,7 +83,7 @@ STAGE PLANS:
properties:
druid.fieldNames timestamp
druid.fieldTypes timestamp with local time zone
- druid.query.json {"queryType":"timeseries","dataSource":"default.druid_table_alltypesorc","descending":false,"granularity":{"type":"period","period":"PT1M","timeZone":"US/Pacific"},"filter":{"type":"and","fields":[{"type":"expression","expression":"(strlen(CAST(\"ctinyint\", 'STRING')) > 1)"},{"type":"expression","expression":"(strlen(CAST(\"ctinyint\", 'STRING')) < 10)"},{"type":"expression","expression":"((pow(\"cfloat\",2) * pow(\"csmallint\",3)) > 1)"},{"type":"expression [...]
+ druid.query.json {"queryType":"timeseries","dataSource":"default.druid_table_alltypesorc","descending":false,"granularity":{"type":"period","period":"PT1M","timeZone":"US/Pacific"},"filter":{"type":"and","fields":[{"type":"expression","expression":"(sqrt(abs(\"ctinyint\")) > 3)"},{"type":"expression","expression":"((pow(\"cfloat\",2) * pow(\"csmallint\",3)) > 1)"},{"type":"expression","expression":"(strlen(CAST(\"ctinyint\", 'STRING')) > 1)"},{"type":"expression","expression" [...]
druid.query.type timeseries
Select Operator
expressions: timestamp (type: timestamp with local time zone)
@@ -129,7 +129,7 @@ STAGE PLANS:
properties:
druid.fieldNames timestamp
druid.fieldTypes timestamp with local time zone
- druid.query.json {"queryType":"timeseries","dataSource":"default.druid_table_alltypesorc","descending":false,"granularity":{"type":"period","period":"PT1H","timeZone":"US/Pacific"},"filter":{"type":"and","fields":[{"type":"expression","expression":"(strlen(CAST(\"ctinyint\", 'STRING')) > 1)"},{"type":"expression","expression":"(strlen(CAST(\"ctinyint\", 'STRING')) < 10)"},{"type":"expression","expression":"((pow(\"cfloat\",2) * pow(\"csmallint\",3)) > 1)"},{"type":"expression [...]
+ druid.query.json {"queryType":"timeseries","dataSource":"default.druid_table_alltypesorc","descending":false,"granularity":{"type":"period","period":"PT1H","timeZone":"US/Pacific"},"filter":{"type":"and","fields":[{"type":"expression","expression":"(sqrt(abs(\"ctinyint\")) > 3)"},{"type":"expression","expression":"((pow(\"cfloat\",2) * pow(\"csmallint\",3)) > 1)"},{"type":"expression","expression":"(strlen(CAST(\"ctinyint\", 'STRING')) > 1)"},{"type":"expression","expression" [...]
druid.query.type timeseries
Select Operator
expressions: timestamp (type: timestamp with local time zone)
@@ -174,7 +174,7 @@ STAGE PLANS:
properties:
druid.fieldNames extract_day
druid.fieldTypes int
- druid.query.json {"queryType":"groupBy","dataSource":"default.druid_table_alltypesorc","granularity":"all","dimensions":[{"type":"extraction","dimension":"__time","outputName":"extract_day","extractionFn":{"type":"timeFormat","format":"d","timeZone":"US/Pacific","locale":"en-US"}}],"limitSpec":{"type":"default"},"filter":{"type":"and","fields":[{"type":"expression","expression":"(strlen(CAST(\"ctinyint\", 'STRING')) > 1)"},{"type":"expression","expression":"(strlen(CAST(\"cti [...]
+ druid.query.json {"queryType":"groupBy","dataSource":"default.druid_table_alltypesorc","granularity":"all","dimensions":[{"type":"extraction","dimension":"__time","outputName":"extract_day","extractionFn":{"type":"timeFormat","format":"d","timeZone":"US/Pacific","locale":"en-US"}}],"limitSpec":{"type":"default"},"filter":{"type":"and","fields":[{"type":"expression","expression":"(sqrt(abs(\"ctinyint\")) > 3)"},{"type":"expression","expression":"((pow(\"cfloat\",2) * pow(\"csm [...]
druid.query.type groupBy
Select Operator
expressions: extract_day (type: int)
@@ -219,7 +219,7 @@ STAGE PLANS:
properties:
druid.fieldNames extract_week
druid.fieldTypes int
- druid.query.json {"queryType":"groupBy","dataSource":"default.druid_table_alltypesorc","granularity":"all","dimensions":[{"type":"extraction","dimension":"__time","outputName":"extract_week","extractionFn":{"type":"timeFormat","format":"w","timeZone":"US/Pacific","locale":"en-US"}}],"limitSpec":{"type":"default"},"filter":{"type":"and","fields":[{"type":"expression","expression":"(strlen(CAST(\"ctinyint\", 'STRING')) > 1)"},{"type":"expression","expression":"(strlen(CAST(\"ct [...]
+ druid.query.json {"queryType":"groupBy","dataSource":"default.druid_table_alltypesorc","granularity":"all","dimensions":[{"type":"extraction","dimension":"__time","outputName":"extract_week","extractionFn":{"type":"timeFormat","format":"w","timeZone":"US/Pacific","locale":"en-US"}}],"limitSpec":{"type":"default"},"filter":{"type":"and","fields":[{"type":"expression","expression":"(sqrt(abs(\"ctinyint\")) > 3)"},{"type":"expression","expression":"((pow(\"cfloat\",2) * pow(\"cs [...]
druid.query.type groupBy
Select Operator
expressions: extract_week (type: int)
@@ -264,7 +264,7 @@ STAGE PLANS:
properties:
druid.fieldNames extract_month
druid.fieldTypes int
- druid.query.json {"queryType":"groupBy","dataSource":"default.druid_table_alltypesorc","granularity":"all","dimensions":[{"type":"extraction","dimension":"__time","outputName":"extract_month","extractionFn":{"type":"timeFormat","format":"M","timeZone":"US/Pacific","locale":"en-US"}}],"limitSpec":{"type":"default"},"filter":{"type":"and","fields":[{"type":"expression","expression":"(strlen(CAST(\"ctinyint\", 'STRING')) > 1)"},{"type":"expression","expression":"(strlen(CAST(\"c [...]
+ druid.query.json {"queryType":"groupBy","dataSource":"default.druid_table_alltypesorc","granularity":"all","dimensions":[{"type":"extraction","dimension":"__time","outputName":"extract_month","extractionFn":{"type":"timeFormat","format":"M","timeZone":"US/Pacific","locale":"en-US"}}],"limitSpec":{"type":"default"},"filter":{"type":"and","fields":[{"type":"expression","expression":"(sqrt(abs(\"ctinyint\")) > 3)"},{"type":"expression","expression":"((pow(\"cfloat\",2) * pow(\"c [...]
druid.query.type groupBy
Select Operator
expressions: extract_month (type: int)
@@ -309,7 +309,7 @@ STAGE PLANS:
properties:
druid.fieldNames vc
druid.fieldTypes int
- druid.query.json {"queryType":"groupBy","dataSource":"default.druid_table_alltypesorc","granularity":"all","dimensions":[{"type":"default","dimension":"vc","outputName":"vc","outputType":"LONG"}],"virtualColumns":[{"type":"expression","name":"vc","expression":"timestamp_extract(\"__time\",'QUARTER','US/Pacific')","outputType":"LONG"}],"limitSpec":{"type":"default"},"filter":{"type":"and","fields":[{"type":"expression","expression":"(strlen(CAST(\"ctinyint\", 'STRING')) > 1)"} [...]
+ druid.query.json {"queryType":"groupBy","dataSource":"default.druid_table_alltypesorc","granularity":"all","dimensions":[{"type":"default","dimension":"vc","outputName":"vc","outputType":"LONG"}],"virtualColumns":[{"type":"expression","name":"vc","expression":"timestamp_extract(\"__time\",'QUARTER','US/Pacific')","outputType":"LONG"}],"limitSpec":{"type":"default"},"filter":{"type":"and","fields":[{"type":"expression","expression":"(sqrt(abs(\"ctinyint\")) > 3)"},{"type":"exp [...]
druid.query.type groupBy
Select Operator
expressions: vc (type: int)
@@ -354,7 +354,7 @@ STAGE PLANS:
properties:
druid.fieldNames extract_year
druid.fieldTypes int
- druid.query.json {"queryType":"groupBy","dataSource":"default.druid_table_alltypesorc","granularity":"all","dimensions":[{"type":"extraction","dimension":"__time","outputName":"extract_year","extractionFn":{"type":"timeFormat","format":"yyyy","timeZone":"US/Pacific","locale":"en-US"}}],"limitSpec":{"type":"default"},"filter":{"type":"and","fields":[{"type":"expression","expression":"(strlen(CAST(\"ctinyint\", 'STRING')) > 1)"},{"type":"expression","expression":"(strlen(CAST(\ [...]
+ druid.query.json {"queryType":"groupBy","dataSource":"default.druid_table_alltypesorc","granularity":"all","dimensions":[{"type":"extraction","dimension":"__time","outputName":"extract_year","extractionFn":{"type":"timeFormat","format":"yyyy","timeZone":"US/Pacific","locale":"en-US"}}],"limitSpec":{"type":"default"},"filter":{"type":"and","fields":[{"type":"expression","expression":"(sqrt(abs(\"ctinyint\")) > 3)"},{"type":"expression","expression":"((pow(\"cfloat\",2) * pow(\ [...]
druid.query.type groupBy
Select Operator
expressions: extract_year (type: int)
@@ -465,7 +465,7 @@ STAGE PLANS:
properties:
druid.fieldNames vc
druid.fieldTypes int
- druid.query.json {"queryType":"scan","dataSource":"default.druid_table_alltypesorc","intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"],"filter":{"type":"and","fields":[{"type":"expression","expression":"(strlen(CAST(\"ctinyint\", 'STRING')) > 1)"},{"type":"expression","expression":"(strlen(CAST(\"ctinyint\", 'STRING')) < 10)"},{"type":"expression","expression":"((pow(\"cfloat\",2) * pow(\"csmallint\",3)) > 1)"},{"type":"expression","expression":"(sqrt(abs(\"cti [...]
+ druid.query.json {"queryType":"scan","dataSource":"default.druid_table_alltypesorc","intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"],"filter":{"type":"and","fields":[{"type":"expression","expression":"(sqrt(abs(\"ctinyint\")) > 3)"},{"type":"expression","expression":"((pow(\"cfloat\",2) * pow(\"csmallint\",3)) > 1)"},{"type":"expression","expression":"(strlen(CAST(\"ctinyint\", 'STRING')) > 1)"},{"type":"expression","expression":"(strlen(CAST(\"ctinyint\", 'S [...]
druid.query.type scan
Select Operator
expressions: vc (type: int)
diff --git a/ql/src/test/results/clientpositive/druid/druidmini_mv.q.out b/ql/src/test/results/clientpositive/druid/druidmini_mv.q.out
index 1940571..96374bb 100644
--- a/ql/src/test/results/clientpositive/druid/druidmini_mv.q.out
+++ b/ql/src/test/results/clientpositive/druid/druidmini_mv.q.out
@@ -388,7 +388,7 @@ STAGE PLANS:
filterExpr: ((d = 3) and (a = 3)) (type: boolean)
Statistics: Num rows: 7 Data size: 112 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((a = 3) and (d = 3)) (type: boolean)
+ predicate: ((d = 3) and (a = 3)) (type: boolean)
Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: c (type: double)
@@ -495,10 +495,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: cmv_basetable_n2
- filterExpr: ((ROW__ID.writeid > 1L) and (a = 3)) (type: boolean)
+ filterExpr: ((a = 3) and (ROW__ID.writeid > 1L)) (type: boolean)
Statistics: Num rows: 7 Data size: 1652 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((ROW__ID.writeid > 1L) and (a = 3)) (type: boolean)
+ predicate: ((a = 3) and (ROW__ID.writeid > 1L)) (type: boolean)
Statistics: Num rows: 1 Data size: 236 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: CAST( t AS timestamp with local time zone) (type: timestamp with local time zone), 3 (type: int), b (type: varchar(256)), c (type: double), userid (type: varchar(256))
diff --git a/ql/src/test/results/clientpositive/except_all.q.out b/ql/src/test/results/clientpositive/except_all.q.out
index da862bc..6aa7f8e 100644
--- a/ql/src/test/results/clientpositive/except_all.q.out
+++ b/ql/src/test/results/clientpositive/except_all.q.out
@@ -609,7 +609,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3
Statistics: Num rows: 125 Data size: 24250 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (((_col2 * 2L) = _col3) and (_col2 > 0L)) (type: boolean)
+ predicate: ((_col2 > 0L) and ((_col2 * 2L) = _col3)) (type: boolean)
Statistics: Num rows: 20 Data size: 3880 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string), _col1 (type: string)
@@ -683,7 +683,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3
Statistics: Num rows: 135 Data size: 26190 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (((_col2 * 2L) = _col3) and (_col2 > 0L)) (type: boolean)
+ predicate: ((_col2 > 0L) and ((_col2 * 2L) = _col3)) (type: boolean)
Statistics: Num rows: 22 Data size: 4268 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string), _col1 (type: string)
@@ -950,7 +950,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 2 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (((_col1 * 2L) = _col2) and (_col1 > 0L)) (type: boolean)
+ predicate: ((_col1 > 0L) and ((_col1 * 2L) = _col2)) (type: boolean)
Statistics: Num rows: 1 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: int)
diff --git a/ql/src/test/results/clientpositive/explain_logical.q.out b/ql/src/test/results/clientpositive/explain_logical.q.out
index 248a6f2..80c2f23 100644
--- a/ql/src/test/results/clientpositive/explain_logical.q.out
+++ b/ql/src/test/results/clientpositive/explain_logical.q.out
@@ -575,14 +575,14 @@ srcpart
filterExpr: (ds = '10') (type: boolean)
properties:
insideView TRUE
- Statistics: Num rows: 1 Data size: 736 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 536 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator (FIL_4)
predicate: (ds = '10') (type: boolean)
- Statistics: Num rows: 1 Data size: 736 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 536 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator (SEL_2)
expressions: key (type: string), value (type: string), '10' (type: string), hr (type: string)
outputColumnNames: _col0, _col1, _col2, _col3
- Statistics: Num rows: 1 Data size: 638 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 438 Basic stats: COMPLETE Column stats: COMPLETE
ListSink (LIST_SINK_5)
PREHOOK: query: EXPLAIN LOGICAL SELECT s1.key, s1.cnt, s2.value FROM (SELECT key, count(value) as cnt FROM src GROUP BY key) s1 JOIN src s2 ON (s1.key = s2.key) ORDER BY s1.key
diff --git a/ql/src/test/results/clientpositive/filter_cond_pushdown.q.out b/ql/src/test/results/clientpositive/filter_cond_pushdown.q.out
index 7596543..af703f1 100644
--- a/ql/src/test/results/clientpositive/filter_cond_pushdown.q.out
+++ b/ql/src/test/results/clientpositive/filter_cond_pushdown.q.out
@@ -319,7 +319,7 @@ STAGE PLANS:
filterExpr: ((c_int = 1) and (UDFToDouble(key) = 1.0D)) (type: boolean)
Statistics: Num rows: 20 Data size: 1767 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((UDFToDouble(key) = 1.0D) and (c_int = 1)) (type: boolean)
+ predicate: ((c_int = 1) and (UDFToDouble(key) = 1.0D)) (type: boolean)
Statistics: Num rows: 3 Data size: 279 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), c_float (type: float)
@@ -446,7 +446,7 @@ STAGE PLANS:
filterExpr: ((value) IN ('2008-04-10', '2008-04-08') and (value <> '') and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((value <> '') and (value) IN ('2008-04-10', '2008-04-08') and key is not null) (type: boolean)
+ predicate: ((value) IN ('2008-04-10', '2008-04-08') and (value <> '') and key is not null) (type: boolean)
Statistics: Num rows: 3 Data size: 534 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string), (value = '2008-04-10') (type: boolean), (value = '2008-04-08') (type: boolean)
diff --git a/ql/src/test/results/clientpositive/filter_cond_pushdown_HIVE_15647.q.out b/ql/src/test/results/clientpositive/filter_cond_pushdown_HIVE_15647.q.out
index c3eebcd..f8743ab 100644
--- a/ql/src/test/results/clientpositive/filter_cond_pushdown_HIVE_15647.q.out
+++ b/ql/src/test/results/clientpositive/filter_cond_pushdown_HIVE_15647.q.out
@@ -56,7 +56,7 @@ STAGE PLANS:
filterExpr: (store_id is not null and salad_bar) (type: boolean)
Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (salad_bar and store_id is not null) (type: boolean)
+ predicate: (store_id is not null and salad_bar) (type: boolean)
Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: store_id (type: int)
@@ -155,7 +155,7 @@ STAGE PLANS:
filterExpr: (store_id is not null and salad_bar) (type: boolean)
Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (salad_bar and store_id is not null) (type: boolean)
+ predicate: (store_id is not null and salad_bar) (type: boolean)
Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: store_id (type: int)
@@ -254,7 +254,7 @@ STAGE PLANS:
filterExpr: (store_id is not null and (salad_bar = true)) (type: boolean)
Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((salad_bar = true) and store_id is not null) (type: boolean)
+ predicate: (store_id is not null and (salad_bar = true)) (type: boolean)
Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: store_id (type: int)
@@ -341,7 +341,7 @@ STAGE PLANS:
filterExpr: (store_id is not null and (store_number > customer_id)) (type: boolean)
Statistics: Num rows: 1 Data size: 12 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((store_number > customer_id) and store_id is not null) (type: boolean)
+ predicate: (store_id is not null and (store_number > customer_id)) (type: boolean)
Statistics: Num rows: 1 Data size: 12 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: store_id (type: int)
@@ -353,7 +353,7 @@ STAGE PLANS:
filterExpr: (store_id is not null and (salad_bar = false)) (type: boolean)
Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((salad_bar = false) and store_id is not null) (type: boolean)
+ predicate: (store_id is not null and (salad_bar = false)) (type: boolean)
Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: store_id (type: int)
diff --git a/ql/src/test/results/clientpositive/filter_join_breaktask.q.out b/ql/src/test/results/clientpositive/filter_join_breaktask.q.out
index 259696d..9fb11d6 100644
--- a/ql/src/test/results/clientpositive/filter_join_breaktask.q.out
+++ b/ql/src/test/results/clientpositive/filter_join_breaktask.q.out
@@ -37,13 +37,13 @@ POSTHOOK: Input: default@filter_join_breaktask@ds=2008-04-08
OPTIMIZED SQL: SELECT `t2`.`key`, `t0`.`value`
FROM (SELECT `value`
FROM `default`.`filter_join_breaktask`
-WHERE `ds` = '2008-04-08' AND `value` <> '') AS `t0`
+WHERE `value` <> '' AND `ds` = '2008-04-08') AS `t0`
INNER JOIN ((SELECT `key`
FROM `default`.`filter_join_breaktask`
-WHERE `ds` = '2008-04-08' AND `key` IS NOT NULL) AS `t2`
+WHERE `key` IS NOT NULL AND `ds` = '2008-04-08') AS `t2`
INNER JOIN (SELECT `key`, `value`
FROM `default`.`filter_join_breaktask`
-WHERE `ds` = '2008-04-08' AND `value` <> '' AND `key` IS NOT NULL) AS `t4` ON `t2`.`key` = `t4`.`key`) ON `t0`.`value` = `t4`.`value`
+WHERE `key` IS NOT NULL AND `value` <> '' AND `ds` = '2008-04-08') AS `t4` ON `t2`.`key` = `t4`.`key`) ON `t0`.`value` = `t4`.`value`
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-2 depends on stages: Stage-1
@@ -55,7 +55,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: f
- filterExpr: ((ds = '2008-04-08') and key is not null) (type: boolean)
+ filterExpr: (key is not null and (ds = '2008-04-08')) (type: boolean)
Statistics: Num rows: 25 Data size: 64 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
@@ -76,12 +76,12 @@ STAGE PLANS:
auto parallelism: false
TableScan
alias: m
- filterExpr: ((value <> '') and key is not null) (type: boolean)
+ filterExpr: (key is not null and (value <> '')) (type: boolean)
Statistics: Num rows: 25 Data size: 2289 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
isSamplingPred: false
- predicate: ((value <> '') and key is not null) (type: boolean)
+ predicate: (key is not null and (value <> '')) (type: boolean)
Statistics: Num rows: 15 Data size: 1375 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int), value (type: string)
@@ -158,7 +158,7 @@ STAGE PLANS:
0 _col0 (type: int)
1 _col0 (type: int)
outputColumnNames: _col0, _col2
- Statistics: Num rows: 25 Data size: 2305 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 15 Data size: 1375 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
GlobalTableId: 0
@@ -188,13 +188,13 @@ STAGE PLANS:
null sort order: a
sort order: +
Map-reduce partition columns: _col2 (type: string)
- Statistics: Num rows: 25 Data size: 2305 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 15 Data size: 1375 Basic stats: COMPLETE Column stats: COMPLETE
tag: 0
value expressions: _col0 (type: int)
auto parallelism: false
TableScan
alias: g
- filterExpr: ((ds = '2008-04-08') and (value <> '')) (type: boolean)
+ filterExpr: ((value <> '') and (ds = '2008-04-08')) (type: boolean)
Statistics: Num rows: 25 Data size: 2225 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
@@ -298,17 +298,17 @@ STAGE PLANS:
0 _col2 (type: string)
1 _col0 (type: string)
outputColumnNames: _col0, _col3
- Statistics: Num rows: 32 Data size: 2956 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 19 Data size: 1747 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: int), _col3 (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 32 Data size: 2956 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 19 Data size: 1747 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
GlobalTableId: 0
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 32 Data size: 2956 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 19 Data size: 1747 Basic stats: COMPLETE Column stats: COMPLETE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
diff --git a/ql/src/test/results/clientpositive/filter_numeric.q.out b/ql/src/test/results/clientpositive/filter_numeric.q.out
index 0bd100f..2b3c586 100644
--- a/ql/src/test/results/clientpositive/filter_numeric.q.out
+++ b/ql/src/test/results/clientpositive/filter_numeric.q.out
@@ -43,14 +43,14 @@ STAGE PLANS:
TableScan
alias: partint
filterExpr: (hr < 11) (type: boolean)
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 172 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
predicate: (hr < 11) (type: boolean)
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 172 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string), hr (type: int)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 172 Basic stats: COMPLETE Column stats: COMPLETE
ListSink
PREHOOK: query: select key, value, hr from partint where hr < 11
diff --git a/ql/src/test/results/clientpositive/flatten_and_or.q.out b/ql/src/test/results/clientpositive/flatten_and_or.q.out
index 8109eae..f39a1a1 100644
--- a/ql/src/test/results/clientpositive/flatten_and_or.q.out
+++ b/ql/src/test/results/clientpositive/flatten_and_or.q.out
@@ -49,7 +49,7 @@ STAGE PLANS:
filterExpr: (((key = '0') and (value = '8')) or ((key = '1') and (value = '5')) or ((key = '2') and (value = '6')) or ((key = '3') and (value = '8')) or ((key = '4') and (value = '1')) or ((key = '5') and (value = '6')) or ((key = '6') and (value = '1')) or ((key = '7') and (value = '1')) or ((key = '8') and (value = '1')) or ((key = '9') and (value = '1')) or ((key = '10') and (value = '3'))) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (((key = '0') and (value = '8')) or ((key = '1') and (value = '5')) or ((key = '10') and (value = '3')) or ((key = '2') and (value = '6')) or ((key = '3') and (value = '8')) or ((key = '4') and (value = '1')) or ((key = '5') and (value = '6')) or ((key = '6') and (value = '1')) or ((key = '7') and (value = '1')) or ((key = '8') and (value = '1')) or ((key = '9') and (value = '1'))) (type: boolean)
+ predicate: (((key = '0') and (value = '8')) or ((key = '1') and (value = '5')) or ((key = '2') and (value = '6')) or ((key = '3') and (value = '8')) or ((key = '4') and (value = '1')) or ((key = '5') and (value = '6')) or ((key = '6') and (value = '1')) or ((key = '7') and (value = '1')) or ((key = '8') and (value = '1')) or ((key = '9') and (value = '1')) or ((key = '10') and (value = '3'))) (type: boolean)
Statistics: Num rows: 11 Data size: 1958 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string)
diff --git a/ql/src/test/results/clientpositive/fold_eq_with_case_when.q.out b/ql/src/test/results/clientpositive/fold_eq_with_case_when.q.out
index 2b87d3b..006b51e 100644
--- a/ql/src/test/results/clientpositive/fold_eq_with_case_when.q.out
+++ b/ql/src/test/results/clientpositive/fold_eq_with_case_when.q.out
@@ -44,10 +44,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: lineitem
- filterExpr: ((DATE'1996-03-30' = to_date(CAST( l_shipdate AS TIMESTAMP))) and (l_shipmode = 'RAIL')) (type: boolean)
+ filterExpr: ((l_shipmode = 'RAIL') and (DATE'1996-03-30' = to_date(CAST( l_shipdate AS TIMESTAMP)))) (type: boolean)
Statistics: Num rows: 100 Data size: 19000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((DATE'1996-03-30' = to_date(CAST( l_shipdate AS TIMESTAMP))) and (l_shipmode = 'RAIL')) (type: boolean)
+ predicate: ((l_shipmode = 'RAIL') and (DATE'1996-03-30' = to_date(CAST( l_shipdate AS TIMESTAMP)))) (type: boolean)
Statistics: Num rows: 7 Data size: 1330 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: l_orderkey (type: int), (UDFToDouble(l_partkey) / 1000000.0D) (type: double)
diff --git a/ql/src/test/results/clientpositive/fold_to_null.q.out b/ql/src/test/results/clientpositive/fold_to_null.q.out
index 5104400..4b6f480 100644
--- a/ql/src/test/results/clientpositive/fold_to_null.q.out
+++ b/ql/src/test/results/clientpositive/fold_to_null.q.out
@@ -164,7 +164,7 @@ STAGE PLANS:
filterExpr: ((a > 5) and ((a * a) < 101)) (type: boolean)
Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (((a * a) < 101) and (a > 5)) (type: boolean)
+ predicate: ((a > 5) and ((a * a) < 101)) (type: boolean)
Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: a (type: int)
@@ -180,7 +180,7 @@ STAGE PLANS:
filterExpr: ((b > 5) and ((b * b) < 101)) (type: boolean)
Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (((b * b) < 101) and (b > 5)) (type: boolean)
+ predicate: ((b > 5) and ((b * b) < 101)) (type: boolean)
Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: b (type: int)
@@ -221,7 +221,7 @@ STAGE PLANS:
filterExpr: ((c > 5) and ((c * c) < 101)) (type: boolean)
Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (((c * c) < 101) and (c > 5)) (type: boolean)
+ predicate: ((c > 5) and ((c * c) < 101)) (type: boolean)
Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: c (type: int)
diff --git a/ql/src/test/results/clientpositive/folder_predicate.q.out b/ql/src/test/results/clientpositive/folder_predicate.q.out
index 92e7f79..5fe3341 100644
--- a/ql/src/test/results/clientpositive/folder_predicate.q.out
+++ b/ql/src/test/results/clientpositive/folder_predicate.q.out
@@ -39,7 +39,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: predicate_fold_tb
- filterExpr: (value is null or (value <> 3)) (type: boolean)
+ filterExpr: ((value <> 3) or value is null) (type: boolean)
Statistics: Num rows: 6 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
predicate: ((value <> 3) or value is null) (type: boolean)
@@ -99,7 +99,7 @@ STAGE PLANS:
filterExpr: (value is null or (value < 3)) (type: boolean)
Statistics: Num rows: 6 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((value < 3) or value is null) (type: boolean)
+ predicate: (value is null or (value < 3)) (type: boolean)
Statistics: Num rows: 3 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: value (type: int)
@@ -154,7 +154,7 @@ STAGE PLANS:
filterExpr: (value is null or (value > 3)) (type: boolean)
Statistics: Num rows: 6 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((value > 3) or value is null) (type: boolean)
+ predicate: (value is null or (value > 3)) (type: boolean)
Statistics: Num rows: 3 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: value (type: int)
@@ -209,7 +209,7 @@ STAGE PLANS:
filterExpr: (value is null or (value <= 3)) (type: boolean)
Statistics: Num rows: 6 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((value <= 3) or value is null) (type: boolean)
+ predicate: (value is null or (value <= 3)) (type: boolean)
Statistics: Num rows: 3 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: value (type: int)
@@ -265,7 +265,7 @@ STAGE PLANS:
filterExpr: (value is null or (value >= 3)) (type: boolean)
Statistics: Num rows: 6 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((value >= 3) or value is null) (type: boolean)
+ predicate: (value is null or (value >= 3)) (type: boolean)
Statistics: Num rows: 3 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: value (type: int)
@@ -321,7 +321,7 @@ STAGE PLANS:
filterExpr: (value is null or (value = 3)) (type: boolean)
Statistics: Num rows: 6 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((value = 3) or value is null) (type: boolean)
+ predicate: (value is null or (value = 3)) (type: boolean)
Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: value (type: int)
@@ -375,7 +375,7 @@ STAGE PLANS:
filterExpr: (value is null or (value <= 1) or (value > 3)) (type: boolean)
Statistics: Num rows: 6 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((value <= 1) or (value > 3) or value is null) (type: boolean)
+ predicate: (value is null or (value <= 1) or (value > 3)) (type: boolean)
Statistics: Num rows: 5 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: value (type: int)
diff --git a/ql/src/test/results/clientpositive/groupby_grouping_sets_grouping.q.out b/ql/src/test/results/clientpositive/groupby_grouping_sets_grouping.q.out
index 3d270ec..db3fd7c 100644
--- a/ql/src/test/results/clientpositive/groupby_grouping_sets_grouping.q.out
+++ b/ql/src/test/results/clientpositive/groupby_grouping_sets_grouping.q.out
@@ -334,7 +334,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((grouping(_col2, 0L) = 1L) or (grouping(_col2, 1L) = 1L)) (type: boolean)
+ predicate: ((grouping(_col2, 1L) = 1L) or (grouping(_col2, 0L) = 1L)) (type: boolean)
Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: int), (grouping(_col2, 1L) + grouping(_col2, 0L)) (type: bigint), CASE WHEN (((grouping(_col2, 1L) + grouping(_col2, 0L)) = 1L)) THEN (_col0) ELSE (null) END (type: int)
@@ -707,7 +707,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 4 Data size: 32 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((grouping(_col2, 0L) = 1) or (grouping(_col2, 1L) = 1)) (type: boolean)
+ predicate: ((grouping(_col2, 1L) = 1) or (grouping(_col2, 0L) = 1)) (type: boolean)
Statistics: Num rows: 4 Data size: 32 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
diff --git a/ql/src/test/results/clientpositive/groupby_multi_single_reducer3.q.out b/ql/src/test/results/clientpositive/groupby_multi_single_reducer3.q.out
index 6586693..00a6628 100644
--- a/ql/src/test/results/clientpositive/groupby_multi_single_reducer3.q.out
+++ b/ql/src/test/results/clientpositive/groupby_multi_single_reducer3.q.out
@@ -60,7 +60,7 @@ STAGE PLANS:
filterExpr: ((((value = 'val_400') or (value = 'val_500')) and ((key = 400) or (key = 450))) or (((value = 'val_100') or (value = 'val_200') or (value = 'val_300')) and ((key = 100) or (key = 150) or (key = 200)))) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((((value = 'val_100') or (value = 'val_200') or (value = 'val_300')) and ((key = 100) or (key = 150) or (key = 200))) or (((value = 'val_400') or (value = 'val_500')) and ((key = 400) or (key = 450)))) (type: boolean)
+ predicate: ((((value = 'val_400') or (value = 'val_500')) and ((key = 400) or (key = 450))) or (((value = 'val_100') or (value = 'val_200') or (value = 'val_300')) and ((key = 100) or (key = 150) or (key = 200)))) (type: boolean)
Statistics: Num rows: 5 Data size: 890 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: key (type: string)
@@ -73,7 +73,7 @@ STAGE PLANS:
Forward
Statistics: Num rows: 5 Data size: 890 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (((KEY._col0 = 100) or (KEY._col0 = 150) or (KEY._col0 = 200)) and ((VALUE._col0 = 'val_100') or (VALUE._col0 = 'val_200') or (VALUE._col0 = 'val_300'))) (type: boolean)
+ predicate: (((VALUE._col0 = 'val_100') or (VALUE._col0 = 'val_200') or (VALUE._col0 = 'val_300')) and ((KEY._col0 = 100) or (KEY._col0 = 150) or (KEY._col0 = 200))) (type: boolean)
Statistics: Num rows: 3 Data size: 534 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
aggregations: count()
@@ -110,7 +110,7 @@ STAGE PLANS:
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
Filter Operator
- predicate: (((KEY._col0 = 400) or (KEY._col0 = 450)) and ((VALUE._col0 = 'val_400') or (VALUE._col0 = 'val_500'))) (type: boolean)
+ predicate: (((VALUE._col0 = 'val_400') or (VALUE._col0 = 'val_500')) and ((KEY._col0 = 400) or (KEY._col0 = 450))) (type: boolean)
Statistics: Num rows: 2 Data size: 356 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
aggregations: count()
@@ -324,7 +324,7 @@ STAGE PLANS:
filterExpr: ((((key + key) = 400) or (((key - 100) = 500) and value is not null)) or (((key + key) = 200) or ((key - 100) = 100) or ((key = 300) and value is not null))) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((((key + key) = 200) or ((key - 100) = 100) or ((key = 300) and value is not null)) or (((key + key) = 400) or (((key - 100) = 500) and value is not null))) (type: boolean)
+ predicate: ((((key + key) = 400) or (((key - 100) = 500) and value is not null)) or (((key + key) = 200) or ((key - 100) = 100) or ((key = 300) and value is not null))) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: value (type: string)
@@ -374,7 +374,7 @@ STAGE PLANS:
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
Filter Operator
- predicate: ((((VALUE._col0 - 100) = 500) and KEY._col0 is not null) or ((VALUE._col0 + VALUE._col0) = 400)) (type: boolean)
+ predicate: (((VALUE._col0 + VALUE._col0) = 400) or (((VALUE._col0 - 100) = 500) and KEY._col0 is not null)) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
aggregations: count()
@@ -587,7 +587,7 @@ STAGE PLANS:
alias: src
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((((value = 'val_100') or (value = 'val_200') or (value = 'val_300')) and ((key = 100) or (key = 150) or (key = 200))) or (((value = 'val_400') or (value = 'val_500')) and ((key = 400) or (key = 450)))) (type: boolean)
+ predicate: ((((value = 'val_400') or (value = 'val_500')) and ((key = 400) or (key = 450))) or (((value = 'val_100') or (value = 'val_200') or (value = 'val_300')) and ((key = 100) or (key = 150) or (key = 200)))) (type: boolean)
Statistics: Num rows: 5 Data size: 890 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: key (type: string)
@@ -600,7 +600,7 @@ STAGE PLANS:
Forward
Statistics: Num rows: 5 Data size: 890 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (((KEY._col0 = 100) or (KEY._col0 = 150) or (KEY._col0 = 200)) and ((VALUE._col0 = 'val_100') or (VALUE._col0 = 'val_200') or (VALUE._col0 = 'val_300'))) (type: boolean)
+ predicate: (((VALUE._col0 = 'val_100') or (VALUE._col0 = 'val_200') or (VALUE._col0 = 'val_300')) and ((KEY._col0 = 100) or (KEY._col0 = 150) or (KEY._col0 = 200))) (type: boolean)
Statistics: Num rows: 3 Data size: 534 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
aggregations: count()
@@ -637,7 +637,7 @@ STAGE PLANS:
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
Filter Operator
- predicate: (((KEY._col0 = 400) or (KEY._col0 = 450)) and ((VALUE._col0 = 'val_400') or (VALUE._col0 = 'val_500'))) (type: boolean)
+ predicate: (((VALUE._col0 = 'val_400') or (VALUE._col0 = 'val_500')) and ((KEY._col0 = 400) or (KEY._col0 = 450))) (type: boolean)
Statistics: Num rows: 2 Data size: 356 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
aggregations: count()
@@ -850,7 +850,7 @@ STAGE PLANS:
alias: src
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((((key + key) = 200) or ((key - 100) = 100) or ((key = 300) and value is not null)) or (((key + key) = 400) or (((key - 100) = 500) and value is not null))) (type: boolean)
+ predicate: ((((key + key) = 400) or (((key - 100) = 500) and value is not null)) or (((key + key) = 200) or ((key - 100) = 100) or ((key = 300) and value is not null))) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: value (type: string)
@@ -900,7 +900,7 @@ STAGE PLANS:
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
Filter Operator
- predicate: ((((VALUE._col0 - 100) = 500) and KEY._col0 is not null) or ((VALUE._col0 + VALUE._col0) = 400)) (type: boolean)
+ predicate: (((VALUE._col0 + VALUE._col0) = 400) or (((VALUE._col0 - 100) = 500) and KEY._col0 is not null)) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
aggregations: count()
diff --git a/ql/src/test/results/clientpositive/groupby_position.q.out b/ql/src/test/results/clientpositive/groupby_position.q.out
index 03040a3..9c66593 100644
--- a/ql/src/test/results/clientpositive/groupby_position.q.out
+++ b/ql/src/test/results/clientpositive/groupby_position.q.out
@@ -846,7 +846,7 @@ STAGE PLANS:
filterExpr: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean)
+ predicate: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
keys: key (type: string), value (type: string)
diff --git a/ql/src/test/results/clientpositive/groupby_sort_6.q.out b/ql/src/test/results/clientpositive/groupby_sort_6.q.out
index fd96069..eee2ffa 100644
--- a/ql/src/test/results/clientpositive/groupby_sort_6.q.out
+++ b/ql/src/test/results/clientpositive/groupby_sort_6.q.out
@@ -43,29 +43,29 @@ STAGE PLANS:
TableScan
alias: t1_n61
filterExpr: (ds = '1') (type: boolean)
- Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: (ds = '1') (type: boolean)
- Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string)
outputColumnNames: key
- Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
aggregations: count()
keys: key (type: string)
minReductionHashAggr: 0.99
mode: hash
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 192 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 92 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: _col0 (type: string)
null sort order: a
sort order: +
Map-reduce partition columns: _col0 (type: string)
- Statistics: Num rows: 1 Data size: 192 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 92 Basic stats: COMPLETE Column stats: COMPLETE
tag: -1
value expressions: _col1 (type: bigint)
auto parallelism: false
@@ -77,17 +77,17 @@ STAGE PLANS:
keys: KEY._col0 (type: string)
mode: mergepartial
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 192 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 92 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: UDFToInteger(_col0) (type: int), UDFToInteger(_col1) (type: int)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
GlobalTableId: 1
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.TextInputFormat
@@ -118,13 +118,13 @@ STAGE PLANS:
Select Operator
expressions: _col0 (type: int), _col1 (type: int)
outputColumnNames: key, cnt
- Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
aggregations: compute_stats(key, 'hll'), compute_stats(cnt, 'hll')
minReductionHashAggr: 0.99
mode: hash
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 848 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 848 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
GlobalTableId: 0
@@ -191,7 +191,7 @@ STAGE PLANS:
Reduce Output Operator
null sort order:
sort order:
- Statistics: Num rows: 1 Data size: 848 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 848 Basic stats: COMPLETE Column stats: COMPLETE
tag: -1
value expressions: _col0 (type: struct<columntype:string,min:bigint,max:bigint,countnulls:bigint,bitvector:binary>), _col1 (type: struct<columntype:string,min:bigint,max:bigint,countnulls:bigint,bitvector:binary>)
auto parallelism: false
@@ -229,13 +229,13 @@ STAGE PLANS:
aggregations: compute_stats(VALUE._col0), compute_stats(VALUE._col1)
mode: mergepartial
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 880 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 880 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
GlobalTableId: 0
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 1 Data size: 880 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 880 Basic stats: COMPLETE Column stats: COMPLETE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
@@ -311,29 +311,29 @@ STAGE PLANS:
TableScan
alias: t1_n61
filterExpr: (ds = '1') (type: boolean)
- Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: (ds = '1') (type: boolean)
- Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string)
outputColumnNames: key
- Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
aggregations: count()
keys: key (type: string)
minReductionHashAggr: 0.99
mode: hash
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 192 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 92 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: _col0 (type: string)
null sort order: a
sort order: +
Map-reduce partition columns: _col0 (type: string)
- Statistics: Num rows: 1 Data size: 192 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 92 Basic stats: COMPLETE Column stats: COMPLETE
tag: -1
value expressions: _col1 (type: bigint)
auto parallelism: false
@@ -345,17 +345,17 @@ STAGE PLANS:
keys: KEY._col0 (type: string)
mode: mergepartial
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 192 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 92 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: UDFToInteger(_col0) (type: int), UDFToInteger(_col1) (type: int)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
GlobalTableId: 1
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.TextInputFormat
@@ -386,13 +386,13 @@ STAGE PLANS:
Select Operator
expressions: _col0 (type: int), _col1 (type: int)
outputColumnNames: key, cnt
- Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
aggregations: compute_stats(key, 'hll'), compute_stats(cnt, 'hll')
minReductionHashAggr: 0.99
mode: hash
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 848 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 848 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
GlobalTableId: 0
@@ -459,7 +459,7 @@ STAGE PLANS:
Reduce Output Operator
null sort order:
sort order:
- Statistics: Num rows: 1 Data size: 848 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 848 Basic stats: COMPLETE Column stats: COMPLETE
tag: -1
value expressions: _col0 (type: struct<columntype:string,min:bigint,max:bigint,countnulls:bigint,bitvector:binary>), _col1 (type: struct<columntype:string,min:bigint,max:bigint,countnulls:bigint,bitvector:binary>)
auto parallelism: false
@@ -497,13 +497,13 @@ STAGE PLANS:
aggregations: compute_stats(VALUE._col0), compute_stats(VALUE._col1)
mode: mergepartial
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 880 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 880 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
GlobalTableId: 0
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 1 Data size: 880 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 880 Basic stats: COMPLETE Column stats: COMPLETE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
@@ -572,25 +572,25 @@ STAGE PLANS:
TableScan
alias: t1_n61
filterExpr: (ds = '2') (type: boolean)
- Statistics: Num rows: 1 Data size: 484 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 1 Data size: 184 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Select Operator
expressions: key (type: string)
outputColumnNames: key
- Statistics: Num rows: 1 Data size: 484 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 1 Data size: 184 Basic stats: PARTIAL Column stats: NONE
Group By Operator
aggregations: count()
keys: key (type: string)
minReductionHashAggr: 0.99
mode: hash
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 484 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 1 Data size: 184 Basic stats: PARTIAL Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: string)
null sort order: a
sort order: +
Map-reduce partition columns: _col0 (type: string)
- Statistics: Num rows: 1 Data size: 484 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 1 Data size: 184 Basic stats: PARTIAL Column stats: NONE
tag: -1
value expressions: _col1 (type: bigint)
auto parallelism: false
@@ -654,17 +654,17 @@ STAGE PLANS:
keys: KEY._col0 (type: string)
mode: mergepartial
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 484 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 1 Data size: 184 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: UDFToInteger(_col0) (type: int), UDFToInteger(_col1) (type: int)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 484 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 1 Data size: 184 Basic stats: PARTIAL Column stats: NONE
File Output Operator
compressed: false
GlobalTableId: 1
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 1 Data size: 484 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 1 Data size: 184 Basic stats: PARTIAL Column stats: NONE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.TextInputFormat
@@ -695,7 +695,7 @@ STAGE PLANS:
Select Operator
expressions: _col0 (type: int), _col1 (type: int)
outputColumnNames: key, cnt
- Statistics: Num rows: 1 Data size: 484 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 1 Data size: 184 Basic stats: PARTIAL Column stats: NONE
Group By Operator
aggregations: compute_stats(key, 'hll'), compute_stats(cnt, 'hll')
minReductionHashAggr: 0.99
diff --git a/ql/src/test/results/clientpositive/groupby_sort_7.q.out b/ql/src/test/results/clientpositive/groupby_sort_7.q.out
index d9f9f1a..a28d263 100644
--- a/ql/src/test/results/clientpositive/groupby_sort_7.q.out
+++ b/ql/src/test/results/clientpositive/groupby_sort_7.q.out
@@ -68,24 +68,24 @@ STAGE PLANS:
TableScan
alias: t1_n104
filterExpr: (ds = '1') (type: boolean)
- Statistics: Num rows: 6 Data size: 2232 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 6 Data size: 2208 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: string), val (type: string)
outputColumnNames: key, val
- Statistics: Num rows: 6 Data size: 2232 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 6 Data size: 2208 Basic stats: COMPLETE Column stats: NONE
Group By Operator
aggregations: count()
keys: key (type: string), val (type: string)
mode: final
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 3 Data size: 1116 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 3 Data size: 1104 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: string), _col1 (type: string), UDFToInteger(_col2) (type: int)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 3 Data size: 1116 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 3 Data size: 1104 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 3 Data size: 1116 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 3 Data size: 1104 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.TextInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
@@ -94,7 +94,7 @@ STAGE PLANS:
Select Operator
expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
outputColumnNames: key, val, cnt
- Statistics: Num rows: 3 Data size: 1116 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 3 Data size: 1104 Basic stats: COMPLETE Column stats: NONE
Group By Operator
aggregations: compute_stats(key, 'hll'), compute_stats(val, 'hll'), compute_stats(cnt, 'hll')
minReductionHashAggr: 0.99
diff --git a/ql/src/test/results/clientpositive/groupby_sort_8.q.out b/ql/src/test/results/clientpositive/groupby_sort_8.q.out
index 12fa830..d7b17b9 100644
--- a/ql/src/test/results/clientpositive/groupby_sort_8.q.out
+++ b/ql/src/test/results/clientpositive/groupby_sort_8.q.out
@@ -51,11 +51,11 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: t1_n45
- Statistics: Num rows: 6 Data size: 1128 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 6 Data size: 1104 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: string)
outputColumnNames: key
- Statistics: Num rows: 6 Data size: 1128 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 6 Data size: 1104 Basic stats: COMPLETE Column stats: NONE
Group By Operator
aggregations: count(DISTINCT key)
bucketGroup: true
@@ -63,11 +63,11 @@ STAGE PLANS:
minReductionHashAggr: 0.99
mode: hash
outputColumnNames: _col0, _col1
- Statistics: Num rows: 6 Data size: 1128 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 6 Data size: 1104 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: string)
sort order: +
- Statistics: Num rows: 6 Data size: 1128 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 6 Data size: 1104 Basic stats: COMPLETE Column stats: NONE
value expressions: _col1 (type: bigint)
Reduce Operator Tree:
Group By Operator
diff --git a/ql/src/test/results/clientpositive/groupby_sort_9.q.out b/ql/src/test/results/clientpositive/groupby_sort_9.q.out
index f1381f3..eaa3771 100644
--- a/ql/src/test/results/clientpositive/groupby_sort_9.q.out
+++ b/ql/src/test/results/clientpositive/groupby_sort_9.q.out
@@ -65,11 +65,11 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: t1_n96
- Statistics: Num rows: 12 Data size: 2256 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 12 Data size: 2208 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: string)
outputColumnNames: key
- Statistics: Num rows: 12 Data size: 2256 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 12 Data size: 2208 Basic stats: COMPLETE Column stats: NONE
Group By Operator
aggregations: count()
bucketGroup: true
@@ -77,12 +77,12 @@ STAGE PLANS:
minReductionHashAggr: 0.99
mode: hash
outputColumnNames: _col0, _col1
- Statistics: Num rows: 12 Data size: 2256 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 12 Data size: 2208 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: string)
sort order: +
Map-reduce partition columns: _col0 (type: string)
- Statistics: Num rows: 12 Data size: 2256 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 12 Data size: 2208 Basic stats: COMPLETE Column stats: NONE
value expressions: _col1 (type: bigint)
Execution mode: vectorized
Reduce Operator Tree:
@@ -91,10 +91,10 @@ STAGE PLANS:
keys: KEY._col0 (type: string)
mode: mergepartial
outputColumnNames: _col0, _col1
- Statistics: Num rows: 6 Data size: 1128 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 6 Data size: 1104 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 6 Data size: 1128 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 6 Data size: 1104 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
diff --git a/ql/src/test/results/clientpositive/having2.q.out b/ql/src/test/results/clientpositive/having2.q.out
index 967fb44..9508457 100644
--- a/ql/src/test/results/clientpositive/having2.q.out
+++ b/ql/src/test/results/clientpositive/having2.q.out
@@ -161,7 +161,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3
Statistics: Num rows: 1 Data size: 208 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((_col1 <= 4074689.000000041D) and (_col3 <= 822L)) (type: boolean)
+ predicate: ((_col3 <= 822L) and (_col1 <= 4074689.000000041D)) (type: boolean)
Statistics: Num rows: 1 Data size: 208 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: string), _col1 (type: double), _col2 (type: double)
@@ -331,7 +331,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col4
Statistics: Num rows: 550 Data size: 97900 Basic stats: COMPLETE Column stats: NONE
Group By Operator
- aggregations: sum(_col2), sum(_col0), count(_col0), count(_col4)
+ aggregations: sum(_col2), count(_col4), sum(_col0), count(_col0)
keys: _col1 (type: string)
minReductionHashAggr: 0.99
mode: hash
@@ -353,17 +353,17 @@ STAGE PLANS:
sort order: +
Map-reduce partition columns: _col0 (type: string)
Statistics: Num rows: 550 Data size: 97900 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col1 (type: double), _col2 (type: double), _col3 (type: bigint), _col4 (type: bigint)
+ value expressions: _col1 (type: double), _col2 (type: bigint), _col3 (type: double), _col4 (type: bigint)
Execution mode: vectorized
Reduce Operator Tree:
Group By Operator
- aggregations: sum(VALUE._col0), sum(VALUE._col1), count(VALUE._col2), count(VALUE._col3)
+ aggregations: sum(VALUE._col0), count(VALUE._col1), sum(VALUE._col2), count(VALUE._col3)
keys: KEY._col0 (type: string)
mode: mergepartial
outputColumnNames: _col0, _col1, _col2, _col3, _col4
Statistics: Num rows: 275 Data size: 48950 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (((_col2 / _col3) <= 822.0D) and (_col1 <= 4074689.000000041D) and (_col4 > 4L)) (type: boolean)
+ predicate: ((_col1 <= 4074689.000000041D) and (_col2 > 4L) and ((_col3 / _col4) <= 822.0D)) (type: boolean)
Statistics: Num rows: 10 Data size: 1780 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: string)
@@ -496,7 +496,7 @@ STAGE PLANS:
outputColumnNames: _col1, _col2, _col3, _col4, _col5
Statistics: Num rows: 275 Data size: 48950 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (((_col3 / _col4) <= 822.0D) and (_col2 <= 4074689.000000041D) and (_col5 > 4L)) (type: boolean)
+ predicate: ((_col2 <= 4074689.000000041D) and (_col5 > 4L) and ((_col3 / _col4) <= 822.0D)) (type: boolean)
Statistics: Num rows: 10 Data size: 1780 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col1 (type: string)
@@ -629,7 +629,7 @@ STAGE PLANS:
outputColumnNames: _col1, _col2, _col3, _col4, _col5
Statistics: Num rows: 275 Data size: 48950 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (((_col3 / _col4) <= 822.0D) and (_col2 <= 4074689.000000041D) and (_col5 > 4L)) (type: boolean)
+ predicate: ((_col2 <= 4074689.000000041D) and (_col5 > 4L) and ((_col3 / _col4) <= 822.0D)) (type: boolean)
Statistics: Num rows: 10 Data size: 1780 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col1 (type: string), _col1 (type: string)
diff --git a/ql/src/test/results/clientpositive/identity_project_remove_skip.q.out b/ql/src/test/results/clientpositive/identity_project_remove_skip.q.out
index 73f99d2..1176c7c 100644
--- a/ql/src/test/results/clientpositive/identity_project_remove_skip.q.out
+++ b/ql/src/test/results/clientpositive/identity_project_remove_skip.q.out
@@ -39,7 +39,7 @@ STAGE PLANS:
filterExpr: ((value = 'val_105') and (key = '105')) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((key = '105') and (value = 'val_105')) (type: boolean)
+ predicate: ((value = 'val_105') and (key = '105')) (type: boolean)
Statistics: Num rows: 1 Data size: 178 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
diff --git a/ql/src/test/results/clientpositive/infer_const_type.q.out b/ql/src/test/results/clientpositive/infer_const_type.q.out
index bbdb5be..9e48dbe 100644
--- a/ql/src/test/results/clientpositive/infer_const_type.q.out
+++ b/ql/src/test/results/clientpositive/infer_const_type.q.out
@@ -64,7 +64,7 @@ STAGE PLANS:
filterExpr: ((ti = 127Y) and (si = 32767S) and (i = 12345) and (bi = -12345L) and (fl = 906.0) and (db = -307.0D) and (UDFToDouble(str) = 1234.0D)) (type: boolean)
Statistics: Num rows: 1 Data size: 216 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((UDFToDouble(str) = 1234.0D) and (bi = -12345L) and (db = -307.0D) and (fl = 906.0) and (i = 12345) and (si = 32767S) and (ti = 127Y)) (type: boolean)
+ predicate: ((ti = 127Y) and (si = 32767S) and (i = 12345) and (bi = -12345L) and (fl = 906.0) and (db = -307.0D) and (UDFToDouble(str) = 1234.0D)) (type: boolean)
Statistics: Num rows: 1 Data size: 216 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: 127Y (type: tinyint), 32767S (type: smallint), 12345 (type: int), -12345L (type: bigint), 906.0 (type: float), -307.0D (type: double), str (type: string)
@@ -205,10 +205,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: infertypes
- filterExpr: ((ti = 127Y) or (CAST( si AS decimal(5,0)) = 327) or (i = -100)) (type: boolean)
+ filterExpr: ((ti = 127Y) or (i = -100) or (CAST( si AS decimal(5,0)) = 327)) (type: boolean)
Statistics: Num rows: 1 Data size: 216 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((CAST( si AS decimal(5,0)) = 327) or (i = -100) or (ti = 127Y)) (type: boolean)
+ predicate: ((ti = 127Y) or (i = -100) or (CAST( si AS decimal(5,0)) = 327)) (type: boolean)
Statistics: Num rows: 1 Data size: 216 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: ti (type: tinyint), si (type: smallint), i (type: int), bi (type: bigint), fl (type: float), db (type: double), str (type: string)
@@ -271,7 +271,7 @@ STAGE PLANS:
filterExpr: ((ti < 127Y) and (i > 100) and (UDFToDouble(str) = 1.57D)) (type: boolean)
Statistics: Num rows: 1 Data size: 216 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((UDFToDouble(str) = 1.57D) and (i > 100) and (ti < 127Y)) (type: boolean)
+ predicate: ((ti < 127Y) and (i > 100) and (UDFToDouble(str) = 1.57D)) (type: boolean)
Statistics: Num rows: 1 Data size: 216 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: ti (type: tinyint), si (type: smallint), i (type: int), bi (type: bigint), fl (type: float), db (type: double), str (type: string)
diff --git a/ql/src/test/results/clientpositive/input12.q.out b/ql/src/test/results/clientpositive/input12.q.out
index a2a9995..4f640b8 100644
--- a/ql/src/test/results/clientpositive/input12.q.out
+++ b/ql/src/test/results/clientpositive/input12.q.out
@@ -95,7 +95,7 @@ STAGE PLANS:
Statistics: Num rows: 1 Data size: 864 Basic stats: COMPLETE Column stats: COMPLETE
value expressions: _col0 (type: struct<columntype:string,min:bigint,max:bigint,countnulls:bigint,bitvector:binary>), _col1 (type: struct<columntype:string,maxlength:bigint,sumlength:bigint,count:bigint,countnulls:bigint,bitvector:binary>)
Filter Operator
- predicate: ((key < 200) and (key >= 100)) (type: boolean)
+ predicate: ((key >= 100) and (key < 200)) (type: boolean)
Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: UDFToInteger(key) (type: int), value (type: string)
diff --git a/ql/src/test/results/clientpositive/input13.q.out b/ql/src/test/results/clientpositive/input13.q.out
index 00f7bc2..5199b31 100644
--- a/ql/src/test/results/clientpositive/input13.q.out
+++ b/ql/src/test/results/clientpositive/input13.q.out
@@ -100,7 +100,7 @@ STAGE PLANS:
Statistics: Num rows: 1 Data size: 864 Basic stats: COMPLETE Column stats: COMPLETE
value expressions: _col0 (type: struct<columntype:string,min:bigint,max:bigint,countnulls:bigint,bitvector:binary>), _col1 (type: struct<columntype:string,maxlength:bigint,sumlength:bigint,count:bigint,countnulls:bigint,bitvector:binary>)
Filter Operator
- predicate: ((key < 200) and (key >= 100)) (type: boolean)
+ predicate: ((key >= 100) and (key < 200)) (type: boolean)
Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: UDFToInteger(key) (type: int), value (type: string)
@@ -131,7 +131,7 @@ STAGE PLANS:
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
Filter Operator
- predicate: ((key < 300) and (key >= 200)) (type: boolean)
+ predicate: ((key >= 200) and (key < 300)) (type: boolean)
Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: UDFToInteger(key) (type: int)
diff --git a/ql/src/test/results/clientpositive/input23.q.out b/ql/src/test/results/clientpositive/input23.q.out
index e9e65dc..396f2c1 100644
--- a/ql/src/test/results/clientpositive/input23.q.out
+++ b/ql/src/test/results/clientpositive/input23.q.out
@@ -46,20 +46,20 @@ STAGE PLANS:
TableScan
alias: b
filterExpr: ((ds = '2008-04-08') and (hr = '14')) (type: boolean)
- Statistics: Num rows: 1 Data size: 736 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 536 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: ((ds = '2008-04-08') and (hr = '14')) (type: boolean)
- Statistics: Num rows: 1 Data size: 736 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 536 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 168 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
null sort order:
sort order:
- Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 168 Basic stats: COMPLETE Column stats: COMPLETE
tag: 1
value expressions: _col0 (type: string), _col1 (type: string)
auto parallelism: false
@@ -126,20 +126,20 @@ STAGE PLANS:
0
1
outputColumnNames: _col0, _col1, _col2, _col3
- Statistics: Num rows: 500 Data size: 273000 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 500 Data size: 173000 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string), _col1 (type: string), '2008-04-08' (type: string), '11' (type: string), _col2 (type: string), _col3 (type: string), '2008-04-08' (type: string), '14' (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7
- Statistics: Num rows: 500 Data size: 453000 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 500 Data size: 353000 Basic stats: COMPLETE Column stats: COMPLETE
Limit
Number of rows: 5
- Statistics: Num rows: 5 Data size: 4530 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 5 Data size: 3530 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
GlobalTableId: 0
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 5 Data size: 4530 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 5 Data size: 3530 Basic stats: COMPLETE Column stats: COMPLETE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
diff --git a/ql/src/test/results/clientpositive/input26.q.out b/ql/src/test/results/clientpositive/input26.q.out
index 9d7a93e..fb68f15 100644
--- a/ql/src/test/results/clientpositive/input26.q.out
+++ b/ql/src/test/results/clientpositive/input26.q.out
@@ -67,28 +67,28 @@ STAGE PLANS:
Map Operator Tree:
TableScan
Union
- Statistics: Num rows: 6 Data size: 1774 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 6 Data size: 1574 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string), _col1 (type: string), '2008-04-08' (type: string), _col2 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3
- Statistics: Num rows: 6 Data size: 3288 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 6 Data size: 2148 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 6 Data size: 3288 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 6 Data size: 2148 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
TableScan
Union
- Statistics: Num rows: 6 Data size: 1774 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 6 Data size: 1574 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string), _col1 (type: string), '2008-04-08' (type: string), _col2 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3
- Statistics: Num rows: 6 Data size: 3288 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 6 Data size: 2148 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 6 Data size: 3288 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 6 Data size: 2148 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -100,20 +100,20 @@ STAGE PLANS:
TableScan
alias: b
filterExpr: ((ds = '2008-04-08') and (hr = '14')) (type: boolean)
- Statistics: Num rows: 1 Data size: 736 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 536 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
predicate: ((ds = '2008-04-08') and (hr = '14')) (type: boolean)
- Statistics: Num rows: 1 Data size: 736 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 536 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 168 Basic stats: COMPLETE Column stats: COMPLETE
Limit
Number of rows: 5
- Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 168 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
sort order:
- Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 168 Basic stats: COMPLETE Column stats: COMPLETE
TopN Hash Memory Usage: 0.1
value expressions: _col0 (type: string), _col1 (type: string)
Execution mode: vectorized
@@ -121,14 +121,14 @@ STAGE PLANS:
Select Operator
expressions: VALUE._col0 (type: string), VALUE._col1 (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 168 Basic stats: COMPLETE Column stats: COMPLETE
Limit
Number of rows: 5
- Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 168 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string), _col1 (type: string), '14' (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 1 Data size: 454 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 254 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
table:
diff --git a/ql/src/test/results/clientpositive/input42.q.out b/ql/src/test/results/clientpositive/input42.q.out
index 27917f7..9b17445 100644
--- a/ql/src/test/results/clientpositive/input42.q.out
+++ b/ql/src/test/results/clientpositive/input42.q.out
@@ -1157,7 +1157,7 @@ POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=12
#### A masked pattern was here ####
OPTIMIZED SQL: SELECT `key`, `value`, CAST('2008-04-08' AS STRING) AS `ds`, `hr`
FROM `default`.`srcpart`
-WHERE `ds` = '2008-04-08' AND `key` < 200
+WHERE `key` < 200 AND `ds` = '2008-04-08'
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -1168,7 +1168,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: a
- filterExpr: ((ds = '2008-04-08') and (UDFToDouble(key) < 200.0D)) (type: boolean)
+ filterExpr: ((UDFToDouble(key) < 200.0D) and (ds = '2008-04-08')) (type: boolean)
Statistics: Num rows: 1000 Data size: 362000 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
diff --git a/ql/src/test/results/clientpositive/input_part2.q.out b/ql/src/test/results/clientpositive/input_part2.q.out
index ea30e6a..b187bc2 100644
--- a/ql/src/test/results/clientpositive/input_part2.q.out
+++ b/ql/src/test/results/clientpositive/input_part2.q.out
@@ -57,7 +57,7 @@ STAGE PLANS:
GatherStats: false
Filter Operator
isSamplingPred: false
- predicate: ((ds = '2008-04-08') and (key < 100)) (type: boolean)
+ predicate: ((key < 100) and (ds = '2008-04-08')) (type: boolean)
Statistics: Num rows: 333 Data size: 90576 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: UDFToInteger(key) (type: int), value (type: string), '12' (type: string), '2008-04-08' (type: string)
@@ -115,7 +115,7 @@ STAGE PLANS:
auto parallelism: false
Filter Operator
isSamplingPred: false
- predicate: ((ds = '2008-04-09') and (key < 100)) (type: boolean)
+ predicate: ((key < 100) and (ds = '2008-04-09')) (type: boolean)
Statistics: Num rows: 333 Data size: 90576 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: UDFToInteger(key) (type: int), value (type: string), '12' (type: string), '2008-04-09' (type: string)
diff --git a/ql/src/test/results/clientpositive/input_part4.q.out b/ql/src/test/results/clientpositive/input_part4.q.out
index 826703f..507d901 100644
--- a/ql/src/test/results/clientpositive/input_part4.q.out
+++ b/ql/src/test/results/clientpositive/input_part4.q.out
@@ -19,14 +19,14 @@ STAGE PLANS:
TableScan
alias: x
filterExpr: ((ds = '2008-04-08') and (UDFToDouble(hr) = 15.0D)) (type: boolean)
- Statistics: Num rows: 1 Data size: 736 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 536 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((UDFToDouble(hr) = 15.0D) and (ds = '2008-04-08')) (type: boolean)
- Statistics: Num rows: 1 Data size: 736 Basic stats: COMPLETE Column stats: PARTIAL
+ predicate: ((ds = '2008-04-08') and (UDFToDouble(hr) = 15.0D)) (type: boolean)
+ Statistics: Num rows: 1 Data size: 536 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string), '2008-04-08' (type: string), hr (type: string)
outputColumnNames: _col0, _col1, _col2, _col3
- Statistics: Num rows: 1 Data size: 646 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 446 Basic stats: COMPLETE Column stats: COMPLETE
ListSink
PREHOOK: query: SELECT x.* FROM SRCPART x WHERE x.ds = '2008-04-08' and x.hr = 15
diff --git a/ql/src/test/results/clientpositive/input_part5.q.out b/ql/src/test/results/clientpositive/input_part5.q.out
index 2265a63..f8fb93c 100644
--- a/ql/src/test/results/clientpositive/input_part5.q.out
+++ b/ql/src/test/results/clientpositive/input_part5.q.out
@@ -38,7 +38,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: x
- filterExpr: ((ds = '2008-04-08') and (UDFToDouble(key) < 100.0D)) (type: boolean)
+ filterExpr: ((UDFToDouble(key) < 100.0D) and (ds = '2008-04-08')) (type: boolean)
Statistics: Num rows: 1000 Data size: 362000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
predicate: (UDFToDouble(key) < 100.0D) (type: boolean)
diff --git a/ql/src/test/results/clientpositive/input_testxpath4.q.out b/ql/src/test/results/clientpositive/input_testxpath4.q.out
index 0b1b81e..a60534d 100644
--- a/ql/src/test/results/clientpositive/input_testxpath4.q.out
+++ b/ql/src/test/results/clientpositive/input_testxpath4.q.out
@@ -28,7 +28,7 @@ STAGE PLANS:
alias: src_thrift
Statistics: Num rows: 11 Data size: 38280 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (lintstring is not null and lintstring.myint is not null and mstringstring['key_9'] is not null) (type: boolean)
+ predicate: (mstringstring['key_9'] is not null and lintstring.myint is not null and lintstring is not null) (type: boolean)
Statistics: Num rows: 11 Data size: 38280 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: mstringstring['key_9'] (type: string), lintstring.myint (type: array<int>)
@@ -105,7 +105,7 @@ STAGE PLANS:
filterExpr: (mstringstring['key_9'] is not null and lintstring.myint is not null and lintstring is not null) (type: boolean)
Statistics: Num rows: 11 Data size: 38280 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (lintstring is not null and lintstring.myint is not null and mstringstring['key_9'] is not null) (type: boolean)
+ predicate: (mstringstring['key_9'] is not null and lintstring.myint is not null and lintstring is not null) (type: boolean)
Statistics: Num rows: 11 Data size: 38280 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: mstringstring['key_9'] (type: string), lintstring.myint (type: array<int>)
diff --git a/ql/src/test/results/clientpositive/insert1.q.out b/ql/src/test/results/clientpositive/insert1.q.out
index 669d39a..93a3402 100644
--- a/ql/src/test/results/clientpositive/insert1.q.out
+++ b/ql/src/test/results/clientpositive/insert1.q.out
@@ -608,7 +608,7 @@ STAGE PLANS:
Statistics: Num rows: 1 Data size: 1052 Basic stats: COMPLETE Column stats: NONE
value expressions: _col0 (type: struct<columntype:string,min:bigint,max:bigint,countnulls:bigint,bitvector:binary>), _col1 (type: struct<columntype:string,maxlength:bigint,sumlength:bigint,count:bigint,countnulls:bigint,bitvector:binary>)
Filter Operator
- predicate: ((key < 20) and (key > 10)) (type: boolean)
+ predicate: ((key > 10) and (key < 20)) (type: boolean)
Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: int), value (type: string)
diff --git a/ql/src/test/results/clientpositive/insert2_overwrite_partitions.q.out b/ql/src/test/results/clientpositive/insert2_overwrite_partitions.q.out
index b255254..fb375f1 100644
--- a/ql/src/test/results/clientpositive/insert2_overwrite_partitions.q.out
+++ b/ql/src/test/results/clientpositive/insert2_overwrite_partitions.q.out
@@ -68,28 +68,28 @@ STAGE PLANS:
TableScan
alias: sourcetable
filterExpr: (ds = '2011-11-11') (type: boolean)
- Statistics: Num rows: 124 Data size: 104072 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 124 Data size: 40480 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: one (type: string), two (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 124 Data size: 104072 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 124 Data size: 40480 Basic stats: PARTIAL Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: string), _col1 (type: string)
sort order: --
- Statistics: Num rows: 124 Data size: 104072 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 124 Data size: 40480 Basic stats: PARTIAL Column stats: NONE
TopN Hash Memory Usage: 0.1
Execution mode: vectorized
Reduce Operator Tree:
Select Operator
expressions: KEY.reducesinkkey0 (type: string), KEY.reducesinkkey1 (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 124 Data size: 104072 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 124 Data size: 40480 Basic stats: PARTIAL Column stats: NONE
Limit
Number of rows: 5
- Statistics: Num rows: 5 Data size: 4195 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 5 Data size: 1630 Basic stats: PARTIAL Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 5 Data size: 4195 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 5 Data size: 1630 Basic stats: PARTIAL Column stats: NONE
table:
input format: org.apache.hadoop.mapred.TextInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
@@ -98,14 +98,14 @@ STAGE PLANS:
Select Operator
expressions: _col0 (type: string), _col1 (type: string), '2011-11-11' (type: string)
outputColumnNames: one, two, ds
- Statistics: Num rows: 5 Data size: 4195 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 5 Data size: 1630 Basic stats: PARTIAL Column stats: NONE
Group By Operator
aggregations: compute_stats(one, 'hll'), compute_stats(two, 'hll')
keys: ds (type: string)
minReductionHashAggr: 0.99
mode: hash
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 5 Data size: 4195 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 5 Data size: 1630 Basic stats: PARTIAL Column stats: NONE
File Output Operator
compressed: false
table:
@@ -141,7 +141,7 @@ STAGE PLANS:
key expressions: _col0 (type: string)
sort order: +
Map-reduce partition columns: _col0 (type: string)
- Statistics: Num rows: 5 Data size: 4195 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 5 Data size: 1630 Basic stats: PARTIAL Column stats: NONE
value expressions: _col1 (type: struct<columntype:string,maxlength:bigint,sumlength:bigint,count:bigint,countnulls:bigint,bitvector:binary>), _col2 (type: struct<columntype:string,maxlength:bigint,sumlength:bigint,count:bigint,countnulls:bigint,bitvector:binary>)
Execution mode: vectorized
Reduce Operator Tree:
@@ -150,14 +150,14 @@ STAGE PLANS:
keys: KEY._col0 (type: string)
mode: mergepartial
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 2 Data size: 1678 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 2 Data size: 652 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: _col1 (type: struct<columntype:string,maxlength:bigint,avglength:double,countnulls:bigint,numdistinctvalues:bigint,ndvbitvector:binary>), _col2 (type: struct<columntype:string,maxlength:bigint,avglength:double,countnulls:bigint,numdistinctvalues:bigint,ndvbitvector:binary>), _col0 (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 2 Data size: 1678 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 2 Data size: 652 Basic stats: PARTIAL Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 2 Data size: 1678 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 2 Data size: 652 Basic stats: PARTIAL Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -217,28 +217,28 @@ STAGE PLANS:
TableScan
alias: sourcetable
filterExpr: (ds = '2011-11-11') (type: boolean)
- Statistics: Num rows: 124 Data size: 104072 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 124 Data size: 40480 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: one (type: string), two (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 124 Data size: 104072 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 124 Data size: 40480 Basic stats: PARTIAL Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: string), _col1 (type: string)
sort order: --
- Statistics: Num rows: 124 Data size: 104072 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 124 Data size: 40480 Basic stats: PARTIAL Column stats: NONE
TopN Hash Memory Usage: 0.1
Execution mode: vectorized
Reduce Operator Tree:
Select Operator
expressions: KEY.reducesinkkey0 (type: string), KEY.reducesinkkey1 (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 124 Data size: 104072 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 124 Data size: 40480 Basic stats: PARTIAL Column stats: NONE
Limit
Number of rows: 5
- Statistics: Num rows: 5 Data size: 4195 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 5 Data size: 1630 Basic stats: PARTIAL Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 5 Data size: 4195 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 5 Data size: 1630 Basic stats: PARTIAL Column stats: NONE
table:
input format: org.apache.hadoop.mapred.TextInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
@@ -247,14 +247,14 @@ STAGE PLANS:
Select Operator
expressions: _col0 (type: string), _col1 (type: string), '2011-11-11' (type: string)
outputColumnNames: one, two, ds
- Statistics: Num rows: 5 Data size: 4195 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 5 Data size: 1630 Basic stats: PARTIAL Column stats: NONE
Group By Operator
aggregations: compute_stats(one, 'hll'), compute_stats(two, 'hll')
keys: ds (type: string)
minReductionHashAggr: 0.99
mode: hash
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 5 Data size: 4195 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 5 Data size: 1630 Basic stats: PARTIAL Column stats: NONE
File Output Operator
compressed: false
table:
@@ -290,7 +290,7 @@ STAGE PLANS:
key expressions: _col0 (type: string)
sort order: +
Map-reduce partition columns: _col0 (type: string)
- Statistics: Num rows: 5 Data size: 4195 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 5 Data size: 1630 Basic stats: PARTIAL Column stats: NONE
value expressions: _col1 (type: struct<columntype:string,maxlength:bigint,sumlength:bigint,count:bigint,countnulls:bigint,bitvector:binary>), _col2 (type: struct<columntype:string,maxlength:bigint,sumlength:bigint,count:bigint,countnulls:bigint,bitvector:binary>)
Execution mode: vectorized
Reduce Operator Tree:
@@ -299,14 +299,14 @@ STAGE PLANS:
keys: KEY._col0 (type: string)
mode: mergepartial
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 2 Data size: 1678 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 2 Data size: 652 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: _col1 (type: struct<columntype:string,maxlength:bigint,avglength:double,countnulls:bigint,numdistinctvalues:bigint,ndvbitvector:binary>), _col2 (type: struct<columntype:string,maxlength:bigint,avglength:double,countnulls:bigint,numdistinctvalues:bigint,ndvbitvector:binary>), _col0 (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 2 Data size: 1678 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 2 Data size: 652 Basic stats: PARTIAL Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 2 Data size: 1678 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 2 Data size: 652 Basic stats: PARTIAL Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
diff --git a/ql/src/test/results/clientpositive/interval_3.q.out b/ql/src/test/results/clientpositive/interval_3.q.out
index ba146df..221d10e 100644
--- a/ql/src/test/results/clientpositive/interval_3.q.out
+++ b/ql/src/test/results/clientpositive/interval_3.q.out
@@ -191,7 +191,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4
Statistics: Num rows: 1 Data size: 373 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((_col3 > _col1) and (_col4 < _col2)) (type: boolean)
+ predicate: ((_col4 < _col2) and (_col3 > _col1)) (type: boolean)
Statistics: Num rows: 1 Data size: 373 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int)
diff --git a/ql/src/test/results/clientpositive/join14.q.out b/ql/src/test/results/clientpositive/join14.q.out
index 64c0441..dfe54f1 100644
--- a/ql/src/test/results/clientpositive/join14.q.out
+++ b/ql/src/test/results/clientpositive/join14.q.out
@@ -52,7 +52,7 @@ STAGE PLANS:
Statistics: Num rows: 166 Data size: 14442 Basic stats: COMPLETE Column stats: COMPLETE
TableScan
alias: srcpart
- filterExpr: ((ds = '2008-04-08') and (UDFToDouble(key) > 100.0D)) (type: boolean)
+ filterExpr: ((UDFToDouble(key) > 100.0D) and (ds = '2008-04-08')) (type: boolean)
Statistics: Num rows: 1000 Data size: 178000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
predicate: (UDFToDouble(key) > 100.0D) (type: boolean)
diff --git a/ql/src/test/results/clientpositive/join19.q.out b/ql/src/test/results/clientpositive/join19.q.out
index bf11e5c..b347fcc 100644
--- a/ql/src/test/results/clientpositive/join19.q.out
+++ b/ql/src/test/results/clientpositive/join19.q.out
@@ -139,7 +139,7 @@ STAGE PLANS:
filterExpr: ((predicate = 'http://www.ontosearch.com/2007/12/ontosofa-ns#_to') and subject is not null and object is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 552 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((predicate = 'http://www.ontosearch.com/2007/12/ontosofa-ns#_to') and object is not null and subject is not null) (type: boolean)
+ predicate: ((predicate = 'http://www.ontosearch.com/2007/12/ontosofa-ns#_to') and subject is not null and object is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 552 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: subject (type: string), object (type: string)
@@ -280,7 +280,7 @@ STAGE PLANS:
filterExpr: ((predicate = 'http://sofa.semanticweb.org/sofa/v1.0/system#__INSTANCEOF_REL') and (object = 'http://ontos/OntosMiner/Common.English/ontology#Author') and subject is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 552 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((object = 'http://ontos/OntosMiner/Common.English/ontology#Author') and (predicate = 'http://sofa.semanticweb.org/sofa/v1.0/system#__INSTANCEOF_REL') and subject is not null) (type: boolean)
+ predicate: ((predicate = 'http://sofa.semanticweb.org/sofa/v1.0/system#__INSTANCEOF_REL') and (object = 'http://ontos/OntosMiner/Common.English/ontology#Author') and subject is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 552 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: subject (type: string)
@@ -332,7 +332,7 @@ STAGE PLANS:
filterExpr: ((predicate = 'http://sofa.semanticweb.org/sofa/v1.0/system#__INSTANCEOF_REL') and (object = 'http://ontos/OntosMiner/Common.English/ontology#Citation') and subject is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 552 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((object = 'http://ontos/OntosMiner/Common.English/ontology#Citation') and (predicate = 'http://sofa.semanticweb.org/sofa/v1.0/system#__INSTANCEOF_REL') and subject is not null) (type: boolean)
+ predicate: ((predicate = 'http://sofa.semanticweb.org/sofa/v1.0/system#__INSTANCEOF_REL') and (object = 'http://ontos/OntosMiner/Common.English/ontology#Citation') and subject is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 552 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: subject (type: string)
diff --git a/ql/src/test/results/clientpositive/join2.q.out b/ql/src/test/results/clientpositive/join2.q.out
index 5d4ba81..71fa8f0 100644
--- a/ql/src/test/results/clientpositive/join2.q.out
+++ b/ql/src/test/results/clientpositive/join2.q.out
@@ -33,7 +33,7 @@ STAGE PLANS:
filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
+ predicate: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -50,7 +50,7 @@ STAGE PLANS:
filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
+ predicate: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
diff --git a/ql/src/test/results/clientpositive/join20.q.out b/ql/src/test/results/clientpositive/join20.q.out
index 8b17f8a..75fd7fb 100644
--- a/ql/src/test/results/clientpositive/join20.q.out
+++ b/ql/src/test/results/clientpositive/join20.q.out
@@ -717,7 +717,7 @@ STAGE PLANS:
filterExpr: ((key < 15) and (key < 10)) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((key < 10) and (key < 15)) (type: boolean)
+ predicate: ((key < 15) and (key < 10)) (type: boolean)
Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: key (type: string)
diff --git a/ql/src/test/results/clientpositive/join34.q.out b/ql/src/test/results/clientpositive/join34.q.out
index 40c22d5..b8fd984 100644
--- a/ql/src/test/results/clientpositive/join34.q.out
+++ b/ql/src/test/results/clientpositive/join34.q.out
@@ -35,11 +35,11 @@ POSTHOOK: Output: default@dest_j1_n1
OPTIMIZED SQL: SELECT `t5`.`key`, `t5`.`value`, `t3`.`value` AS `value1`
FROM (SELECT `key`, `value`
FROM `default`.`src`
-WHERE `key` < 20 AND CAST(`key` AS DOUBLE) BETWEEN 20 AND 100
+WHERE CAST(`key` AS DOUBLE) BETWEEN 20 AND 100 AND `key` < 20
UNION ALL
SELECT `key`, `value`
FROM `default`.`src`
-WHERE `key` > 100 AND CAST(`key` AS DOUBLE) BETWEEN 20 AND 100) AS `t3`
+WHERE CAST(`key` AS DOUBLE) BETWEEN 20 AND 100 AND `key` > 100) AS `t3`
INNER JOIN (SELECT `key`, `value`
FROM `default`.`src1`
WHERE CAST(`key` AS DOUBLE) BETWEEN 20 AND 100 AND `key` IS NOT NULL) AS `t5` ON `t3`.`key` = `t5`.`key`
@@ -83,12 +83,12 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: x
- filterExpr: ((UDFToDouble(key) < 20.0D) and UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D) (type: boolean)
+ filterExpr: (UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D and (UDFToDouble(key) < 20.0D)) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
isSamplingPred: false
- predicate: ((UDFToDouble(key) < 20.0D) and UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D) (type: boolean)
+ predicate: (UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D and (UDFToDouble(key) < 20.0D)) (type: boolean)
Statistics: Num rows: 148 Data size: 26344 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string)
@@ -172,12 +172,12 @@ STAGE PLANS:
MultiFileSpray: false
TableScan
alias: x1
- filterExpr: ((UDFToDouble(key) > 100.0D) and UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D) (type: boolean)
+ filterExpr: (UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D and (UDFToDouble(key) > 100.0D)) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
isSamplingPred: false
- predicate: ((UDFToDouble(key) > 100.0D) and UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D) (type: boolean)
+ predicate: (UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D and (UDFToDouble(key) > 100.0D)) (type: boolean)
Statistics: Num rows: 148 Data size: 26344 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string)
diff --git a/ql/src/test/results/clientpositive/join35.q.out b/ql/src/test/results/clientpositive/join35.q.out
index f9485b3..5f91f28 100644
--- a/ql/src/test/results/clientpositive/join35.q.out
+++ b/ql/src/test/results/clientpositive/join35.q.out
@@ -35,12 +35,12 @@ POSTHOOK: Output: default@dest_j1_n24
OPTIMIZED SQL: SELECT `t5`.`key`, `t5`.`value`, `t3`.`$f1` AS `cnt`
FROM (SELECT `key`, COUNT(*) AS `$f1`
FROM `default`.`src`
-WHERE `key` < 20 AND CAST(`key` AS DOUBLE) BETWEEN 20 AND 100
+WHERE CAST(`key` AS DOUBLE) BETWEEN 20 AND 100 AND `key` < 20
GROUP BY `key`
UNION ALL
SELECT `key`, COUNT(*) AS `$f1`
FROM `default`.`src`
-WHERE `key` > 100 AND CAST(`key` AS DOUBLE) BETWEEN 20 AND 100
+WHERE CAST(`key` AS DOUBLE) BETWEEN 20 AND 100 AND `key` > 100
GROUP BY `key`) AS `t3`
INNER JOIN (SELECT `key`, `value`
FROM `default`.`src1`
@@ -60,12 +60,12 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: x
- filterExpr: ((UDFToDouble(key) < 20.0D) and UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D) (type: boolean)
+ filterExpr: (UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D and (UDFToDouble(key) < 20.0D)) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
isSamplingPred: false
- predicate: ((UDFToDouble(key) < 20.0D) and UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D) (type: boolean)
+ predicate: (UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D and (UDFToDouble(key) < 20.0D)) (type: boolean)
Statistics: Num rows: 148 Data size: 12876 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
aggregations: count()
@@ -564,12 +564,12 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: x1
- filterExpr: ((UDFToDouble(key) > 100.0D) and UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D) (type: boolean)
+ filterExpr: (UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D and (UDFToDouble(key) > 100.0D)) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
isSamplingPred: false
- predicate: ((UDFToDouble(key) > 100.0D) and UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D) (type: boolean)
+ predicate: (UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D and (UDFToDouble(key) > 100.0D)) (type: boolean)
Statistics: Num rows: 148 Data size: 12876 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
aggregations: count()
diff --git a/ql/src/test/results/clientpositive/join4.q.out b/ql/src/test/results/clientpositive/join4.q.out
index be98483..c40bd14 100644
--- a/ql/src/test/results/clientpositive/join4.q.out
+++ b/ql/src/test/results/clientpositive/join4.q.out
@@ -55,7 +55,7 @@ STAGE PLANS:
filterExpr: ((UDFToDouble(key) > 10.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 10.0D)) (type: boolean)
+ predicate: ((UDFToDouble(key) > 10.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string)
@@ -72,7 +72,7 @@ STAGE PLANS:
filterExpr: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean)
+ predicate: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string)
diff --git a/ql/src/test/results/clientpositive/join40.q.out b/ql/src/test/results/clientpositive/join40.q.out
index 5f6263c..fe2a78c 100644
--- a/ql/src/test/results/clientpositive/join40.q.out
+++ b/ql/src/test/results/clientpositive/join40.q.out
@@ -2480,7 +2480,7 @@ STAGE PLANS:
filterExpr: ((key < 15) and (key < 10)) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((key < 10) and (key < 15)) (type: boolean)
+ predicate: ((key < 15) and (key < 10)) (type: boolean)
Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: key (type: string)
diff --git a/ql/src/test/results/clientpositive/join42.q.out b/ql/src/test/results/clientpositive/join42.q.out
index e29a9a6..890811d 100644
--- a/ql/src/test/results/clientpositive/join42.q.out
+++ b/ql/src/test/results/clientpositive/join42.q.out
@@ -313,10 +313,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: acct
- filterExpr: (aid is not null and brn is not null) (type: boolean)
+ filterExpr: (brn is not null and aid is not null) (type: boolean)
Statistics: Num rows: 3 Data size: 28 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (aid is not null and brn is not null) (type: boolean)
+ predicate: (brn is not null and aid is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: aid (type: int), acc_n (type: int), brn (type: int)
diff --git a/ql/src/test/results/clientpositive/join45.q.out b/ql/src/test/results/clientpositive/join45.q.out
index 826412d..1bade2b 100644
--- a/ql/src/test/results/clientpositive/join45.q.out
+++ b/ql/src/test/results/clientpositive/join45.q.out
@@ -615,7 +615,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
Statistics: Num rows: 12500 Data size: 4612500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (((_col2 + _col5) <= 102.0D) or ((_col2 + _col5) >= 100.0D)) (type: boolean)
+ predicate: (((_col2 + _col5) >= 100.0D) or ((_col2 + _col5) <= 102.0D)) (type: boolean)
Statistics: Num rows: 8332 Data size: 3074508 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string), _col1 (type: string), _col3 (type: string), _col4 (type: string)
@@ -1824,7 +1824,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24, _col25, _col26, _col27, _col28, _col29, _col30
Statistics: Num rows: 720000 Data size: 1320479175 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (((_col0 = _col25) or ((_col29 = _col17) and _col6)) and ((_col13 = _col25) or ((_col28 = _col16) and (_col14 = _col26))) and ((_col7 = _col25) or ((_col8 = _col26) and (_col27 = _col21)))) (type: boolean)
+ predicate: (((_col7 = _col25) or ((_col8 = _col26) and (_col27 = _col21))) and ((_col13 = _col25) or ((_col28 = _col16) and (_col14 = _col26))) and ((_col0 = _col25) or ((_col29 = _col17) and _col6))) (type: boolean)
Statistics: Num rows: 303750 Data size: 557077500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col19 (type: string), _col20 (type: string), _col21 (type: int), _col22 (type: float), _col23 (type: boolean), _col24 (type: string), _col25 (type: string), _col26 (type: string), _col27 (type: int), _col28 (type: float), _col29 (type: boolean), _col30 (type: string), _col7 (type: string), _col8 (type: string), _col9 (type: int), _col10 (type: float), _col11 (type: boolean), _col12 (type: string), _col13 (type: string), _col14 (type: string), _col15 (type: int [...]
diff --git a/ql/src/test/results/clientpositive/join46.q.out b/ql/src/test/results/clientpositive/join46.q.out
index 3649968..c7ae1eb 100644
--- a/ql/src/test/results/clientpositive/join46.q.out
+++ b/ql/src/test/results/clientpositive/join46.q.out
@@ -182,10 +182,10 @@ STAGE PLANS:
value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: boolean)
TableScan
alias: test2_n0
- filterExpr: (key BETWEEN 100 AND 102 and value is not null) (type: boolean)
+ filterExpr: (value is not null and key BETWEEN 100 AND 102) (type: boolean)
Statistics: Num rows: 4 Data size: 380 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (key BETWEEN 100 AND 102 and value is not null) (type: boolean)
+ predicate: (value is not null and key BETWEEN 100 AND 102) (type: boolean)
Statistics: Num rows: 1 Data size: 95 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int), value (type: int), col_2 (type: string)
diff --git a/ql/src/test/results/clientpositive/join5.q.out b/ql/src/test/results/clientpositive/join5.q.out
index 8954183..e02aff9 100644
--- a/ql/src/test/results/clientpositive/join5.q.out
+++ b/ql/src/test/results/clientpositive/join5.q.out
@@ -72,7 +72,7 @@ STAGE PLANS:
filterExpr: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 25.0D)) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((UDFToDouble(key) < 25.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean)
+ predicate: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 25.0D)) (type: boolean)
Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string)
diff --git a/ql/src/test/results/clientpositive/join6.q.out b/ql/src/test/results/clientpositive/join6.q.out
index e3fd95b..64a83e9 100644
--- a/ql/src/test/results/clientpositive/join6.q.out
+++ b/ql/src/test/results/clientpositive/join6.q.out
@@ -55,7 +55,7 @@ STAGE PLANS:
filterExpr: ((UDFToDouble(key) > 10.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 10.0D)) (type: boolean)
+ predicate: ((UDFToDouble(key) > 10.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string)
@@ -72,7 +72,7 @@ STAGE PLANS:
filterExpr: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 25.0D)) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((UDFToDouble(key) < 25.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean)
+ predicate: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 25.0D)) (type: boolean)
Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string)
diff --git a/ql/src/test/results/clientpositive/join7.q.out b/ql/src/test/results/clientpositive/join7.q.out
index 75a23b4..d4fddfa 100644
--- a/ql/src/test/results/clientpositive/join7.q.out
+++ b/ql/src/test/results/clientpositive/join7.q.out
@@ -66,7 +66,7 @@ STAGE PLANS:
filterExpr: ((UDFToDouble(key) > 10.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 10.0D)) (type: boolean)
+ predicate: ((UDFToDouble(key) > 10.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string)
@@ -83,7 +83,7 @@ STAGE PLANS:
filterExpr: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 25.0D)) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((UDFToDouble(key) < 25.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean)
+ predicate: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 25.0D)) (type: boolean)
Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string)
@@ -126,7 +126,7 @@ STAGE PLANS:
filterExpr: ((UDFToDouble(key) > 20.0D) and (UDFToDouble(key) < 25.0D)) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((UDFToDouble(key) < 25.0D) and (UDFToDouble(key) > 20.0D)) (type: boolean)
+ predicate: ((UDFToDouble(key) > 20.0D) and (UDFToDouble(key) < 25.0D)) (type: boolean)
Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string)
diff --git a/ql/src/test/results/clientpositive/join8.q.out b/ql/src/test/results/clientpositive/join8.q.out
index 3efb3c5..4c04a45 100644
--- a/ql/src/test/results/clientpositive/join8.q.out
+++ b/ql/src/test/results/clientpositive/join8.q.out
@@ -55,7 +55,7 @@ STAGE PLANS:
filterExpr: ((UDFToDouble(key) > 10.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 10.0D)) (type: boolean)
+ predicate: ((UDFToDouble(key) > 10.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string)
@@ -72,7 +72,7 @@ STAGE PLANS:
filterExpr: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean)
+ predicate: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string)
diff --git a/ql/src/test/results/clientpositive/join_hive_626.q.out b/ql/src/test/results/clientpositive/join_hive_626.q.out
index 1b4ef9e..04279a6 100644
--- a/ql/src/test/results/clientpositive/join_hive_626.q.out
+++ b/ql/src/test/results/clientpositive/join_hive_626.q.out
@@ -86,7 +86,7 @@ STAGE PLANS:
filterExpr: (foo_id is not null and bar_id is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 192 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (bar_id is not null and foo_id is not null) (type: boolean)
+ predicate: (foo_id is not null and bar_id is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 192 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: bar_id (type: int), foo_id (type: int), bar_name (type: string)
diff --git a/ql/src/test/results/clientpositive/join_parse.q.out b/ql/src/test/results/clientpositive/join_parse.q.out
index 99ad901..aba4cb5 100644
--- a/ql/src/test/results/clientpositive/join_parse.q.out
+++ b/ql/src/test/results/clientpositive/join_parse.q.out
@@ -533,7 +533,7 @@ STAGE PLANS:
filterExpr: (value is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (key is not null and value is not null) (type: boolean)
+ predicate: (value is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string)
diff --git a/ql/src/test/results/clientpositive/join_reorder2.q.out b/ql/src/test/results/clientpositive/join_reorder2.q.out
index 927ae7a..540694c 100644
--- a/ql/src/test/results/clientpositive/join_reorder2.q.out
+++ b/ql/src/test/results/clientpositive/join_reorder2.q.out
@@ -283,7 +283,7 @@ STAGE PLANS:
filterExpr: (key is not null and val is not null and (key + 1) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((key + 1) is not null and key is not null and val is not null) (type: boolean)
+ predicate: (key is not null and val is not null and (key + 1) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: key (type: string)
@@ -296,7 +296,7 @@ STAGE PLANS:
filterExpr: (key is not null and (key + 1) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((key + 1) is not null and key is not null) (type: boolean)
+ predicate: (key is not null and (key + 1) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: key (type: string)
diff --git a/ql/src/test/results/clientpositive/join_reorder3.q.out b/ql/src/test/results/clientpositive/join_reorder3.q.out
index fc35b69..8e419e5 100644
--- a/ql/src/test/results/clientpositive/join_reorder3.q.out
+++ b/ql/src/test/results/clientpositive/join_reorder3.q.out
@@ -283,7 +283,7 @@ STAGE PLANS:
filterExpr: (key is not null and val is not null and (key + 1) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((key + 1) is not null and key is not null and val is not null) (type: boolean)
+ predicate: (key is not null and val is not null and (key + 1) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: key (type: string)
@@ -296,7 +296,7 @@ STAGE PLANS:
filterExpr: (key is not null and (key + 1) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((key + 1) is not null and key is not null) (type: boolean)
+ predicate: (key is not null and (key + 1) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: key (type: string)
diff --git a/ql/src/test/results/clientpositive/join_vc.q.out b/ql/src/test/results/clientpositive/join_vc.q.out
index d875fda..9d8141a 100644
--- a/ql/src/test/results/clientpositive/join_vc.q.out
+++ b/ql/src/test/results/clientpositive/join_vc.q.out
@@ -17,22 +17,6 @@ STAGE PLANS:
Map Reduce
Map Operator Tree:
TableScan
- alias: t1
- filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
- Filter Operator
- predicate: key is not null (type: boolean)
- Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
- Select Operator
- expressions: key (type: string)
- outputColumnNames: _col0
- Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
- Reduce Output Operator
- key expressions: _col0 (type: string)
- sort order: +
- Map-reduce partition columns: _col0 (type: string)
- Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
- TableScan
alias: t2
filterExpr: (key is not null and value is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
@@ -49,6 +33,22 @@ STAGE PLANS:
Map-reduce partition columns: _col0 (type: string)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
value expressions: _col1 (type: string)
+ TableScan
+ alias: t1
+ filterExpr: key is not null (type: boolean)
+ Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
+ Filter Operator
+ predicate: key is not null (type: boolean)
+ Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
+ Select Operator
+ expressions: key (type: string)
+ outputColumnNames: _col0
+ Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
+ Reduce Output Operator
+ key expressions: _col0 (type: string)
+ sort order: +
+ Map-reduce partition columns: _col0 (type: string)
+ Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Operator Tree:
Join Operator
condition map:
@@ -56,7 +56,7 @@ STAGE PLANS:
keys:
0 _col0 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col2
+ outputColumnNames: _col1
Statistics: Num rows: 791 Data size: 71981 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
@@ -70,9 +70,9 @@ STAGE PLANS:
Map Operator Tree:
TableScan
Reduce Output Operator
- key expressions: _col2 (type: string)
+ key expressions: _col1 (type: string)
sort order: +
- Map-reduce partition columns: _col2 (type: string)
+ Map-reduce partition columns: _col1 (type: string)
Statistics: Num rows: 791 Data size: 71981 Basic stats: COMPLETE Column stats: COMPLETE
TableScan
alias: t3
@@ -96,7 +96,7 @@ STAGE PLANS:
condition map:
Inner Join 0 to 1
keys:
- 0 _col2 (type: string)
+ 0 _col1 (type: string)
1 _col1 (type: string)
outputColumnNames: _col3, _col4, _col5
Statistics: Num rows: 1288 Data size: 239568 Basic stats: COMPLETE Column stats: COMPLETE
diff --git a/ql/src/test/results/clientpositive/join_view.q.out b/ql/src/test/results/clientpositive/join_view.q.out
index 6789b0a..7d7277d 100644
--- a/ql/src/test/results/clientpositive/join_view.q.out
+++ b/ql/src/test/results/clientpositive/join_view.q.out
@@ -63,34 +63,34 @@ STAGE PLANS:
filterExpr: (ds = '2011-09-01') (type: boolean)
properties:
insideView TRUE
- Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
predicate: (ds = '2011-09-01') (type: boolean)
- Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: bar (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
sort order:
- Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
value expressions: _col0 (type: string)
TableScan
alias: invites2
filterExpr: (ds = '2011-09-01') (type: boolean)
properties:
insideView TRUE
- Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
predicate: (ds = '2011-09-01') (type: boolean)
- Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: foo (type: int)
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: COMPLETE
Reduce Output Operator
sort order:
- Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: COMPLETE
value expressions: _col0 (type: int)
Reduce Operator Tree:
Join Operator
@@ -100,14 +100,14 @@ STAGE PLANS:
0
1
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 85 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: _col0 (type: string), _col1 (type: int), '2011-09-01' (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 1 Data size: 282 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 85 Basic stats: PARTIAL Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 1 Data size: 282 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 85 Basic stats: PARTIAL Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
diff --git a/ql/src/test/results/clientpositive/keep_uniform.q.out b/ql/src/test/results/clientpositive/keep_uniform.q.out
index 8d82c60..9d02932 100644
--- a/ql/src/test/results/clientpositive/keep_uniform.q.out
+++ b/ql/src/test/results/clientpositive/keep_uniform.q.out
@@ -452,7 +452,7 @@ STAGE PLANS:
filterExpr: (ws_order_number is not null and ws_ship_date_sk is not null and ws_ship_addr_sk is not null and ws_web_site_sk is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 240 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (ws_order_number is not null and ws_ship_addr_sk is not null and ws_ship_date_sk is not null and ws_web_site_sk is not null) (type: boolean)
+ predicate: (ws_order_number is not null and ws_ship_date_sk is not null and ws_ship_addr_sk is not null and ws_web_site_sk is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 240 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: ws_ship_date_sk (type: int), ws_ship_addr_sk (type: int), ws_web_site_sk (type: int), ws_order_number (type: int), ws_ext_ship_cost (type: decimal(7,2)), ws_net_profit (type: decimal(7,2))
diff --git a/ql/src/test/results/clientpositive/list_bucket_dml_1.q.out b/ql/src/test/results/clientpositive/list_bucket_dml_1.q.out
index 0021238..3e05a86 100644
--- a/ql/src/test/results/clientpositive/list_bucket_dml_1.q.out
+++ b/ql/src/test/results/clientpositive/list_bucket_dml_1.q.out
@@ -421,7 +421,7 @@ POSTHOOK: Input: default@list_bucketing_dynamic_part_n0@ds=2008-04-08/hr=11
#### A masked pattern was here ####
OPTIMIZED SQL: SELECT CAST('484' AS STRING) AS `key`, `value`
FROM `default`.`list_bucketing_dynamic_part_n0`
-WHERE `ds` = '2008-04-08' AND `hr` = '11' AND `key` = '484'
+WHERE `key` = '484' AND `ds` = '2008-04-08' AND `hr` = '11'
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -432,7 +432,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: list_bucketing_dynamic_part_n0
- filterExpr: ((ds = '2008-04-08') and (hr = '11') and (key = '484')) (type: boolean)
+ filterExpr: ((key = '484') and (ds = '2008-04-08') and (hr = '11')) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
diff --git a/ql/src/test/results/clientpositive/list_bucket_dml_11.q.out b/ql/src/test/results/clientpositive/list_bucket_dml_11.q.out
index f7d2368..a5ffb41 100644
--- a/ql/src/test/results/clientpositive/list_bucket_dml_11.q.out
+++ b/ql/src/test/results/clientpositive/list_bucket_dml_11.q.out
@@ -299,7 +299,7 @@ POSTHOOK: Input: default@list_bucketing_static_part_n3@ds=2008-04-08/hr=11
#### A masked pattern was here ####
OPTIMIZED SQL: SELECT `key`, CAST('val_466' AS STRING) AS `value`
FROM `default`.`list_bucketing_static_part_n3`
-WHERE `ds` = '2008-04-08' AND `hr` = '11' AND `value` = 'val_466'
+WHERE `value` = 'val_466' AND `ds` = '2008-04-08' AND `hr` = '11'
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -310,7 +310,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: list_bucketing_static_part_n3
- filterExpr: ((ds = '2008-04-08') and (hr = '11') and (value = 'val_466')) (type: boolean)
+ filterExpr: ((value = 'val_466') and (ds = '2008-04-08') and (hr = '11')) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
diff --git a/ql/src/test/results/clientpositive/list_bucket_dml_12.q.out b/ql/src/test/results/clientpositive/list_bucket_dml_12.q.out
index eea4ccb..045b81d 100644
--- a/ql/src/test/results/clientpositive/list_bucket_dml_12.q.out
+++ b/ql/src/test/results/clientpositive/list_bucket_dml_12.q.out
@@ -307,7 +307,7 @@ POSTHOOK: Input: default@list_bucketing_mul_col_n0@ds=2008-04-08/hr=11
#### A masked pattern was here ####
OPTIMIZED SQL: SELECT `col1`, CAST('466' AS STRING) AS `col2`, `col3`, CAST('val_466' AS STRING) AS `col4`, `col5`, CAST('2008-04-08' AS STRING) AS `ds`, CAST('11' AS STRING) AS `hr`
FROM `default`.`list_bucketing_mul_col_n0`
-WHERE `ds` = '2008-04-08' AND `hr` = '11' AND `col2` = '466' AND `col4` = 'val_466'
+WHERE `col2` = '466' AND `col4` = 'val_466' AND `ds` = '2008-04-08' AND `hr` = '11'
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -444,7 +444,7 @@ POSTHOOK: Input: default@list_bucketing_mul_col_n0@ds=2008-04-08/hr=11
#### A masked pattern was here ####
OPTIMIZED SQL: SELECT `col1`, CAST('382' AS STRING) AS `col2`, `col3`, CAST('val_382' AS STRING) AS `col4`, `col5`, CAST('2008-04-08' AS STRING) AS `ds`, CAST('11' AS STRING) AS `hr`
FROM `default`.`list_bucketing_mul_col_n0`
-WHERE `ds` = '2008-04-08' AND `hr` = '11' AND `col2` = '382' AND `col4` = 'val_382'
+WHERE `col2` = '382' AND `col4` = 'val_382' AND `ds` = '2008-04-08' AND `hr` = '11'
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
diff --git a/ql/src/test/results/clientpositive/list_bucket_dml_13.q.out b/ql/src/test/results/clientpositive/list_bucket_dml_13.q.out
index 9371b00..6d1ae67 100644
--- a/ql/src/test/results/clientpositive/list_bucket_dml_13.q.out
+++ b/ql/src/test/results/clientpositive/list_bucket_dml_13.q.out
@@ -307,7 +307,7 @@ POSTHOOK: Input: default@list_bucketing_mul_col@ds=2008-04-08/hr=2013-01-23+18%3
#### A masked pattern was here ####
OPTIMIZED SQL: SELECT `col1`, CAST('466' AS STRING) AS `col2`, `col3`, CAST('val_466' AS STRING) AS `col4`, `col5`, CAST('2008-04-08' AS STRING) AS `ds`, CAST('2013-01-23+18:00:99' AS STRING) AS `hr`
FROM `default`.`list_bucketing_mul_col`
-WHERE `ds` = '2008-04-08' AND `hr` = '2013-01-23+18:00:99' AND `col2` = '466' AND `col4` = 'val_466'
+WHERE `col2` = '466' AND `col4` = 'val_466' AND `ds` = '2008-04-08' AND `hr` = '2013-01-23+18:00:99'
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
diff --git a/ql/src/test/results/clientpositive/list_bucket_dml_2.q.out b/ql/src/test/results/clientpositive/list_bucket_dml_2.q.out
index 3ccc584..a8d414b 100644
--- a/ql/src/test/results/clientpositive/list_bucket_dml_2.q.out
+++ b/ql/src/test/results/clientpositive/list_bucket_dml_2.q.out
@@ -378,7 +378,7 @@ POSTHOOK: Input: default@list_bucketing_static_part_n4@ds=2008-04-08/hr=11
#### A masked pattern was here ####
OPTIMIZED SQL: SELECT CAST('484' AS STRING) AS `$f0`, CAST('val_484' AS STRING) AS `$f1`, CAST('2008-04-08' AS STRING) AS `$f2`, CAST('11' AS STRING) AS `$f3`
FROM `default`.`list_bucketing_static_part_n4`
-WHERE `ds` = '2008-04-08' AND `hr` = '11' AND `key` = '484' AND `value` = 'val_484'
+WHERE `key` = '484' AND `value` = 'val_484' AND `ds` = '2008-04-08' AND `hr` = '11'
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
diff --git a/ql/src/test/results/clientpositive/list_bucket_dml_3.q.out b/ql/src/test/results/clientpositive/list_bucket_dml_3.q.out
index 642158a..be21d65 100644
--- a/ql/src/test/results/clientpositive/list_bucket_dml_3.q.out
+++ b/ql/src/test/results/clientpositive/list_bucket_dml_3.q.out
@@ -370,7 +370,7 @@ POSTHOOK: Input: default@list_bucketing_static_part_n1@ds=2008-04-08/hr=11
#### A masked pattern was here ####
OPTIMIZED SQL: SELECT CAST('484' AS STRING) AS `key`, `value`
FROM `default`.`list_bucketing_static_part_n1`
-WHERE `ds` = '2008-04-08' AND `hr` = '11' AND `key` = '484'
+WHERE `key` = '484' AND `ds` = '2008-04-08' AND `hr` = '11'
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -381,7 +381,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: list_bucketing_static_part_n1
- filterExpr: ((ds = '2008-04-08') and (hr = '11') and (key = '484')) (type: boolean)
+ filterExpr: ((key = '484') and (ds = '2008-04-08') and (hr = '11')) (type: boolean)
Statistics: Num rows: 1000 Data size: 178000 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
diff --git a/ql/src/test/results/clientpositive/list_bucket_dml_4.q.out b/ql/src/test/results/clientpositive/list_bucket_dml_4.q.out
index 38b5a07..f9e1c29 100644
--- a/ql/src/test/results/clientpositive/list_bucket_dml_4.q.out
+++ b/ql/src/test/results/clientpositive/list_bucket_dml_4.q.out
@@ -830,7 +830,7 @@ POSTHOOK: Input: default@list_bucketing_static_part_n2@ds=2008-04-08/hr=11
#### A masked pattern was here ####
OPTIMIZED SQL: SELECT CAST('484' AS STRING) AS `$f0`, CAST('val_484' AS STRING) AS `$f1`, CAST('2008-04-08' AS STRING) AS `$f2`, CAST('11' AS STRING) AS `$f3`
FROM `default`.`list_bucketing_static_part_n2`
-WHERE `ds` = '2008-04-08' AND `hr` = '11' AND `key` = '484' AND `value` = 'val_484'
+WHERE `key` = '484' AND `value` = 'val_484' AND `ds` = '2008-04-08' AND `hr` = '11'
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
diff --git a/ql/src/test/results/clientpositive/list_bucket_dml_5.q.out b/ql/src/test/results/clientpositive/list_bucket_dml_5.q.out
index bc6a3a3..43db28e 100644
--- a/ql/src/test/results/clientpositive/list_bucket_dml_5.q.out
+++ b/ql/src/test/results/clientpositive/list_bucket_dml_5.q.out
@@ -428,7 +428,7 @@ POSTHOOK: Input: default@list_bucketing_dynamic_part_n1@ds=2008-04-08/hr=12
#### A masked pattern was here ####
OPTIMIZED SQL: SELECT CAST('103' AS STRING) AS `key`, CAST('val_103' AS STRING) AS `value`, CAST('2008-04-08' AS STRING) AS `ds`, `hr`
FROM `default`.`list_bucketing_dynamic_part_n1`
-WHERE `ds` = '2008-04-08' AND `key` = '103' AND `value` = 'val_103'
+WHERE `key` = '103' AND `value` = 'val_103' AND `ds` = '2008-04-08'
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
diff --git a/ql/src/test/results/clientpositive/list_bucket_dml_9.q.out b/ql/src/test/results/clientpositive/list_bucket_dml_9.q.out
index 2446e46..a95245f 100644
--- a/ql/src/test/results/clientpositive/list_bucket_dml_9.q.out
+++ b/ql/src/test/results/clientpositive/list_bucket_dml_9.q.out
@@ -830,7 +830,7 @@ POSTHOOK: Input: default@list_bucketing_static_part_n0@ds=2008-04-08/hr=11
#### A masked pattern was here ####
OPTIMIZED SQL: SELECT CAST('484' AS STRING) AS `$f0`, CAST('val_484' AS STRING) AS `$f1`, CAST('2008-04-08' AS STRING) AS `$f2`, CAST('11' AS STRING) AS `$f3`
FROM `default`.`list_bucketing_static_part_n0`
-WHERE `ds` = '2008-04-08' AND `hr` = '11' AND `key` = '484' AND `value` = 'val_484'
+WHERE `key` = '484' AND `value` = 'val_484' AND `ds` = '2008-04-08' AND `hr` = '11'
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
diff --git a/ql/src/test/results/clientpositive/list_bucket_query_multiskew_1.q.out b/ql/src/test/results/clientpositive/list_bucket_query_multiskew_1.q.out
index 32e4201..9eab039 100644
--- a/ql/src/test/results/clientpositive/list_bucket_query_multiskew_1.q.out
+++ b/ql/src/test/results/clientpositive/list_bucket_query_multiskew_1.q.out
@@ -88,7 +88,7 @@ POSTHOOK: Input: default@fact_daily@ds=1/hr=4
#### A masked pattern was here ####
OPTIMIZED SQL: SELECT CAST('484' AS STRING) AS `$f0`
FROM `default`.`fact_daily`
-WHERE `ds` = '1' AND `hr` = '4' AND `key` = '484' AND `value` = 'val_484'
+WHERE `key` = '484' AND `value` = 'val_484' AND `ds` = '1' AND `hr` = '4'
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -217,7 +217,7 @@ POSTHOOK: Input: default@fact_daily@ds=1/hr=4
#### A masked pattern was here ####
OPTIMIZED SQL: SELECT CAST('238' AS STRING) AS `$f0`, CAST('val_238' AS STRING) AS `$f1`
FROM `default`.`fact_daily`
-WHERE `ds` = '1' AND `hr` = '4' AND `key` = '238' AND `value` = 'val_238'
+WHERE `key` = '238' AND `value` = 'val_238' AND `ds` = '1' AND `hr` = '4'
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -347,7 +347,7 @@ POSTHOOK: Input: default@fact_daily@ds=1/hr=4
#### A masked pattern was here ####
OPTIMIZED SQL: SELECT `key`
FROM `default`.`fact_daily`
-WHERE `ds` = '1' AND `hr` = '4' AND `value` = '3'
+WHERE `value` = '3' AND `ds` = '1' AND `hr` = '4'
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -358,7 +358,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: fact_daily
- filterExpr: ((ds = '1') and (hr = '4') and (value = '3')) (type: boolean)
+ filterExpr: ((value = '3') and (ds = '1') and (hr = '4')) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
@@ -475,7 +475,7 @@ POSTHOOK: Input: default@fact_daily@ds=1/hr=4
#### A masked pattern was here ####
OPTIMIZED SQL: SELECT CAST('495' AS STRING) AS `key`, `value`
FROM `default`.`fact_daily`
-WHERE `ds` = '1' AND `hr` = '4' AND `key` = '495'
+WHERE `key` = '495' AND `ds` = '1' AND `hr` = '4'
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -486,7 +486,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: fact_daily
- filterExpr: ((ds = '1') and (hr = '4') and (key = '495')) (type: boolean)
+ filterExpr: ((key = '495') and (ds = '1') and (hr = '4')) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
diff --git a/ql/src/test/results/clientpositive/list_bucket_query_multiskew_2.q.out b/ql/src/test/results/clientpositive/list_bucket_query_multiskew_2.q.out
index 04ddcfe..cd0cead 100644
--- a/ql/src/test/results/clientpositive/list_bucket_query_multiskew_2.q.out
+++ b/ql/src/test/results/clientpositive/list_bucket_query_multiskew_2.q.out
@@ -88,7 +88,7 @@ POSTHOOK: Input: default@fact_daily_n2@ds=1/hr=4
#### A masked pattern was here ####
OPTIMIZED SQL: SELECT `key`, CAST('val_484' AS STRING) AS `value`
FROM `default`.`fact_daily_n2`
-WHERE `ds` = '1' AND `hr` = '4' AND `value` = 'val_484'
+WHERE `value` = 'val_484' AND `ds` = '1' AND `hr` = '4'
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -99,7 +99,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: fact_daily_n2
- filterExpr: ((ds = '1') and (hr = '4') and (value = 'val_484')) (type: boolean)
+ filterExpr: ((value = 'val_484') and (ds = '1') and (hr = '4')) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
@@ -267,7 +267,7 @@ POSTHOOK: Input: default@fact_daily_n2@ds=1/hr=4
#### A masked pattern was here ####
OPTIMIZED SQL: SELECT CAST('406' AS STRING) AS `$f0`
FROM `default`.`fact_daily_n2`
-WHERE `ds` = '1' AND `hr` = '4' AND `key` = '406'
+WHERE `key` = '406' AND `ds` = '1' AND `hr` = '4'
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -278,7 +278,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: fact_daily_n2
- filterExpr: ((ds = '1') and (hr = '4') and (key = '406')) (type: boolean)
+ filterExpr: ((key = '406') and (ds = '1') and (hr = '4')) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
diff --git a/ql/src/test/results/clientpositive/list_bucket_query_multiskew_3.q.out b/ql/src/test/results/clientpositive/list_bucket_query_multiskew_3.q.out
index a533726..6bc392d 100644
--- a/ql/src/test/results/clientpositive/list_bucket_query_multiskew_3.q.out
+++ b/ql/src/test/results/clientpositive/list_bucket_query_multiskew_3.q.out
@@ -198,7 +198,7 @@ POSTHOOK: Input: default@fact_daily_n3@ds=1/hr=1
#### A masked pattern was here ####
OPTIMIZED SQL: SELECT CAST('145' AS STRING) AS `key`, `value`, CAST('1' AS STRING) AS `ds`, CAST('1' AS STRING) AS `hr`
FROM `default`.`fact_daily_n3`
-WHERE `ds` = '1' AND `hr` = '1' AND `key` = '145'
+WHERE `key` = '145' AND `ds` = '1' AND `hr` = '1'
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -209,7 +209,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: fact_daily_n3
- filterExpr: ((ds = '1') and (hr = '1') and (key = '145')) (type: boolean)
+ filterExpr: ((key = '145') and (ds = '1') and (hr = '1')) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
@@ -361,7 +361,7 @@ POSTHOOK: Input: default@fact_daily_n3@ds=1/hr=2
#### A masked pattern was here ####
OPTIMIZED SQL: SELECT CAST('484' AS STRING) AS `$f0`, CAST('val_484' AS STRING) AS `$f1`, CAST('1' AS STRING) AS `$f2`, CAST('2' AS STRING) AS `$f3`
FROM `default`.`fact_daily_n3`
-WHERE `ds` = '1' AND `hr` = '2' AND `key` = '484' AND `value` = 'val_484'
+WHERE `key` = '484' AND `value` = 'val_484' AND `ds` = '1' AND `hr` = '2'
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -492,7 +492,7 @@ POSTHOOK: Input: default@fact_daily_n3@ds=1/hr=3
#### A masked pattern was here ####
OPTIMIZED SQL: SELECT CAST('327' AS STRING) AS `$f0`, CAST('val_327' AS STRING) AS `$f1`, CAST('1' AS STRING) AS `$f2`, CAST('3' AS STRING) AS `$f3`
FROM `default`.`fact_daily_n3`
-WHERE `ds` = '1' AND `hr` = '3' AND `key` = '327' AND `value` = 'val_327'
+WHERE `key` = '327' AND `value` = 'val_327' AND `ds` = '1' AND `hr` = '3'
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
diff --git a/ql/src/test/results/clientpositive/list_bucket_query_oneskew_1.q.out b/ql/src/test/results/clientpositive/list_bucket_query_oneskew_1.q.out
index 9ad2eb7..22e2d72 100644
--- a/ql/src/test/results/clientpositive/list_bucket_query_oneskew_1.q.out
+++ b/ql/src/test/results/clientpositive/list_bucket_query_oneskew_1.q.out
@@ -139,7 +139,7 @@ POSTHOOK: Input: default@fact_daily_n4@ds=1
#### A masked pattern was here ####
OPTIMIZED SQL: SELECT CAST(484 AS INTEGER) AS `$f0`
FROM `default`.`fact_daily_n4`
-WHERE `ds` = '1' AND `x` = 484
+WHERE `x` = 484 AND `ds` = '1'
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -150,23 +150,23 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: fact_daily_n4
- filterExpr: ((ds = '1') and (x = 484)) (type: boolean)
- Statistics: Num rows: 1 Data size: 84 Basic stats: PARTIAL Column stats: NONE
+ filterExpr: ((x = 484) and (ds = '1')) (type: boolean)
+ Statistics: Num rows: 1 Data size: 4 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: (x = 484) (type: boolean)
- Statistics: Num rows: 1 Data size: 84 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 1 Data size: 4 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: 484 (type: int)
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 84 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 1 Data size: 4 Basic stats: PARTIAL Column stats: NONE
File Output Operator
compressed: false
GlobalTableId: 0
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 1 Data size: 84 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 1 Data size: 4 Basic stats: PARTIAL Column stats: NONE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
@@ -265,7 +265,7 @@ POSTHOOK: Input: default@fact_daily_n4@ds=1
#### A masked pattern was here ####
OPTIMIZED SQL: SELECT CAST(495 AS INTEGER) AS `$f0`
FROM `default`.`fact_daily_n4`
-WHERE `ds` = '1' AND `x` = 495
+WHERE `x` = 495 AND `ds` = '1'
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -276,23 +276,23 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: fact_daily_n4
- filterExpr: ((ds = '1') and (x = 495)) (type: boolean)
- Statistics: Num rows: 1 Data size: 84 Basic stats: PARTIAL Column stats: NONE
+ filterExpr: ((x = 495) and (ds = '1')) (type: boolean)
+ Statistics: Num rows: 1 Data size: 4 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: (x = 495) (type: boolean)
- Statistics: Num rows: 1 Data size: 84 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 1 Data size: 4 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: 495 (type: int)
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 84 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 1 Data size: 4 Basic stats: PARTIAL Column stats: NONE
File Output Operator
compressed: false
GlobalTableId: 0
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 1 Data size: 84 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 1 Data size: 4 Basic stats: PARTIAL Column stats: NONE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
@@ -391,7 +391,7 @@ POSTHOOK: Input: default@fact_daily_n4@ds=1
#### A masked pattern was here ####
OPTIMIZED SQL: SELECT CAST(1 AS INTEGER) AS `$f0`
FROM `default`.`fact_daily_n4`
-WHERE `ds` = '1' AND `x` = 1
+WHERE `x` = 1 AND `ds` = '1'
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -402,23 +402,23 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: fact_daily_n4
- filterExpr: ((ds = '1') and (x = 1)) (type: boolean)
- Statistics: Num rows: 1 Data size: 84 Basic stats: PARTIAL Column stats: NONE
+ filterExpr: ((x = 1) and (ds = '1')) (type: boolean)
+ Statistics: Num rows: 1 Data size: 4 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: (x = 1) (type: boolean)
- Statistics: Num rows: 1 Data size: 84 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 1 Data size: 4 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: 1 (type: int)
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 84 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 1 Data size: 4 Basic stats: PARTIAL Column stats: NONE
File Output Operator
compressed: false
GlobalTableId: 0
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 1 Data size: 84 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 1 Data size: 4 Basic stats: PARTIAL Column stats: NONE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
diff --git a/ql/src/test/results/clientpositive/list_bucket_query_oneskew_2.q.out b/ql/src/test/results/clientpositive/list_bucket_query_oneskew_2.q.out
index 9781899..c398393 100644
--- a/ql/src/test/results/clientpositive/list_bucket_query_oneskew_2.q.out
+++ b/ql/src/test/results/clientpositive/list_bucket_query_oneskew_2.q.out
@@ -154,22 +154,22 @@ STAGE PLANS:
TableScan
alias: fact_daily_n5
filterExpr: ((ds = '1') and (x = 484)) (type: boolean)
- Statistics: Num rows: 1 Data size: 244 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 1 Data size: 4 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: (x = 484) (type: boolean)
- Statistics: Num rows: 1 Data size: 244 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 1 Data size: 4 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: 484 (type: int)
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 244 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 1 Data size: 4 Basic stats: PARTIAL Column stats: NONE
File Output Operator
compressed: false
GlobalTableId: 0
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 1 Data size: 244 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 1 Data size: 4 Basic stats: PARTIAL Column stats: NONE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
@@ -280,22 +280,22 @@ STAGE PLANS:
TableScan
alias: fact_daily_n5
filterExpr: ((ds = '1') and (x = 484)) (type: boolean)
- Statistics: Num rows: 1 Data size: 428 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 1 Data size: 188 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: (x = 484) (type: boolean)
- Statistics: Num rows: 1 Data size: 428 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 1 Data size: 188 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: 484 (type: int), y (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 428 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 1 Data size: 188 Basic stats: PARTIAL Column stats: NONE
File Output Operator
compressed: false
GlobalTableId: 0
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 1 Data size: 428 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 1 Data size: 188 Basic stats: PARTIAL Column stats: NONE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
@@ -407,29 +407,29 @@ STAGE PLANS:
TableScan
alias: fact_daily_n5
filterExpr: ((ds = '1') and (x = 484)) (type: boolean)
- Statistics: Num rows: 1 Data size: 428 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 1 Data size: 188 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: (x = 484) (type: boolean)
- Statistics: Num rows: 1 Data size: 428 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 1 Data size: 188 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: y (type: string)
outputColumnNames: y
- Statistics: Num rows: 1 Data size: 428 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 1 Data size: 188 Basic stats: PARTIAL Column stats: NONE
Group By Operator
aggregations: count()
keys: y (type: string)
minReductionHashAggr: 0.99
mode: hash
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 428 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 1 Data size: 188 Basic stats: PARTIAL Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: string)
null sort order: a
sort order: +
Map-reduce partition columns: _col0 (type: string)
- Statistics: Num rows: 1 Data size: 428 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 1 Data size: 188 Basic stats: PARTIAL Column stats: NONE
tag: -1
value expressions: _col1 (type: bigint)
auto parallelism: false
@@ -492,13 +492,13 @@ STAGE PLANS:
keys: KEY._col0 (type: string)
mode: mergepartial
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 428 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 1 Data size: 188 Basic stats: PARTIAL Column stats: NONE
File Output Operator
compressed: false
GlobalTableId: 0
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 1 Data size: 428 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 1 Data size: 188 Basic stats: PARTIAL Column stats: NONE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
@@ -558,27 +558,27 @@ STAGE PLANS:
TableScan
alias: fact_daily_n5
filterExpr: ((ds = '1') and (x = 484)) (type: boolean)
- Statistics: Num rows: 1 Data size: 244 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 1 Data size: 4 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: (x = 484) (type: boolean)
- Statistics: Num rows: 1 Data size: 244 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 1 Data size: 4 Basic stats: PARTIAL Column stats: NONE
Select Operator
- Statistics: Num rows: 1 Data size: 244 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 1 Data size: 4 Basic stats: PARTIAL Column stats: NONE
Group By Operator
aggregations: count()
keys: true (type: boolean)
minReductionHashAggr: 0.99
mode: hash
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 244 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 1 Data size: 4 Basic stats: PARTIAL Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: boolean)
null sort order: a
sort order: +
Map-reduce partition columns: _col0 (type: boolean)
- Statistics: Num rows: 1 Data size: 244 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 1 Data size: 4 Basic stats: PARTIAL Column stats: NONE
tag: -1
value expressions: _col1 (type: bigint)
auto parallelism: false
@@ -641,17 +641,17 @@ STAGE PLANS:
keys: KEY._col0 (type: boolean)
mode: mergepartial
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 244 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 1 Data size: 4 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: 484 (type: int), _col1 (type: bigint)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 244 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 1 Data size: 4 Basic stats: PARTIAL Column stats: NONE
File Output Operator
compressed: false
GlobalTableId: 0
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 1 Data size: 244 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 1 Data size: 4 Basic stats: PARTIAL Column stats: NONE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
diff --git a/ql/src/test/results/clientpositive/list_bucket_query_oneskew_3.q.out b/ql/src/test/results/clientpositive/list_bucket_query_oneskew_3.q.out
index d3fb332..a367942 100644
--- a/ql/src/test/results/clientpositive/list_bucket_query_oneskew_3.q.out
+++ b/ql/src/test/results/clientpositive/list_bucket_query_oneskew_3.q.out
@@ -174,22 +174,22 @@ STAGE PLANS:
TableScan
alias: fact_daily_n0
filterExpr: ((ds = '1') and (x <> 86)) (type: boolean)
- Statistics: Num rows: 2 Data size: 1178 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 2 Data size: 8 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: (x <> 86) (type: boolean)
- Statistics: Num rows: 2 Data size: 1178 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 2 Data size: 8 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: x (type: int)
outputColumnNames: _col0
- Statistics: Num rows: 2 Data size: 1178 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 2 Data size: 8 Basic stats: PARTIAL Column stats: NONE
File Output Operator
compressed: false
GlobalTableId: 0
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 2 Data size: 1178 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 2 Data size: 8 Basic stats: PARTIAL Column stats: NONE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
diff --git a/ql/src/test/results/clientpositive/llap/acid_vectorization_original.q.out b/ql/src/test/results/clientpositive/llap/acid_vectorization_original.q.out
index d5e852f..c9f74aa 100644
--- a/ql/src/test/results/clientpositive/llap/acid_vectorization_original.q.out
+++ b/ql/src/test/results/clientpositive/llap/acid_vectorization_original.q.out
@@ -432,19 +432,19 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: over10k_orc_bucketed
- filterExpr: ((b = 4294967363L) and (t < 100Y)) (type: boolean)
+ filterExpr: ((t < 100Y) and (b = 4294967363L)) (type: boolean)
Statistics: Num rows: 2098 Data size: 41920 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((b = 4294967363L) and (t < 100Y)) (type: boolean)
- Statistics: Num rows: 2 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: ((t < 100Y) and (b = 4294967363L)) (type: boolean)
+ Statistics: Num rows: 3 Data size: 60 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: t (type: tinyint), si (type: smallint), i (type: int)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 2 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 3 Data size: 36 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: _col0 (type: tinyint), _col1 (type: smallint), _col2 (type: int)
sort order: +++
- Statistics: Num rows: 2 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 3 Data size: 36 Basic stats: COMPLETE Column stats: COMPLETE
Execution mode: vectorized, llap
LLAP IO: may be used (ACID table)
Reducer 2
@@ -453,10 +453,10 @@ STAGE PLANS:
Select Operator
expressions: KEY.reducesinkkey0 (type: tinyint), KEY.reducesinkkey1 (type: smallint), KEY.reducesinkkey2 (type: int)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 2 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 3 Data size: 36 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 2 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 3 Data size: 36 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -506,19 +506,19 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: over10k_orc_bucketed
- filterExpr: ((b = 4294967363L) and (t < 100Y)) (type: boolean)
+ filterExpr: ((t < 100Y) and (b = 4294967363L)) (type: boolean)
Statistics: Num rows: 2098 Data size: 41920 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((b = 4294967363L) and (t < 100Y)) (type: boolean)
- Statistics: Num rows: 2 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: ((t < 100Y) and (b = 4294967363L)) (type: boolean)
+ Statistics: Num rows: 3 Data size: 60 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: ROW__ID (type: struct<writeid:bigint,bucketid:int,rowid:bigint>), t (type: tinyint), si (type: smallint), i (type: int)
outputColumnNames: _col0, _col1, _col2, _col3
- Statistics: Num rows: 2 Data size: 176 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 3 Data size: 264 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: _col0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>)
sort order: +
- Statistics: Num rows: 2 Data size: 176 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 3 Data size: 264 Basic stats: COMPLETE Column stats: COMPLETE
value expressions: _col1 (type: tinyint), _col2 (type: smallint), _col3 (type: int)
Execution mode: vectorized, llap
LLAP IO: may be used (ACID table)
@@ -528,10 +528,10 @@ STAGE PLANS:
Select Operator
expressions: KEY.reducesinkkey0 (type: struct<writeid:bigint,bucketid:int,rowid:bigint>), VALUE._col0 (type: tinyint), VALUE._col1 (type: smallint), VALUE._col2 (type: int)
outputColumnNames: _col0, _col1, _col2, _col3
- Statistics: Num rows: 2 Data size: 176 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 3 Data size: 264 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 2 Data size: 176 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 3 Data size: 264 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
diff --git a/ql/src/test/results/clientpositive/llap/auto_join29.q.out b/ql/src/test/results/clientpositive/llap/auto_join29.q.out
index f7ae23b..b5f16f3 100644
--- a/ql/src/test/results/clientpositive/llap/auto_join29.q.out
+++ b/ql/src/test/results/clientpositive/llap/auto_join29.q.out
@@ -2548,7 +2548,7 @@ STAGE PLANS:
filterExpr: ((key > 10) and (key < 10)) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((key < 10) and (key > 10)) (type: boolean)
+ predicate: ((key > 10) and (key < 10)) (type: boolean)
Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE
Map Join Operator
condition map:
@@ -2674,7 +2674,7 @@ STAGE PLANS:
filterExpr: ((key > 10) and (key < 10)) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((key < 10) and (key > 10)) (type: boolean)
+ predicate: ((key > 10) and (key < 10)) (type: boolean)
Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE
Map Join Operator
condition map:
@@ -3576,7 +3576,7 @@ STAGE PLANS:
filterExpr: ((key > 10) and (key < 10)) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((key < 10) and (key > 10)) (type: boolean)
+ predicate: ((key > 10) and (key < 10)) (type: boolean)
Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE
Map Join Operator
condition map:
diff --git a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_1.q.out b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_1.q.out
index e212a02..30914df 100644
--- a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_1.q.out
+++ b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_1.q.out
@@ -143,16 +143,16 @@ STAGE PLANS:
TableScan
alias: a
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 2 Data size: 1508 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 2 Data size: 368 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 2 Data size: 1508 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 2 Data size: 368 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 2 Data size: 1508 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 2 Data size: 368 Basic stats: PARTIAL Column stats: NONE
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -211,16 +211,16 @@ STAGE PLANS:
TableScan
alias: b
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 240 Data size: 158376 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 240 Data size: 39008 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 228 Data size: 150457 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 211 Data size: 34294 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 228 Data size: 150457 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 211 Data size: 34294 Basic stats: PARTIAL Column stats: NONE
Merge Join Operator
condition map:
Inner Join 0 to 1
@@ -228,7 +228,7 @@ STAGE PLANS:
0 _col0 (type: string)
1 _col0 (type: string)
Position of Big Table: 1
- Statistics: Num rows: 250 Data size: 165502 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 232 Data size: 37723 Basic stats: PARTIAL Column stats: NONE
Group By Operator
aggregations: count()
minReductionHashAggr: 0.99
@@ -442,16 +442,16 @@ STAGE PLANS:
TableScan
alias: b
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 2 Data size: 1508 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 2 Data size: 368 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 2 Data size: 1508 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 2 Data size: 368 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 2 Data size: 1508 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 2 Data size: 368 Basic stats: PARTIAL Column stats: NONE
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -510,16 +510,16 @@ STAGE PLANS:
TableScan
alias: a
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 240 Data size: 158376 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 240 Data size: 39008 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 228 Data size: 150457 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 211 Data size: 34294 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 228 Data size: 150457 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 211 Data size: 34294 Basic stats: PARTIAL Column stats: NONE
Merge Join Operator
condition map:
Inner Join 0 to 1
@@ -527,7 +527,7 @@ STAGE PLANS:
0 _col0 (type: string)
1 _col0 (type: string)
Position of Big Table: 0
- Statistics: Num rows: 250 Data size: 165502 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 232 Data size: 37723 Basic stats: PARTIAL Column stats: NONE
Group By Operator
aggregations: count()
minReductionHashAggr: 0.99
@@ -741,16 +741,16 @@ STAGE PLANS:
TableScan
alias: b
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 2 Data size: 1508 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 2 Data size: 368 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 2 Data size: 1508 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 2 Data size: 368 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 2 Data size: 1508 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 2 Data size: 368 Basic stats: PARTIAL Column stats: NONE
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -809,16 +809,16 @@ STAGE PLANS:
TableScan
alias: a
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 240 Data size: 158376 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 240 Data size: 39008 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 228 Data size: 150457 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 211 Data size: 34294 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 228 Data size: 150457 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 211 Data size: 34294 Basic stats: PARTIAL Column stats: NONE
Merge Join Operator
condition map:
Inner Join 0 to 1
@@ -826,7 +826,7 @@ STAGE PLANS:
0 _col0 (type: string)
1 _col0 (type: string)
Position of Big Table: 0
- Statistics: Num rows: 250 Data size: 165502 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 232 Data size: 37723 Basic stats: PARTIAL Column stats: NONE
Group By Operator
aggregations: count()
minReductionHashAggr: 0.99
diff --git a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_11.q.out b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_11.q.out
index 7ca07b9..e50941e 100644
--- a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_11.q.out
+++ b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_11.q.out
@@ -142,22 +142,22 @@ STAGE PLANS:
TableScan
alias: a
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 2 Data size: 1508 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 2 Data size: 368 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 2 Data size: 1508 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 2 Data size: 368 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 2 Data size: 1508 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 2 Data size: 368 Basic stats: PARTIAL Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: string)
null sort order: a
sort order: +
Map-reduce partition columns: _col0 (type: string)
- Statistics: Num rows: 2 Data size: 1508 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 2 Data size: 368 Basic stats: PARTIAL Column stats: NONE
tag: 0
auto parallelism: true
Execution mode: vectorized, llap
@@ -222,22 +222,22 @@ STAGE PLANS:
TableScan
alias: b
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 240 Data size: 158376 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 240 Data size: 39008 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 228 Data size: 150457 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 211 Data size: 34294 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 228 Data size: 150457 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 211 Data size: 34294 Basic stats: PARTIAL Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: string)
null sort order: a
sort order: +
Map-reduce partition columns: _col0 (type: string)
- Statistics: Num rows: 228 Data size: 150457 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 211 Data size: 34294 Basic stats: PARTIAL Column stats: NONE
tag: 1
auto parallelism: true
Execution mode: vectorized, llap
@@ -359,7 +359,7 @@ STAGE PLANS:
0 _col0 (type: string)
1 _col0 (type: string)
Position of Big Table: 1
- Statistics: Num rows: 250 Data size: 165502 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 232 Data size: 37723 Basic stats: PARTIAL Column stats: NONE
Group By Operator
aggregations: count()
minReductionHashAggr: 0.99
@@ -468,16 +468,16 @@ STAGE PLANS:
TableScan
alias: a
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 2 Data size: 1508 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 2 Data size: 368 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 2 Data size: 1508 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 2 Data size: 368 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 2 Data size: 1508 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 2 Data size: 368 Basic stats: PARTIAL Column stats: NONE
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -536,16 +536,16 @@ STAGE PLANS:
TableScan
alias: b
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 240 Data size: 158376 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 240 Data size: 39008 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 228 Data size: 150457 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 211 Data size: 34294 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 228 Data size: 150457 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 211 Data size: 34294 Basic stats: PARTIAL Column stats: NONE
Merge Join Operator
condition map:
Inner Join 0 to 1
@@ -553,7 +553,7 @@ STAGE PLANS:
0 _col0 (type: string)
1 _col0 (type: string)
Position of Big Table: 1
- Statistics: Num rows: 250 Data size: 165502 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 232 Data size: 37723 Basic stats: PARTIAL Column stats: NONE
Group By Operator
aggregations: count()
minReductionHashAggr: 0.99
diff --git a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_16.q.out b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_16.q.out
index ae19cfb..32d617f 100644
--- a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_16.q.out
+++ b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_16.q.out
@@ -227,19 +227,19 @@ STAGE PLANS:
TableScan
alias: bucket_small_n17
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 236 Data size: 45636 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 236 Data size: 43392 Basic stats: COMPLETE Column stats: NONE
Filter Operator
predicate: key is not null (type: boolean)
- Statistics: Num rows: 225 Data size: 43508 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 225 Data size: 41369 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: bigint), value (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 225 Data size: 43508 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 225 Data size: 41369 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: bigint)
sort order: +
Map-reduce partition columns: _col0 (type: bigint)
- Statistics: Num rows: 225 Data size: 43508 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 225 Data size: 41369 Basic stats: COMPLETE Column stats: NONE
value expressions: _col1 (type: string)
Execution mode: vectorized, llap
LLAP IO: no inputs
@@ -253,14 +253,14 @@ STAGE PLANS:
0 _col0 (type: bigint)
1 _col0 (type: bigint)
outputColumnNames: _col0, _col1, _col3
- Statistics: Num rows: 247 Data size: 47858 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 247 Data size: 45505 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: bigint), _col1 (type: string), _col3 (type: string), 'day1' (type: string), 1 (type: int)
outputColumnNames: _col0, _col1, _col2, _col3, _col4
- Statistics: Num rows: 247 Data size: 47858 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 247 Data size: 45505 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 247 Data size: 47858 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 247 Data size: 45505 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -378,14 +378,14 @@ STAGE PLANS:
TableScan
alias: bucket_small_n17
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 236 Data size: 45636 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 236 Data size: 43392 Basic stats: COMPLETE Column stats: NONE
Filter Operator
predicate: key is not null (type: boolean)
- Statistics: Num rows: 225 Data size: 43508 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 225 Data size: 41369 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: bigint), value (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 225 Data size: 43508 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 225 Data size: 41369 Basic stats: COMPLETE Column stats: NONE
Map Operator Tree:
TableScan
alias: bucket_big_n17
@@ -402,14 +402,14 @@ STAGE PLANS:
0 _col0 (type: bigint)
1 _col0 (type: bigint)
outputColumnNames: _col0, _col1, _col3
- Statistics: Num rows: 247 Data size: 47858 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 247 Data size: 45505 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: bigint), _col1 (type: string), _col3 (type: string), 'day1' (type: string), 1 (type: int)
outputColumnNames: _col0, _col1, _col2, _col3, _col4
- Statistics: Num rows: 247 Data size: 47858 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 247 Data size: 45505 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 247 Data size: 47858 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 247 Data size: 45505 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -637,14 +637,14 @@ STAGE PLANS:
TableScan
alias: bucket_small_n17
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 236 Data size: 45636 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 236 Data size: 43392 Basic stats: COMPLETE Column stats: NONE
Filter Operator
predicate: key is not null (type: boolean)
- Statistics: Num rows: 225 Data size: 43508 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 225 Data size: 41369 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: bigint), value (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 225 Data size: 43508 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 225 Data size: 41369 Basic stats: COMPLETE Column stats: NONE
Map Operator Tree:
TableScan
alias: bucket_big_n17
@@ -661,14 +661,14 @@ STAGE PLANS:
0 _col0 (type: bigint)
1 _col0 (type: bigint)
outputColumnNames: _col0, _col1, _col3
- Statistics: Num rows: 247 Data size: 47858 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 247 Data size: 45505 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: bigint), _col1 (type: string), _col3 (type: string), 'day1' (type: string), 1 (type: int)
outputColumnNames: _col0, _col1, _col2, _col3, _col4
- Statistics: Num rows: 247 Data size: 47858 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 247 Data size: 45505 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 247 Data size: 47858 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 247 Data size: 45505 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
diff --git a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_2.q.out b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_2.q.out
index 006bf58..8ef914b 100644
--- a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_2.q.out
+++ b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_2.q.out
@@ -125,16 +125,16 @@ STAGE PLANS:
TableScan
alias: b
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 4 Data size: 2996 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 4 Data size: 736 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 4 Data size: 2996 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 4 Data size: 736 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 4 Data size: 2996 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 4 Data size: 736 Basic stats: PARTIAL Column stats: NONE
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -193,16 +193,16 @@ STAGE PLANS:
TableScan
alias: a
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 112 Data size: 74872 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 112 Data size: 18400 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 107 Data size: 71529 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 99 Data size: 16264 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 107 Data size: 71529 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 99 Data size: 16264 Basic stats: PARTIAL Column stats: NONE
Merge Join Operator
condition map:
Inner Join 0 to 1
@@ -210,7 +210,7 @@ STAGE PLANS:
0 _col0 (type: string)
1 _col0 (type: string)
Position of Big Table: 0
- Statistics: Num rows: 117 Data size: 78681 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 108 Data size: 17890 Basic stats: PARTIAL Column stats: NONE
Group By Operator
aggregations: count()
minReductionHashAggr: 0.99
@@ -424,16 +424,16 @@ STAGE PLANS:
TableScan
alias: b
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 4 Data size: 2996 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 4 Data size: 736 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 4 Data size: 2996 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 4 Data size: 736 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 4 Data size: 2996 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 4 Data size: 736 Basic stats: PARTIAL Column stats: NONE
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -492,16 +492,16 @@ STAGE PLANS:
TableScan
alias: a
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 112 Data size: 74872 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 112 Data size: 18400 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 107 Data size: 71529 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 99 Data size: 16264 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 107 Data size: 71529 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 99 Data size: 16264 Basic stats: PARTIAL Column stats: NONE
Merge Join Operator
condition map:
Inner Join 0 to 1
@@ -509,7 +509,7 @@ STAGE PLANS:
0 _col0 (type: string)
1 _col0 (type: string)
Position of Big Table: 0
- Statistics: Num rows: 117 Data size: 78681 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 108 Data size: 17890 Basic stats: PARTIAL Column stats: NONE
Group By Operator
aggregations: count()
minReductionHashAggr: 0.99
diff --git a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_3.q.out b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_3.q.out
index bf3daea..f322641 100644
--- a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_3.q.out
+++ b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_3.q.out
@@ -125,16 +125,16 @@ STAGE PLANS:
TableScan
alias: a
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 4 Data size: 3016 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 4 Data size: 736 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 4 Data size: 3016 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 4 Data size: 736 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 4 Data size: 3016 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 4 Data size: 736 Basic stats: PARTIAL Column stats: NONE
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -243,16 +243,16 @@ STAGE PLANS:
TableScan
alias: b
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 120 Data size: 79280 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 120 Data size: 19688 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 114 Data size: 75316 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 106 Data size: 17391 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 114 Data size: 75316 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 106 Data size: 17391 Basic stats: PARTIAL Column stats: NONE
Merge Join Operator
condition map:
Inner Join 0 to 1
@@ -260,7 +260,7 @@ STAGE PLANS:
0 _col0 (type: string)
1 _col0 (type: string)
Position of Big Table: 1
- Statistics: Num rows: 125 Data size: 82847 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 116 Data size: 19130 Basic stats: PARTIAL Column stats: NONE
Group By Operator
aggregations: count()
minReductionHashAggr: 0.99
@@ -424,16 +424,16 @@ STAGE PLANS:
TableScan
alias: b
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 4 Data size: 3016 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 4 Data size: 736 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 4 Data size: 3016 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 4 Data size: 736 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 4 Data size: 3016 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 4 Data size: 736 Basic stats: PARTIAL Column stats: NONE
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -542,16 +542,16 @@ STAGE PLANS:
TableScan
alias: a
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 120 Data size: 79280 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 120 Data size: 19688 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 114 Data size: 75316 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 106 Data size: 17391 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 114 Data size: 75316 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 106 Data size: 17391 Basic stats: PARTIAL Column stats: NONE
Merge Join Operator
condition map:
Inner Join 0 to 1
@@ -559,7 +559,7 @@ STAGE PLANS:
0 _col0 (type: string)
1 _col0 (type: string)
Position of Big Table: 0
- Statistics: Num rows: 125 Data size: 82847 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 116 Data size: 19130 Basic stats: PARTIAL Column stats: NONE
Group By Operator
aggregations: count()
minReductionHashAggr: 0.99
@@ -723,16 +723,16 @@ STAGE PLANS:
TableScan
alias: b
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 4 Data size: 3016 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 4 Data size: 736 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 4 Data size: 3016 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 4 Data size: 736 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 4 Data size: 3016 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 4 Data size: 736 Basic stats: PARTIAL Column stats: NONE
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -841,16 +841,16 @@ STAGE PLANS:
TableScan
alias: a
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 120 Data size: 79280 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 120 Data size: 19688 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 114 Data size: 75316 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 106 Data size: 17391 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 114 Data size: 75316 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 106 Data size: 17391 Basic stats: PARTIAL Column stats: NONE
Merge Join Operator
condition map:
Inner Join 0 to 1
@@ -858,7 +858,7 @@ STAGE PLANS:
0 _col0 (type: string)
1 _col0 (type: string)
Position of Big Table: 0
- Statistics: Num rows: 125 Data size: 82847 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 116 Data size: 19130 Basic stats: PARTIAL Column stats: NONE
Group By Operator
aggregations: count()
minReductionHashAggr: 0.99
diff --git a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_4.q.out b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_4.q.out
index 3648092..90186c7 100644
--- a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_4.q.out
+++ b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_4.q.out
@@ -141,16 +141,16 @@ STAGE PLANS:
TableScan
alias: a
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 8 Data size: 5992 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 8 Data size: 1472 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 8 Data size: 5992 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 7 Data size: 1288 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 8 Data size: 5992 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 7 Data size: 1288 Basic stats: PARTIAL Column stats: NONE
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -259,16 +259,16 @@ STAGE PLANS:
TableScan
alias: b
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 56 Data size: 37620 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 56 Data size: 9384 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 54 Data size: 36276 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 50 Data size: 8378 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 54 Data size: 36276 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 50 Data size: 8378 Basic stats: PARTIAL Column stats: NONE
Merge Join Operator
condition map:
Inner Join 0 to 1
@@ -276,7 +276,7 @@ STAGE PLANS:
0 _col0 (type: string)
1 _col0 (type: string)
Position of Big Table: 1
- Statistics: Num rows: 59 Data size: 39903 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 55 Data size: 9215 Basic stats: PARTIAL Column stats: NONE
Group By Operator
aggregations: count()
minReductionHashAggr: 0.99
@@ -440,16 +440,16 @@ STAGE PLANS:
TableScan
alias: b
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 8 Data size: 5992 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 8 Data size: 1472 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 8 Data size: 5992 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 7 Data size: 1288 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 8 Data size: 5992 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 7 Data size: 1288 Basic stats: PARTIAL Column stats: NONE
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -558,16 +558,16 @@ STAGE PLANS:
TableScan
alias: a
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 56 Data size: 37620 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 56 Data size: 9384 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 54 Data size: 36276 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 50 Data size: 8378 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 54 Data size: 36276 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 50 Data size: 8378 Basic stats: PARTIAL Column stats: NONE
Merge Join Operator
condition map:
Inner Join 0 to 1
@@ -575,7 +575,7 @@ STAGE PLANS:
0 _col0 (type: string)
1 _col0 (type: string)
Position of Big Table: 0
- Statistics: Num rows: 59 Data size: 39903 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 55 Data size: 9215 Basic stats: PARTIAL Column stats: NONE
Group By Operator
aggregations: count()
minReductionHashAggr: 0.99
@@ -739,16 +739,16 @@ STAGE PLANS:
TableScan
alias: b
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 8 Data size: 5992 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 8 Data size: 1472 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 8 Data size: 5992 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 7 Data size: 1288 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 8 Data size: 5992 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 7 Data size: 1288 Basic stats: PARTIAL Column stats: NONE
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -857,16 +857,16 @@ STAGE PLANS:
TableScan
alias: a
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 56 Data size: 37620 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 56 Data size: 9384 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 54 Data size: 36276 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 50 Data size: 8378 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 54 Data size: 36276 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 50 Data size: 8378 Basic stats: PARTIAL Column stats: NONE
Merge Join Operator
condition map:
Inner Join 0 to 1
@@ -874,7 +874,7 @@ STAGE PLANS:
0 _col0 (type: string)
1 _col0 (type: string)
Position of Big Table: 0
- Statistics: Num rows: 59 Data size: 39903 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 55 Data size: 9215 Basic stats: PARTIAL Column stats: NONE
Group By Operator
aggregations: count()
minReductionHashAggr: 0.99
diff --git a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_6.q.out b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_6.q.out
index ad664c1..bbe673e 100644
--- a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_6.q.out
+++ b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_6.q.out
@@ -576,7 +576,7 @@ STAGE PLANS:
filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
+ predicate: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int)
@@ -588,7 +588,7 @@ STAGE PLANS:
filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
+ predicate: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int), UDFToDouble(key) (type: double)
@@ -1170,7 +1170,7 @@ STAGE PLANS:
filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
+ predicate: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int)
@@ -1182,7 +1182,7 @@ STAGE PLANS:
filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
+ predicate: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int), UDFToDouble(key) (type: double)
diff --git a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_7.q.out b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_7.q.out
index 9b1eb56..16a25de 100644
--- a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_7.q.out
+++ b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_7.q.out
@@ -160,16 +160,16 @@ STAGE PLANS:
TableScan
alias: a
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 8 Data size: 5992 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 8 Data size: 1472 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 8 Data size: 5992 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 7 Data size: 1288 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 8 Data size: 5992 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 7 Data size: 1288 Basic stats: PARTIAL Column stats: NONE
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -278,16 +278,16 @@ STAGE PLANS:
TableScan
alias: b
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 112 Data size: 74872 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 112 Data size: 18400 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 107 Data size: 71529 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 99 Data size: 16264 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 107 Data size: 71529 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 99 Data size: 16264 Basic stats: PARTIAL Column stats: NONE
Merge Join Operator
condition map:
Inner Join 0 to 1
@@ -295,7 +295,7 @@ STAGE PLANS:
0 _col0 (type: string)
1 _col0 (type: string)
Position of Big Table: 1
- Statistics: Num rows: 117 Data size: 78681 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 108 Data size: 17890 Basic stats: PARTIAL Column stats: NONE
Group By Operator
aggregations: count()
minReductionHashAggr: 0.99
@@ -513,16 +513,16 @@ STAGE PLANS:
TableScan
alias: b
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 8 Data size: 5992 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 8 Data size: 1472 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 8 Data size: 5992 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 7 Data size: 1288 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 8 Data size: 5992 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 7 Data size: 1288 Basic stats: PARTIAL Column stats: NONE
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -631,16 +631,16 @@ STAGE PLANS:
TableScan
alias: a
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 112 Data size: 74872 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 112 Data size: 18400 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 107 Data size: 71529 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 99 Data size: 16264 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 107 Data size: 71529 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 99 Data size: 16264 Basic stats: PARTIAL Column stats: NONE
Merge Join Operator
condition map:
Inner Join 0 to 1
@@ -648,7 +648,7 @@ STAGE PLANS:
0 _col0 (type: string)
1 _col0 (type: string)
Position of Big Table: 0
- Statistics: Num rows: 117 Data size: 78681 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 108 Data size: 17890 Basic stats: PARTIAL Column stats: NONE
Group By Operator
aggregations: count()
minReductionHashAggr: 0.99
@@ -866,16 +866,16 @@ STAGE PLANS:
TableScan
alias: b
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 8 Data size: 5992 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 8 Data size: 1472 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 8 Data size: 5992 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 7 Data size: 1288 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 8 Data size: 5992 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 7 Data size: 1288 Basic stats: PARTIAL Column stats: NONE
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -984,16 +984,16 @@ STAGE PLANS:
TableScan
alias: a
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 112 Data size: 74872 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 112 Data size: 18400 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 107 Data size: 71529 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 99 Data size: 16264 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 107 Data size: 71529 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 99 Data size: 16264 Basic stats: PARTIAL Column stats: NONE
Merge Join Operator
condition map:
Inner Join 0 to 1
@@ -1001,7 +1001,7 @@ STAGE PLANS:
0 _col0 (type: string)
1 _col0 (type: string)
Position of Big Table: 0
- Statistics: Num rows: 117 Data size: 78681 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 108 Data size: 17890 Basic stats: PARTIAL Column stats: NONE
Group By Operator
aggregations: count()
minReductionHashAggr: 0.99
diff --git a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_8.q.out b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_8.q.out
index a13d2a3..9d0f2ff 100644
--- a/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_8.q.out
+++ b/ql/src/test/results/clientpositive/llap/auto_sortmerge_join_8.q.out
@@ -160,16 +160,16 @@ STAGE PLANS:
TableScan
alias: a
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 4 Data size: 3016 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 4 Data size: 736 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 4 Data size: 3016 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 4 Data size: 736 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 4 Data size: 3016 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 4 Data size: 736 Basic stats: PARTIAL Column stats: NONE
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -278,16 +278,16 @@ STAGE PLANS:
TableScan
alias: b
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 240 Data size: 158376 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 240 Data size: 39008 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 228 Data size: 150457 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 211 Data size: 34294 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 228 Data size: 150457 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 211 Data size: 34294 Basic stats: PARTIAL Column stats: NONE
Merge Join Operator
condition map:
Inner Join 0 to 1
@@ -295,7 +295,7 @@ STAGE PLANS:
0 _col0 (type: string)
1 _col0 (type: string)
Position of Big Table: 1
- Statistics: Num rows: 250 Data size: 165502 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 232 Data size: 37723 Basic stats: PARTIAL Column stats: NONE
Group By Operator
aggregations: count()
minReductionHashAggr: 0.99
@@ -513,16 +513,16 @@ STAGE PLANS:
TableScan
alias: b
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 4 Data size: 3016 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 4 Data size: 736 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 4 Data size: 3016 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 4 Data size: 736 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 4 Data size: 3016 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 4 Data size: 736 Basic stats: PARTIAL Column stats: NONE
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -631,16 +631,16 @@ STAGE PLANS:
TableScan
alias: a
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 240 Data size: 158376 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 240 Data size: 39008 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 228 Data size: 150457 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 211 Data size: 34294 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 228 Data size: 150457 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 211 Data size: 34294 Basic stats: PARTIAL Column stats: NONE
Merge Join Operator
condition map:
Inner Join 0 to 1
@@ -648,7 +648,7 @@ STAGE PLANS:
0 _col0 (type: string)
1 _col0 (type: string)
Position of Big Table: 0
- Statistics: Num rows: 250 Data size: 165502 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 232 Data size: 37723 Basic stats: PARTIAL Column stats: NONE
Group By Operator
aggregations: count()
minReductionHashAggr: 0.99
@@ -866,16 +866,16 @@ STAGE PLANS:
TableScan
alias: b
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 4 Data size: 3016 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 4 Data size: 736 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 4 Data size: 3016 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 4 Data size: 736 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 4 Data size: 3016 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 4 Data size: 736 Basic stats: PARTIAL Column stats: NONE
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -984,16 +984,16 @@ STAGE PLANS:
TableScan
alias: a
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 240 Data size: 158376 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 240 Data size: 39008 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 228 Data size: 150457 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 211 Data size: 34294 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 228 Data size: 150457 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 211 Data size: 34294 Basic stats: PARTIAL Column stats: NONE
Merge Join Operator
condition map:
Inner Join 0 to 1
@@ -1001,7 +1001,7 @@ STAGE PLANS:
0 _col0 (type: string)
1 _col0 (type: string)
Position of Big Table: 0
- Statistics: Num rows: 250 Data size: 165502 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 232 Data size: 37723 Basic stats: PARTIAL Column stats: NONE
Group By Operator
aggregations: count()
minReductionHashAggr: 0.99
diff --git a/ql/src/test/results/clientpositive/llap/bucket_map_join_tez2.q.out b/ql/src/test/results/clientpositive/llap/bucket_map_join_tez2.q.out
index 91f29de..aadd8e2 100644
--- a/ql/src/test/results/clientpositive/llap/bucket_map_join_tez2.q.out
+++ b/ql/src/test/results/clientpositive/llap/bucket_map_join_tez2.q.out
@@ -1947,14 +1947,14 @@ STAGE PLANS:
TableScan
alias: big
filterExpr: i is not null (type: boolean)
- Statistics: Num rows: 10 Data size: 80 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: NONE
Filter Operator
predicate: i is not null (type: boolean)
- Statistics: Num rows: 10 Data size: 80 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: i (type: int)
outputColumnNames: _col0
- Statistics: Num rows: 10 Data size: 80 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: NONE
Map Join Operator
condition map:
Inner Join 0 to 1
@@ -1964,10 +1964,10 @@ STAGE PLANS:
outputColumnNames: _col0, _col1
input vertices:
0 Map 1
- Statistics: Num rows: 11 Data size: 88 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 11 Data size: 88 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -2390,22 +2390,22 @@ STAGE PLANS:
TableScan
alias: my_fact
filterExpr: ((fiscal_year = '2015') and (UDFToDouble(accounting_period) = 10.0D) and join_col is not null) (type: boolean)
- Statistics: Num rows: 1 Data size: 736 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 536 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
isSamplingPred: false
- predicate: ((UDFToDouble(accounting_period) = 10.0D) and (fiscal_year = '2015') and join_col is not null) (type: boolean)
- Statistics: Num rows: 1 Data size: 736 Basic stats: COMPLETE Column stats: PARTIAL
+ predicate: ((fiscal_year = '2015') and (UDFToDouble(accounting_period) = 10.0D) and join_col is not null) (type: boolean)
+ Statistics: Num rows: 1 Data size: 536 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: bucket_col (type: string), join_col (type: string), accounting_period (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 1 Data size: 552 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 352 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: _col1 (type: string)
null sort order: a
sort order: +
Map-reduce partition columns: _col1 (type: string)
- Statistics: Num rows: 1 Data size: 552 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 352 Basic stats: COMPLETE Column stats: COMPLETE
tag: 0
value expressions: _col0 (type: string), _col2 (type: string)
auto parallelism: true
diff --git a/ql/src/test/results/clientpositive/llap/bucketmapjoin1.q.out b/ql/src/test/results/clientpositive/llap/bucketmapjoin1.q.out
index 4309f21..9cf6a46 100644
--- a/ql/src/test/results/clientpositive/llap/bucketmapjoin1.q.out
+++ b/ql/src/test/results/clientpositive/llap/bucketmapjoin1.q.out
@@ -62,22 +62,22 @@ STAGE PLANS:
TableScan
alias: a
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int), value (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: _col0 (type: int)
null sort order: a
sort order: +
Map-reduce partition columns: _col0 (type: int)
- Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
tag: 0
value expressions: _col1 (type: string)
auto parallelism: true
@@ -88,22 +88,22 @@ STAGE PLANS:
TableScan
alias: b
filterExpr: ((ds = '2008-04-08') and key is not null) (type: boolean)
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: ((ds = '2008-04-08') and key is not null) (type: boolean)
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int), value (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: _col0 (type: int)
null sort order: a
sort order: +
Map-reduce partition columns: _col0 (type: int)
- Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
tag: 1
value expressions: _col1 (type: string)
auto parallelism: true
@@ -121,17 +121,17 @@ STAGE PLANS:
1 _col0 (type: int)
outputColumnNames: _col0, _col1, _col3
Position of Big Table: 0
- Statistics: Num rows: 1 Data size: 206 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 168 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col3 (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 1 Data size: 206 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 168 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
GlobalTableId: 0
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 1 Data size: 206 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 168 Basic stats: COMPLETE Column stats: COMPLETE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
@@ -209,22 +209,22 @@ STAGE PLANS:
TableScan
alias: a
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int), value (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: _col0 (type: int)
null sort order: a
sort order: +
Map-reduce partition columns: _col0 (type: int)
- Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
tag: 0
value expressions: _col1 (type: string)
auto parallelism: true
@@ -235,22 +235,22 @@ STAGE PLANS:
TableScan
alias: b
filterExpr: ((ds = '2008-04-08') and key is not null) (type: boolean)
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: ((ds = '2008-04-08') and key is not null) (type: boolean)
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int), value (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: _col0 (type: int)
null sort order: a
sort order: +
Map-reduce partition columns: _col0 (type: int)
- Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
tag: 1
value expressions: _col1 (type: string)
auto parallelism: true
@@ -268,17 +268,17 @@ STAGE PLANS:
1 _col0 (type: int)
outputColumnNames: _col0, _col1, _col3
Position of Big Table: 0
- Statistics: Num rows: 1 Data size: 206 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 168 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col3 (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 1 Data size: 206 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 168 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
GlobalTableId: 0
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 1 Data size: 206 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 168 Basic stats: COMPLETE Column stats: COMPLETE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
@@ -432,7 +432,7 @@ FROM `default`.`srcbucket_mapjoin_n1`
WHERE `key` IS NOT NULL) AS `t0`
INNER JOIN (SELECT `key`, `value`
FROM `default`.`srcbucket_mapjoin_part_n1`
-WHERE `ds` = '2008-04-08' AND `key` IS NOT NULL) AS `t2` ON `t0`.`key` = `t2`.`key`
+WHERE `key` IS NOT NULL AND `ds` = '2008-04-08') AS `t2` ON `t0`.`key` = `t2`.`key`
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-2 depends on stages: Stage-1
@@ -532,22 +532,22 @@ STAGE PLANS:
TableScan
alias: b
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 149 Data size: 85004 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 149 Data size: 23124 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: int), value (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: int)
null sort order: a
sort order: +
Map-reduce partition columns: _col0 (type: int)
- Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE
tag: 1
value expressions: _col1 (type: string)
auto parallelism: true
@@ -619,17 +619,17 @@ STAGE PLANS:
1 _col0 (type: int)
outputColumnNames: _col0, _col1, _col3
Position of Big Table: 1
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: CAST( _col0 AS STRING) (type: string), _col1 (type: string), _col3 (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
File Output Operator
compressed: false
GlobalTableId: 1
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.TextInputFormat
@@ -660,7 +660,7 @@ STAGE PLANS:
Select Operator
expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string)
outputColumnNames: key, value1, value2
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
Group By Operator
aggregations: compute_stats(key, 'hll'), compute_stats(value1, 'hll'), compute_stats(value2, 'hll')
minReductionHashAggr: 0.99
@@ -875,7 +875,7 @@ FROM `default`.`srcbucket_mapjoin_n1`
WHERE `key` IS NOT NULL) AS `t0`
INNER JOIN (SELECT `key`, `value`
FROM `default`.`srcbucket_mapjoin_part_n1`
-WHERE `ds` = '2008-04-08' AND `key` IS NOT NULL) AS `t2` ON `t0`.`key` = `t2`.`key`
+WHERE `key` IS NOT NULL AND `ds` = '2008-04-08') AS `t2` ON `t0`.`key` = `t2`.`key`
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-2 depends on stages: Stage-1
@@ -975,22 +975,22 @@ STAGE PLANS:
TableScan
alias: b
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 149 Data size: 85004 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 149 Data size: 23124 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: int), value (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: int)
null sort order: a
sort order: +
Map-reduce partition columns: _col0 (type: int)
- Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE
tag: 1
value expressions: _col1 (type: string)
auto parallelism: true
@@ -1062,17 +1062,17 @@ STAGE PLANS:
1 _col0 (type: int)
outputColumnNames: _col0, _col1, _col3
Position of Big Table: 1
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: CAST( _col0 AS STRING) (type: string), _col1 (type: string), _col3 (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
File Output Operator
compressed: false
GlobalTableId: 1
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.TextInputFormat
@@ -1103,7 +1103,7 @@ STAGE PLANS:
Select Operator
expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string)
outputColumnNames: key, value1, value2
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
Group By Operator
aggregations: compute_stats(key, 'hll'), compute_stats(value1, 'hll'), compute_stats(value2, 'hll')
minReductionHashAggr: 0.99
diff --git a/ql/src/test/results/clientpositive/llap/bucketmapjoin2.q.out b/ql/src/test/results/clientpositive/llap/bucketmapjoin2.q.out
index d5484a9..2747cfd 100644
--- a/ql/src/test/results/clientpositive/llap/bucketmapjoin2.q.out
+++ b/ql/src/test/results/clientpositive/llap/bucketmapjoin2.q.out
@@ -116,7 +116,7 @@ FROM `default`.`srcbucket_mapjoin_part_n6`
WHERE `key` IS NOT NULL) AS `t0`
INNER JOIN (SELECT `key`, `value`
FROM `default`.`srcbucket_mapjoin_part_2_n5`
-WHERE `ds` = '2008-04-08' AND `key` IS NOT NULL) AS `t2` ON `t0`.`key` = `t2`.`key`
+WHERE `key` IS NOT NULL AND `ds` = '2008-04-08') AS `t2` ON `t0`.`key` = `t2`.`key`
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-2 depends on stages: Stage-1
@@ -137,22 +137,22 @@ STAGE PLANS:
TableScan
alias: a
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 149 Data size: 85004 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 149 Data size: 23124 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: int), value (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: int)
null sort order: a
sort order: +
Map-reduce partition columns: _col0 (type: int)
- Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE
tag: 0
value expressions: _col1 (type: string)
auto parallelism: true
@@ -217,22 +217,22 @@ STAGE PLANS:
TableScan
alias: b
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 78 Data size: 44908 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 78 Data size: 12220 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 75 Data size: 43180 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 64 Data size: 10026 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: int), value (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 75 Data size: 43180 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 64 Data size: 10026 Basic stats: PARTIAL Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: int)
null sort order: a
sort order: +
Map-reduce partition columns: _col0 (type: int)
- Statistics: Num rows: 75 Data size: 43180 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 64 Data size: 10026 Basic stats: PARTIAL Column stats: NONE
tag: 1
value expressions: _col1 (type: string)
auto parallelism: true
@@ -304,17 +304,17 @@ STAGE PLANS:
1 _col0 (type: int)
outputColumnNames: _col0, _col1, _col3
Position of Big Table: 0
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: CAST( _col0 AS STRING) (type: string), _col1 (type: string), _col3 (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
File Output Operator
compressed: false
GlobalTableId: 1
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.TextInputFormat
@@ -345,7 +345,7 @@ STAGE PLANS:
Select Operator
expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string)
outputColumnNames: key, value1, value2
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
Group By Operator
aggregations: compute_stats(key, 'hll'), compute_stats(value1, 'hll'), compute_stats(value2, 'hll')
minReductionHashAggr: 0.99
@@ -566,7 +566,7 @@ FROM `default`.`srcbucket_mapjoin_part_n6`
WHERE `key` IS NOT NULL) AS `t0`
INNER JOIN (SELECT `key`, `value`
FROM `default`.`srcbucket_mapjoin_part_2_n5`
-WHERE `ds` = '2008-04-08' AND `key` IS NOT NULL) AS `t2` ON `t0`.`key` = `t2`.`key`
+WHERE `key` IS NOT NULL AND `ds` = '2008-04-08') AS `t2` ON `t0`.`key` = `t2`.`key`
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-2 depends on stages: Stage-1
@@ -587,22 +587,22 @@ STAGE PLANS:
TableScan
alias: a
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 149 Data size: 85004 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 149 Data size: 23124 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: int), value (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: int)
null sort order: a
sort order: +
Map-reduce partition columns: _col0 (type: int)
- Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE
tag: 0
value expressions: _col1 (type: string)
auto parallelism: true
@@ -667,22 +667,22 @@ STAGE PLANS:
TableScan
alias: b
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 78 Data size: 44908 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 78 Data size: 12220 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 75 Data size: 43180 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 64 Data size: 10026 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: int), value (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 75 Data size: 43180 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 64 Data size: 10026 Basic stats: PARTIAL Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: int)
null sort order: a
sort order: +
Map-reduce partition columns: _col0 (type: int)
- Statistics: Num rows: 75 Data size: 43180 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 64 Data size: 10026 Basic stats: PARTIAL Column stats: NONE
tag: 1
value expressions: _col1 (type: string)
auto parallelism: true
@@ -754,17 +754,17 @@ STAGE PLANS:
1 _col0 (type: int)
outputColumnNames: _col0, _col1, _col3
Position of Big Table: 0
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: CAST( _col0 AS STRING) (type: string), _col1 (type: string), _col3 (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
File Output Operator
compressed: false
GlobalTableId: 1
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.TextInputFormat
@@ -795,7 +795,7 @@ STAGE PLANS:
Select Operator
expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string)
outputColumnNames: key, value1, value2
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
Group By Operator
aggregations: compute_stats(key, 'hll'), compute_stats(value1, 'hll'), compute_stats(value2, 'hll')
minReductionHashAggr: 0.99
@@ -1056,22 +1056,22 @@ STAGE PLANS:
TableScan
alias: a
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 149 Data size: 85004 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 149 Data size: 23124 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: int), value (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: int)
null sort order: a
sort order: +
Map-reduce partition columns: _col0 (type: int)
- Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE
tag: 0
value expressions: _col1 (type: string)
auto parallelism: true
@@ -1136,22 +1136,22 @@ STAGE PLANS:
TableScan
alias: b
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 156 Data size: 89440 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 156 Data size: 24064 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 149 Data size: 85426 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 127 Data size: 19590 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: int), value (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 149 Data size: 85426 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 127 Data size: 19590 Basic stats: PARTIAL Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: int)
null sort order: a
sort order: +
Map-reduce partition columns: _col0 (type: int)
- Statistics: Num rows: 149 Data size: 85426 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 127 Data size: 19590 Basic stats: PARTIAL Column stats: NONE
tag: 1
value expressions: _col1 (type: string)
auto parallelism: true
@@ -1273,17 +1273,17 @@ STAGE PLANS:
1 _col0 (type: int)
outputColumnNames: _col0, _col1, _col3
Position of Big Table: 1
- Statistics: Num rows: 163 Data size: 93968 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 139 Data size: 21549 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: CAST( _col0 AS STRING) (type: string), _col1 (type: string), _col3 (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 163 Data size: 93968 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 139 Data size: 21549 Basic stats: PARTIAL Column stats: NONE
File Output Operator
compressed: false
GlobalTableId: 1
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 163 Data size: 93968 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 139 Data size: 21549 Basic stats: PARTIAL Column stats: NONE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.TextInputFormat
@@ -1314,7 +1314,7 @@ STAGE PLANS:
Select Operator
expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string)
outputColumnNames: key, value1, value2
- Statistics: Num rows: 163 Data size: 93968 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 139 Data size: 21549 Basic stats: PARTIAL Column stats: NONE
Group By Operator
aggregations: compute_stats(key, 'hll'), compute_stats(value1, 'hll'), compute_stats(value2, 'hll')
minReductionHashAggr: 0.99
diff --git a/ql/src/test/results/clientpositive/llap/bucketmapjoin3.q.out b/ql/src/test/results/clientpositive/llap/bucketmapjoin3.q.out
index a0fca8d..cc3d33b 100644
--- a/ql/src/test/results/clientpositive/llap/bucketmapjoin3.q.out
+++ b/ql/src/test/results/clientpositive/llap/bucketmapjoin3.q.out
@@ -137,10 +137,10 @@ POSTHOOK: Output: default@bucketmapjoin_tmp_result_n6
OPTIMIZED SQL: SELECT `t0`.`key`, `t0`.`value`, `t2`.`value` AS `value1`
FROM (SELECT `key`, `value`
FROM `default`.`srcbucket_mapjoin_part_2_n11`
-WHERE `ds` = '2008-04-08' AND `key` IS NOT NULL) AS `t0`
+WHERE `key` IS NOT NULL AND `ds` = '2008-04-08') AS `t0`
INNER JOIN (SELECT `key`, `value`
FROM `default`.`srcbucket_mapjoin_part_n13`
-WHERE `ds` = '2008-04-08' AND `key` IS NOT NULL) AS `t2` ON `t0`.`key` = `t2`.`key`
+WHERE `key` IS NOT NULL AND `ds` = '2008-04-08') AS `t2` ON `t0`.`key` = `t2`.`key`
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-2 depends on stages: Stage-1
@@ -161,22 +161,22 @@ STAGE PLANS:
TableScan
alias: a
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 78 Data size: 44908 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 78 Data size: 12220 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 75 Data size: 43180 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 64 Data size: 10026 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: int), value (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 75 Data size: 43180 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 64 Data size: 10026 Basic stats: PARTIAL Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: int)
null sort order: a
sort order: +
Map-reduce partition columns: _col0 (type: int)
- Statistics: Num rows: 75 Data size: 43180 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 64 Data size: 10026 Basic stats: PARTIAL Column stats: NONE
tag: 0
value expressions: _col1 (type: string)
auto parallelism: true
@@ -241,22 +241,22 @@ STAGE PLANS:
TableScan
alias: b
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 149 Data size: 85004 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 149 Data size: 23124 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: int), value (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: int)
null sort order: a
sort order: +
Map-reduce partition columns: _col0 (type: int)
- Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE
tag: 1
value expressions: _col1 (type: string)
auto parallelism: true
@@ -328,17 +328,17 @@ STAGE PLANS:
1 _col0 (type: int)
outputColumnNames: _col0, _col1, _col3
Position of Big Table: 1
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: CAST( _col0 AS STRING) (type: string), _col1 (type: string), _col3 (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
File Output Operator
compressed: false
GlobalTableId: 1
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.TextInputFormat
@@ -369,7 +369,7 @@ STAGE PLANS:
Select Operator
expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string)
outputColumnNames: key, value1, value2
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
Group By Operator
aggregations: compute_stats(key, 'hll'), compute_stats(value1, 'hll'), compute_stats(value2, 'hll')
minReductionHashAggr: 0.99
@@ -587,10 +587,10 @@ POSTHOOK: Output: default@bucketmapjoin_tmp_result_n6
OPTIMIZED SQL: SELECT `t0`.`key`, `t0`.`value`, `t2`.`value` AS `value1`
FROM (SELECT `key`, `value`
FROM `default`.`srcbucket_mapjoin_part_2_n11`
-WHERE `ds` = '2008-04-08' AND `key` IS NOT NULL) AS `t0`
+WHERE `key` IS NOT NULL AND `ds` = '2008-04-08') AS `t0`
INNER JOIN (SELECT `key`, `value`
FROM `default`.`srcbucket_mapjoin_part_n13`
-WHERE `ds` = '2008-04-08' AND `key` IS NOT NULL) AS `t2` ON `t0`.`key` = `t2`.`key`
+WHERE `key` IS NOT NULL AND `ds` = '2008-04-08') AS `t2` ON `t0`.`key` = `t2`.`key`
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-2 depends on stages: Stage-1
@@ -611,22 +611,22 @@ STAGE PLANS:
TableScan
alias: a
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 78 Data size: 44908 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 78 Data size: 12220 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 75 Data size: 43180 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 64 Data size: 10026 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: int), value (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 75 Data size: 43180 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 64 Data size: 10026 Basic stats: PARTIAL Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: int)
null sort order: a
sort order: +
Map-reduce partition columns: _col0 (type: int)
- Statistics: Num rows: 75 Data size: 43180 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 64 Data size: 10026 Basic stats: PARTIAL Column stats: NONE
tag: 0
value expressions: _col1 (type: string)
auto parallelism: true
@@ -691,22 +691,22 @@ STAGE PLANS:
TableScan
alias: b
filterExpr: key is not null (type: boolean)
- Statistics: Num rows: 149 Data size: 85004 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 149 Data size: 23124 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: key (type: int), value (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: int)
null sort order: a
sort order: +
Map-reduce partition columns: _col0 (type: int)
- Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE
tag: 1
value expressions: _col1 (type: string)
auto parallelism: true
@@ -778,17 +778,17 @@ STAGE PLANS:
1 _col0 (type: int)
outputColumnNames: _col0, _col1, _col3
Position of Big Table: 1
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: CAST( _col0 AS STRING) (type: string), _col1 (type: string), _col3 (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
File Output Operator
compressed: false
GlobalTableId: 1
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.TextInputFormat
@@ -819,7 +819,7 @@ STAGE PLANS:
Select Operator
expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string)
outputColumnNames: key, value1, value2
- Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE
Group By Operator
aggregations: compute_stats(key, 'hll'), compute_stats(value1, 'hll'), compute_stats(value2, 'hll')
minReductionHashAggr: 0.99
diff --git a/ql/src/test/results/clientpositive/llap/bucketpruning1.q.out b/ql/src/test/results/clientpositive/llap/bucketpruning1.q.out
index 3772157..d4f89bb 100644
--- a/ql/src/test/results/clientpositive/llap/bucketpruning1.q.out
+++ b/ql/src/test/results/clientpositive/llap/bucketpruning1.q.out
@@ -42,22 +42,22 @@ STAGE PLANS:
alias: srcbucket_pruned
filterExpr: (key = 1) (type: boolean)
buckets included: [13,] of 16
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: (key = 1) (type: boolean)
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: 1 (type: int), value (type: string), ds (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 272 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
GlobalTableId: 0
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 272 Basic stats: COMPLETE Column stats: COMPLETE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
@@ -111,22 +111,22 @@ STAGE PLANS:
alias: srcbucket_pruned
filterExpr: (key = 16) (type: boolean)
buckets included: [3,] of 16
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: (key = 16) (type: boolean)
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: 16 (type: int), value (type: string), ds (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 272 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
GlobalTableId: 0
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 272 Basic stats: COMPLETE Column stats: COMPLETE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
@@ -180,22 +180,22 @@ STAGE PLANS:
alias: srcbucket_pruned
filterExpr: (key = 17) (type: boolean)
buckets included: [12,] of 16
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: (key = 17) (type: boolean)
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: 17 (type: int), value (type: string), ds (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 272 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
GlobalTableId: 0
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 272 Basic stats: COMPLETE Column stats: COMPLETE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
@@ -249,22 +249,22 @@ STAGE PLANS:
alias: srcbucket_pruned
filterExpr: (key = 17) (type: boolean)
buckets included: [12,] of 16
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: (key = 17) (type: boolean)
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: 17 (type: int), value (type: string), ds (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 272 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
GlobalTableId: 0
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 272 Basic stats: COMPLETE Column stats: COMPLETE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
@@ -318,22 +318,22 @@ STAGE PLANS:
alias: srcbucket_pruned
filterExpr: (key = 11) (type: boolean)
buckets included: [5,] of 16
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: (key = 11) (type: boolean)
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: 11 (type: int), value (type: string), ds (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 272 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
GlobalTableId: 0
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 272 Basic stats: COMPLETE Column stats: COMPLETE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
@@ -387,22 +387,22 @@ STAGE PLANS:
alias: srcbucket_pruned
filterExpr: ((key = 1) and (ds = '2008-04-08')) (type: boolean)
buckets included: [13,] of 16
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
isSamplingPred: false
- predicate: ((ds = '2008-04-08') and (key = 1)) (type: boolean)
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ predicate: ((key = 1) and (ds = '2008-04-08')) (type: boolean)
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: 1 (type: int), value (type: string), '2008-04-08' (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 1 Data size: 282 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 182 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
GlobalTableId: 0
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 1 Data size: 282 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 182 Basic stats: COMPLETE Column stats: COMPLETE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
@@ -456,22 +456,22 @@ STAGE PLANS:
alias: srcbucket_pruned
filterExpr: ((key = 1) and (ds = '2008-04-08') and (value = 'One')) (type: boolean)
buckets included: [13,] of 16
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
isSamplingPred: false
- predicate: ((ds = '2008-04-08') and (key = 1) and (value = 'One')) (type: boolean)
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ predicate: ((key = 1) and (ds = '2008-04-08') and (value = 'One')) (type: boolean)
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: 1 (type: int), 'One' (type: string), '2008-04-08' (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 1 Data size: 185 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 185 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
GlobalTableId: 0
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 1 Data size: 185 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 185 Basic stats: COMPLETE Column stats: COMPLETE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
@@ -525,22 +525,22 @@ STAGE PLANS:
alias: srcbucket_pruned
filterExpr: ((value = 'One') and (key = 1) and (ds = '2008-04-08')) (type: boolean)
buckets included: [13,] of 16
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
isSamplingPred: false
- predicate: ((ds = '2008-04-08') and (key = 1) and (value = 'One')) (type: boolean)
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ predicate: ((value = 'One') and (key = 1) and (ds = '2008-04-08')) (type: boolean)
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: 1 (type: int), 'One' (type: string), '2008-04-08' (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 1 Data size: 185 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 185 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
GlobalTableId: 0
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 1 Data size: 185 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 185 Basic stats: COMPLETE Column stats: COMPLETE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
@@ -594,22 +594,22 @@ STAGE PLANS:
alias: srcbucket_pruned
filterExpr: (key) IN (2, 3) (type: boolean)
buckets included: [4,6,] of 16
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: (key) IN (2, 3) (type: boolean)
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int), value (type: string), ds (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
GlobalTableId: 0
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
@@ -663,22 +663,22 @@ STAGE PLANS:
alias: srcbucket_pruned
filterExpr: ((key) IN (2, 3) and (ds = '2008-04-08')) (type: boolean)
buckets included: [4,6,] of 16
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
isSamplingPred: false
- predicate: ((ds = '2008-04-08') and (key) IN (2, 3)) (type: boolean)
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ predicate: ((key) IN (2, 3) and (ds = '2008-04-08')) (type: boolean)
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int), value (type: string), '2008-04-08' (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 1 Data size: 282 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 178 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
GlobalTableId: 0
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 1 Data size: 282 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 178 Basic stats: COMPLETE Column stats: COMPLETE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
@@ -732,22 +732,22 @@ STAGE PLANS:
alias: srcbucket_pruned
filterExpr: ((key) IN (2, 3) and (ds = '2008-04-08') and (value = 'One')) (type: boolean)
buckets included: [4,6,] of 16
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
isSamplingPred: false
- predicate: ((ds = '2008-04-08') and (key) IN (2, 3) and (value = 'One')) (type: boolean)
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ predicate: ((key) IN (2, 3) and (ds = '2008-04-08') and (value = 'One')) (type: boolean)
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int), 'One' (type: string), '2008-04-08' (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 1 Data size: 185 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 181 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
GlobalTableId: 0
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 1 Data size: 185 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 181 Basic stats: COMPLETE Column stats: COMPLETE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
@@ -801,22 +801,22 @@ STAGE PLANS:
alias: srcbucket_pruned
filterExpr: ((key) IN (2, 3) and (value = 'One') and (ds = '2008-04-08')) (type: boolean)
buckets included: [4,6,] of 16
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
isSamplingPred: false
- predicate: ((ds = '2008-04-08') and (key) IN (2, 3) and (value = 'One')) (type: boolean)
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ predicate: ((key) IN (2, 3) and (value = 'One') and (ds = '2008-04-08')) (type: boolean)
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int), 'One' (type: string), '2008-04-08' (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 1 Data size: 185 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 181 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
GlobalTableId: 0
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 1 Data size: 185 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 181 Basic stats: COMPLETE Column stats: COMPLETE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
@@ -870,22 +870,22 @@ STAGE PLANS:
alias: srcbucket_pruned
filterExpr: ((key) IN (1, 2) and (ds = '2008-04-08')) (type: boolean)
buckets included: [4,13,] of 16
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
isSamplingPred: false
- predicate: ((ds = '2008-04-08') and (key) IN (1, 2)) (type: boolean)
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ predicate: ((key) IN (1, 2) and (ds = '2008-04-08')) (type: boolean)
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int), value (type: string), '2008-04-08' (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 1 Data size: 282 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 178 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
GlobalTableId: 0
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 1 Data size: 282 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 178 Basic stats: COMPLETE Column stats: COMPLETE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
@@ -939,22 +939,22 @@ STAGE PLANS:
alias: srcbucket_pruned
filterExpr: ((key) IN (1, 2) and (value = 'One') and (ds = '2008-04-08')) (type: boolean)
buckets included: [4,13,] of 16
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
isSamplingPred: false
- predicate: ((ds = '2008-04-08') and (key) IN (1, 2) and (value = 'One')) (type: boolean)
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ predicate: ((key) IN (1, 2) and (value = 'One') and (ds = '2008-04-08')) (type: boolean)
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int), 'One' (type: string), '2008-04-08' (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 1 Data size: 185 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 181 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
GlobalTableId: 0
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 1 Data size: 185 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 181 Basic stats: COMPLETE Column stats: COMPLETE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
@@ -1008,22 +1008,22 @@ STAGE PLANS:
alias: srcbucket_pruned
filterExpr: (key = -15) (type: boolean)
buckets included: [6,] of 16
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: (key = -15) (type: boolean)
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: -15 (type: int), value (type: string), ds (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 272 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
GlobalTableId: 0
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 272 Basic stats: COMPLETE Column stats: COMPLETE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
@@ -1077,22 +1077,22 @@ STAGE PLANS:
alias: srcbucket_pruned
filterExpr: (key) IN (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17) (type: boolean)
buckets included: [1,3,4,5,6,8,11,12,13,15,] of 16
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: (key) IN (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17) (type: boolean)
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int), value (type: string), ds (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
GlobalTableId: 0
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
@@ -1146,22 +1146,22 @@ STAGE PLANS:
alias: srcbucket_pruned
filterExpr: ((key) IN (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17) and (ds = '2008-04-08')) (type: boolean)
buckets included: [1,3,4,5,6,8,11,12,13,15,] of 16
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
isSamplingPred: false
- predicate: ((ds = '2008-04-08') and (key) IN (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)) (type: boolean)
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ predicate: ((key) IN (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17) and (ds = '2008-04-08')) (type: boolean)
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int), value (type: string), '2008-04-08' (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 1 Data size: 282 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 178 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
GlobalTableId: 0
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 1 Data size: 282 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 178 Basic stats: COMPLETE Column stats: COMPLETE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
@@ -1215,22 +1215,22 @@ STAGE PLANS:
alias: srcbucket_pruned
filterExpr: ((key) IN (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17) and (ds = '2008-04-08') and (value = 'One')) (type: boolean)
buckets included: [1,3,4,5,6,8,11,12,13,15,] of 16
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
isSamplingPred: false
- predicate: ((ds = '2008-04-08') and (key) IN (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17) and (value = 'One')) (type: boolean)
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ predicate: ((key) IN (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17) and (ds = '2008-04-08') and (value = 'One')) (type: boolean)
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int), 'One' (type: string), '2008-04-08' (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 1 Data size: 185 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 181 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
GlobalTableId: 0
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 1 Data size: 185 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 181 Basic stats: COMPLETE Column stats: COMPLETE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
@@ -1284,22 +1284,22 @@ STAGE PLANS:
alias: srcbucket_pruned
filterExpr: ((key) IN (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17) and (value = 'One') and (ds = '2008-04-08')) (type: boolean)
buckets included: [1,3,4,5,6,8,11,12,13,15,] of 16
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
isSamplingPred: false
- predicate: ((ds = '2008-04-08') and (key) IN (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17) and (value = 'One')) (type: boolean)
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ predicate: ((key) IN (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17) and (value = 'One') and (ds = '2008-04-08')) (type: boolean)
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int), 'One' (type: string), '2008-04-08' (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 1 Data size: 185 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 181 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
GlobalTableId: 0
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 1 Data size: 185 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 181 Basic stats: COMPLETE Column stats: COMPLETE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
@@ -1337,7 +1337,7 @@ POSTHOOK: Input: default@srcbucket_pruned
#### A masked pattern was here ####
OPTIMIZED SQL: SELECT `key`, `value`, `ds`
FROM `default`.`srcbucket_pruned`
-WHERE `key` = 1 AND `ds` = '2008-04-08' OR `key` = 2
+WHERE `key` = 2 OR `key` = 1 AND `ds` = '2008-04-08'
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -1351,23 +1351,23 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcbucket_pruned
- filterExpr: (((key = 1) and (ds = '2008-04-08')) or (key = 2)) (type: boolean)
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ filterExpr: ((key = 2) or ((key = 1) and (ds = '2008-04-08'))) (type: boolean)
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
isSamplingPred: false
- predicate: (((key = 1) and (ds = '2008-04-08')) or (key = 2)) (type: boolean)
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ predicate: ((key = 2) or ((key = 1) and (ds = '2008-04-08'))) (type: boolean)
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int), value (type: string), ds (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
GlobalTableId: 0
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
@@ -1421,22 +1421,22 @@ STAGE PLANS:
alias: srcbucket_pruned
filterExpr: ((value) IN ('One', 'Two') and (key = 1) and (ds = '2008-04-08')) (type: boolean)
buckets included: [13,] of 16
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
isSamplingPred: false
- predicate: ((ds = '2008-04-08') and (key = 1) and (value) IN ('One', 'Two')) (type: boolean)
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ predicate: ((value) IN ('One', 'Two') and (key = 1) and (ds = '2008-04-08')) (type: boolean)
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: 1 (type: int), value (type: string), '2008-04-08' (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 1 Data size: 282 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 182 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
GlobalTableId: 0
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 1 Data size: 282 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 182 Basic stats: COMPLETE Column stats: COMPLETE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
@@ -1489,22 +1489,22 @@ STAGE PLANS:
TableScan
alias: srcbucket_pruned
filterExpr: ((key = 1) or (value = 'One') or ((key = 2) and (value = 'Two'))) (type: boolean)
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
isSamplingPred: false
- predicate: (((key = 2) and (value = 'Two')) or (key = 1) or (value = 'One')) (type: boolean)
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ predicate: ((key = 1) or (value = 'One') or ((key = 2) and (value = 'Two'))) (type: boolean)
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int), value (type: string), ds (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
GlobalTableId: 0
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
@@ -1624,22 +1624,22 @@ STAGE PLANS:
TableScan
alias: srcbucket_pruned
filterExpr: ((key = 1) or (value = 'One')) (type: boolean)
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: ((key = 1) or (value = 'One')) (type: boolean)
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int), value (type: string), ds (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
GlobalTableId: 0
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
@@ -1692,22 +1692,22 @@ STAGE PLANS:
TableScan
alias: srcbucket_pruned
filterExpr: ((key) IN (1, 2) or (value = 'One')) (type: boolean)
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: ((key) IN (1, 2) or (value = 'One')) (type: boolean)
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int), value (type: string), ds (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
GlobalTableId: 0
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
@@ -1760,22 +1760,22 @@ STAGE PLANS:
TableScan
alias: srcbucket_unpruned
filterExpr: (key) IN (3, 5) (type: boolean)
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: (key) IN (3, 5) (type: boolean)
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int), value (type: string), ds (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
GlobalTableId: 0
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
@@ -1828,22 +1828,22 @@ STAGE PLANS:
TableScan
alias: srcbucket_unpruned
filterExpr: (key = 1) (type: boolean)
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: (key = 1) (type: boolean)
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: 1 (type: int), value (type: string), ds (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 272 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
GlobalTableId: 0
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
+ Statistics: Num rows: 1 Data size: 272 Basic stats: COMPLETE Column stats: COMPLETE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
diff --git a/ql/src/test/results/clientpositive/llap/bucketsortoptimize_insert_7.q.out b/ql/src/test/results/clientpositive/llap/bucketsortoptimize_insert_7.q.out
index 8255482..07b0b63 100644
--- a/ql/src/test/results/clientpositive/llap/bucketsortoptimize_insert_7.q.out
+++ b/ql/src/test/results/clientpositive/llap/bucketsortoptimize_insert_7.q.out
@@ -551,27 +551,27 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: test_table2_n19
- filterExpr: ((key) IN (0, 5) and (key < 8)) (type: boolean)
+ filterExpr: ((key < 8) and (key) IN (0, 5)) (type: boolean)
Statistics: Num rows: 84 Data size: 7896 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
predicate: ((key < 8) and (key) IN (0, 5)) (type: boolean)
- Statistics: Num rows: 1 Data size: 94 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 3 Data size: 282 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int), value (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 94 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 3 Data size: 282 Basic stats: COMPLETE Column stats: COMPLETE
Map Operator Tree:
TableScan
alias: test_table1_n20
- filterExpr: ((key) IN (0, 5) and (key < 8)) (type: boolean)
+ filterExpr: ((key < 8) and (key) IN (0, 5)) (type: boolean)
Statistics: Num rows: 10 Data size: 930 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
predicate: ((key < 8) and (key) IN (0, 5)) (type: boolean)
- Statistics: Num rows: 1 Data size: 93 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 3 Data size: 279 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int), value (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 93 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 3 Data size: 279 Basic stats: COMPLETE Column stats: COMPLETE
Merge Join Operator
condition map:
Inner Join 0 to 1
@@ -579,16 +579,16 @@ STAGE PLANS:
0 _col0 (type: int)
1 _col0 (type: int)
outputColumnNames: _col0, _col1, _col3
- Statistics: Num rows: 1 Data size: 183 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 3 Data size: 549 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: int), concat(_col1, _col3) (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 3 Data size: 564 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: _col0 (type: int)
sort order: +
Map-reduce partition columns: _col0 (type: int)
- Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 3 Data size: 564 Basic stats: COMPLETE Column stats: COMPLETE
value expressions: _col1 (type: string)
Execution mode: llap
Reducer 2
@@ -597,10 +597,10 @@ STAGE PLANS:
Select Operator
expressions: KEY.reducesinkkey0 (type: int), VALUE._col0 (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 3 Data size: 564 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 3 Data size: 564 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.TextInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
@@ -609,11 +609,11 @@ STAGE PLANS:
Select Operator
expressions: _col0 (type: int), _col1 (type: string), '1' (type: string)
outputColumnNames: key, value, ds
- Statistics: Num rows: 1 Data size: 273 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 3 Data size: 819 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
aggregations: compute_stats(key, 'hll'), compute_stats(value, 'hll')
keys: ds (type: string)
- minReductionHashAggr: 0.0
+ minReductionHashAggr: 0.6666666
mode: hash
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 1 Data size: 949 Basic stats: COMPLETE Column stats: COMPLETE
diff --git a/ql/src/test/results/clientpositive/llap/cbo_simple_select.q.out b/ql/src/test/results/clientpositive/llap/cbo_simple_select.q.out
index 3aa929d..8f0ba6c 100644
--- a/ql/src/test/results/clientpositive/llap/cbo_simple_select.q.out
+++ b/ql/src/test/results/clientpositive/llap/cbo_simple_select.q.out
@@ -880,7 +880,7 @@ STAGE PLANS:
alias: cbo_t2
filterExpr: (c_int is not null or (c_int = (2 * c_int))) (type: boolean)
Filter Operator
- predicate: ((c_int = (2 * c_int)) or c_int is not null) (type: boolean)
... 39777 lines suppressed ...