HIVE-17510: Make comparison of filter predicates in q files deterministic (Jesus...
authorJesus Camacho Rodriguez <jcamacho@apache.org>
Tue, 12 Sep 2017 21:59:10 +0000 (14:59 -0700)
committerJesus Camacho Rodriguez <jcamacho@apache.org>
Wed, 20 Sep 2017 19:37:38 +0000 (05:37 +1000)
454 files changed:
hbase-handler/src/test/results/positive/hbase_custom_key2.q.out
hbase-handler/src/test/results/positive/hbase_custom_key3.q.out
hbase-handler/src/test/results/positive/hbase_ppd_key_range.q.out
hbase-handler/src/test/results/positive/hbase_pushdown.q.out
hbase-handler/src/test/results/positive/hbase_queries.q.out
hbase-handler/src/test/results/positive/hbase_single_sourced_multi_insert.q.out
ql/src/java/org/apache/hadoop/hive/ql/exec/ExplainTask.java
ql/src/java/org/apache/hadoop/hive/ql/plan/Explain.java
ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeDesc.java
ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeGenericFuncDesc.java
ql/src/java/org/apache/hadoop/hive/ql/plan/FilterDesc.java
ql/src/java/org/apache/hadoop/hive/ql/plan/PlanUtils.java
ql/src/java/org/apache/hadoop/hive/ql/udf/UDFType.java
ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFOPAnd.java
ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFOPOr.java
ql/src/test/org/apache/hadoop/hive/ql/exec/TestExplainTask.java
ql/src/test/results/clientpositive/annotate_stats_deep_filters.q.out
ql/src/test/results/clientpositive/annotate_stats_filter.q.out
ql/src/test/results/clientpositive/annotate_stats_join_pkfk.q.out
ql/src/test/results/clientpositive/auto_join20.q.out
ql/src/test/results/clientpositive/auto_join28.q.out
ql/src/test/results/clientpositive/auto_join29.q.out
ql/src/test/results/clientpositive/auto_join4.q.out
ql/src/test/results/clientpositive/auto_join5.q.out
ql/src/test/results/clientpositive/auto_join6.q.out
ql/src/test/results/clientpositive/auto_join7.q.out
ql/src/test/results/clientpositive/auto_join8.q.out
ql/src/test/results/clientpositive/auto_join_reordering_values.q.out
ql/src/test/results/clientpositive/beeline/materialized_view_create_rewrite.q.out
ql/src/test/results/clientpositive/beeline/smb_mapjoin_10.q.out
ql/src/test/results/clientpositive/cbo_const.q.out
ql/src/test/results/clientpositive/cbo_rp_outer_join_ppr.q.out
ql/src/test/results/clientpositive/cbo_union_view.q.out
ql/src/test/results/clientpositive/constant_prop_1.q.out
ql/src/test/results/clientpositive/constant_prop_3.q.out
ql/src/test/results/clientpositive/correlated_join_keys.q.out
ql/src/test/results/clientpositive/correlationoptimizer10.q.out
ql/src/test/results/clientpositive/correlationoptimizer13.q.out
ql/src/test/results/clientpositive/correlationoptimizer9.q.out
ql/src/test/results/clientpositive/except_all.q.out
ql/src/test/results/clientpositive/filter_cond_pushdown.q.out
ql/src/test/results/clientpositive/filter_cond_pushdown_HIVE_15647.q.out
ql/src/test/results/clientpositive/flatten_and_or.q.out
ql/src/test/results/clientpositive/fold_eq_with_case_when.q.out
ql/src/test/results/clientpositive/folder_predicate.q.out
ql/src/test/results/clientpositive/fouter_join_ppr.q.out
ql/src/test/results/clientpositive/groupby_grouping_sets_grouping.q.out
ql/src/test/results/clientpositive/groupby_multi_single_reducer3.q.out
ql/src/test/results/clientpositive/groupby_position.q.out
ql/src/test/results/clientpositive/having2.q.out
ql/src/test/results/clientpositive/identity_project_remove_skip.q.out
ql/src/test/results/clientpositive/index_auto.q.out
ql/src/test/results/clientpositive/index_auto_mult_tables.q.out
ql/src/test/results/clientpositive/index_auto_mult_tables_compact.q.out
ql/src/test/results/clientpositive/index_auto_self_join.q.out
ql/src/test/results/clientpositive/index_auto_unused.q.out
ql/src/test/results/clientpositive/index_bitmap_compression.q.out
ql/src/test/results/clientpositive/index_compression.q.out
ql/src/test/results/clientpositive/infer_const_type.q.out
ql/src/test/results/clientpositive/input12.q.out
ql/src/test/results/clientpositive/input13.q.out
ql/src/test/results/clientpositive/input_part2.q.out
ql/src/test/results/clientpositive/input_part4.q.out
ql/src/test/results/clientpositive/input_testxpath4.q.out
ql/src/test/results/clientpositive/insert1.q.out
ql/src/test/results/clientpositive/join19.q.out
ql/src/test/results/clientpositive/join20.q.out
ql/src/test/results/clientpositive/join4.q.out
ql/src/test/results/clientpositive/join40.q.out
ql/src/test/results/clientpositive/join45.q.out
ql/src/test/results/clientpositive/join5.q.out
ql/src/test/results/clientpositive/join6.q.out
ql/src/test/results/clientpositive/join7.q.out
ql/src/test/results/clientpositive/join8.q.out
ql/src/test/results/clientpositive/join_hive_626.q.out
ql/src/test/results/clientpositive/join_parse.q.out
ql/src/test/results/clientpositive/join_reorder2.q.out
ql/src/test/results/clientpositive/join_reorder3.q.out
ql/src/test/results/clientpositive/list_bucket_query_multiskew_2.q.out
ql/src/test/results/clientpositive/llap/auto_join29.q.out
ql/src/test/results/clientpositive/llap/bucketpruning1.q.out
ql/src/test/results/clientpositive/llap/bucketsortoptimize_insert_7.q.out
ql/src/test/results/clientpositive/llap/constprog_semijoin.q.out
ql/src/test/results/clientpositive/llap/dynamic_partition_pruning.q.out
ql/src/test/results/clientpositive/llap/dynamic_semijoin_reduction.q.out
ql/src/test/results/clientpositive/llap/dynamic_semijoin_reduction_2.q.out
ql/src/test/results/clientpositive/llap/dynamic_semijoin_reduction_3.q.out
ql/src/test/results/clientpositive/llap/dynamic_semijoin_reduction_sw.q.out
ql/src/test/results/clientpositive/llap/dynamic_semijoin_user_level.q.out
ql/src/test/results/clientpositive/llap/dynpart_sort_opt_vectorization.q.out
ql/src/test/results/clientpositive/llap/dynpart_sort_optimization.q.out
ql/src/test/results/clientpositive/llap/dynpart_sort_optimization2.q.out
ql/src/test/results/clientpositive/llap/except_distinct.q.out
ql/src/test/results/clientpositive/llap/explainuser_1.q.out
ql/src/test/results/clientpositive/llap/explainuser_2.q.out
ql/src/test/results/clientpositive/llap/explainuser_4.q.out
ql/src/test/results/clientpositive/llap/hybridgrace_hashjoin_2.q.out
ql/src/test/results/clientpositive/llap/identity_project_remove_skip.q.out
ql/src/test/results/clientpositive/llap/insert1.q.out
ql/src/test/results/clientpositive/llap/join32_lessSize.q.out
ql/src/test/results/clientpositive/llap/mapjoin_hint.q.out
ql/src/test/results/clientpositive/llap/mapjoin_mapjoin.q.out
ql/src/test/results/clientpositive/llap/mergejoin.q.out
ql/src/test/results/clientpositive/llap/multiMapJoin1.q.out
ql/src/test/results/clientpositive/llap/multi_insert.q.out
ql/src/test/results/clientpositive/llap/orc_predicate_pushdown.q.out
ql/src/test/results/clientpositive/llap/parquet_predicate_pushdown.q.out
ql/src/test/results/clientpositive/llap/semijoin_hint.q.out
ql/src/test/results/clientpositive/llap/skewjoin.q.out
ql/src/test/results/clientpositive/llap/smb_mapjoin_15.q.out
ql/src/test/results/clientpositive/llap/sqlmerge.q.out
ql/src/test/results/clientpositive/llap/subquery_in.q.out
ql/src/test/results/clientpositive/llap/subquery_multi.q.out
ql/src/test/results/clientpositive/llap/subquery_notin.q.out
ql/src/test/results/clientpositive/llap/subquery_null_agg.q.out
ql/src/test/results/clientpositive/llap/subquery_scalar.q.out
ql/src/test/results/clientpositive/llap/tez_dynpart_hashjoin_1.q.out
ql/src/test/results/clientpositive/llap/tez_union_group_by.q.out
ql/src/test/results/clientpositive/llap/tez_vector_dynpart_hashjoin_1.q.out
ql/src/test/results/clientpositive/llap/vector_date_1.q.out
ql/src/test/results/clientpositive/llap/vector_decimal_cast.q.out
ql/src/test/results/clientpositive/llap/vector_decimal_expressions.q.out
ql/src/test/results/clientpositive/llap/vector_groupby_grouping_sets_grouping.q.out
ql/src/test/results/clientpositive/llap/vector_interval_2.q.out
ql/src/test/results/clientpositive/llap/vector_interval_mapjoin.q.out
ql/src/test/results/clientpositive/llap/vector_mapjoin_reduce.q.out
ql/src/test/results/clientpositive/llap/vector_mr_diff_schema_alias.q.out
ql/src/test/results/clientpositive/llap/vector_multi_insert.q.out
ql/src/test/results/clientpositive/llap/vectorization_0.q.out
ql/src/test/results/clientpositive/llap/vectorization_1.q.out
ql/src/test/results/clientpositive/llap/vectorization_10.q.out
ql/src/test/results/clientpositive/llap/vectorization_12.q.out
ql/src/test/results/clientpositive/llap/vectorization_13.q.out
ql/src/test/results/clientpositive/llap/vectorization_14.q.out
ql/src/test/results/clientpositive/llap/vectorization_15.q.out
ql/src/test/results/clientpositive/llap/vectorization_16.q.out
ql/src/test/results/clientpositive/llap/vectorization_17.q.out
ql/src/test/results/clientpositive/llap/vectorization_2.q.out
ql/src/test/results/clientpositive/llap/vectorization_3.q.out
ql/src/test/results/clientpositive/llap/vectorization_4.q.out
ql/src/test/results/clientpositive/llap/vectorization_5.q.out
ql/src/test/results/clientpositive/llap/vectorization_6.q.out
ql/src/test/results/clientpositive/llap/vectorization_7.q.out
ql/src/test/results/clientpositive/llap/vectorization_8.q.out
ql/src/test/results/clientpositive/llap/vectorization_9.q.out
ql/src/test/results/clientpositive/llap/vectorization_decimal_date.q.out
ql/src/test/results/clientpositive/llap/vectorization_short_regress.q.out
ql/src/test/results/clientpositive/llap/vectorized_case.q.out
ql/src/test/results/clientpositive/llap/vectorized_context.q.out
ql/src/test/results/clientpositive/llap/vectorized_dynamic_partition_pruning.q.out
ql/src/test/results/clientpositive/llap/vectorized_dynamic_semijoin_reduction.q.out
ql/src/test/results/clientpositive/llap/vectorized_dynamic_semijoin_reduction2.q.out
ql/src/test/results/clientpositive/llap/vectorized_nested_mapjoin.q.out
ql/src/test/results/clientpositive/llap/vectorized_string_funcs.q.out
ql/src/test/results/clientpositive/llap_uncompressed.q.out
ql/src/test/results/clientpositive/load_dyn_part13.q.out
ql/src/test/results/clientpositive/louter_join_ppr.q.out
ql/src/test/results/clientpositive/mapjoin_filter_on_outerjoin.q.out
ql/src/test/results/clientpositive/mapjoin_mapjoin.q.out
ql/src/test/results/clientpositive/masking_1.q.out
ql/src/test/results/clientpositive/masking_3.q.out
ql/src/test/results/clientpositive/masking_disablecbo_1.q.out
ql/src/test/results/clientpositive/masking_disablecbo_3.q.out
ql/src/test/results/clientpositive/materialized_view_create_rewrite.q.out
ql/src/test/results/clientpositive/multi_insert_gby.q.out
ql/src/test/results/clientpositive/multi_insert_gby4.q.out
ql/src/test/results/clientpositive/multi_insert_move_tasks_share_dependencies.q.out
ql/src/test/results/clientpositive/multi_insert_with_join2.q.out
ql/src/test/results/clientpositive/nested_column_pruning.q.out
ql/src/test/results/clientpositive/nonmr_fetch.q.out
ql/src/test/results/clientpositive/outer_join_ppr.q.out
ql/src/test/results/clientpositive/partition_wise_fileformat2.q.out
ql/src/test/results/clientpositive/pcr.q.out
ql/src/test/results/clientpositive/pcs.q.out
ql/src/test/results/clientpositive/perf/query1.q.out
ql/src/test/results/clientpositive/perf/query10.q.out
ql/src/test/results/clientpositive/perf/query11.q.out
ql/src/test/results/clientpositive/perf/query13.q.out
ql/src/test/results/clientpositive/perf/query14.q.out
ql/src/test/results/clientpositive/perf/query15.q.out
ql/src/test/results/clientpositive/perf/query16.q.out
ql/src/test/results/clientpositive/perf/query17.q.out
ql/src/test/results/clientpositive/perf/query18.q.out
ql/src/test/results/clientpositive/perf/query19.q.out
ql/src/test/results/clientpositive/perf/query21.q.out
ql/src/test/results/clientpositive/perf/query22.q.out
ql/src/test/results/clientpositive/perf/query23.q.out
ql/src/test/results/clientpositive/perf/query24.q.out
ql/src/test/results/clientpositive/perf/query25.q.out
ql/src/test/results/clientpositive/perf/query26.q.out
ql/src/test/results/clientpositive/perf/query27.q.out
ql/src/test/results/clientpositive/perf/query28.q.out
ql/src/test/results/clientpositive/perf/query29.q.out
ql/src/test/results/clientpositive/perf/query3.q.out
ql/src/test/results/clientpositive/perf/query31.q.out
ql/src/test/results/clientpositive/perf/query33.q.out
ql/src/test/results/clientpositive/perf/query34.q.out
ql/src/test/results/clientpositive/perf/query35.q.out
ql/src/test/results/clientpositive/perf/query36.q.out
ql/src/test/results/clientpositive/perf/query37.q.out
ql/src/test/results/clientpositive/perf/query38.q.out
ql/src/test/results/clientpositive/perf/query39.q.out
ql/src/test/results/clientpositive/perf/query4.q.out
ql/src/test/results/clientpositive/perf/query40.q.out
ql/src/test/results/clientpositive/perf/query42.q.out
ql/src/test/results/clientpositive/perf/query45.q.out
ql/src/test/results/clientpositive/perf/query46.q.out
ql/src/test/results/clientpositive/perf/query47.q.out
ql/src/test/results/clientpositive/perf/query48.q.out
ql/src/test/results/clientpositive/perf/query49.q.out
ql/src/test/results/clientpositive/perf/query5.q.out
ql/src/test/results/clientpositive/perf/query50.q.out
ql/src/test/results/clientpositive/perf/query51.q.out
ql/src/test/results/clientpositive/perf/query52.q.out
ql/src/test/results/clientpositive/perf/query53.q.out
ql/src/test/results/clientpositive/perf/query54.q.out
ql/src/test/results/clientpositive/perf/query55.q.out
ql/src/test/results/clientpositive/perf/query56.q.out
ql/src/test/results/clientpositive/perf/query57.q.out
ql/src/test/results/clientpositive/perf/query58.q.out
ql/src/test/results/clientpositive/perf/query59.q.out
ql/src/test/results/clientpositive/perf/query6.q.out
ql/src/test/results/clientpositive/perf/query60.q.out
ql/src/test/results/clientpositive/perf/query61.q.out
ql/src/test/results/clientpositive/perf/query63.q.out
ql/src/test/results/clientpositive/perf/query64.q.out
ql/src/test/results/clientpositive/perf/query65.q.out
ql/src/test/results/clientpositive/perf/query66.q.out
ql/src/test/results/clientpositive/perf/query67.q.out
ql/src/test/results/clientpositive/perf/query68.q.out
ql/src/test/results/clientpositive/perf/query69.q.out
ql/src/test/results/clientpositive/perf/query7.q.out
ql/src/test/results/clientpositive/perf/query70.q.out
ql/src/test/results/clientpositive/perf/query71.q.out
ql/src/test/results/clientpositive/perf/query72.q.out
ql/src/test/results/clientpositive/perf/query73.q.out
ql/src/test/results/clientpositive/perf/query74.q.out
ql/src/test/results/clientpositive/perf/query75.q.out
ql/src/test/results/clientpositive/perf/query76.q.out
ql/src/test/results/clientpositive/perf/query79.q.out
ql/src/test/results/clientpositive/perf/query80.q.out
ql/src/test/results/clientpositive/perf/query82.q.out
ql/src/test/results/clientpositive/perf/query83.q.out
ql/src/test/results/clientpositive/perf/query85.q.out
ql/src/test/results/clientpositive/perf/query86.q.out
ql/src/test/results/clientpositive/perf/query87.q.out
ql/src/test/results/clientpositive/perf/query89.q.out
ql/src/test/results/clientpositive/perf/query91.q.out
ql/src/test/results/clientpositive/perf/query93.q.out
ql/src/test/results/clientpositive/perf/query94.q.out
ql/src/test/results/clientpositive/perf/query95.q.out
ql/src/test/results/clientpositive/perf/query97.q.out
ql/src/test/results/clientpositive/perf/query99.q.out
ql/src/test/results/clientpositive/pointlookup.q.out
ql/src/test/results/clientpositive/ppd_clusterby.q.out
ql/src/test/results/clientpositive/ppd_gby.q.out
ql/src/test/results/clientpositive/ppd_gby2.q.out
ql/src/test/results/clientpositive/ppd_gby_join.q.out
ql/src/test/results/clientpositive/ppd_join.q.out
ql/src/test/results/clientpositive/ppd_join2.q.out
ql/src/test/results/clientpositive/ppd_join3.q.out
ql/src/test/results/clientpositive/ppd_join4.q.out
ql/src/test/results/clientpositive/ppd_join5.q.out
ql/src/test/results/clientpositive/ppd_multi_insert.q.out
ql/src/test/results/clientpositive/ppd_outer_join1.q.out
ql/src/test/results/clientpositive/ppd_outer_join2.q.out
ql/src/test/results/clientpositive/ppd_outer_join3.q.out
ql/src/test/results/clientpositive/ppd_outer_join4.q.out
ql/src/test/results/clientpositive/ppd_udf_case.q.out
ql/src/test/results/clientpositive/ppd_udf_col.q.out
ql/src/test/results/clientpositive/ppr_allchildsarenull.q.out
ql/src/test/results/clientpositive/quote1.q.out
ql/src/test/results/clientpositive/rand_partitionpruner3.q.out
ql/src/test/results/clientpositive/rcfile_null_value.q.out
ql/src/test/results/clientpositive/router_join_ppr.q.out
ql/src/test/results/clientpositive/sample8.q.out
ql/src/test/results/clientpositive/select_unquote_and.q.out
ql/src/test/results/clientpositive/select_unquote_or.q.out
ql/src/test/results/clientpositive/semijoin2.q.out
ql/src/test/results/clientpositive/semijoin4.q.out
ql/src/test/results/clientpositive/semijoin5.q.out
ql/src/test/results/clientpositive/skewjoin.q.out
ql/src/test/results/clientpositive/skewjoin_mapjoin1.q.out
ql/src/test/results/clientpositive/skewjoin_mapjoin10.q.out
ql/src/test/results/clientpositive/skewjoin_mapjoin11.q.out
ql/src/test/results/clientpositive/skewjoin_mapjoin2.q.out
ql/src/test/results/clientpositive/skewjoin_mapjoin3.q.out
ql/src/test/results/clientpositive/skewjoin_mapjoin4.q.out
ql/src/test/results/clientpositive/skewjoin_mapjoin6.q.out
ql/src/test/results/clientpositive/skewjoin_mapjoin7.q.out
ql/src/test/results/clientpositive/skewjoin_mapjoin9.q.out
ql/src/test/results/clientpositive/skewjoin_union_remove_1.q.out
ql/src/test/results/clientpositive/skewjoin_union_remove_2.q.out
ql/src/test/results/clientpositive/skewjoinopt1.q.out
ql/src/test/results/clientpositive/skewjoinopt10.q.out
ql/src/test/results/clientpositive/skewjoinopt11.q.out
ql/src/test/results/clientpositive/skewjoinopt12.q.out
ql/src/test/results/clientpositive/skewjoinopt14.q.out
ql/src/test/results/clientpositive/skewjoinopt16.q.out
ql/src/test/results/clientpositive/skewjoinopt17.q.out
ql/src/test/results/clientpositive/skewjoinopt19.q.out
ql/src/test/results/clientpositive/skewjoinopt2.q.out
ql/src/test/results/clientpositive/skewjoinopt20.q.out
ql/src/test/results/clientpositive/skewjoinopt21.q.out
ql/src/test/results/clientpositive/skewjoinopt3.q.out
ql/src/test/results/clientpositive/skewjoinopt4.q.out
ql/src/test/results/clientpositive/skewjoinopt5.q.out
ql/src/test/results/clientpositive/skewjoinopt6.q.out
ql/src/test/results/clientpositive/skewjoinopt7.q.out
ql/src/test/results/clientpositive/skewjoinopt8.q.out
ql/src/test/results/clientpositive/smb_mapjoin9.q.out
ql/src/test/results/clientpositive/smb_mapjoin_10.q.out
ql/src/test/results/clientpositive/sort_merge_join_desc_2.q.out
ql/src/test/results/clientpositive/sort_merge_join_desc_3.q.out
ql/src/test/results/clientpositive/sort_merge_join_desc_4.q.out
ql/src/test/results/clientpositive/sort_merge_join_desc_8.q.out
ql/src/test/results/clientpositive/spark/auto_join20.q.out
ql/src/test/results/clientpositive/spark/auto_join28.q.out
ql/src/test/results/clientpositive/spark/auto_join29.q.out
ql/src/test/results/clientpositive/spark/auto_join4.q.out
ql/src/test/results/clientpositive/spark/auto_join5.q.out
ql/src/test/results/clientpositive/spark/auto_join6.q.out
ql/src/test/results/clientpositive/spark/auto_join7.q.out
ql/src/test/results/clientpositive/spark/auto_join8.q.out
ql/src/test/results/clientpositive/spark/auto_join_reordering_values.q.out
ql/src/test/results/clientpositive/spark/bucketsortoptimize_insert_7.q.out
ql/src/test/results/clientpositive/spark/constprog_semijoin.q.out
ql/src/test/results/clientpositive/spark/dynamic_rdd_cache.q.out
ql/src/test/results/clientpositive/spark/groupby_multi_single_reducer3.q.out
ql/src/test/results/clientpositive/spark/groupby_position.q.out
ql/src/test/results/clientpositive/spark/identity_project_remove_skip.q.out
ql/src/test/results/clientpositive/spark/index_auto_self_join.q.out
ql/src/test/results/clientpositive/spark/input12.q.out
ql/src/test/results/clientpositive/spark/input13.q.out
ql/src/test/results/clientpositive/spark/input_part2.q.out
ql/src/test/results/clientpositive/spark/join19.q.out
ql/src/test/results/clientpositive/spark/join20.q.out
ql/src/test/results/clientpositive/spark/join32_lessSize.q.out
ql/src/test/results/clientpositive/spark/join4.q.out
ql/src/test/results/clientpositive/spark/join5.q.out
ql/src/test/results/clientpositive/spark/join6.q.out
ql/src/test/results/clientpositive/spark/join7.q.out
ql/src/test/results/clientpositive/spark/join8.q.out
ql/src/test/results/clientpositive/spark/join_hive_626.q.out
ql/src/test/results/clientpositive/spark/join_reorder2.q.out
ql/src/test/results/clientpositive/spark/join_reorder3.q.out
ql/src/test/results/clientpositive/spark/load_dyn_part13.q.out
ql/src/test/results/clientpositive/spark/louter_join_ppr.q.out
ql/src/test/results/clientpositive/spark/mapjoin_filter_on_outerjoin.q.out
ql/src/test/results/clientpositive/spark/mapjoin_mapjoin.q.out
ql/src/test/results/clientpositive/spark/multi_insert.q.out
ql/src/test/results/clientpositive/spark/multi_insert_gby.q.out
ql/src/test/results/clientpositive/spark/multi_insert_move_tasks_share_dependencies.q.out
ql/src/test/results/clientpositive/spark/outer_join_ppr.q.out
ql/src/test/results/clientpositive/spark/pcr.q.out
ql/src/test/results/clientpositive/spark/ppd_gby_join.q.out
ql/src/test/results/clientpositive/spark/ppd_join.q.out
ql/src/test/results/clientpositive/spark/ppd_join2.q.out
ql/src/test/results/clientpositive/spark/ppd_join3.q.out
ql/src/test/results/clientpositive/spark/ppd_join5.q.out
ql/src/test/results/clientpositive/spark/ppd_multi_insert.q.out
ql/src/test/results/clientpositive/spark/ppd_outer_join1.q.out
ql/src/test/results/clientpositive/spark/ppd_outer_join2.q.out
ql/src/test/results/clientpositive/spark/ppd_outer_join3.q.out
ql/src/test/results/clientpositive/spark/ppd_outer_join4.q.out
ql/src/test/results/clientpositive/spark/router_join_ppr.q.out
ql/src/test/results/clientpositive/spark/sample8.q.out
ql/src/test/results/clientpositive/spark/skewjoin.q.out
ql/src/test/results/clientpositive/spark/skewjoin_union_remove_1.q.out
ql/src/test/results/clientpositive/spark/skewjoin_union_remove_2.q.out
ql/src/test/results/clientpositive/spark/skewjoinopt1.q.out
ql/src/test/results/clientpositive/spark/skewjoinopt10.q.out
ql/src/test/results/clientpositive/spark/skewjoinopt11.q.out
ql/src/test/results/clientpositive/spark/skewjoinopt12.q.out
ql/src/test/results/clientpositive/spark/skewjoinopt14.q.out
ql/src/test/results/clientpositive/spark/skewjoinopt15.q.out
ql/src/test/results/clientpositive/spark/skewjoinopt16.q.out
ql/src/test/results/clientpositive/spark/skewjoinopt17.q.out
ql/src/test/results/clientpositive/spark/skewjoinopt19.q.out
ql/src/test/results/clientpositive/spark/skewjoinopt2.q.out
ql/src/test/results/clientpositive/spark/skewjoinopt20.q.out
ql/src/test/results/clientpositive/spark/skewjoinopt3.q.out
ql/src/test/results/clientpositive/spark/skewjoinopt4.q.out
ql/src/test/results/clientpositive/spark/skewjoinopt5.q.out
ql/src/test/results/clientpositive/spark/skewjoinopt6.q.out
ql/src/test/results/clientpositive/spark/skewjoinopt7.q.out
ql/src/test/results/clientpositive/spark/skewjoinopt8.q.out
ql/src/test/results/clientpositive/spark/smb_mapjoin_10.q.out
ql/src/test/results/clientpositive/spark/smb_mapjoin_15.q.out
ql/src/test/results/clientpositive/spark/spark_dynamic_partition_pruning.q.out
ql/src/test/results/clientpositive/spark/spark_dynamic_partition_pruning_3.q.out
ql/src/test/results/clientpositive/spark/spark_explainuser_1.q.out
ql/src/test/results/clientpositive/spark/spark_vectorized_dynamic_partition_pruning.q.out
ql/src/test/results/clientpositive/spark/subquery_in.q.out
ql/src/test/results/clientpositive/spark/transform_ppr1.q.out
ql/src/test/results/clientpositive/spark/union_view.q.out
ql/src/test/results/clientpositive/spark/vector_mapjoin_reduce.q.out
ql/src/test/results/clientpositive/spark/vectorization_0.q.out
ql/src/test/results/clientpositive/spark/vectorization_1.q.out
ql/src/test/results/clientpositive/spark/vectorization_10.q.out
ql/src/test/results/clientpositive/spark/vectorization_12.q.out
ql/src/test/results/clientpositive/spark/vectorization_13.q.out
ql/src/test/results/clientpositive/spark/vectorization_14.q.out
ql/src/test/results/clientpositive/spark/vectorization_15.q.out
ql/src/test/results/clientpositive/spark/vectorization_16.q.out
ql/src/test/results/clientpositive/spark/vectorization_17.q.out
ql/src/test/results/clientpositive/spark/vectorization_2.q.out
ql/src/test/results/clientpositive/spark/vectorization_3.q.out
ql/src/test/results/clientpositive/spark/vectorization_4.q.out
ql/src/test/results/clientpositive/spark/vectorization_5.q.out
ql/src/test/results/clientpositive/spark/vectorization_6.q.out
ql/src/test/results/clientpositive/spark/vectorization_9.q.out
ql/src/test/results/clientpositive/spark/vectorization_decimal_date.q.out
ql/src/test/results/clientpositive/spark/vectorization_div0.q.out
ql/src/test/results/clientpositive/spark/vectorization_short_regress.q.out
ql/src/test/results/clientpositive/spark/vectorized_case.q.out
ql/src/test/results/clientpositive/spark/vectorized_nested_mapjoin.q.out
ql/src/test/results/clientpositive/spark/vectorized_string_funcs.q.out
ql/src/test/results/clientpositive/special_character_in_tabnames_2.q.out
ql/src/test/results/clientpositive/tez/explainanalyze_4.q.out
ql/src/test/results/clientpositive/tez/hybridgrace_hashjoin_2.q.out
ql/src/test/results/clientpositive/tez/vectorization_div0.q.out
ql/src/test/results/clientpositive/transform_ppr1.q.out
ql/src/test/results/clientpositive/union_view.q.out
ql/src/test/results/clientpositive/vector_date_1.q.out
ql/src/test/results/clientpositive/vector_decimal_cast.q.out
ql/src/test/results/clientpositive/vector_decimal_expressions.q.out
ql/src/test/results/clientpositive/vector_interval_mapjoin.q.out
ql/src/test/results/clientpositive/vector_mapjoin_reduce.q.out
ql/src/test/results/clientpositive/vector_mr_diff_schema_alias.q.out
ql/src/test/results/clientpositive/vector_multi_insert.q.out
ql/src/test/results/clientpositive/vector_windowing_multipartitioning.q.out
ql/src/test/results/clientpositive/vectorization_1.q.out
ql/src/test/results/clientpositive/vectorization_10.q.out
ql/src/test/results/clientpositive/vectorization_12.q.out
ql/src/test/results/clientpositive/vectorization_13.q.out
ql/src/test/results/clientpositive/vectorization_14.q.out
ql/src/test/results/clientpositive/vectorization_15.q.out
ql/src/test/results/clientpositive/vectorization_16.q.out
ql/src/test/results/clientpositive/vectorization_17.q.out
ql/src/test/results/clientpositive/vectorization_2.q.out
ql/src/test/results/clientpositive/vectorization_3.q.out
ql/src/test/results/clientpositive/vectorization_4.q.out
ql/src/test/results/clientpositive/vectorization_5.q.out
ql/src/test/results/clientpositive/vectorization_6.q.out
ql/src/test/results/clientpositive/vectorization_7.q.out
ql/src/test/results/clientpositive/vectorization_8.q.out
ql/src/test/results/clientpositive/vectorization_9.q.out
ql/src/test/results/clientpositive/vectorization_decimal_date.q.out
ql/src/test/results/clientpositive/vectorization_div0.q.out
ql/src/test/results/clientpositive/vectorized_case.q.out
ql/src/test/results/clientpositive/vectorized_context.q.out
ql/src/test/results/clientpositive/vectorized_string_funcs.q.out
ql/src/test/results/clientpositive/view_cbo.q.out

index b1258e3..5d381e7 100644 (file)
@@ -104,7 +104,7 @@ STAGE PLANS:
           filterExpr: ((key.col1 >= '165') and (key.col1 < '27')) (type: boolean)
           Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
           Filter Operator
-            predicate: ((key.col1 >= '165') and (key.col1 < '27')) (type: boolean)
+            predicate: ((key.col1 < '27') and (key.col1 >= '165')) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Select Operator
               expressions: key (type: struct<col1:string,col2:string,col3:string>), value (type: string)
index b573d4b..60721cb 100644 (file)
@@ -103,7 +103,7 @@ STAGE PLANS:
           alias: hbase_ck_5
           Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
           Filter Operator
-            predicate: ((key.col1 >= '165') and (key.col1 < '27')) (type: boolean)
+            predicate: ((key.col1 < '27') and (key.col1 >= '165')) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Select Operator
               expressions: key (type: struct<col1:string,col2:string,col3:string>), value (type: string)
index d3c4a99..87a01aa 100644 (file)
@@ -266,7 +266,7 @@ STAGE PLANS:
             filterExpr: (key >= '90') (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
-              predicate: ((value like '%9%') and (UDFToDouble(key) = UDFToDouble(UDFToInteger(value)))) (type: boolean)
+              predicate: ((UDFToDouble(key) = UDFToDouble(UDFToInteger(value))) and (value like '%9%')) (type: boolean)
               Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
index 5fac123..f99ff29 100644 (file)
@@ -164,7 +164,7 @@ STAGE PLANS:
             filterExpr: (key = 90) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
-              predicate: ((value like '%90%') and (key = UDFToInteger(value))) (type: boolean)
+              predicate: ((key = UDFToInteger(value)) and (value like '%90%')) (type: boolean)
               Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
               Select Operator
                 expressions: 90 (type: int), value (type: string)
index 43a5a25..b2eda12 100644 (file)
@@ -306,7 +306,7 @@ STAGE PLANS:
             alias: hbase_table_2
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
-              predicate: ((key < 120) and (100 < key)) (type: boolean)
+              predicate: ((100 < key) and (key < 120)) (type: boolean)
               Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
               Select Operator
                 expressions: key (type: int), value (type: string)
index 68a417d..e8927e9 100644 (file)
@@ -69,7 +69,7 @@ STAGE PLANS:
             alias: a
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((key > 0) and (key < 50)) (type: boolean)
+              predicate: ((key < 50) and (key > 0)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), '' (type: string)
@@ -84,7 +84,7 @@ STAGE PLANS:
                       serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
                       name: default.src_x1
             Filter Operator
-              predicate: ((key > 50) and (key < 100)) (type: boolean)
+              predicate: ((key < 100) and (key > 50)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: value (type: string), '' (type: string)
index 2dc681e..c25a783 100644 (file)
@@ -20,8 +20,6 @@ package org.apache.hadoop.hive.ql.exec;
 
 import static org.apache.hadoop.hive.serde.serdeConstants.STRING_TYPE_NAME;
 
-import org.apache.commons.lang3.tuple.ImmutablePair;
-
 import java.io.OutputStream;
 import java.io.PrintStream;
 import java.io.Serializable;
@@ -32,74 +30,40 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Comparator;
-import java.util.HashMap;
 import java.util.HashSet;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.Stack;
 import java.util.Map.Entry;
 import java.util.Set;
 import java.util.TreeMap;
 
-import com.google.common.annotations.VisibleForTesting;
+import org.apache.commons.lang3.tuple.ImmutablePair;
 import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.hive.common.ObjectPair;
 import org.apache.hadoop.hive.common.jsonexplain.JsonParser;
 import org.apache.hadoop.hive.common.jsonexplain.JsonParserFactory;
 import org.apache.hadoop.hive.conf.HiveConf;
-import org.apache.hadoop.hive.conf.Validator.StringSet;
+import org.apache.hadoop.hive.conf.HiveConf.ConfVars;
 import org.apache.hadoop.hive.metastore.api.FieldSchema;
 import org.apache.hadoop.hive.ql.Driver;
 import org.apache.hadoop.hive.ql.DriverContext;
-import org.apache.hadoop.hive.ql.exec.spark.SparkTask;
-import org.apache.hadoop.hive.ql.exec.tez.TezTask;
-import org.apache.hadoop.hive.ql.exec.vector.VectorGroupByOperator;
-import org.apache.hadoop.hive.ql.exec.vector.VectorizationContext;
-import org.apache.hadoop.hive.ql.exec.vector.expressions.VectorExpression;
-import org.apache.hadoop.hive.ql.exec.vector.expressions.aggregates.VectorAggregateExpression;
-import org.apache.hadoop.hive.ql.plan.MapJoinDesc;
-import org.apache.hadoop.hive.ql.plan.ReduceSinkDesc;
 import org.apache.hadoop.hive.ql.hooks.ReadEntity;
-import org.apache.hadoop.hive.ql.io.AcidUtils;
-import org.apache.hadoop.hive.ql.lib.DefaultGraphWalker;
-import org.apache.hadoop.hive.ql.lib.DefaultRuleDispatcher;
-import org.apache.hadoop.hive.ql.lib.Dispatcher;
-import org.apache.hadoop.hive.ql.lib.GraphWalker;
-import org.apache.hadoop.hive.ql.lib.Node;
-import org.apache.hadoop.hive.ql.lib.NodeProcessor;
-import org.apache.hadoop.hive.ql.lib.NodeProcessorCtx;
-import org.apache.hadoop.hive.ql.lib.Rule;
 import org.apache.hadoop.hive.ql.metadata.Table;
 import org.apache.hadoop.hive.ql.optimizer.physical.StageIDsRearranger;
-import org.apache.hadoop.hive.ql.optimizer.physical.Vectorizer;
-import org.apache.hadoop.hive.ql.optimizer.physical.VectorizerReason;
 import org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer;
 import org.apache.hadoop.hive.ql.parse.ExplainConfiguration.VectorizationDetailLevel;
-import org.apache.hadoop.hive.ql.parse.SemanticException;
-import org.apache.hadoop.hive.ql.plan.BaseWork;
 import org.apache.hadoop.hive.ql.plan.Explain;
 import org.apache.hadoop.hive.ql.plan.Explain.Level;
 import org.apache.hadoop.hive.ql.plan.Explain.Vectorization;
-import org.apache.hadoop.hive.ql.plan.AggregationDesc;
 import org.apache.hadoop.hive.ql.plan.ExplainWork;
-import org.apache.hadoop.hive.ql.plan.GroupByDesc;
 import org.apache.hadoop.hive.ql.plan.HiveOperation;
-import org.apache.hadoop.hive.ql.plan.MapredWork;
-import org.apache.hadoop.hive.ql.plan.MapWork;
-import org.apache.hadoop.hive.ql.plan.ReduceWork;
 import org.apache.hadoop.hive.ql.plan.OperatorDesc;
+import org.apache.hadoop.hive.ql.plan.ReduceSinkDesc;
 import org.apache.hadoop.hive.ql.plan.SparkWork;
-import org.apache.hadoop.hive.ql.plan.TableDesc;
 import org.apache.hadoop.hive.ql.plan.TezWork;
-import org.apache.hadoop.hive.ql.plan.VectorReduceSinkInfo;
-import org.apache.hadoop.hive.ql.plan.VectorReduceSinkDesc;
-import org.apache.hadoop.hive.ql.plan.VectorGroupByDesc;
 import org.apache.hadoop.hive.ql.plan.api.StageType;
 import org.apache.hadoop.hive.ql.security.authorization.AuthorizationFactory;
 import org.apache.hadoop.hive.ql.session.SessionState;
-import org.apache.hadoop.hive.serde2.Deserializer;
-import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
 import org.apache.hadoop.io.IOUtils;
 import org.apache.hadoop.util.StringUtils;
 import org.apache.hive.common.util.AnnotationUtils;
@@ -109,6 +73,8 @@ import org.json.JSONObject;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.google.common.annotations.VisibleForTesting;
+
 /**
  * ExplainTask implementation.
  *
@@ -705,6 +671,10 @@ public class ExplainTask extends Task<ExplainWork> implements Serializable {
   @VisibleForTesting
   JSONObject outputPlan(Object work, PrintStream out,
       boolean extended, boolean jsonOutput, int indent, String appendToHeader) throws Exception {
+
+    // Are we running tests?
+    final boolean inTest = queryState.getConf().getBoolVar(ConfVars.HIVE_IN_TEST);
+
     // Check if work has an explain annotation
     Annotation note = AnnotationUtils.getAnnotation(work.getClass(), Explain.class);
 
@@ -920,7 +890,11 @@ public class ExplainTask extends Task<ExplainWork> implements Serializable {
 
           Object val = null;
           try {
-            val = m.invoke(work);
+            if (inTest && postProcess(xpl_note)) {
+              val = m.invoke(work, true);
+            } else {
+              val = m.invoke(work);
+            }
           }
           catch (InvocationTargetException ex) {
             // Ignore the exception, this may be caused by external jars
@@ -1037,6 +1011,15 @@ 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
index 7b16ad7..fbda0ea 100644 (file)
@@ -74,4 +74,7 @@ public @interface Explain {
     }
   };
   Vectorization vectorization() default Vectorization.NON_VECTORIZED;
+
+  boolean postProcess() default false;
+
 }
index 328bd86..d2bd3d7 100755 (executable)
@@ -81,6 +81,10 @@ public abstract class ExprNodeDesc implements Serializable, Node {
     return null;
   }
 
+  public String getExprString(boolean sortChildren) {
+    return getExprString();
+  }
+
   public ObjectInspector getWritableObjectInspector() {
     return TypeInfoUtils
       .getStandardWritableObjectInspectorFromTypeInfo(typeInfo);
@@ -151,4 +155,5 @@ public abstract class ExprNodeDesc implements Serializable, Node {
       return wrapped;
     }
   }
+
 }
index aef46da..8dffd0c 100644 (file)
@@ -23,9 +23,14 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
+import org.apache.commons.collections.Bag;
+import org.apache.commons.collections.bag.TreeBag;
 import org.apache.commons.lang.builder.HashCodeBuilder;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+
+import com.google.common.collect.ImmutableSortedMultiset;
+
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hive.conf.HiveConf.StrictChecks;
 import org.apache.hadoop.hive.ql.exec.FunctionRegistry;
@@ -33,6 +38,7 @@ import org.apache.hadoop.hive.ql.exec.UDFArgumentException;
 import org.apache.hadoop.hive.ql.exec.Utilities;
 import org.apache.hadoop.hive.ql.session.SessionState;
 import org.apache.hadoop.hive.ql.session.SessionState.LogHelper;
+import org.apache.hadoop.hive.ql.udf.UDFType;
 import org.apache.hadoop.hive.ql.udf.generic.GenericUDF;
 import org.apache.hadoop.hive.ql.udf.generic.GenericUDFBaseCompare;
 import org.apache.hadoop.hive.ql.udf.generic.GenericUDFBridge;
@@ -166,6 +172,23 @@ public class ExprNodeGenericFuncDesc extends ExprNodeDesc implements
   }
 
   @Override
+  public String getExprString(boolean sortChildren) {
+    if (sortChildren) {
+      UDFType udfType = genericUDF.getClass().getAnnotation(UDFType.class);
+      if (udfType.commutative()) {
+        // Get the sorted children expr strings
+        String[] childrenExprStrings = new String[chidren.size()];
+        for (int i = 0; i < childrenExprStrings.length; i++) {
+          childrenExprStrings[i] = chidren.get(i).getExprString();
+        }
+        return genericUDF.getDisplayString(
+            ImmutableSortedMultiset.copyOf(childrenExprStrings).toArray(new String[childrenExprStrings.length]));
+      }
+    }
+    return getExprString();
+  }
+
+  @Override
   public List<String> getCols() {
     List<String> colList = new ArrayList<String>();
     if (chidren != null) {
index 3de310c..4b69380 100644 (file)
@@ -109,16 +109,24 @@ public class FilterDesc extends AbstractOperatorDesc {
     this.sampleDescr = sampleDescr;
   }
 
-  @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;
   }
index d82973c..8211c13 100644 (file)
@@ -1038,10 +1038,15 @@ public final class PlanUtils {
   }
 
   public static String getExprListString(Collection<? extends ExprNodeDesc> exprs) {
-    return getExprListString(exprs, false);
+    return getExprListString(exprs, false, false);
   }
 
   public static String getExprListString(Collection<?  extends ExprNodeDesc> exprs, boolean userLevelExplain) {
+    return getExprListString(exprs, userLevelExplain, false);
+  }
+
+  public static String getExprListString(Collection<?  extends ExprNodeDesc> exprs,
+          boolean userLevelExplain, boolean sortExpressions) {
     StringBuilder sb = new StringBuilder();
     boolean first = true;
     for (ExprNodeDesc expr: exprs) {
@@ -1050,15 +1055,19 @@ public final class PlanUtils {
       } else {
         first = false;
       }
-      addExprToStringBuffer(expr, sb, userLevelExplain);
+      addExprToStringBuffer(expr, sb, userLevelExplain, sortExpressions);
     }
-
     return sb.length() == 0 ? null : sb.toString();
   }
 
   public static void addExprToStringBuffer(ExprNodeDesc expr, Appendable sb, boolean userLevelExplain) {
+    addExprToStringBuffer(expr, sb, userLevelExplain, false);
+  }
+
+  public static void addExprToStringBuffer(ExprNodeDesc expr, Appendable sb,
+          boolean userLevelExplain, boolean sortExpressions) {
     try {
-      sb.append(expr.getExprString());
+      sb.append(expr.getExprString(sortExpressions));
       if (!userLevelExplain) {
         sb.append(" (type: ");
         sb.append(expr.getTypeString());
index fe9370f..ac3ec58 100644 (file)
@@ -76,4 +76,12 @@ public @interface UDFType {
    * @return true if the function implies order
    */
   boolean impliesOrder() default false;
+
+  /**
+   * Whether result of this operation will be altered by reordering its
+   * children.
+   *
+   * @return true if commutative law applies to this function
+   */
+  boolean commutative() default false;
 }
index fa0cda8..06d7214 100644 (file)
@@ -27,6 +27,7 @@ import org.apache.hadoop.hive.ql.exec.vector.expressions.FilterColAndScalar;
 import org.apache.hadoop.hive.ql.exec.vector.expressions.FilterExprAndExpr;
 import org.apache.hadoop.hive.ql.exec.vector.expressions.FilterScalarAndColumn;
 import org.apache.hadoop.hive.ql.metadata.HiveException;
+import org.apache.hadoop.hive.ql.udf.UDFType;
 import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
 import org.apache.hadoop.hive.serde2.objectinspector.primitive.BooleanObjectInspector;
 import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory;
@@ -39,6 +40,7 @@ import org.apache.hadoop.io.BooleanWritable;
 @VectorizedExpressions({ColAndCol.class, FilterExprAndExpr.class, FilterColAndScalar.class,
     FilterScalarAndColumn.class})
 @NDV(maxNdv = 2)
+@UDFType(deterministic = true, commutative = true)
 public class GenericUDFOPAnd extends GenericUDF {
   private final BooleanWritable result = new BooleanWritable();
   private transient BooleanObjectInspector boi[];
index af38c97..c189913 100644 (file)
@@ -27,6 +27,7 @@ import org.apache.hadoop.hive.ql.exec.vector.expressions.FilterColOrScalar;
 import org.apache.hadoop.hive.ql.exec.vector.expressions.FilterExprOrExpr;
 import org.apache.hadoop.hive.ql.exec.vector.expressions.FilterScalarOrColumn;
 import org.apache.hadoop.hive.ql.metadata.HiveException;
+import org.apache.hadoop.hive.ql.udf.UDFType;
 import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
 import org.apache.hadoop.hive.serde2.objectinspector.primitive.BooleanObjectInspector;
 import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory;
@@ -39,6 +40,7 @@ import org.apache.hadoop.io.BooleanWritable;
 @VectorizedExpressions({ColOrCol.class, FilterExprOrExpr.class, FilterColOrScalar.class,
     FilterScalarOrColumn.class})
 @NDV(maxNdv = 2)
+@UDFType(deterministic = true, commutative = true)
 public class GenericUDFOPOr extends GenericUDF {
   private final BooleanWritable result = new BooleanWritable();
   private transient BooleanObjectInspector[] boi;
index cac1fad..9f913ce 100644 (file)
@@ -62,6 +62,10 @@ public class TestExplainTask {
     uut = new ExplainTask();
     uut.conf = mock(HiveConf.class);
     out = mock(PrintStream.class);
+    QueryState qs = mock(QueryState.class);
+    HiveConf hiveConf = new HiveConf();
+    when(qs.getConf()).thenReturn(hiveConf);
+    uut.queryState = qs;
   }
 
   public static class DummyExplainDesc<K, V> extends TableScanDesc {
@@ -160,7 +164,9 @@ public class TestExplainTask {
     work.setParseContext(pCtx);
     ByteArrayOutputStream baos = new ByteArrayOutputStream();
     work.setConfig(new ExplainConfiguration());
-    new ExplainTask().getJSONLogicalPlan(new PrintStream(baos), work);
+    ExplainTask newExplainTask = new ExplainTask();
+    newExplainTask.queryState = uut.queryState;
+    newExplainTask.getJSONLogicalPlan(new PrintStream(baos), work);
     baos.close();
     return baos.toString();
   }
index da1d03c..da59211 100644 (file)
@@ -120,7 +120,7 @@ STAGE PLANS:
             alias: over1k
             Statistics: Num rows: 2098 Data size: 16744 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
-              predicate: (((t = 1) and (si = 2)) or ((t = 2) and (si = 3)) or ((t = 3) and (si = 4)) or ((t = 4) and (si = 5)) or ((t = 5) and (si = 6)) or ((t = 6) and (si = 7)) or ((t = 7) and (si = 8)) or ((t = 9) and (si = 10)) or ((t = 10) and (si = 11)) or ((t = 11) and (si = 12)) or ((t = 12) and (si = 13)) or ((t = 13) and (si = 14)) or ((t = 14) and (si = 15)) or ((t = 15) and (si = 16)) or ((t = 16) and (si = 17)) or ((t = 17) and (si = 18)) or ((t = 27) and (si = 28)) or ((t = 37) and (si = 38)) or ((t = 47) and (si = 48)) or ((t = 52) and (si = 53))) (type: boolean)
+              predicate: (((t = 1) and (si = 2)) or ((t = 10) and (si = 11)) or ((t = 11) and (si = 12)) or ((t = 12) and (si = 13)) or ((t = 13) and (si = 14)) or ((t = 14) and (si = 15)) or ((t = 15) and (si = 16)) or ((t = 16) and (si = 17)) or ((t = 17) and (si = 18)) or ((t = 2) and (si = 3)) or ((t = 27) and (si = 28)) or ((t = 3) and (si = 4)) or ((t = 37) and (si = 38)) or ((t = 4) and (si = 5)) or ((t = 47) and (si = 48)) or ((t = 5) and (si = 6)) or ((t = 52) and (si = 53)) or ((t = 6) and (si = 7)) or ((t = 7) and (si = 8)) or ((t = 9) and (si = 10))) (type: boolean)
               Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
               Select Operator
                 Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
@@ -209,7 +209,7 @@ STAGE PLANS:
             alias: over1k
             Statistics: Num rows: 2098 Data size: 211174 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (((t = 1) and (si = 2)) or ((t = 2) and (si = 3)) or ((t = 3) and (si = 4)) or ((t = 4) and (si = 5)) or ((t = 5) and (si = 6)) or ((t = 6) and (si = 7)) or ((t = 7) and (si = 8)) or ((t = 9) and (si = 10)) or ((t = 10) and (si = 11)) or ((t = 11) and (si = 12)) or ((t = 12) and (si = 13)) or ((t = 13) and (si = 14)) or ((t = 14) and (si = 15)) or ((t = 15) and (si = 16)) or ((t = 16) and (si = 17)) or ((t = 17) and (si = 18)) or ((t = 27) and (si = 28)) or ((t = 37) and (si = 38)) or ((t = 47) and (si = 48)) or ((t = 52) and (si = 53))) (type: boolean)
+              predicate: (((t = 1) and (si = 2)) or ((t = 10) and (si = 11)) or ((t = 11) and (si = 12)) or ((t = 12) and (si = 13)) or ((t = 13) and (si = 14)) or ((t = 14) and (si = 15)) or ((t = 15) and (si = 16)) or ((t = 16) and (si = 17)) or ((t = 17) and (si = 18)) or ((t = 2) and (si = 3)) or ((t = 27) and (si = 28)) or ((t = 3) and (si = 4)) or ((t = 37) and (si = 38)) or ((t = 4) and (si = 5)) or ((t = 47) and (si = 48)) or ((t = 5) and (si = 6)) or ((t = 52) and (si = 53)) or ((t = 6) and (si = 7)) or ((t = 7) and (si = 8)) or ((t = 9) and (si = 10))) (type: boolean)
               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
index b2f9836..defb088 100644 (file)
@@ -628,7 +628,7 @@ STAGE PLANS:
             alias: loc_orc
             Statistics: Num rows: 8 Data size: 816 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
-              predicate: ((state = 'OH') or (state = 'CA')) (type: boolean)
+              predicate: ((state = 'CA') or (state = 'OH')) (type: boolean)
               Statistics: Num rows: 2 Data size: 204 Basic stats: COMPLETE Column stats: COMPLETE
               Select Operator
                 expressions: state (type: string), locid (type: int), zip (type: bigint), year (type: int)
index d88819a..cdb9cea 100644 (file)
@@ -1101,7 +1101,7 @@ STAGE PLANS:
             alias: ss
             Statistics: Num rows: 1000 Data size: 7664 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
-              predicate: (ss_store_sk is not null and ss_addr_sk is not null) (type: boolean)
+              predicate: (ss_addr_sk is not null and ss_store_sk is not null) (type: boolean)
               Statistics: Num rows: 914 Data size: 7004 Basic stats: COMPLETE Column stats: COMPLETE
               Select Operator
                 expressions: ss_addr_sk (type: int), ss_store_sk (type: int)
index 8aa2f9a..0d7558a 100644 (file)
@@ -174,7 +174,7 @@ STAGE PLANS:
             alias: src1
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((key < 15) and (key < 10)) (type: boolean)
+              predicate: ((key < 10) and (key < 15)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               HashTable Sink Operator
                 filter predicates:
index e1543b3..b191ba4 100644 (file)
@@ -142,7 +142,7 @@ STAGE PLANS:
             alias: src3
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((key > 10) and (key < 10)) (type: boolean)
+              predicate: ((key < 10) and (key > 10)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               HashTable Sink Operator
                 filter predicates:
index a799b04..df59378 100644 (file)
@@ -650,7 +650,7 @@ STAGE PLANS:
             alias: src3
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((key > 10) and (key < 10)) (type: boolean)
+              predicate: ((key < 10) and (key > 10)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               HashTable Sink Operator
                 filter predicates:
@@ -2491,7 +2491,7 @@ STAGE PLANS:
             alias: src1
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((key > 10) and (key < 10)) (type: boolean)
+              predicate: ((key < 10) and (key > 10)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               HashTable Sink Operator
                 keys:
@@ -2503,7 +2503,7 @@ STAGE PLANS:
             alias: src3
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((key > 10) and (key < 10)) (type: boolean)
+              predicate: ((key < 10) and (key > 10)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               HashTable Sink Operator
                 keys:
@@ -2594,7 +2594,7 @@ STAGE PLANS:
             alias: src1
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((key > 10) and (key < 10)) (type: boolean)
+              predicate: ((key < 10) and (key > 10)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               HashTable Sink Operator
                 filter predicates:
@@ -3222,7 +3222,7 @@ STAGE PLANS:
             alias: src3
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((key > 10) and (key < 10)) (type: boolean)
+              predicate: ((key < 10) and (key > 10)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               HashTable Sink Operator
                 filter predicates:
@@ -3455,7 +3455,7 @@ STAGE PLANS:
             alias: src1
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((key > 10) and (key < 10)) (type: boolean)
+              predicate: ((key < 10) and (key > 10)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               HashTable Sink Operator
                 keys:
@@ -3482,7 +3482,7 @@ STAGE PLANS:
             alias: src3
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((key > 10) and (key < 10)) (type: boolean)
+              predicate: ((key < 10) and (key > 10)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Map Join Operator
                 condition map:
index 6c0fccd..3c0ab85 100644 (file)
@@ -55,7 +55,7 @@ STAGE PLANS:
             alias: src2
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((UDFToDouble(key) > 15.0) and (UDFToDouble(key) < 20.0)) (type: boolean)
+              predicate: ((UDFToDouble(key) < 20.0) and (UDFToDouble(key) > 15.0)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
@@ -73,7 +73,7 @@ STAGE PLANS:
             alias: src1
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((UDFToDouble(key) > 10.0) and (UDFToDouble(key) < 20.0)) (type: boolean)
+              predicate: ((UDFToDouble(key) < 20.0) and (UDFToDouble(key) > 10.0)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
index 4103061..8da15a5 100644 (file)
@@ -73,7 +73,7 @@ STAGE PLANS:
             alias: src2
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((UDFToDouble(key) > 15.0) and (UDFToDouble(key) < 25.0)) (type: boolean)
+              predicate: ((UDFToDouble(key) < 25.0) and (UDFToDouble(key) > 15.0)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
index 53caf7d..00bbb1b 100644 (file)
@@ -49,7 +49,7 @@ STAGE PLANS:
             alias: src1
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((UDFToDouble(key) > 10.0) and (UDFToDouble(key) < 20.0)) (type: boolean)
+              predicate: ((UDFToDouble(key) < 20.0) and (UDFToDouble(key) > 10.0)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
@@ -65,7 +65,7 @@ STAGE PLANS:
             alias: src2
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((UDFToDouble(key) > 15.0) and (UDFToDouble(key) < 25.0)) (type: boolean)
+              predicate: ((UDFToDouble(key) < 25.0) and (UDFToDouble(key) > 15.0)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
index a657c30..339ea70 100644 (file)
@@ -59,7 +59,7 @@ STAGE PLANS:
             alias: src1
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((UDFToDouble(key) > 10.0) and (UDFToDouble(key) < 20.0)) (type: boolean)
+              predicate: ((UDFToDouble(key) < 20.0) and (UDFToDouble(key) > 10.0)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
@@ -75,7 +75,7 @@ STAGE PLANS:
             alias: src2
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((UDFToDouble(key) > 15.0) and (UDFToDouble(key) < 25.0)) (type: boolean)
+              predicate: ((UDFToDouble(key) < 25.0) and (UDFToDouble(key) > 15.0)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
@@ -91,7 +91,7 @@ STAGE PLANS:
             alias: src3
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((UDFToDouble(key) > 20.0) and (UDFToDouble(key) < 25.0)) (type: boolean)
+              predicate: ((UDFToDouble(key) < 25.0) and (UDFToDouble(key) > 20.0)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
index 2689578..4cc3d59 100644 (file)
@@ -55,7 +55,7 @@ STAGE PLANS:
             alias: src2
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((UDFToDouble(key) > 15.0) and (UDFToDouble(key) < 20.0)) (type: boolean)
+              predicate: ((UDFToDouble(key) < 20.0) and (UDFToDouble(key) > 15.0)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
@@ -73,7 +73,7 @@ STAGE PLANS:
             alias: src1
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((UDFToDouble(key) > 10.0) and (UDFToDouble(key) < 20.0)) (type: boolean)
+              predicate: ((UDFToDouble(key) < 20.0) and (UDFToDouble(key) > 10.0)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
index ba8d16c..9182127 100644 (file)
@@ -97,7 +97,7 @@ STAGE PLANS:
             GatherStats: false
             Filter Operator
               isSamplingPred: false
-              predicate: (date is not null and dealid is not null and cityid is not null and userid is not null) (type: boolean)
+              predicate: (cityid is not null and date is not null and dealid is not null and userid is not null) (type: boolean)
               Statistics: Num rows: 1 Data size: 36 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: dealid (type: int), date (type: string), cityid (type: int), userid (type: int)
index 35e9a5d..f6b161b 100644 (file)
@@ -157,7 +157,7 @@ STAGE PLANS:
             alias: cmv_basetable
             Statistics: Num rows: 5 Data size: 81 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((d = 3) and (3 = a)) (type: boolean)
+              predicate: ((3 = a) and (d = 3)) (type: boolean)
               Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: c (type: decimal(10,2))
@@ -264,7 +264,7 @@ STAGE PLANS:
             alias: cmv_basetable
             Statistics: Num rows: 5 Data size: 81 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((d = 3) and (3 = a)) (type: boolean)
+              predicate: ((3 = a) and (d = 3)) (type: boolean)
               Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: c (type: decimal(10,2))
index 50706f4..379906e 100644 (file)
@@ -80,7 +80,7 @@ STAGE PLANS:
             alias: b
             Statistics: Num rows: 3 Data size: 414 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (userid is not null and pageid is not null and postid is not null and type is not null) (type: boolean)
+              predicate: (pageid is not null and postid is not null and type is not null and userid is not null) (type: boolean)
               Statistics: Num rows: 3 Data size: 414 Basic stats: COMPLETE Column stats: NONE
               Sorted Merge Bucket Map Join Operator
                 condition map:
index 07a89e5..e9f885b 100644 (file)
@@ -293,7 +293,7 @@ STAGE PLANS:
             alias: z
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
-              predicate: ((ds = '2008-04-08') and (UDFToDouble(hr) = 14.0) and value is not null) (type: boolean)
+              predicate: ((UDFToDouble(hr) = 14.0) and (ds = '2008-04-08') and value is not null) (type: boolean)
               Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
               Select Operator
                 expressions: value (type: string)
index a4c7f77..0bc7d87 100644 (file)
@@ -51,7 +51,7 @@ STAGE PLANS:
             GatherStats: false
             Filter Operator
               isSamplingPred: false
-              predicate: ((UDFToDouble(key) > 15.0) and (UDFToDouble(key) < 20.0)) (type: boolean)
+              predicate: ((UDFToDouble(key) < 20.0) and (UDFToDouble(key) > 15.0)) (type: boolean)
               Statistics: Num rows: 111 Data size: 1179 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
@@ -349,7 +349,7 @@ STAGE PLANS:
             GatherStats: false
             Filter Operator
               isSamplingPred: false
-              predicate: ((UDFToDouble(key) > 15.0) and (UDFToDouble(key) < 20.0)) (type: boolean)
+              predicate: ((UDFToDouble(key) < 20.0) and (UDFToDouble(key) > 15.0)) (type: boolean)
               Statistics: Num rows: 111 Data size: 1179 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
index c8504a1..5552cfe 100644 (file)
@@ -164,7 +164,7 @@ STAGE PLANS:
               insideView TRUE
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
-              predicate: ((key = 86) and (ds = '1')) (type: boolean)
+              predicate: ((ds = '1') and (key = 86)) (type: boolean)
               Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
               Select Operator
                 expressions: value (type: string)
@@ -189,7 +189,7 @@ STAGE PLANS:
               insideView TRUE
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
-              predicate: ((key = 86) and (ds = '1')) (type: boolean)
+              predicate: ((ds = '1') and (key = 86)) (type: boolean)
               Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
               Select Operator
                 expressions: value (type: string)
@@ -214,7 +214,7 @@ STAGE PLANS:
               insideView TRUE
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
-              predicate: ((key = 86) and (ds = '1')) (type: boolean)
+              predicate: ((ds = '1') and (key = 86)) (type: boolean)
               Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
               Select Operator
                 expressions: value (type: string)
index 3ba1f15..a5f5807 100644 (file)
@@ -449,7 +449,7 @@ STAGE PLANS:
             alias: b
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (key is not null and (value = '234')) (type: boolean)
+              predicate: ((value = '234') and key is not null) (type: boolean)
               Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
               Reduce Output Operator
                 key expressions: key (type: string)
index 8119ccf..4b3de33 100644 (file)
@@ -185,7 +185,7 @@ STAGE PLANS:
             alias: part_hive
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
-              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)
+              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)
               Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
               Select Operator
                 expressions: p_partkey (type: int), p_brand (type: string), p_type (type: string), p_size (type: int)
index 5464cd3..b81a561 100644 (file)
@@ -83,7 +83,7 @@ STAGE PLANS:
             alias: a
             Statistics: Num rows: 20 Data size: 3500 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
-              predicate: (ca_zip is not null and ca_state is not null) (type: boolean)
+              predicate: (ca_state is not null and ca_zip 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)
@@ -98,7 +98,7 @@ STAGE PLANS:
             alias: b
             Statistics: Num rows: 20 Data size: 3500 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
-              predicate: (ca_zip is not null and ca_state is not null) (type: boolean)
+              predicate: (ca_state is not null and ca_zip 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)
@@ -174,7 +174,7 @@ STAGE PLANS:
             alias: a
             Statistics: Num rows: 20 Data size: 3500 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
-              predicate: (ca_zip is not null and ca_state is not null) (type: boolean)
+              predicate: (ca_state is not null and ca_zip 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:
             alias: b
             Statistics: Num rows: 20 Data size: 3500 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
-              predicate: (ca_zip is not null and ca_state is not null) (type: boolean)
+              predicate: (ca_state is not null and ca_zip 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)
index 8a8920e..a03acd3 100644 (file)
@@ -401,7 +401,7 @@ STAGE PLANS:
             alias: y
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((UDFToDouble(key) > 20.0) and (UDFToDouble(key) < 200.0)) (type: boolean)
+              predicate: ((UDFToDouble(key) < 200.0) and (UDFToDouble(key) > 20.0)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string)
@@ -578,7 +578,7 @@ STAGE PLANS:
             alias: y
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((UDFToDouble(key) > 20.0) and (UDFToDouble(key) < 200.0)) (type: boolean)
+              predicate: ((UDFToDouble(key) < 200.0) and (UDFToDouble(key) > 20.0)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string)
index 6a8fe70..6d4f931 100644 (file)
@@ -67,7 +67,7 @@ STAGE PLANS:
             alias: x1
             Statistics: Num rows: 1028 Data size: 22964 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((c2 > 100) and (c1 < 120) and c3 is not null) (type: boolean)
+              predicate: ((c1 < 120) and (c2 > 100) and c3 is not null) (type: boolean)
               Statistics: Num rows: 114 Data size: 2546 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: c1 (type: int), c3 (type: string)
index be54d33..5372408 100644 (file)
@@ -123,7 +123,7 @@ STAGE PLANS:
             alias: x1
             Statistics: Num rows: 1028 Data size: 22964 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((c2 > 100) and (c2 < 120)) (type: boolean)
+              predicate: ((c2 < 120) and (c2 > 100)) (type: boolean)
               Statistics: Num rows: 114 Data size: 2546 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
                 aggregations: count()
@@ -230,7 +230,7 @@ STAGE PLANS:
             alias: x1
             Statistics: Num rows: 1028 Data size: 22964 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((c2 > 100) and (c2 < 120)) (type: boolean)
+              predicate: ((c2 < 120) and (c2 > 100)) (type: boolean)
               Statistics: Num rows: 114 Data size: 2546 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
                 aggregations: count()
@@ -438,7 +438,7 @@ STAGE PLANS:
             alias: x1
             Statistics: Num rows: 1028 Data size: 22964 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((c2 > 100) and (c1 < 120) and c3 is not null) (type: boolean)
+              predicate: ((c1 < 120) and (c2 > 100) and c3 is not null) (type: boolean)
               Statistics: Num rows: 114 Data size: 2546 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: c1 (type: int), c3 (type: string)
@@ -549,7 +549,7 @@ STAGE PLANS:
             alias: x1
             Statistics: Num rows: 1028 Data size: 22964 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((c2 > 100) and (c1 < 120) and c3 is not null) (type: boolean)
+              predicate: ((c1 < 120) and (c2 > 100) and c3 is not null) (type: boolean)
               Statistics: Num rows: 114 Data size: 2546 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: c1 (type: int), c3 (type: string)
index 4c8c4d2..c4753b0 100644 (file)
@@ -579,7 +579,7 @@ STAGE PLANS:
           outputColumnNames: _col0, _col1, _col2, _col3
           Statistics: Num rows: 187 Data size: 1986 Basic stats: COMPLETE Column stats: NONE
           Filter Operator
-            predicate: ((_col2 > 0) and ((_col2 * 2) = _col3)) (type: boolean)
+            predicate: (((_col2 * 2) = _col3) and (_col2 > 0)) (type: boolean)
             Statistics: Num rows: 31 Data size: 329 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: _col0 (type: string), _col1 (type: string)
@@ -651,7 +651,7 @@ STAGE PLANS:
           outputColumnNames: _col0, _col1, _col2, _col3
           Statistics: Num rows: 132 Data size: 1402 Basic stats: COMPLETE Column stats: NONE
           Filter Operator
-            predicate: ((_col2 > 0) and ((_col2 * 2) = _col3)) (type: boolean)
+            predicate: (((_col2 * 2) = _col3) and (_col2 > 0)) (type: boolean)
             Statistics: Num rows: 22 Data size: 233 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: _col0 (type: string), _col1 (type: string)
@@ -902,7 +902,7 @@ STAGE PLANS:
           outputColumnNames: _col0, _col1, _col2
           Statistics: Num rows: 1 Data size: 3 Basic stats: COMPLETE Column stats: NONE
           Filter Operator
-            predicate: ((_col1 > 0) and ((_col1 * 2) = _col2)) (type: boolean)
+            predicate: (((_col1 * 2) = _col2) and (_col1 > 0)) (type: boolean)
             Statistics: Num rows: 1 Data size: 3 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: _col0 (type: int)
index d986120..8b95287 100644 (file)
@@ -291,7 +291,7 @@ STAGE PLANS:
             alias: t3
             Statistics: Num rows: 20 Data size: 262 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((c_int = 1) and (UDFToDouble(key) = 1.0)) (type: boolean)
+              predicate: ((UDFToDouble(key) = 1.0) and (c_int = 1)) (type: boolean)
               Statistics: Num rows: 5 Data size: 65 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), c_float (type: float)
@@ -313,7 +313,7 @@ STAGE PLANS:
           outputColumnNames: _col0, _col1, _col2, _col4
           Statistics: Num rows: 11 Data size: 144 Basic stats: COMPLETE Column stats: NONE
           Filter Operator
-            predicate: (((_col2 + _col4) > 2) or ((_col1 + 1) > 2)) (type: boolean)
+            predicate: (((_col1 + 1) > 2) or ((_col2 + _col4) > 2)) (type: boolean)
             Statistics: Num rows: 6 Data size: 78 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: _col0 (type: string)
@@ -411,7 +411,7 @@ STAGE PLANS:
             alias: m
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((value <> '') and ((value = '2008-04-10') or (value = '2008-04-08')) and key is not null) (type: boolean)
+              predicate: (((value = '2008-04-10') or (value = '2008-04-08')) and (value <> '') and key is not null) (type: boolean)
               Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
index 866c8fe..779bea3 100644 (file)
@@ -48,7 +48,7 @@ STAGE PLANS:
             alias: store
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
-              predicate: (store_id is not null and salad_bar) (type: boolean)
+              predicate: (salad_bar and store_id is not null) (type: boolean)
               Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
               Reduce Output Operator
                 key expressions: store_id (type: int)
@@ -137,7 +137,7 @@ STAGE PLANS:
             alias: store
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
-              predicate: (store_id is not null and salad_bar) (type: boolean)
+              predicate: (salad_bar and store_id is not null) (type: boolean)
               Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
               Reduce Output Operator
                 key expressions: store_id (type: int)
@@ -226,7 +226,7 @@ STAGE PLANS:
             alias: store
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
-              predicate: (store_id is not null and (salad_bar = true)) (type: boolean)
+              predicate: ((salad_bar = true) and store_id is not null) (type: boolean)
               Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
               Reduce Output Operator
                 key expressions: store_id (type: int)
@@ -304,7 +304,7 @@ STAGE PLANS:
             alias: sales
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
-              predicate: (store_id is not null and (store_number > customer_id)) (type: boolean)
+              predicate: ((store_number > customer_id) and store_id is not null) (type: boolean)
               Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
               Reduce Output Operator
                 key expressions: store_id (type: int)
@@ -315,7 +315,7 @@ STAGE PLANS:
             alias: store
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
-              predicate: (store_id is not null and (salad_bar = false)) (type: boolean)
+              predicate: ((salad_bar = false) and store_id is not null) (type: boolean)
               Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
               Reduce Output Operator
                 key expressions: store_id (type: int)
index 1d88fc9..5608c82 100644 (file)
@@ -44,7 +44,7 @@ STAGE PLANS:
             alias: src
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              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)
+              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)
               Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string)
index 4de8d01..49e0d35 100644 (file)
@@ -42,7 +42,7 @@ STAGE PLANS:
             alias: lineitem
             Statistics: Num rows: 100 Data size: 11999 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((1996-03-30 = to_date(l_shipdate)) and ('RAIL' = l_shipmode)) (type: boolean)
+              predicate: (('RAIL' = l_shipmode) and (1996-03-30 = to_date(l_shipdate))) (type: boolean)
               Statistics: Num rows: 25 Data size: 2999 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: l_orderkey (type: int), (UDFToDouble(l_partkey) / 1000000.0) (type: double)
index 0dd7347..9ad6615 100644 (file)
@@ -35,7 +35,7 @@ STAGE PLANS:
             alias: predicate_fold_tb
             Statistics: Num rows: 6 Data size: 7 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (value is null or (value <> 3)) (type: boolean)
+              predicate: ((value <> 3) or value is null) (type: boolean)
               Statistics: Num rows: 6 Data size: 7 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: value (type: int)
@@ -86,7 +86,7 @@ STAGE PLANS:
             alias: predicate_fold_tb
             Statistics: Num rows: 6 Data size: 7 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (value is null or (value < 3)) (type: boolean)
+              predicate: ((value < 3) or value is null) (type: boolean)
               Statistics: Num rows: 5 Data size: 5 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: value (type: int)
@@ -135,7 +135,7 @@ STAGE PLANS:
             alias: predicate_fold_tb
             Statistics: Num rows: 6 Data size: 7 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (value is null or (value > 3)) (type: boolean)
+              predicate: ((value > 3) or value is null) (type: boolean)
               Statistics: Num rows: 5 Data size: 5 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: value (type: int)
@@ -184,7 +184,7 @@ STAGE PLANS:
             alias: predicate_fold_tb
             Statistics: Num rows: 6 Data size: 7 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (value is null or (value <= 3)) (type: boolean)
+              predicate: ((value <= 3) or value is null) (type: boolean)
               Statistics: Num rows: 5 Data size: 5 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: value (type: int)
@@ -234,7 +234,7 @@ STAGE PLANS:
             alias: predicate_fold_tb
             Statistics: Num rows: 6 Data size: 7 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (value is null or (value >= 3)) (type: boolean)
+              predicate: ((value >= 3) or value is null) (type: boolean)
               Statistics: Num rows: 5 Data size: 5 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: value (type: int)
@@ -284,7 +284,7 @@ STAGE PLANS:
             alias: predicate_fold_tb
             Statistics: Num rows: 6 Data size: 7 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (value is null or (value = 3)) (type: boolean)
+              predicate: ((value = 3) or value is null) (type: boolean)
               Statistics: Num rows: 6 Data size: 7 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: value (type: int)
@@ -332,7 +332,7 @@ STAGE PLANS:
             alias: predicate_fold_tb
             Statistics: Num rows: 6 Data size: 7 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (value is null or (value <= 1) or (value > 3)) (type: boolean)
+              predicate: ((value <= 1) or (value > 3) or value is null) (type: boolean)
               Statistics: Num rows: 6 Data size: 7 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: value (type: int)
index c1bb62e..55d2a4d 100644 (file)
@@ -51,7 +51,7 @@ STAGE PLANS:
             GatherStats: false
             Filter Operator
               isSamplingPred: false
-              predicate: ((UDFToDouble(key) > 15.0) and (UDFToDouble(key) < 20.0)) (type: boolean)
+              predicate: ((UDFToDouble(key) < 20.0) and (UDFToDouble(key) > 15.0)) (type: boolean)
               Statistics: Num rows: 111 Data size: 1179 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
@@ -345,7 +345,7 @@ STAGE PLANS:
             GatherStats: false
             Filter Operator
               isSamplingPred: false
-              predicate: ((UDFToDouble(key) > 15.0) and (UDFToDouble(key) < 20.0)) (type: boolean)
+              predicate: ((UDFToDouble(key) < 20.0) and (UDFToDouble(key) > 15.0)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
@@ -643,7 +643,7 @@ STAGE PLANS:
             GatherStats: false
             Filter Operator
               isSamplingPred: false
-              predicate: ((UDFToDouble(key) > 15.0) and (UDFToDouble(key) < 20.0)) (type: boolean)
+              predicate: ((UDFToDouble(key) < 20.0) and (UDFToDouble(key) > 15.0)) (type: boolean)
               Statistics: Num rows: 111 Data size: 1179 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
@@ -937,7 +937,7 @@ STAGE PLANS:
             GatherStats: false
             Filter Operator
               isSamplingPred: false
-              predicate: ((UDFToDouble(key) > 15.0) and (UDFToDouble(key) < 20.0)) (type: boolean)
+              predicate: ((UDFToDouble(key) < 20.0) and (UDFToDouble(key) > 15.0)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
index 39dd731..aa0db5e 100644 (file)
@@ -314,7 +314,7 @@ STAGE PLANS:
           outputColumnNames: _col0, _col1, _col2
           Statistics: Num rows: 6 Data size: 60 Basic stats: COMPLETE Column stats: NONE
           Filter Operator
-            predicate: ((grouping(_col2, 1) = 1) or (grouping(_col2, 0) = 1)) (type: boolean)
+            predicate: ((grouping(_col2, 0) = 1) or (grouping(_col2, 1) = 1)) (type: boolean)
             Statistics: Num rows: 6 Data size: 60 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: _col0 (type: int), _col1 (type: int), (grouping(_col2, 1) + grouping(_col2, 0)) (type: int), CASE WHEN (((grouping(_col2, 1) + grouping(_col2, 0)) = 1)) THEN (_col0) ELSE (null) END (type: int)
@@ -667,7 +667,7 @@ STAGE PLANS:
                 outputColumnNames: _col0, _col1, _col2
                 Statistics: Num rows: 12 Data size: 120 Basic stats: COMPLETE Column stats: NONE
                 Filter Operator
-                  predicate: ((grouping(_col2, 1) = 1) or (grouping(_col2, 0) = 1)) (type: boolean)
+                  predicate: ((grouping(_col2, 0) = 1) or (grouping(_col2, 1) = 1)) (type: boolean)
                   Statistics: Num rows: 12 Data size: 120 Basic stats: COMPLETE Column stats: NONE
                   Reduce Output Operator
                     key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: int)
index e41d9ef..07997d2 100644 (file)
@@ -51,7 +51,7 @@ STAGE PLANS:
             alias: src
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (((value) IN ('val_400', 'val_500') and (key) IN (400, 450)) or ((value) IN ('val_100', 'val_200', 'val_300') and (key) IN (100, 150, 200))) (type: boolean)
+              predicate: (((value) IN ('val_100', 'val_200', 'val_300') and (key) IN (100, 150, 200)) or ((value) IN ('val_400', 'val_500') and (key) IN (400, 450))) (type: boolean)
               Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
               Reduce Output Operator
                 key expressions: key (type: string)
@@ -63,7 +63,7 @@ STAGE PLANS:
         Forward
           Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
           Filter Operator
-            predicate: ((VALUE._col0) IN ('val_100', 'val_200', 'val_300') and (KEY._col0) IN (100, 150, 200)) (type: boolean)
+            predicate: ((KEY._col0) IN (100, 150, 200) and (VALUE._col0) IN ('val_100', 'val_200', 'val_300')) (type: boolean)
             Statistics: Num rows: 63 Data size: 669 Basic stats: COMPLETE Column stats: NONE
             Group By Operator
               aggregations: count()
@@ -84,7 +84,7 @@ STAGE PLANS:
                       serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
                       name: default.e1
           Filter Operator
-            predicate: ((VALUE._col0) IN ('val_400', 'val_500') and (KEY._col0) IN (400, 450)) (type: boolean)
+            predicate: ((KEY._col0) IN (400, 450) and (VALUE._col0) IN ('val_400', 'val_500')) (type: boolean)
             Statistics: Num rows: 63 Data size: 669 Basic stats: COMPLETE Column stats: NONE
             Group By Operator
               aggregations: count()
@@ -217,7 +217,7 @@ STAGE PLANS:
             alias: src
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              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)
+              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)
               Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
               Reduce Output Operator
                 key expressions: value (type: string)
@@ -250,7 +250,7 @@ STAGE PLANS:
                       serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
                       name: default.e1
           Filter Operator
-            predicate: (((VALUE._col0 + VALUE._col0) = 400) or (((VALUE._col0 - 100) = 500) and KEY._col0 is not null)) (type: boolean)
+            predicate: ((((VALUE._col0 - 100) = 500) and KEY._col0 is not null) or ((VALUE._col0 + VALUE._col0) = 400)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Group By Operator
               aggregations: count()
@@ -383,7 +383,7 @@ STAGE PLANS:
             alias: src
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (((value) IN ('val_400', 'val_500') and (key) IN (400, 450)) or ((value) IN ('val_100', 'val_200', 'val_300') and (key) IN (100, 150, 200))) (type: boolean)
+              predicate: (((value) IN ('val_100', 'val_200', 'val_300') and (key) IN (100, 150, 200)) or ((value) IN ('val_400', 'val_500') and (key) IN (400, 450))) (type: boolean)
               Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
               Reduce Output Operator
                 key expressions: key (type: string)
@@ -395,7 +395,7 @@ STAGE PLANS:
         Forward
           Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
           Filter Operator
-            predicate: ((VALUE._col0) IN ('val_100', 'val_200', 'val_300') and (KEY._col0) IN (100, 150, 200)) (type: boolean)
+            predicate: ((KEY._col0) IN (100, 150, 200) and (VALUE._col0) IN ('val_100', 'val_200', 'val_300')) (type: boolean)
             Statistics: Num rows: 63 Data size: 669 Basic stats: COMPLETE Column stats: NONE
             Group By Operator
               aggregations: count()
@@ -416,7 +416,7 @@ STAGE PLANS:
                       serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
                       name: default.e1
           Filter Operator
-            predicate: ((VALUE._col0) IN ('val_400', 'val_500') and (KEY._col0) IN (400, 450)) (type: boolean)
+            predicate: ((KEY._col0) IN (400, 450) and (VALUE._col0) IN ('val_400', 'val_500')) (type: boolean)
             Statistics: Num rows: 63 Data size: 669 Basic stats: COMPLETE Column stats: NONE
             Group By Operator
               aggregations: count()
@@ -549,7 +549,7 @@ STAGE PLANS:
             alias: src
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              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)
+              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)
               Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
               Reduce Output Operator
                 key expressions: value (type: string)
@@ -582,7 +582,7 @@ STAGE PLANS:
                       serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
                       name: default.e1
           Filter Operator
-            predicate: (((VALUE._col0 + VALUE._col0) = 400) or (((VALUE._col0 - 100) = 500) and KEY._col0 is not null)) (type: boolean)
+            predicate: ((((VALUE._col0 - 100) = 500) and KEY._col0 is not null) or ((VALUE._col0 + VALUE._col0) = 400)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Group By Operator
               aggregations: count()
index 2ec9ecd..12c5f3f 100644 (file)
@@ -631,7 +631,7 @@ STAGE PLANS:
             alias: src2
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((UDFToDouble(key) > 15.0) and (UDFToDouble(key) < 20.0)) (type: boolean)
+              predicate: ((UDFToDouble(key) < 20.0) and (UDFToDouble(key) > 15.0)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
                 keys: key (type: string), value (type: string)
index 83d367f..80301bf 100644 (file)
@@ -155,7 +155,7 @@ STAGE PLANS:
           outputColumnNames: _col0, _col1, _col2, _col3
           Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
           Filter Operator
-            predicate: ((_col3 <= 822) and (_col1 <= 4074689.000000041)) (type: boolean)
+            predicate: ((_col1 <= 4074689.000000041) and (_col3 <= 822)) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Select Operator
               expressions: _col0 (type: string), _col1 (type: double), _col2 (type: double)
index eaa48a0..2d2b07a 100644 (file)
@@ -34,7 +34,7 @@ STAGE PLANS:
             alias: src
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((value = 'val_105') and (key = '105')) (type: boolean)
+              predicate: ((key = '105') and (value = 'val_105')) (type: boolean)
               Statistics: Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 Statistics: Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
index 76ed49e..654e419 100644 (file)
@@ -66,7 +66,7 @@ STAGE PLANS:
             alias: src
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((UDFToDouble(key) > 80.0) and (UDFToDouble(key) < 100.0)) (type: boolean)
+              predicate: ((UDFToDouble(key) < 100.0) and (UDFToDouble(key) > 80.0)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
@@ -136,7 +136,7 @@ STAGE PLANS:
             alias: default__src_src_index__
             filterExpr: ((UDFToDouble(key) > 80.0) and (UDFToDouble(key) < 100.0)) (type: boolean)
             Filter Operator
-              predicate: ((UDFToDouble(key) > 80.0) and (UDFToDouble(key) < 100.0)) (type: boolean)
+              predicate: ((UDFToDouble(key) < 100.0) and (UDFToDouble(key) > 80.0)) (type: boolean)
               Select Operator
                 expressions: _bucketname (type: string), _offsets (type: array<bigint>)
                 outputColumnNames: _col0, _col1
@@ -170,7 +170,7 @@ STAGE PLANS:
             filterExpr: ((UDFToDouble(key) > 80.0) and (UDFToDouble(key) < 100.0)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((UDFToDouble(key) > 80.0) and (UDFToDouble(key) < 100.0)) (type: boolean)
+              predicate: ((UDFToDouble(key) < 100.0) and (UDFToDouble(key) > 80.0)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
index 594fa26..d970b25 100644 (file)
@@ -14,7 +14,7 @@ STAGE PLANS:
             alias: a
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((UDFToDouble(key) > 80.0) and (UDFToDouble(key) < 90.0)) (type: boolean)
+              predicate: ((UDFToDouble(key) < 90.0) and (UDFToDouble(key) > 80.0)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
@@ -214,7 +214,7 @@ STAGE PLANS:
             alias: default__src_src_index_bitmap__
             filterExpr: ((UDFToDouble(key) > 80.0) and (UDFToDouble(key) < 90.0) and (not EWAH_BITMAP_EMPTY(_bitmaps))) (type: boolean)
             Filter Operator
-              predicate: ((UDFToDouble(key) > 80.0) and (UDFToDouble(key) < 90.0) and (not EWAH_BITMAP_EMPTY(_bitmaps))) (type: boolean)
+              predicate: ((UDFToDouble(key) < 90.0) and (UDFToDouble(key) > 80.0) and (not EWAH_BITMAP_EMPTY(_bitmaps))) (type: boolean)
               Select Operator
                 expressions: _bucketname (type: string), _offset (type: bigint)
                 outputColumnNames: _bucketname, _offset
@@ -255,7 +255,7 @@ STAGE PLANS:
             filterExpr: ((UDFToDouble(key) > 80.0) and (UDFToDouble(key) < 90.0)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((UDFToDouble(key) > 80.0) and (UDFToDouble(key) < 90.0)) (type: boolean)
+              predicate: ((UDFToDouble(key) < 90.0) and (UDFToDouble(key) > 80.0)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
index 685f612..65eb0de 100644 (file)
@@ -14,7 +14,7 @@ STAGE PLANS:
             alias: a
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((UDFToDouble(key) > 80.0) and (UDFToDouble(key) < 90.0)) (type: boolean)
+              predicate: ((UDFToDouble(key) < 90.0) and (UDFToDouble(key) > 80.0)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
@@ -219,7 +219,7 @@ STAGE PLANS:
             alias: default__src_src_index_compact__
             filterExpr: ((UDFToDouble(key) > 80.0) and (UDFToDouble(key) < 90.0)) (type: boolean)
             Filter Operator
-              predicate: ((UDFToDouble(key) > 80.0) and (UDFToDouble(key) < 90.0)) (type: boolean)
+              predicate: ((UDFToDouble(key) < 90.0) and (UDFToDouble(key) > 80.0)) (type: boolean)
               Select Operator
                 expressions: _bucketname (type: string), _offsets (type: array<bigint>)
                 outputColumnNames: _col0, _col1
@@ -253,7 +253,7 @@ STAGE PLANS:
             filterExpr: ((UDFToDouble(key) > 80.0) and (UDFToDouble(key) < 90.0)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((UDFToDouble(key) > 80.0) and (UDFToDouble(key) < 90.0)) (type: boolean)
+              predicate: ((UDFToDouble(key) < 90.0) and (UDFToDouble(key) > 80.0)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
index 43af419..08c851b 100644 (file)
@@ -14,7 +14,7 @@ STAGE PLANS:
             alias: a
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((UDFToDouble(key) > 80.0) and (UDFToDouble(key) < 100.0) and value is not null) (type: boolean)
+              predicate: ((UDFToDouble(key) < 100.0) and (UDFToDouble(key) > 80.0) and value is not null) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
@@ -30,7 +30,7 @@ STAGE PLANS:
             alias: b
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((UDFToDouble(key) > 70.0) and (UDFToDouble(key) < 90.0) and value is not null) (type: boolean)
+              predicate: ((UDFToDouble(key) < 90.0) and (UDFToDouble(key) > 70.0) and value is not null) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
@@ -128,7 +128,7 @@ STAGE PLANS:
             alias: default__src_src_index__
             filterExpr: ((UDFToDouble(key) > 80.0) and (UDFToDouble(key) < 100.0) and (not EWAH_BITMAP_EMPTY(_bitmaps))) (type: boolean)
             Filter Operator
-              predicate: ((UDFToDouble(key) > 80.0) and (UDFToDouble(key) < 100.0) and (not EWAH_BITMAP_EMPTY(_bitmaps))) (type: boolean)
+              predicate: ((UDFToDouble(key) < 100.0) and (UDFToDouble(key) > 80.0) and (not EWAH_BITMAP_EMPTY(_bitmaps))) (type: boolean)
               Select Operator
                 expressions: _bucketname (type: string), _offset (type: bigint)
                 outputColumnNames: _bucketname, _offset
@@ -169,7 +169,7 @@ STAGE PLANS:
             filterExpr: ((UDFToDouble(key) > 80.0) and (UDFToDouble(key) < 100.0) and value is not null) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((UDFToDouble(key) > 80.0) and (UDFToDouble(key) < 100.0) and value is not null) (type: boolean)
+              predicate: ((UDFToDouble(key) < 100.0) and (UDFToDouble(key) > 80.0) and value is not null) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
@@ -186,7 +186,7 @@ STAGE PLANS:
             filterExpr: ((UDFToDouble(key) > 70.0) and (UDFToDouble(key) < 90.0) and value is not null) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((UDFToDouble(key) > 70.0) and (UDFToDouble(key) < 90.0) and value is not null) (type: boolean)
+              predicate: ((UDFToDouble(key) < 90.0) and (UDFToDouble(key) > 70.0) and value is not null) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
@@ -226,7 +226,7 @@ STAGE PLANS:
             alias: default__src_src_index__
             filterExpr: ((UDFToDouble(key) > 70.0) and (UDFToDouble(key) < 90.0) and (not EWAH_BITMAP_EMPTY(_bitmaps))) (type: boolean)
             Filter Operator
-              predicate: ((UDFToDouble(key) > 70.0) and (UDFToDouble(key) < 90.0) and (not EWAH_BITMAP_EMPTY(_bitmaps))) (type: boolean)
+              predicate: ((UDFToDouble(key) < 90.0) and (UDFToDouble(key) > 70.0) and (not EWAH_BITMAP_EMPTY(_bitmaps))) (type: boolean)
               Select Operator
                 expressions: _bucketname (type: string), _offset (type: bigint)
                 outputColumnNames: _bucketname, _offset
index cff5313..a960d96 100644 (file)
@@ -33,7 +33,7 @@ STAGE PLANS:
             filterExpr: ((UDFToDouble(key) > 80.0) and (UDFToDouble(key) < 100.0)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((UDFToDouble(key) > 80.0) and (UDFToDouble(key) < 100.0)) (type: boolean)
+              predicate: ((UDFToDouble(key) < 100.0) and (UDFToDouble(key) > 80.0)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
@@ -97,7 +97,7 @@ STAGE PLANS:
             filterExpr: ((UDFToDouble(key) > 80.0) and (UDFToDouble(key) < 100.0)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((UDFToDouble(key) > 80.0) and (UDFToDouble(key) < 100.0)) (type: boolean)
+              predicate: ((UDFToDouble(key) < 100.0) and (UDFToDouble(key) > 80.0)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
@@ -262,7 +262,7 @@ STAGE PLANS:
             filterExpr: ((UDFToDouble(key) > 80.0) and (UDFToDouble(key) < 100.0)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((UDFToDouble(key) > 80.0) and (UDFToDouble(key) < 100.0)) (type: boolean)
+              predicate: ((UDFToDouble(key) < 100.0) and (UDFToDouble(key) > 80.0)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
index b5b9a99..1f8e40a 100644 (file)
@@ -35,7 +35,7 @@ STAGE PLANS:
             alias: default__src_src_index__
             filterExpr: ((UDFToDouble(key) > 80.0) and (UDFToDouble(key) < 100.0) and (not EWAH_BITMAP_EMPTY(_bitmaps))) (type: boolean)
             Filter Operator
-              predicate: ((UDFToDouble(key) > 80.0) and (UDFToDouble(key) < 100.0) and (not EWAH_BITMAP_EMPTY(_bitmaps))) (type: boolean)
+              predicate: ((UDFToDouble(key) < 100.0) and (UDFToDouble(key) > 80.0) and (not EWAH_BITMAP_EMPTY(_bitmaps))) (type: boolean)
               Select Operator
                 expressions: _bucketname (type: string), _offset (type: bigint)
                 outputColumnNames: _bucketname, _offset
@@ -76,7 +76,7 @@ STAGE PLANS:
             filterExpr: ((UDFToDouble(key) > 80.0) and (UDFToDouble(key) < 100.0)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((UDFToDouble(key) > 80.0) and (UDFToDouble(key) < 100.0)) (type: boolean)
+              predicate: ((UDFToDouble(key) < 100.0) and (UDFToDouble(key) > 80.0)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
index 41253a8..a2c0d27 100644 (file)
@@ -39,7 +39,7 @@ STAGE PLANS:
             alias: default__src_src_index__
             filterExpr: ((UDFToDouble(key) > 80.0) and (UDFToDouble(key) < 100.0)) (type: boolean)
             Filter Operator
-              predicate: ((UDFToDouble(key) > 80.0) and (UDFToDouble(key) < 100.0)) (type: boolean)
+              predicate: ((UDFToDouble(key) < 100.0) and (UDFToDouble(key) > 80.0)) (type: boolean)
               Select Operator
                 expressions: _bucketname (type: string), _offsets (type: array<bigint>)
                 outputColumnNames: _col0, _col1
@@ -73,7 +73,7 @@ STAGE PLANS:
             filterExpr: ((UDFToDouble(key) > 80.0) and (UDFToDouble(key) < 100.0)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((UDFToDouble(key) > 80.0) and (UDFToDouble(key) < 100.0)) (type: boolean)
+              predicate: ((UDFToDouble(key) < 100.0) and (UDFToDouble(key) > 80.0)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
index 08f53ac..176edaf 100644 (file)
@@ -59,7 +59,7 @@ STAGE PLANS:
             alias: infertypes
             Statistics: Num rows: 1 Data size: 117 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((ti = 127) and (si = 32767) and (i = 12345) and (bi = -12345) and (fl = 906) and (db = -307.0) and (UDFToDouble(str) = 1234.0)) (type: boolean)
+              predicate: ((UDFToDouble(str) = 1234.0) and (bi = -12345) and (db = -307.0) and (fl = 906) and (i = 12345) and (si = 32767) and (ti = 127)) (type: boolean)
               Statistics: Num rows: 1 Data size: 117 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: 127 (type: tinyint), 32767 (type: smallint), 12345 (type: int), -12345 (type: bigint), 906.0 (type: float), -307.0 (type: double), str (type: string)
@@ -131,7 +131,7 @@ STAGE PLANS:
             alias: infertypes
             Statistics: Num rows: 1 Data size: 117 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((UDFToDouble(ti) = 128.0) or (UDFToInteger(si) = 32768) or (UDFToDouble(i) = 2.147483648E9) or (UDFToDouble(bi) = 9.223372036854776E18)) (type: boolean)
+              predicate: ((UDFToDouble(bi) = 9.223372036854776E18) or (UDFToDouble(i) = 2.147483648E9) or (UDFToDouble(ti) = 128.0) or (UDFToInteger(si) = 32768)) (type: boolean)
               Statistics: Num rows: 1 Data size: 117 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)
@@ -194,7 +194,7 @@ STAGE PLANS:
             alias: infertypes
             Statistics: Num rows: 1 Data size: 117 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((UDFToDouble(ti) = 127.0) or (CAST( si AS decimal(5,0)) = 327) or (UDFToDouble(i) = -100.0)) (type: boolean)
+              predicate: ((CAST( si AS decimal(5,0)) = 327) or (UDFToDouble(i) = -100.0) or (UDFToDouble(ti) = 127.0)) (type: boolean)
               Statistics: Num rows: 1 Data size: 117 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)
@@ -251,7 +251,7 @@ STAGE PLANS:
             alias: infertypes
             Statistics: Num rows: 1 Data size: 117 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((UDFToDouble(ti) < 127.0) and (UDFToDouble(i) > 100.0) and (UDFToDouble(str) = 1.57)) (type: boolean)
+              predicate: ((UDFToDouble(i) > 100.0) and (UDFToDouble(str) = 1.57) and (UDFToDouble(ti) < 127.0)) (type: boolean)
               Statistics: Num rows: 1 Data size: 117 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)
index 3bb765c..cd9d52e 100644 (file)
@@ -81,7 +81,7 @@ STAGE PLANS:
                       serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
                       name: default.dest1
             Filter Operator
-              predicate: ((key >= 100) and (key < 200)) (type: boolean)
+              predicate: ((key < 200) and (key >= 100)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: UDFToInteger(key) (type: int), value (type: string)
index 91ff234..c594ce3 100644 (file)
@@ -89,7 +89,7 @@ STAGE PLANS:
                       serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
                       name: default.dest1
             Filter Operator
-              predicate: ((key >= 100) and (key < 200)) (type: boolean)
+              predicate: ((key < 200) and (key >= 100)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: UDFToInteger(key) (type: int), value (type: string)
@@ -104,7 +104,7 @@ STAGE PLANS:
                       serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
                       name: default.dest2
             Filter Operator
-              predicate: ((key >= 200) and (key < 300)) (type: boolean)
+              predicate: ((key < 300) and (key >= 200)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: UDFToInteger(key) (type: int)
index d5524fe..0211d50 100644 (file)
@@ -51,7 +51,7 @@ STAGE PLANS:
             GatherStats: false
             Filter Operator
               isSamplingPred: false
-              predicate: ((key < 100) and (ds = '2008-04-08')) (type: boolean)
+              predicate: ((ds = '2008-04-08') and (key < 100)) (type: boolean)
               Statistics: Num rows: 333 Data size: 3537 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: UDFToInteger(key) (type: int), value (type: string), '12' (type: string), '2008-04-08' (type: string)
@@ -91,7 +91,7 @@ STAGE PLANS:
                   MultiFileSpray: false
             Filter Operator
               isSamplingPred: false
-              predicate: ((key < 100) and (ds = '2008-04-09')) (type: boolean)
+              predicate: ((ds = '2008-04-09') and (key < 100)) (type: boolean)
               Statistics: Num rows: 333 Data size: 3537 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: UDFToInteger(key) (type: int), value (type: string), '12' (type: string), '2008-04-09' (type: string)
index 395147b..753e268 100644 (file)
@@ -16,7 +16,7 @@ STAGE PLANS:
           alias: x
           Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
           Filter Operator
-            predicate: ((ds = '2008-04-08') and (UDFToDouble(hr) = 15.0)) (type: boolean)
+            predicate: ((UDFToDouble(hr) = 15.0) and (ds = '2008-04-08')) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Select Operator
               expressions: key (type: string), value (type: string), '2008-04-08' (type: string), hr (type: string)
index 44c0f4f..1a9365f 100644 (file)
@@ -24,7 +24,7 @@ STAGE PLANS:
             alias: src_thrift
             Statistics: Num rows: 11 Data size: 3070 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (mstringstring['key_9'] is not null and lintstring.myint is not null and lintstring is not null) (type: boolean)
+              predicate: (lintstring is not null and lintstring.myint is not null and mstringstring['key_9'] is not null) (type: boolean)
               Statistics: Num rows: 11 Data size: 3070 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: mstringstring['key_9'] (type: string), lintstring.myint (type: array<int>)
@@ -96,7 +96,7 @@ STAGE PLANS:
             alias: src_thrift
             Statistics: Num rows: 11 Data size: 3070 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (mstringstring['key_9'] is not null and lintstring.myint is not null and lintstring is not null) (type: boolean)
+              predicate: (lintstring is not null and lintstring.myint is not null and mstringstring['key_9'] is not null) (type: boolean)
               Statistics: Num rows: 11 Data size: 3070 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: mstringstring['key_9'] (type: string), lintstring.myint (type: array<int>)
index 3952578..5dffac7 100644 (file)
@@ -444,7 +444,7 @@ STAGE PLANS:
                       serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
                       name: default.insert1
             Filter Operator
-              predicate: ((key > 10) and (key < 20)) (type: boolean)
+              predicate: ((key < 20) and (key > 10)) (type: boolean)
               Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
               Select Operator
                 expressions: key (type: int), value (type: string)
index e83c776..35b20c7 100644 (file)
@@ -134,7 +134,7 @@ STAGE PLANS:
             alias: t5
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
-              predicate: ((predicate = 'http://www.ontosearch.com/2007/12/ontosofa-ns#_to') and subject is not null and object is not null) (type: boolean)
+              predicate: ((predicate = 'http://www.ontosearch.com/2007/12/ontosofa-ns#_to') and object is not null and subject is not null) (type: boolean)
               Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
               Select Operator
                 expressions: subject (type: string), object (type: string)
@@ -272,7 +272,7 @@ STAGE PLANS:
             alias: t4
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
-              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)
+              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)
               Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
               Select Operator
                 expressions: subject (type: string)
@@ -322,7 +322,7 @@ STAGE PLANS:
             alias: t1
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
-              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)
+              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)
               Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
               Select Operator
                 expressions: subject (type: string)
index 13a2329..f9df32a 100644 (file)
@@ -680,7 +680,7 @@ STAGE PLANS:
             alias: src1
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((key < 15) and (key < 10)) (type: boolean)
+              predicate: ((key < 10) and (key < 15)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Reduce Output Operator
                 key expressions: key (type: string)
index 10b7fbd..f11d995 100644 (file)
@@ -49,7 +49,7 @@ STAGE PLANS:
             alias: src1
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((UDFToDouble(key) > 10.0) and (UDFToDouble(key) < 20.0)) (type: boolean)
+              predicate: ((UDFToDouble(key) < 20.0) and (UDFToDouble(key) > 10.0)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
@@ -65,7 +65,7 @@ STAGE PLANS:
             alias: src2
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((UDFToDouble(key) > 15.0) and (UDFToDouble(key) < 20.0)) (type: boolean)
+              predicate: ((UDFToDouble(key) < 20.0) and (UDFToDouble(key) > 15.0)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
index d615495..e920bbb 100644 (file)
@@ -2432,7 +2432,7 @@ STAGE PLANS:
             alias: src1
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((key < 15) and (key < 10)) (type: boolean)
+              predicate: ((key < 10) and (key < 15)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Reduce Output Operator
                 key expressions: key (type: string)
index 3c373e6..3d49a24 100644 (file)
@@ -565,7 +565,7 @@ STAGE PLANS:
           outputColumnNames: _col0, _col1, _col2, _col3
           Statistics: Num rows: 12500 Data size: 240800 Basic stats: COMPLETE Column stats: NONE
           Filter Operator
-            predicate: (((UDFToDouble(_col0) + UDFToDouble(_col2)) >= 100.0) or ((UDFToDouble(_col0) + UDFToDouble(_col2)) <= 102.0)) (type: boolean)
+            predicate: (((UDFToDouble(_col0) + UDFToDouble(_col2)) <= 102.0) or ((UDFToDouble(_col0) + UDFToDouble(_col2)) >= 100.0)) (type: boolean)
             Statistics: Num rows: 8332 Data size: 160507 Basic stats: COMPLETE Column stats: NONE
             Limit
               Number of rows: 10
index 105a731..99cfe1a 100644 (file)
@@ -65,7 +65,7 @@ STAGE PLANS:
             alias: src2
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((UDFToDouble(key) > 15.0) and (UDFToDouble(key) < 25.0)) (type: boolean)
+              predicate: ((UDFToDouble(key) < 25.0) and (UDFToDouble(key) > 15.0)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
index 77c8c3a..ce2ec8b 100644 (file)
@@ -49,7 +49,7 @@ STAGE PLANS:
             alias: src1
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((UDFToDouble(key) > 10.0) and (UDFToDouble(key) < 20.0)) (type: boolean)
+              predicate: ((UDFToDouble(key) < 20.0) and (UDFToDouble(key) > 10.0)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
@@ -65,7 +65,7 @@ STAGE PLANS:
             alias: src2
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((UDFToDouble(key) > 15.0) and (UDFToDouble(key) < 25.0)) (type: boolean)
+              predicate: ((UDFToDouble(key) < 25.0) and (UDFToDouble(key) > 15.0)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
index fec67b2..d8adc39 100644 (file)
@@ -59,7 +59,7 @@ STAGE PLANS:
             alias: src1
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((UDFToDouble(key) > 10.0) and (UDFToDouble(key) < 20.0)) (type: boolean)
+              predicate: ((UDFToDouble(key) < 20.0) and (UDFToDouble(key) > 10.0)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
@@ -75,7 +75,7 @@ STAGE PLANS:
             alias: src2
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((UDFToDouble(key) > 15.0) and (UDFToDouble(key) < 25.0)) (type: boolean)
+              predicate: ((UDFToDouble(key) < 25.0) and (UDFToDouble(key) > 15.0)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
@@ -91,7 +91,7 @@ STAGE PLANS:
             alias: src3
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((UDFToDouble(key) > 20.0) and (UDFToDouble(key) < 25.0)) (type: boolean)
+              predicate: ((UDFToDouble(key) < 25.0) and (UDFToDouble(key) > 20.0)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
index 185b542..3784824 100644 (file)
@@ -49,7 +49,7 @@ STAGE PLANS:
             alias: src1
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((UDFToDouble(key) > 10.0) and (UDFToDouble(key) < 20.0)) (type: boolean)
+              predicate: ((UDFToDouble(key) < 20.0) and (UDFToDouble(key) > 10.0)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
@@ -65,7 +65,7 @@ STAGE PLANS:
             alias: src2
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((UDFToDouble(key) > 15.0) and (UDFToDouble(key) < 20.0)) (type: boolean)
+              predicate: ((UDFToDouble(key) < 20.0) and (UDFToDouble(key) > 15.0)) (type: boolean)
               Statistics: Num rows: 55 Data size: 584 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
index d5b772d..d57fada 100644 (file)
@@ -77,7 +77,7 @@ STAGE PLANS:
             alias: hive_bar
             Statistics: Num rows: 1 Data size: 23 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (foo_id is not null and bar_id is not null) (type: boolean)
+              predicate: (bar_id is not null and foo_id is not null) (type: boolean)
               Statistics: Num rows: 1 Data size: 23 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: bar_id (type: int), foo_id (type: int), bar_name (type: string)
index d7a33a9..37d0220 100644 (file)
@@ -465,7 +465,7 @@ STAGE PLANS:
             alias: src1
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (value is not null and key is not null) (type: boolean)
+              predicate: (key is not null and value is not null) (type: boolean)
               Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
index b713708..aaf3b94 100644 (file)
@@ -208,7 +208,7 @@ STAGE PLANS:
             alias: a
             Statistics: Num rows: 1 Data size: 30 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (key is not null and val is not null and (key + 1) is not null) (type: boolean)
+              predicate: ((key + 1) is not null and key is not null and val is not null) (type: boolean)
               Statistics: Num rows: 1 Data size: 30 Basic stats: COMPLETE Column stats: NONE
               Reduce Output Operator
                 key expressions: key (type: string)
@@ -220,7 +220,7 @@ STAGE PLANS:
             alias: b
             Statistics: Num rows: 1 Data size: 30 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (key is not null and (key + 1) is not null) (type: boolean)
+              predicate: ((key + 1) is not null and key is not null) (type: boolean)
               Statistics: Num rows: 1 Data size: 30 Basic stats: COMPLETE Column stats: NONE
               Reduce Output Operator
                 key expressions: key (type: string)
index 8622263..36f0da4 100644 (file)
@@ -208,7 +208,7 @@ STAGE PLANS:
             alias: a
             Statistics: Num rows: 1 Data size: 30 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (key is not null and val is not null and (key + 1) is not null) (type: boolean)
+              predicate: ((key + 1) is not null and key is not null and val is not null) (type: boolean)
               Statistics: Num rows: 1 Data size: 30 Basic stats: COMPLETE Column stats: NONE
               Reduce Output Operator
                 key expressions: key (type: string)
@@ -220,7 +220,7 @@ STAGE PLANS:
             alias: b
             Statistics: Num rows: 1 Data size: 30 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (key is not null and (key + 1) is not null) (type: boolean)
+              predicate: ((key + 1) is not null and key is not null) (type: boolean)
               Statistics: Num rows: 1 Data size: 30 Basic stats: COMPLETE Column stats: NONE
               Reduce Output Operator
                 key expressions: key (type: string)
index 5a326f6..afba625 100644 (file)
@@ -314,7 +314,7 @@ STAGE PLANS:
           GatherStats: false
           Filter Operator
             isSamplingPred: false
-            predicate: (((key = '484') and (value = 'val_484')) or ((key = '238') and (value = 'val_238'))) (type: boolean)
+            predicate: (((key = '238') and (value = 'val_238')) or ((key = '484') and (value = 'val_484'))) (type: boolean)
             Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: key (type: string), value (type: string)
index 7f97c0e..3fb3184 100644 (file)
@@ -667,7 +667,7 @@ STAGE PLANS:
                   alias: src3
                   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
                     Reduce Output Operator
                       key expressions: key (type: string)
@@ -2513,7 +2513,7 @@ STAGE PLANS:
                   alias: src1
                   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
                     Reduce Output Operator
                       key expressions: key (type: string)
@@ -2545,7 +2545,7 @@ STAGE PLANS:
                   alias: src3
                   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
                     Reduce Output Operator
                       key expressions: key (type: string)
@@ -2630,7 +2630,7 @@ STAGE PLANS:
                   alias: src1
                   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
                     Reduce Output Operator
                       key expressions: key (type: string)
@@ -3296,7 +3296,7 @@ STAGE PLANS:
                   alias: src3
                   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
                     Reduce Output Operator
                       key expressions: key (type: string)
@@ -3497,7 +3497,7 @@ STAGE PLANS:
                   alias: src1
                   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:
@@ -3544,7 +3544,7 @@ STAGE PLANS:
                   alias: src3
                   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
                     Reduce Output Operator
                       key expressions: key (type: string)
index 7898832..83070e6 100644 (file)
@@ -349,7 +349,7 @@ STAGE PLANS:
                   GatherStats: false
                   Filter Operator
                     isSamplingPred: false
-                    predicate: ((key = 1) and (ds = '2008-04-08')) (type: boolean)
+                    predicate: ((ds = '2008-04-08') and (key = 1)) (type: boolean)
                     Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
                     Select Operator
                       expressions: 1 (type: int), value (type: string), '2008-04-08' (type: string)
@@ -411,7 +411,7 @@ STAGE PLANS:
                   GatherStats: false
                   Filter Operator
                     isSamplingPred: false
-                    predicate: ((key = 1) and (ds = '2008-04-08') and (value = 'One')) (type: boolean)
+                    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
                     Select Operator
                       expressions: 1 (type: int), 'One' (type: string), '2008-04-08' (type: string)
@@ -473,7 +473,7 @@ STAGE PLANS:
                   GatherStats: false
                   Filter Operator
                     isSamplingPred: false
-                    predicate: ((value = 'One') and (key = 1) and (ds = '2008-04-08')) (type: boolean)
+                    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
                     Select Operator
                       expressions: 1 (type: int), 'One' (type: string), '2008-04-08' (type: string)
@@ -597,7 +597,7 @@ STAGE PLANS:
                   GatherStats: false
                   Filter Operator
                     isSamplingPred: false
-                    predicate: ((key) IN (2, 3) and (ds = '2008-04-08')) (type: boolean)
+                    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
                     Select Operator
                       expressions: key (type: int), value (type: string), '2008-04-08' (type: string)
@@ -659,7 +659,7 @@ STAGE PLANS:
                   GatherStats: false
                   Filter Operator
                     isSamplingPred: false
-                    predicate: ((key) IN (2, 3) and (ds = '2008-04-08') and (value = 'One')) (type: boolean)
+                    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
                     Select Operator
                       expressions: key (type: int), 'One' (type: string), '2008-04-08' (type: string)
@@ -721,7 +721,7 @@ STAGE PLANS:
                   GatherStats: false
                   Filter Operator
                     isSamplingPred: false
-                    predicate: ((key) IN (2, 3) and (value = 'One') and (ds = '2008-04-08')) (type: boolean)
+                    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
                     Select Operator
                       expressions: key (type: int), 'One' (type: string), '2008-04-08' (type: string)
@@ -843,7 +843,7 @@ STAGE PLANS:
                   GatherStats: false
                   Filter Operator
                     isSamplingPred: false
-                    predicate: (((key = 1) or (key = 2)) and (value = 'One') and (ds = '2008-04-08')) (type: boolean)
+                    predicate: (((key = 1) or (key = 2)) and (ds = '2008-04-08') and (value = 'One')) (type: boolean)
                     Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
                     Select Operator
                       expressions: key (type: int), 'One' (type: string), '2008-04-08' (type: string)
@@ -1027,7 +1027,7 @@ STAGE PLANS:
                   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) and (ds = '2008-04-08')) (type: boolean)
+                    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
                     Select Operator
                       expressions: key (type: int), value (type: string), '2008-04-08' (type: string)
@@ -1088,7 +1088,7 @@ STAGE PLANS:
                   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) and (ds = '2008-04-08') and (value = 'One')) (type: boolean)
+                    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
                     Select Operator
                       expressions: key (type: int), 'One' (type: string), '2008-04-08' (type: string)
@@ -1149,7 +1149,7 @@ STAGE PLANS:
                   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) and (value = 'One') and (ds = '2008-04-08')) (type: boolean)
+                    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
                     Select Operator
                       expressions: key (type: int), 'One' (type: string), '2008-04-08' (type: string)
@@ -1271,7 +1271,7 @@ STAGE PLANS:
                   GatherStats: false
                   Filter Operator
                     isSamplingPred: false
-                    predicate: ((key = 1) and (ds = '2008-04-08') and ((value = 'One') or (value = 'Two'))) (type: boolean)
+                    predicate: (((value = 'One') or (value = 'Two')) and (ds = '2008-04-08') and (key = 1)) (type: boolean)
                     Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
                     Select Operator
                       expressions: 1 (type: int), value (type: string), '2008-04-08' (type: string)
@@ -1332,7 +1332,7 @@ STAGE PLANS:
                   GatherStats: false
                   Filter Operator
                     isSamplingPred: false
-                    predicate: ((key = 1) or (value = 'One') or ((key = 2) and (value = 'Two'))) (type: boolean)
+                    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
                     Select Operator
                       expressions: key (type: int), value (type: string), ds (type: string)
@@ -1514,7 +1514,7 @@ STAGE PLANS:
                   GatherStats: false
                   Filter Operator
                     isSamplingPred: false
-                    predicate: ((key = 1) or (value = 'One') or (key = 2)) (type: boolean)
+                    predicate: ((key = 1) or (key = 2) or (value = 'One')) (type: boolean)
                     Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL
                     Select Operator
                       expressions: key (type: int), value (type: string), ds (type: string)
index 62ed4c8..c5e2973 100644 (file)
@@ -459,7 +459,7 @@ STAGE PLANS:
                   alias: test_table1
                   Statistics: Num rows: 10 Data size: 1950 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
-                    predicate: ((key < 8) and ((key = 0) or (key = 5))) (type: boolean)
+                    predicate: (((key = 0) or (key = 5)) and (key < 8)) (type: boolean)
                     Statistics: Num rows: 10 Data size: 1950 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: key (type: int), value (type: string)
@@ -479,7 +479,7 @@ STAGE PLANS:
                   alias: test_table2
                   Statistics: Num rows: 84 Data size: 15964 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
-                    predicate: ((key < 8) and ((key = 0) or (key = 5))) (type: boolean)
+                    predicate: (((key = 0) or (key = 5)) and (key < 8)) (type: boolean)
                     Statistics: Num rows: 10 Data size: 1900 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: key (type: int), value (type: string)
index 935a8b4..998a5df 100644 (file)
@@ -140,7 +140,7 @@ Stage-0
                   Select Operator [SEL_2] (rows=5 width=192)
                     Output:["_col0","_col2"]
                     Filter Operator [FIL_24] (rows=5 width=192)
-                      predicate:((val = 't1val01') and id is not null and dimid is not null)
+                      predicate:((val = 't1val01') and dimid is not null and id is not null)
                       TableScan [TS_0] (rows=10 width=192)
                         default@table1,table1,Tbl:COMPLETE,Col:NONE,Output:["id","val","dimid"]
               <-Map 4 [SIMPLE_EDGE] llap
index ffc3957..de867b2 100644 (file)
@@ -1093,7 +1093,7 @@ STAGE PLANS:
                   filterExpr: ((date = '2008-04-08') and (UDFToDouble(hour) = 11.0) and ds is not null and hr is not null) (type: boolean)
                   Statistics: Num rows: 4 Data size: 2944 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
-                    predicate: ((date = '2008-04-08') and (UDFToDouble(hour) = 11.0) and ds is not null and hr is not null) (type: boolean)
+                    predicate: ((UDFToDouble(hour) = 11.0) and (date = '2008-04-08') and ds is not null and hr is not null) (type: boolean)
                     Statistics: Num rows: 2 Data size: 1472 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: ds (type: string), hr (type: string)
@@ -1237,7 +1237,7 @@ STAGE PLANS:
                   filterExpr: ((date = '2008-04-08') and (UDFToDouble(hour) = 11.0) and ds is not null and hr is not null) (type: boolean)
                   Statistics: Num rows: 4 Data size: 2944 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
-                    predicate: ((date = '2008-04-08') and (UDFToDouble(hour) = 11.0) and ds is not null and hr is not null) (type: boolean)
+                    predicate: ((UDFToDouble(hour) = 11.0) and (date = '2008-04-08') and ds is not null and hr is not null) (type: boolean)
                     Statistics: Num rows: 2 Data size: 1472 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: ds (type: string), hr (type: string)
@@ -2377,7 +2377,7 @@ STAGE PLANS:
                   filterExpr: ((date = '2008-04-08') and (UDFToDouble(hour) = 11.0)) (type: boolean)
                   Statistics: Num rows: 4 Data size: 2944 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
-                    predicate: ((date = '2008-04-08') and (UDFToDouble(hour) = 11.0)) (type: boolean)
+                    predicate: ((UDFToDouble(hour) = 11.0) and (date = '2008-04-08')) (type: boolean)
                     Statistics: Num rows: 2 Data size: 1472 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: ds (type: string), hr (type: string)
@@ -2494,7 +2494,7 @@ STAGE PLANS:
                   filterExpr: ((date = '2008-04-08') and (UDFToDouble(hour) = 11.0) and ds is not null and hr is not null) (type: boolean)
                   Statistics: Num rows: 4 Data size: 2944 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
-                    predicate: ((date = '2008-04-08') and (UDFToDouble(hour) = 11.0) and ds is not null and hr is not null) (type: boolean)
+                    predicate: ((UDFToDouble(hour) = 11.0) and (date = '2008-04-08') and ds is not null and hr is not null) (type: boolean)
                     Statistics: Num rows: 2 Data size: 1472 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: ds (type: string), hr (type: string)
@@ -4449,7 +4449,7 @@ STAGE PLANS:
                   filterExpr: ((date = '2008-04-08') and (UDFToDouble(hour) = 11.0) and ds is not null and hr is not null) (type: boolean)
                   Statistics: Num rows: 4 Data size: 2944 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
-                    predicate: ((date = '2008-04-08') and (UDFToDouble(hour) = 11.0) and ds is not null and hr is not null) (type: boolean)
+                    predicate: ((UDFToDouble(hour) = 11.0) and (date = '2008-04-08') and ds is not null and hr is not null) (type: boolean)
                     Statistics: Num rows: 2 Data size: 1472 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: ds (type: string), hr (type: string)
index af3ba11..1a1a4d9 100644 (file)
@@ -291,7 +291,7 @@ STAGE PLANS:
                   filterExpr: (key is not null and (key BETWEEN DynamicValue(RS_7_srcpart_small_key1_min) AND DynamicValue(RS_7_srcpart_small_key1_max) and in_bloom_filter(key, DynamicValue(RS_7_srcpart_small_key1_bloom_filter)))) (type: boolean)
                   Statistics: Num rows: 2000 Data size: 174000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
-                    predicate: (key is not null and (key BETWEEN DynamicValue(RS_7_srcpart_small_key1_min) AND DynamicValue(RS_7_srcpart_small_key1_max) and in_bloom_filter(key, DynamicValue(RS_7_srcpart_small_key1_bloom_filter)))) (type: boolean)
+                    predicate: ((key BETWEEN DynamicValue(RS_7_srcpart_small_key1_min) AND DynamicValue(RS_7_srcpart_small_key1_max) and in_bloom_filter(key, DynamicValue(RS_7_srcpart_small_key1_bloom_filter))) and key is not null) (type: boolean)
                     Statistics: Num rows: 2000 Data size: 174000 Basic stats: COMPLETE Column stats: COMPLETE
                     Select Operator
                       expressions: key (type: string)
@@ -707,7 +707,7 @@ STAGE PLANS:
                   filterExpr: (key is not null and (key BETWEEN DynamicValue(RS_10_srcpart_small_key1_min) AND DynamicValue(RS_10_srcpart_small_key1_max) and in_bloom_filter(key, DynamicValue(RS_10_srcpart_small_key1_bloom_filter)))) (type: boolean)
                   Statistics: Num rows: 2000 Data size: 174000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
-                    predicate: (key is not null and (key BETWEEN DynamicValue(RS_10_srcpart_small_key1_min) AND DynamicValue(RS_10_srcpart_small_key1_max) and in_bloom_filter(key, DynamicValue(RS_10_srcpart_small_key1_bloom_filter)))) (type: boolean)
+                    predicate: ((key BETWEEN DynamicValue(RS_10_srcpart_small_key1_min) AND DynamicValue(RS_10_srcpart_small_key1_max) and in_bloom_filter(key, DynamicValue(RS_10_srcpart_small_key1_bloom_filter))) and key is not null) (type: boolean)
                     Statistics: Num rows: 2000 Data size: 174000 Basic stats: COMPLETE Column stats: COMPLETE
                     Select Operator
                       expressions: key (type: string)
@@ -773,7 +773,7 @@ STAGE PLANS:
                   filterExpr: (cstring is not null and (cstring BETWEEN DynamicValue(RS_9_srcpart_date_key_min) AND DynamicValue(RS_9_srcpart_date_key_max) and in_bloom_filter(cstring, DynamicValue(RS_9_srcpart_date_key_bloom_filter))) and (cstring BETWEEN DynamicValue(RS_10_srcpart_small_key1_min) AND DynamicValue(RS_10_srcpart_small_key1_max) and in_bloom_filter(cstring, DynamicValue(RS_10_srcpart_small_key1_bloom_filter)))) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 862450 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
-                    predicate: (cstring is not null and (cstring BETWEEN DynamicValue(RS_9_srcpart_date_key_min) AND DynamicValue(RS_9_srcpart_date_key_max) and in_bloom_filter(cstring, DynamicValue(RS_9_srcpart_date_key_bloom_filter))) and (cstring BETWEEN DynamicValue(RS_10_srcpart_small_key1_min) AND DynamicValue(RS_10_srcpart_small_key1_max) and in_bloom_filter(cstring, DynamicValue(RS_10_srcpart_small_key1_bloom_filter)))) (type: boolean)
+                    predicate: ((cstring BETWEEN DynamicValue(RS_10_srcpart_small_key1_min) AND DynamicValue(RS_10_srcpart_small_key1_max) and in_bloom_filter(cstring, DynamicValue(RS_10_srcpart_small_key1_bloom_filter))) and (cstring BETWEEN DynamicValue(RS_9_srcpart_date_key_min) AND DynamicValue(RS_9_srcpart_date_key_max) and in_bloom_filter(cstring, DynamicValue(RS_9_srcpart_date_key_bloom_filter))) and cstring is not null) (type: boolean)
                     Statistics: Num rows: 9174 Data size: 643900 Basic stats: COMPLETE Column stats: COMPLETE
                     Select Operator
                       expressions: cstring (type: string)
@@ -1022,7 +1022,7 @@ STAGE PLANS:
                   filterExpr: (key is not null and value is not null and (key BETWEEN DynamicValue(RS_7_srcpart_small_key1_min) AND DynamicValue(RS_7_srcpart_small_key1_max) and in_bloom_filter(key, DynamicValue(RS_7_srcpart_small_key1_bloom_filter))) and (value BETWEEN DynamicValue(RS_7_srcpart_small_value1_min) AND DynamicValue(RS_7_srcpart_small_value1_max) and in_bloom_filter(value, DynamicValue(RS_7_srcpart_small_value1_bloom_filter)))) (type: boolean)
                   Statistics: Num rows: 2000 Data size: 356000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
-                    predicate: (key is not null and value is not null and (key BETWEEN DynamicValue(RS_7_srcpart_small_key1_min) AND DynamicValue(RS_7_srcpart_small_key1_max) and in_bloom_filter(key, DynamicValue(RS_7_srcpart_small_key1_bloom_filter))) and (value BETWEEN DynamicValue(RS_7_srcpart_small_value1_min) AND DynamicValue(RS_7_srcpart_small_value1_max) and in_bloom_filter(value, DynamicValue(RS_7_srcpart_small_value1_bloom_filter)))) (type: boolean)
+                    predicate: ((key BETWEEN DynamicValue(RS_7_srcpart_small_key1_min) AND DynamicValue(RS_7_srcpart_small_key1_max) and in_bloom_filter(key, DynamicValue(RS_7_srcpart_small_key1_bloom_filter))) and (value BETWEEN DynamicValue(RS_7_srcpart_small_value1_min) AND DynamicValue(RS_7_srcpart_small_value1_max) and in_bloom_filter(value, DynamicValue(RS_7_srcpart_small_value1_bloom_filter))) and key is not null and value is not null) (type: boolean)
                     Statistics: Num rows: 2000 Data size: 356000 Basic stats: COMPLETE Column stats: COMPLETE
                     Select Operator
                       expressions: key (type: string), value (type: string)
@@ -1351,7 +1351,7 @@ STAGE PLANS:
                   filterExpr: (key is not null and value is not null and (key BETWEEN DynamicValue(RS_10_srcpart_small_key1_min) AND DynamicValue(RS_10_srcpart_small_key1_max) and in_bloom_filter(key, DynamicValue(RS_10_srcpart_small_key1_bloom_filter)))) (type: boolean)
                   Statistics: Num rows: 2000 Data size: 356000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
-                    predicate: (key is not null and value is not null and (key BETWEEN DynamicValue(RS_10_srcpart_small_key1_min) AND DynamicValue(RS_10_srcpart_small_key1_max) and in_bloom_filter(key, DynamicValue(RS_10_srcpart_small_key1_bloom_filter)))) (type: boolean)
+                    predicate: ((key BETWEEN DynamicValue(RS_10_srcpart_small_key1_min) AND DynamicValue(RS_10_srcpart_small_key1_max) and in_bloom_filter(key, DynamicValue(RS_10_srcpart_small_key1_bloom_filter))) and key is not null and value is not null) (type: boolean)
                     Statistics: Num rows: 2000 Data size: 356000 Basic stats: COMPLETE Column stats: COMPLETE
                     Select Operator
                       expressions: key (type: string), value (type: string)
@@ -1405,7 +1405,7 @@ STAGE PLANS:
                   filterExpr: (cstring is not null and (cstring BETWEEN DynamicValue(RS_12_srcpart_date_value_min) AND DynamicValue(RS_12_srcpart_date_value_max) and in_bloom_filter(cstring, DynamicValue(RS_12_srcpart_date_value_bloom_filter)))) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 862450 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
-                    predicate: (cstring is not null and (cstring BETWEEN DynamicValue(RS_12_srcpart_date_value_min) AND DynamicValue(RS_12_srcpart_date_value_max) and in_bloom_filter(cstring, DynamicValue(RS_12_srcpart_date_value_bloom_filter)))) (type: boolean)
+                    predicate: ((cstring BETWEEN DynamicValue(RS_12_srcpart_date_value_min) AND DynamicValue(RS_12_srcpart_date_value_max) and in_bloom_filter(cstring, DynamicValue(RS_12_srcpart_date_value_bloom_filter))) and cstring is not null) (type: boolean)
                     Statistics: Num rows: 9174 Data size: 643900 Basic stats: COMPLETE Column stats: COMPLETE
                     Select Operator
                       expressions: cstring (type: string)
@@ -1561,7 +1561,7 @@ STAGE PLANS:
                   GatherStats: false
                   Filter Operator
                     isSamplingPred: false
-                    predicate: (key is not null and (key BETWEEN DynamicValue(RS_7_srcpart_small_key1_min) AND DynamicValue(RS_7_srcpart_small_key1_max) and in_bloom_filter(key, DynamicValue(RS_7_srcpart_small_key1_bloom_filter)))) (type: boolean)
+                    predicate: ((key BETWEEN DynamicValue(RS_7_srcpart_small_key1_min) AND DynamicValue(RS_7_srcpart_small_key1_max) and in_bloom_filter(key, DynamicValue(RS_7_srcpart_small_key1_bloom_filter))) and key is not null) (type: boolean)
                     Statistics: Num rows: 2000 Data size: 174000 Basic stats: COMPLETE Column stats: COMPLETE
                     Select Operator
                       expressions: key (type: string)
@@ -2128,7 +2128,7 @@ STAGE PLANS:
                   filterExpr: (key is not null and (key BETWEEN DynamicValue(RS_7_srcpart_small_key1_min) AND DynamicValue(RS_7_srcpart_small_key1_max) and in_bloom_filter(key, DynamicValue(RS_7_srcpart_small_key1_bloom_filter)))) (type: boolean)
                   Statistics: Num rows: 2000 Data size: 174000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
-                    predicate: (key is not null and (key BETWEEN DynamicValue(RS_7_srcpart_small_key1_min) AND DynamicValue(RS_7_srcpart_small_key1_max) and in_bloom_filter(key, DynamicValue(RS_7_srcpart_small_key1_bloom_filter)))) (type: boolean)
+                    predicate: ((key BETWEEN DynamicValue(RS_7_srcpart_small_key1_min) AND DynamicValue(RS_7_srcpart_small_key1_max) and in_bloom_filter(key, DynamicValue(RS_7_srcpart_small_key1_bloom_filter))) and key is not null) (type: boolean)
                     Statistics: Num rows: 2000 Data size: 174000 Basic stats: COMPLETE Column stats: COMPLETE
                     Select Operator
                       expressions: key (type: string)
@@ -2555,7 +2555,7 @@ STAGE PLANS:
                   filterExpr: (key is not null and value is not null and (key BETWEEN DynamicValue(RS_10_srcpart_small_key1_min) AND DynamicValue(RS_10_srcpart_small_key1_max) and in_bloom_filter(key, DynamicValue(RS_10_srcpart_small_key1_bloom_filter)))) (type: boolean)
                   Statistics: Num rows: 2000 Data size: 356000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
-                    predicate: (key is not null and value is not null and (key BETWEEN DynamicValue(RS_10_srcpart_small_key1_min) AND DynamicValue(RS_10_srcpart_small_key1_max) and in_bloom_filter(key, DynamicValue(RS_10_srcpart_small_key1_bloom_filter)))) (type: boolean)
+                    predicate: ((key BETWEEN DynamicValue(RS_10_srcpart_small_key1_min) AND DynamicValue(RS_10_srcpart_small_key1_max) and in_bloom_filter(key, DynamicValue(RS_10_srcpart_small_key1_bloom_filter))) and key is not null and value is not null) (type: boolean)
                     Statistics: Num rows: 2000 Data size: 356000 Basic stats: COMPLETE Column stats: COMPLETE
                     Select Operator
                       expressions: key (type: string), value (type: string)
@@ -2631,7 +2631,7 @@ STAGE PLANS:
                   filterExpr: (cstring is not null and (cstring BETWEEN DynamicValue(RS_12_srcpart_date_value_min) AND DynamicValue(RS_12_srcpart_date_value_max) and in_bloom_filter(cstring, DynamicValue(RS_12_srcpart_date_value_bloom_filter)))) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 862450 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
-                    predicate: (cstring is not null and (cstring BETWEEN DynamicValue(RS_12_srcpart_date_value_min) AND DynamicValue(RS_12_srcpart_date_value_max) and in_bloom_filter(cstring, DynamicValue(RS_12_srcpart_date_value_bloom_filter)))) (type: boolean)
+                    predicate: ((cstring BETWEEN DynamicValue(RS_12_srcpart_date_value_min) AND DynamicValue(RS_12_srcpart_date_value_max) and in_bloom_filter(cstring, DynamicValue(RS_12_srcpart_date_value_bloom_filter))) and cstring is not null) (type: boolean)
                     Statistics: Num rows: 9174 Data size: 643900 Basic stats: COMPLETE Column stats: COMPLETE
                     Select Operator
                       expressions: cstring (type: string)
@@ -3255,7 +3255,7 @@ STAGE PLANS:
                   filterExpr: (key1 is not null and (key1 BETWEEN DynamicValue(RS_10_srcpart_small10_key1_min) AND DynamicValue(RS_10_srcpart_small10_key1_max) and in_bloom_filter(key1, DynamicValue(RS_10_srcpart_small10_key1_bloom_filter)))) (type: boolean)
                   Statistics: Num rows: 20 Data size: 5420 Basic stats: COMPLETE Column stats: PARTIAL
                   Filter Operator
-                    predicate: (key1 is not null and (key1 BETWEEN DynamicValue(RS_10_srcpart_small10_key1_min) AND DynamicValue(RS_10_srcpart_small10_key1_max) and in_bloom_filter(key1, DynamicValue(RS_10_srcpart_small10_key1_bloom_filter)))) (type: boolean)
+                    predicate: ((key1 BETWEEN DynamicValue(RS_10_srcpart_small10_key1_min) AND DynamicValue(RS_10_srcpart_small10_key1_max) and in_bloom_filter(key1, DynamicValue(RS_10_srcpart_small10_key1_bloom_filter))) and key1 is not null) (type: boolean)
                     Statistics: Num rows: 20 Data size: 5420 Basic stats: COMPLETE Column stats: PARTIAL
                     Select Operator
                       expressions: key1 (type: string), ds (type: string)
index bef79f9..87e08fb 100644 (file)
@@ -94,7 +94,7 @@ STAGE PLANS:
                   filterExpr: (bigint_col_7 is not null and decimal2016_col_26 is not null and tinyint_col_3 is not null and (decimal2016_col_26 BETWEEN DynamicValue(RS_21_t2_decimal2709_col_9_min) AND DynamicValue(RS_21_t2_decimal2709_col_9_max) and in_bloom_filter(decimal2016_col_26, DynamicValue(RS_21_t2_decimal2709_col_9_bloom_filter))) and (tinyint_col_3 BETWEEN DynamicValue(RS_21_t2_tinyint_col_20_min) AND DynamicValue(RS_21_t2_tinyint_col_20_max) and in_bloom_filter(tinyint_col_3, DynamicValue(RS_21_t2_tinyint_col_20_bloom_filter))) and (bigint_col_7 BETWEEN DynamicValue(RS_21_t2_tinyint_col_15_min) AND DynamicValue(RS_21_t2_tinyint_col_15_max) and in_bloom_filter(bigint_col_7, DynamicValue(RS_21_t2_tinyint_col_15_bloom_filter))) and (timestamp_col_9 BETWEEN DynamicValue(RS_24_tt2_timestamp_col_18_min) AND DynamicValue(RS_24_tt2_timestamp_col_18_max) and in_bloom_filter(timestamp_col_9, DynamicValue(RS_24_tt2_timestamp_col_18_bloom_filter)))) (type: boolean)
                   Statistics: Num rows: 1 Data size: 164 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
-                    predicate: (bigint_col_7 is not null and decimal2016_col_26 is not null and tinyint_col_3 is not null and (decimal2016_col_26 BETWEEN DynamicValue(RS_21_t2_decimal2709_col_9_min) AND DynamicValue(RS_21_t2_decimal2709_col_9_max) and in_bloom_filter(decimal2016_col_26, DynamicValue(RS_21_t2_decimal2709_col_9_bloom_filter))) and (tinyint_col_3 BETWEEN DynamicValue(RS_21_t2_tinyint_col_20_min) AND DynamicValue(RS_21_t2_tinyint_col_20_max) and in_bloom_filter(tinyint_col_3, DynamicValue(RS_21_t2_tinyint_col_20_bloom_filter))) and (bigint_col_7 BETWEEN DynamicValue(RS_21_t2_tinyint_col_15_min) AND DynamicValue(RS_21_t2_tinyint_col_15_max) and in_bloom_filter(bigint_col_7, DynamicValue(RS_21_t2_tinyint_col_15_bloom_filter))) and (timestamp_col_9 BETWEEN DynamicValue(RS_24_tt2_timestamp_col_18_min) AND DynamicValue(RS_24_tt2_timestamp_col_18_max) and in_bloom_filter(timestamp_col_9, DynamicValue(RS_24_tt2_timestamp_col_18_bloom_filter)))) (type: boolean)
+                    predicate: ((bigint_col_7 BETWEEN DynamicValue(RS_21_t2_tinyint_col_15_min) AND DynamicValue(RS_21_t2_tinyint_col_15_max) and in_bloom_filter(bigint_col_7, DynamicValue(RS_21_t2_tinyint_col_15_bloom_filter))) and (decimal2016_col_26 BETWEEN DynamicValue(RS_21_t2_decimal2709_col_9_min) AND DynamicValue(RS_21_t2_decimal2709_col_9_max) and in_bloom_filter(decimal2016_col_26, DynamicValue(RS_21_t2_decimal2709_col_9_bloom_filter))) and (timestamp_col_9 BETWEEN DynamicValue(RS_24_tt2_timestamp_col_18_min) AND DynamicValue(RS_24_tt2_timestamp_col_18_max) and in_bloom_filter(timestamp_col_9, DynamicValue(RS_24_tt2_timestamp_col_18_bloom_filter))) and (tinyint_col_3 BETWEEN DynamicValue(RS_21_t2_tinyint_col_20_min) AND DynamicValue(RS_21_t2_tinyint_col_20_max) and in_bloom_filter(tinyint_col_3, DynamicValue(RS_21_t2_tinyint_col_20_bloom_filter))) and bigint_col_7 is not null and decimal2016_col_26 is not null and tinyint_col_3 is not null) (type: boolean)
                     Statistics: Num rows: 1 Data size: 164 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: bigint_col_7 (type: bigint), decimal2016_col_26 (type: decimal(20,16)), tinyint_col_3 (type: tinyint), timestamp_col_9 (type: timestamp)
@@ -115,7 +115,7 @@ STAGE PLANS:
                   filterExpr: (timestamp_col_18 is not null and decimal1911_col_16 is not null and (decimal1911_col_16 BETWEEN DynamicValue(RS_12_tt1_decimal2612_col_77_min) AND DynamicValue(RS_12_tt1_decimal2612_col_77_max) and in_bloom_filter(decimal1911_col_16, DynamicValue(RS_12_tt1_decimal2612_col_77_bloom_filter)))) (type: boolean)
                   Statistics: Num rows: 1 Data size: 152 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
-                    predicate: (timestamp_col_18 is not null and decimal1911_col_16 is not null and (decimal1911_col_16 BETWEEN DynamicValue(RS_12_tt1_decimal2612_col_77_min) AND DynamicValue(RS_12_tt1_decimal2612_col_77_max) and in_bloom_filter(decimal1911_col_16, DynamicValue(RS_12_tt1_decimal2612_col_77_bloom_filter)))) (type: boolean)
+                    predicate: ((decimal1911_col_16 BETWEEN DynamicValue(RS_12_tt1_decimal2612_col_77_min) AND DynamicValue(RS_12_tt1_decimal2612_col_77_max) and in_bloom_filter(decimal1911_col_16, DynamicValue(RS_12_tt1_decimal2612_col_77_bloom_filter))) and decimal1911_col_16 is not null and timestamp_col_18 is not null) (type: boolean)
                     Statistics: Num rows: 1 Data size: 152 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: decimal1911_col_16 (type: decimal(19,11)), timestamp_col_18 (type: timestamp)
@@ -136,7 +136,7 @@ STAGE PLANS:
                   filterExpr: (tinyint_col_15 is not null and decimal2709_col_9 is not null and tinyint_col_20 is not null) (type: boolean)
                   Statistics: Num rows: 1 Data size: 124 Basic stats: COMPLETE Column stats: NONE
                   Filter Operator
-                    predicate: (tinyint_col_15 is not null and decimal2709_col_9 is not null and tinyint_col_20 is not null) (type: boolean)
+                    predicate: (decimal2709_col_9 is not null and tinyint_col_15 is not null and tinyint_col_20 is not null) (type: boolean)
                     Statistics: Num rows: 1 Data size: 124 Basic stats: COMPLETE Column stats: NONE
                     Select Operator
                       expressions: tinyint_col_15 (type: tinyint), decimal2709_col_9 (type: decimal(27,9)), tinyint_col_20 (type: tinyint), smallint_col_19 (type: smallint)
@@ -599,7 +599,7 @@ STAGE PLANS:
                   filterExpr: ((UDFToDouble(key) < 0.0) and value is not null and (value BETWEEN DynamicValue(RS_21_x__col1_min) AND DynamicValue(RS_21_x__col1_max) and in_bloom_filter(value, DynamicValue(RS_21_x__col1_bloom_filter)))) (type: boolean)
                   Statistics: Num rows: 25 Data size: 4375 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
-                    predicate: ((UDFToDouble(key) < 0.0) and value is not null and (value BETWEEN DynamicValue(RS_21_x__col1_min) AND DynamicValue(RS_21_x__col1_max) and in_bloom_filter(value, DynamicValue(RS_21_x__col1_bloom_filter)))) (type: boolean)
+                    predicate: ((UDFToDouble(key) < 0.0) and (value BETWEEN DynamicValue(RS_21_x__col1_min) AND DynamicValue(RS_21_x__col1_max) and in_bloom_filter(value, DynamicValue(RS_21_x__col1_bloom_filter))) and value is not null) (type: boolean)
                     Statistics: Num rows: 8 Data size: 1400 Basic stats: COMPLETE Column stats: COMPLETE
                     Select Operator
                       expressions: value (type: string)
index 095ae9d..374d4b8 100644 (file)
@@ -104,7 +104,7 @@ STAGE PLANS:
                 outputColumnNames: _col0, _col4, _col5, _col6
                 Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                 Filter Operator
-                  predicate: ((_col5 > 8) and (_col0 = _col5)) (type: boolean)
+                  predicate: ((_col0 = _col5) and (_col5 > 8)) (type: boolean)
                   Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
                     expressions: _col4 (type: struct<transactionid:bigint,bucketid:int,rowid:bigint>)
@@ -116,7 +116,7 @@ STAGE PLANS:
                       Map-reduce partition columns: UDFToInteger(_col0) (type: int)
                       Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                 Filter Operator
-                  predicate: ((_col5 <= 8) and (_col0 = _col5)) (type: boolean)
+                  predicate: ((_col0 = _col5) and (_col5 <= 8)) (type: boolean)
                   Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
                     expressions: _col4 (type: struct<transactionid:bigint,bucketid:int,rowid:bigint>), _col0 (type: int)
@@ -577,7 +577,7 @@ STAGE PLANS:
                 outputColumnNames: _col0, _col4, _col5, _col6
                 Statistics: Num rows: 2 Data size: 17 Basic stats: COMPLETE Column stats: NONE
                 Filter Operator
-                  predicate: ((_col5 > 8) and (_col0 = _col5)) (type: boolean)
+                  predicate: ((_col0 = _col5) and (_col5 > 8)) (type: boolean)
                   Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
                     expressions: _col4 (type: struct<transactionid:bigint,bucketid:int,rowid:bigint>)
@@ -589,7 +589,7 @@ STAGE PLANS:
                       Map-reduce partition columns: UDFToInteger(_col0) (type: int)
                       Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
                 Filter Operator
-                  predicate: ((_col5 <= 8) and (_col0 = _col5)) (type: boolean)
+                  predicate: ((_col0 = _col5) and (_col5 <= 8)) (type: boolean)
                   Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
                   Select Operator
                     expressions: _col4 (type: struct<transactionid:bigint,bucketid:int,rowid:bigint>), _col0 (type: int)
index 2807a85..d7daa55 100644 (file)
@@ -215,7 +215,7 @@ STAGE PLANS:
                   filterExpr: (key is not null and (key BETWEEN DynamicValue(RS_10_srcpart_small_key1_min) AND DynamicValue(RS_10_srcpart_small_key1_max) and in_bloom_filter(key, DynamicValue(RS_10_srcpart_small_key1_bloom_filter)))) (type: boolean)
                   Statistics: Num rows: 1000 Data size: 87000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
-                    predicate: (key is not null and (key BETWEEN DynamicValue(RS_10_srcpart_small_key1_min) AND DynamicValue(RS_10_srcpart_small_key1_max) and in_bloom_filter(key, DynamicValue(RS_10_srcpart_small_key1_bloom_filter)))) (type: boolean)
+                    predicate: ((key BETWEEN DynamicValue(RS_10_srcpart_small_key1_min) AND DynamicValue(RS_10_srcpart_small_key1_max) and in_bloom_filter(key, DynamicValue(RS_10_srcpart_small_key1_bloom_filter))) and key is not null) (type: boolean)
                     Statistics: Num rows: 1000 Data size: 87000 Basic stats: COMPLETE Column stats: COMPLETE
                     Select Operator
                       expressions: key (type: string)
@@ -248,7 +248,7 @@ STAGE PLANS:
                   filterExpr: (cstring is not null and (cstring BETWEEN DynamicValue(RS_9_srcpart_date_key_min) AND DynamicValue(RS_9_srcpart_date_key_max) and in_bloom_filter(cstring, DynamicValue(RS_9_srcpart_date_key_bloom_filter))) and (cstring BETWEEN DynamicValue(RS_10_srcpart_small_key1_min) AND DynamicValue(RS_10_srcpart_small_key1_max) and in_bloom_filter(cstring, DynamicValue(RS_10_srcpart_small_key1_bloom_filter)))) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 862450 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
-                    predicate: (cstring is not null and (cstring BETWEEN DynamicValue(RS_9_srcpart_date_key_min) AND DynamicValue(RS_9_srcpart_date_key_max) and in_bloom_filter(cstring, DynamicValue(RS_9_srcpart_date_key_bloom_filter))) and (cstring BETWEEN DynamicValue(RS_10_srcpart_small_key1_min) AND DynamicValue(RS_10_srcpart_small_key1_max) and in_bloom_filter(cstring, DynamicValue(RS_10_srcpart_small_key1_bloom_filter)))) (type: boolean)
+                    predicate: ((cstring BETWEEN DynamicValue(RS_10_srcpart_small_key1_min) AND DynamicValue(RS_10_srcpart_small_key1_max) and in_bloom_filter(cstring, DynamicValue(RS_10_srcpart_small_key1_bloom_filter))) and (cstring BETWEEN DynamicValue(RS_9_srcpart_date_key_min) AND DynamicValue(RS_9_srcpart_date_key_max) and in_bloom_filter(cstring, DynamicValue(RS_9_srcpart_date_key_bloom_filter))) and cstring is not null) (type: boolean)
                     Statistics: Num rows: 9174 Data size: 643900 Basic stats: COMPLETE Column stats: COMPLETE
                     Select Operator
                       expressions: cstring (type: string)
@@ -268,7 +268,7 @@ STAGE PLANS:
                   filterExpr: (key is not null and (key BETWEEN DynamicValue(RS_24_srcpart_small_key1_min) AND DynamicValue(RS_24_srcpart_small_key1_max) and in_bloom_filter(key, DynamicValue(RS_24_srcpart_small_key1_bloom_filter)))) (type: boolean)
                   Statistics: Num rows: 1000 Data size: 87000 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
-                    predicate: (key is not null and (key BETWEEN DynamicValue(RS_24_srcpart_small_key1_min) AND DynamicValue(RS_24_srcpart_small_key1_max) and in_bloom_filter(key, DynamicValue(RS_24_srcpart_small_key1_bloom_filter)))) (type: boolean)
+                    predicate: ((key BETWEEN DynamicValue(RS_24_srcpart_small_key1_min) AND DynamicValue(RS_24_srcpart_small_key1_max) and in_bloom_filter(key, DynamicValue(RS_24_srcpart_small_key1_bloom_filter))) and key is not null) (type: boolean)
                     Statistics: Num rows: 1000 Data size: 87000 Basic stats: COMPLETE Column stats: COMPLETE
                     Select Operator
                       expressions: key (type: string)
@@ -301,7 +301,7 @@ STAGE PLANS:
                   filterExpr: (cstring is not null and (cstring BETWEEN DynamicValue(RS_23_srcpart_date_key_min) AND DynamicValue(RS_23_srcpart_date_key_max) and in_bloom_filter(cstring, DynamicValue(RS_23_srcpart_date_key_bloom_filter))) and (cstring BETWEEN DynamicValue(RS_24_srcpart_small_key1_min) AND DynamicValue(RS_24_srcpart_small_key1_max) and in_bloom_filter(cstring, DynamicValue(RS_24_srcpart_small_key1_bloom_filter)))) (type: boolean)
                   Statistics: Num rows: 12288 Data size: 862450 Basic stats: COMPLETE Column stats: COMPLETE
                   Filter Operator
-                    predicate: (cstring is not null and (cstring BETWEEN DynamicValue(RS_23_srcpart_date_key_min) AND DynamicValue(RS_23_srcpart_date_key_max) and in_bloom_filter(cstring, DynamicValue(RS_23_srcpart_date_key_bloom_filter))) and (cstring BETWEEN DynamicValue(RS_24_srcpart_small_key1_min) AND DynamicValue(RS_24_srcpart_small_key1_max) and in_bloom_filter(cstring, DynamicValue(RS_24_srcpart_small_key1_bloom_filter)))) (type: boolean)
+                    predicate: ((cstring BETWEEN DynamicValue(RS_23_srcpart_date_key_min) AND DynamicValue(RS_23_srcpart_date_key_max) and in_bloom_filter(cstring, DynamicValue(RS_23_srcpart_date_key_bloom_filter))) and (cstring BETWEEN DynamicValue(RS_24_srcpart_small_key1_min) AND DynamicValue(RS_24_srcpart_small_key1_max) and in_bloom_filter(cstring, DynamicValue(RS_24_srcpart_small_key1_bloom_filter))) and cstring is not null) (type: boolean)
                     Statistics: Num rows: 9174 Data size: 643900 Basic stats: COMPLETE Column stats: COMPLETE
                     Select Operator
                       expressions: cstring (type: string)
index 49eff9b..a51637a 100644 (file)
@@ -189,7 +189,7 @@ Stage-0
                   Select Operator [SEL_2] (rows=2000 width=87)
                     Output:["_col0"]
                     Filter Operator [FIL_17] (rows=2000 width=87)
-                      predicate:(key is not null and (key BETWEEN DynamicValue(RS_7_srcpart_small_key1_min) AND DynamicValue(RS_7_srcpart_small_key1_max) and in_bloom_filter(key, DynamicValue(RS_7_srcpart_small_key1_bloom_filter))))
+                      predicate:((key BETWEEN DynamicValue(RS_7_srcpart_small_key1_min) AND DynamicValue(RS_7_srcpart_small_key1_max) and in_bloom_filter(key, DynamicValue(RS_7_srcpart_small_key1_bloom_filter))) and key is not null)
                       TableScan [TS_0] (rows=2000 width=87)
                         default@srcpart_date,srcpart_date,Tbl:COMPLETE,Col:COMPLETE,Output:["key"]
                       <-Reducer 5 [BROADCAST_EDGE] llap
@@ -396,7 +396,7 @@ Stage-0
                   Select Operator [SEL_2] (rows=2000 width=87)
                     Output:["_col0"]
                     Filter Operator [FIL_25] (rows=2000 width=87)
-                      predicate:(key is not null and (key BETWEEN DynamicValue(RS_10_srcpart_small_key1_min) AND DynamicValue(RS_10_srcpart_small_key1_max) and in_bloom_filter(key, DynamicValue(RS_10_srcpart_small_key1_bloom_filter))))
+                      predicate:((key BETWEEN DynamicValue(RS_10_srcpart_small_key1_min) AND DynamicValue(RS_10_srcpart_small_key1_max) and in_bloom_filter(key, DynamicValue(RS_10_srcpart_small_key1_bloom_filter))) and key is not null)
                       TableScan [TS_0] (rows=2000 width=87)
                         default@srcpart_date,srcpart_date,Tbl:COMPLETE,Col:COMPLETE,Output:["key"]
                       <-Reducer 6 [BROADCAST_EDGE] llap
@@ -425,7 +425,7 @@ Stage-0
                   Select Operator [SEL_8] (rows=9174 width=70)
                     Output:["_col0"]
                     Filter Operator [FIL_27] (rows=9174 width=70)
-                      predicate:(cstring is not null and (cstring BETWEEN DynamicValue(RS_9_srcpart_date_key_min) AND DynamicValue(RS_9_srcpart_date_key_max) and in_bloom_filter(cstring, DynamicValue(RS_9_srcpart_date_key_bloom_filter))) and (cstring BETWEEN DynamicValue(RS_10_srcpart_small_key1_min) AND DynamicValue(RS_10_srcpart_small_key1_max) and in_bloom_filter(cstring, DynamicValue(RS_10_srcpart_small_key1_bloom_filter))))
+                      predicate:((cstring BETWEEN DynamicValue(RS_10_srcpart_small_key1_min) AND DynamicValue(RS_10_srcpart_small_key1_max) and in_bloom_filter(cstring, DynamicValue(RS_10_srcpart_small_key1_bloom_filter))) and (cstring BETWEEN DynamicValue(RS_9_srcpart_date_key_min) AND DynamicValue(RS_9_srcpart_date_key_max) and in_bloom_filter(cstring, DynamicValue(RS_9_srcpart_date_key_bloom_filter))) and cstring is not null)
                       TableScan [TS_6] (rows=12288 width=70)
                         default@alltypesorc_int,alltypesorc_int,Tbl:COMPLETE,Col:COMPLETE,Output:["cstring"]
                       <-Reducer 6 [BROADCAST_EDGE] llap
@@ -568,7 +568,7 @@ Stage-0
                   Select Operator [SEL_2] (rows=2000 width=178)
                     Output:["_col0","_col1"]
                     Filter Operator [FIL_17] (rows=2000 width=178)
-                      predicate:(key is not null and value is not null and (key BETWEEN DynamicValue(RS_7_srcpart_small_key1_min) AND DynamicValue(RS_7_srcpart_small_key1_max) and in_bloom_filter(key, DynamicValue(RS_7_srcpart_small_key1_bloom_filter))) and (value BETWEEN DynamicValue(RS_7_srcpart_small_value1_min) AND DynamicValue(RS_7_srcpart_small_value1_max) and in_bloom_filter(value, DynamicValue(RS_7_srcpart_small_value1_bloom_filter))))
+                      predicate:((key BETWEEN DynamicValue(RS_7_srcpart_small_key1_min) AND DynamicValue(RS_7_srcpart_small_key1_max) and in_bloom_filter(key, DynamicValue(RS_7_srcpart_small_key1_bloom_filter))) and (value BETWEEN DynamicValue(RS_7_srcpart_small_value1_min) AND DynamicValue(RS_7_srcpart_small_value1_max) and in_bloom_filter(value, DynamicValue(RS_7_srcpart_small_value1_bloom_filter))) and key is not null and value is not null)
                       TableScan [TS_0] (rows=2000 width=178)
                         default@srcpart_date,srcpart_date,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"]
                       <-Reducer 5 [BROADCAST_EDGE] llap
@@ -741,7 +741,7 @@ Stage-0
                       Select Operator [SEL_2] (rows