You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ha...@apache.org on 2014/05/30 19:37:15 UTC

svn commit: r1598678 [1/31] - in /hive/trunk: cli/src/java/org/apache/hadoop/hive/cli/ common/src/java/org/apache/hadoop/hive/common/io/ itests/util/src/main/java/org/apache/hadoop/hive/ql/ ql/src/java/org/apache/hadoop/hive/ql/ ql/src/java/org/apache/...

Author: hashutosh
Date: Fri May 30 17:37:05 2014
New Revision: 1598678

URL: http://svn.apache.org/r1598678
Log:
HIVE-6438 : Sort query result for test, removing order by clause (Navis via Ashutosh Chauhan)

Added:
    hive/trunk/common/src/java/org/apache/hadoop/hive/common/io/DigestPrintStream.java
    hive/trunk/common/src/java/org/apache/hadoop/hive/common/io/FetchConverter.java
    hive/trunk/common/src/java/org/apache/hadoop/hive/common/io/SortAndDigestPrintStream.java
    hive/trunk/common/src/java/org/apache/hadoop/hive/common/io/SortPrintStream.java
Modified:
    hive/trunk/cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java
    hive/trunk/itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java
    hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/QueryPlan.java
    hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/hooks/PreExecutePrinter.java
    hive/trunk/ql/src/test/queries/clientpositive/alter_char1.q
    hive/trunk/ql/src/test/queries/clientpositive/alter_varchar1.q
    hive/trunk/ql/src/test/queries/clientpositive/auto_join26.q
    hive/trunk/ql/src/test/queries/clientpositive/auto_smb_mapjoin_14.q
    hive/trunk/ql/src/test/queries/clientpositive/auto_sortmerge_join_13.q
    hive/trunk/ql/src/test/queries/clientpositive/auto_sortmerge_join_9.q
    hive/trunk/ql/src/test/queries/clientpositive/avro_evolved_schemas.q
    hive/trunk/ql/src/test/queries/clientpositive/avro_joins.q
    hive/trunk/ql/src/test/queries/clientpositive/avro_partitioned.q
    hive/trunk/ql/src/test/queries/clientpositive/avro_sanity_test.q
    hive/trunk/ql/src/test/queries/clientpositive/ba_table1.q
    hive/trunk/ql/src/test/queries/clientpositive/ba_table2.q
    hive/trunk/ql/src/test/queries/clientpositive/ba_table_udfs.q
    hive/trunk/ql/src/test/queries/clientpositive/bucket1.q
    hive/trunk/ql/src/test/queries/clientpositive/bucket2.q
    hive/trunk/ql/src/test/queries/clientpositive/bucket3.q
    hive/trunk/ql/src/test/queries/clientpositive/bucketmapjoin6.q
    hive/trunk/ql/src/test/queries/clientpositive/char_1.q
    hive/trunk/ql/src/test/queries/clientpositive/char_join1.q
    hive/trunk/ql/src/test/queries/clientpositive/column_access_stats.q
    hive/trunk/ql/src/test/queries/clientpositive/columnarserde_create_shortcut.q
    hive/trunk/ql/src/test/queries/clientpositive/combine1.q
    hive/trunk/ql/src/test/queries/clientpositive/combine2.q
    hive/trunk/ql/src/test/queries/clientpositive/combine2_hadoop20.q
    hive/trunk/ql/src/test/queries/clientpositive/correlationoptimizer10.q
    hive/trunk/ql/src/test/queries/clientpositive/correlationoptimizer15.q
    hive/trunk/ql/src/test/queries/clientpositive/correlationoptimizer6.q
    hive/trunk/ql/src/test/queries/clientpositive/correlationoptimizer7.q
    hive/trunk/ql/src/test/queries/clientpositive/correlationoptimizer8.q
    hive/trunk/ql/src/test/queries/clientpositive/correlationoptimizer9.q
    hive/trunk/ql/src/test/queries/clientpositive/create_like_view.q
    hive/trunk/ql/src/test/queries/clientpositive/ctas_colname.q
    hive/trunk/ql/src/test/queries/clientpositive/custom_input_output_format.q
    hive/trunk/ql/src/test/queries/clientpositive/database.q
    hive/trunk/ql/src/test/queries/clientpositive/filter_numeric.q
    hive/trunk/ql/src/test/queries/clientpositive/groupby1_limit.q
    hive/trunk/ql/src/test/queries/clientpositive/groupby1_map.q
    hive/trunk/ql/src/test/queries/clientpositive/groupby1_map_skew.q
    hive/trunk/ql/src/test/queries/clientpositive/groupby1_noskew.q
    hive/trunk/ql/src/test/queries/clientpositive/groupby2_map.q
    hive/trunk/ql/src/test/queries/clientpositive/groupby2_map_multi_distinct.q
    hive/trunk/ql/src/test/queries/clientpositive/groupby2_noskew.q
    hive/trunk/ql/src/test/queries/clientpositive/groupby2_noskew_multi_distinct.q
    hive/trunk/ql/src/test/queries/clientpositive/groupby4_noskew.q
    hive/trunk/ql/src/test/queries/clientpositive/groupby5_noskew.q
    hive/trunk/ql/src/test/queries/clientpositive/groupby6_map.q
    hive/trunk/ql/src/test/queries/clientpositive/groupby6_map_skew.q
    hive/trunk/ql/src/test/queries/clientpositive/groupby6_noskew.q
    hive/trunk/ql/src/test/queries/clientpositive/groupby7_map.q
    hive/trunk/ql/src/test/queries/clientpositive/groupby7_map_multi_single_reducer.q
    hive/trunk/ql/src/test/queries/clientpositive/groupby7_map_skew.q
    hive/trunk/ql/src/test/queries/clientpositive/groupby7_noskew.q
    hive/trunk/ql/src/test/queries/clientpositive/groupby7_noskew_multi_single_reducer.q
    hive/trunk/ql/src/test/queries/clientpositive/groupby8_map.q
    hive/trunk/ql/src/test/queries/clientpositive/groupby8_map_skew.q
    hive/trunk/ql/src/test/queries/clientpositive/groupby8_noskew.q
    hive/trunk/ql/src/test/queries/clientpositive/groupby_complex_types_multi_single_reducer.q
    hive/trunk/ql/src/test/queries/clientpositive/groupby_cube1.q
    hive/trunk/ql/src/test/queries/clientpositive/groupby_grouping_sets4.q
    hive/trunk/ql/src/test/queries/clientpositive/groupby_map_ppr.q
    hive/trunk/ql/src/test/queries/clientpositive/groupby_map_ppr_multi_distinct.q
    hive/trunk/ql/src/test/queries/clientpositive/groupby_multi_insert_common_distinct.q
    hive/trunk/ql/src/test/queries/clientpositive/groupby_multi_single_reducer.q
    hive/trunk/ql/src/test/queries/clientpositive/groupby_rollup1.q
    hive/trunk/ql/src/test/queries/clientpositive/groupby_sort_1.q
    hive/trunk/ql/src/test/queries/clientpositive/groupby_sort_1_23.q
    hive/trunk/ql/src/test/queries/clientpositive/groupby_sort_2.q
    hive/trunk/ql/src/test/queries/clientpositive/groupby_sort_3.q
    hive/trunk/ql/src/test/queries/clientpositive/groupby_sort_4.q
    hive/trunk/ql/src/test/queries/clientpositive/groupby_sort_5.q
    hive/trunk/ql/src/test/queries/clientpositive/groupby_sort_6.q
    hive/trunk/ql/src/test/queries/clientpositive/groupby_sort_7.q
    hive/trunk/ql/src/test/queries/clientpositive/groupby_sort_skew_1.q
    hive/trunk/ql/src/test/queries/clientpositive/groupby_sort_skew_1_23.q
    hive/trunk/ql/src/test/queries/clientpositive/index_auto.q
    hive/trunk/ql/src/test/queries/clientpositive/index_auto_file_format.q
    hive/trunk/ql/src/test/queries/clientpositive/index_auto_mult_tables.q
    hive/trunk/ql/src/test/queries/clientpositive/index_auto_mult_tables_compact.q
    hive/trunk/ql/src/test/queries/clientpositive/index_auto_multiple.q
    hive/trunk/ql/src/test/queries/clientpositive/index_auto_partitioned.q
    hive/trunk/ql/src/test/queries/clientpositive/index_auto_self_join.q
    hive/trunk/ql/src/test/queries/clientpositive/index_auto_unused.q
    hive/trunk/ql/src/test/queries/clientpositive/index_bitmap.q
    hive/trunk/ql/src/test/queries/clientpositive/index_bitmap1.q
    hive/trunk/ql/src/test/queries/clientpositive/index_bitmap2.q
    hive/trunk/ql/src/test/queries/clientpositive/index_bitmap3.q
    hive/trunk/ql/src/test/queries/clientpositive/index_bitmap_auto.q
    hive/trunk/ql/src/test/queries/clientpositive/index_bitmap_auto_partitioned.q
    hive/trunk/ql/src/test/queries/clientpositive/index_bitmap_compression.q
    hive/trunk/ql/src/test/queries/clientpositive/index_bitmap_rc.q
    hive/trunk/ql/src/test/queries/clientpositive/index_compact.q
    hive/trunk/ql/src/test/queries/clientpositive/index_compact_1.q
    hive/trunk/ql/src/test/queries/clientpositive/index_compact_2.q
    hive/trunk/ql/src/test/queries/clientpositive/index_compact_3.q
    hive/trunk/ql/src/test/queries/clientpositive/index_compression.q
    hive/trunk/ql/src/test/queries/clientpositive/index_serde.q
    hive/trunk/ql/src/test/queries/clientpositive/innerjoin.q
    hive/trunk/ql/src/test/queries/clientpositive/input11_limit.q
    hive/trunk/ql/src/test/queries/clientpositive/input1_limit.q
    hive/trunk/ql/src/test/queries/clientpositive/input40.q
    hive/trunk/ql/src/test/queries/clientpositive/input42.q
    hive/trunk/ql/src/test/queries/clientpositive/input_lazyserde.q
    hive/trunk/ql/src/test/queries/clientpositive/input_part9.q
    hive/trunk/ql/src/test/queries/clientpositive/insert1.q
    hive/trunk/ql/src/test/queries/clientpositive/join18_multi_distinct.q
    hive/trunk/ql/src/test/queries/clientpositive/join25.q
    hive/trunk/ql/src/test/queries/clientpositive/join26.q
    hive/trunk/ql/src/test/queries/clientpositive/join27.q
    hive/trunk/ql/src/test/queries/clientpositive/join28.q
    hive/trunk/ql/src/test/queries/clientpositive/join29.q
    hive/trunk/ql/src/test/queries/clientpositive/join30.q
    hive/trunk/ql/src/test/queries/clientpositive/join31.q
    hive/trunk/ql/src/test/queries/clientpositive/join32.q
    hive/trunk/ql/src/test/queries/clientpositive/join32_lessSize.q
    hive/trunk/ql/src/test/queries/clientpositive/join33.q
    hive/trunk/ql/src/test/queries/clientpositive/join34.q
    hive/trunk/ql/src/test/queries/clientpositive/join35.q
    hive/trunk/ql/src/test/queries/clientpositive/join36.q
    hive/trunk/ql/src/test/queries/clientpositive/join37.q
    hive/trunk/ql/src/test/queries/clientpositive/join39.q
    hive/trunk/ql/src/test/queries/clientpositive/join_1to1.q
    hive/trunk/ql/src/test/queries/clientpositive/join_casesensitive.q
    hive/trunk/ql/src/test/queries/clientpositive/join_filters.q
    hive/trunk/ql/src/test/queries/clientpositive/join_filters_overlap.q
    hive/trunk/ql/src/test/queries/clientpositive/join_map_ppr.q
    hive/trunk/ql/src/test/queries/clientpositive/join_nulls.q
    hive/trunk/ql/src/test/queries/clientpositive/join_nullsafe.q
    hive/trunk/ql/src/test/queries/clientpositive/leftsemijoin.q
    hive/trunk/ql/src/test/queries/clientpositive/list_bucket_dml_12.q
    hive/trunk/ql/src/test/queries/clientpositive/list_bucket_dml_13.q
    hive/trunk/ql/src/test/queries/clientpositive/list_bucket_dml_2.q
    hive/trunk/ql/src/test/queries/clientpositive/list_bucket_dml_4.q
    hive/trunk/ql/src/test/queries/clientpositive/list_bucket_dml_5.q
    hive/trunk/ql/src/test/queries/clientpositive/list_bucket_dml_6.q
    hive/trunk/ql/src/test/queries/clientpositive/list_bucket_dml_7.q
    hive/trunk/ql/src/test/queries/clientpositive/list_bucket_dml_9.q
    hive/trunk/ql/src/test/queries/clientpositive/list_bucket_query_multiskew_2.q
    hive/trunk/ql/src/test/queries/clientpositive/list_bucket_query_oneskew_1.q
    hive/trunk/ql/src/test/queries/clientpositive/list_bucket_query_oneskew_2.q
    hive/trunk/ql/src/test/queries/clientpositive/list_bucket_query_oneskew_3.q
    hive/trunk/ql/src/test/queries/clientpositive/load_dyn_part1.q
    hive/trunk/ql/src/test/queries/clientpositive/load_dyn_part10.q
    hive/trunk/ql/src/test/queries/clientpositive/load_dyn_part14.q
    hive/trunk/ql/src/test/queries/clientpositive/load_dyn_part2.q
    hive/trunk/ql/src/test/queries/clientpositive/load_dyn_part3.q
    hive/trunk/ql/src/test/queries/clientpositive/load_dyn_part4.q
    hive/trunk/ql/src/test/queries/clientpositive/load_dyn_part8.q
    hive/trunk/ql/src/test/queries/clientpositive/load_dyn_part9.q
    hive/trunk/ql/src/test/queries/clientpositive/mapjoin_memcheck.q
    hive/trunk/ql/src/test/queries/clientpositive/mapjoin_subquery.q
    hive/trunk/ql/src/test/queries/clientpositive/merge3.q
    hive/trunk/ql/src/test/queries/clientpositive/merge4.q
    hive/trunk/ql/src/test/queries/clientpositive/merge_dynamic_partition.q
    hive/trunk/ql/src/test/queries/clientpositive/merge_dynamic_partition3.q
    hive/trunk/ql/src/test/queries/clientpositive/mi.q
    hive/trunk/ql/src/test/queries/clientpositive/multi_insert.q
    hive/trunk/ql/src/test/queries/clientpositive/multi_insert_gby.q
    hive/trunk/ql/src/test/queries/clientpositive/multi_insert_lateral_view.q
    hive/trunk/ql/src/test/queries/clientpositive/multi_insert_move_tasks_share_dependencies.q
    hive/trunk/ql/src/test/queries/clientpositive/newline.q
    hive/trunk/ql/src/test/queries/clientpositive/nonblock_op_deduplicate.q
    hive/trunk/ql/src/test/queries/clientpositive/orc_create.q
    hive/trunk/ql/src/test/queries/clientpositive/orc_diff_part_cols.q
    hive/trunk/ql/src/test/queries/clientpositive/orc_diff_part_cols2.q
    hive/trunk/ql/src/test/queries/clientpositive/orc_empty_strings.q
    hive/trunk/ql/src/test/queries/clientpositive/orc_predicate_pushdown.q
    hive/trunk/ql/src/test/queries/clientpositive/orc_split_elimination.q
    hive/trunk/ql/src/test/queries/clientpositive/parallel.q
    hive/trunk/ql/src/test/queries/clientpositive/parquet_partitioned.q
    hive/trunk/ql/src/test/queries/clientpositive/stats4.q
    hive/trunk/ql/src/test/queries/clientpositive/subquery_in.q
    hive/trunk/ql/src/test/queries/clientpositive/subquery_in_having.q
    hive/trunk/ql/src/test/queries/clientpositive/subquery_views.q
    hive/trunk/ql/src/test/queries/clientpositive/union22.q
    hive/trunk/ql/src/test/queries/clientpositive/union24.q
    hive/trunk/ql/src/test/queries/clientpositive/union26.q
    hive/trunk/ql/src/test/queries/clientpositive/union31.q
    hive/trunk/ql/src/test/queries/clientpositive/union32.q
    hive/trunk/ql/src/test/queries/clientpositive/union_date.q
    hive/trunk/ql/src/test/queries/clientpositive/union_top_level.q
    hive/trunk/ql/src/test/results/clientpositive/alter_char1.q.out
    hive/trunk/ql/src/test/results/clientpositive/alter_varchar1.q.out
    hive/trunk/ql/src/test/results/clientpositive/auto_join26.q.out
    hive/trunk/ql/src/test/results/clientpositive/auto_smb_mapjoin_14.q.out
    hive/trunk/ql/src/test/results/clientpositive/auto_sortmerge_join_13.q.out
    hive/trunk/ql/src/test/results/clientpositive/auto_sortmerge_join_9.q.out
    hive/trunk/ql/src/test/results/clientpositive/avro_evolved_schemas.q.out
    hive/trunk/ql/src/test/results/clientpositive/avro_joins.q.out
    hive/trunk/ql/src/test/results/clientpositive/avro_partitioned.q.out
    hive/trunk/ql/src/test/results/clientpositive/avro_sanity_test.q.out
    hive/trunk/ql/src/test/results/clientpositive/ba_table1.q.out
    hive/trunk/ql/src/test/results/clientpositive/ba_table2.q.out
    hive/trunk/ql/src/test/results/clientpositive/ba_table_udfs.q.out
    hive/trunk/ql/src/test/results/clientpositive/bucket1.q.out
    hive/trunk/ql/src/test/results/clientpositive/bucket2.q.out
    hive/trunk/ql/src/test/results/clientpositive/bucket3.q.out
    hive/trunk/ql/src/test/results/clientpositive/char_1.q.out
    hive/trunk/ql/src/test/results/clientpositive/char_join1.q.out
    hive/trunk/ql/src/test/results/clientpositive/column_access_stats.q.out
    hive/trunk/ql/src/test/results/clientpositive/columnarserde_create_shortcut.q.out
    hive/trunk/ql/src/test/results/clientpositive/combine1.q.out
    hive/trunk/ql/src/test/results/clientpositive/combine2.q.out
    hive/trunk/ql/src/test/results/clientpositive/combine2_hadoop20.q.out
    hive/trunk/ql/src/test/results/clientpositive/correlationoptimizer10.q.out
    hive/trunk/ql/src/test/results/clientpositive/correlationoptimizer15.q.out
    hive/trunk/ql/src/test/results/clientpositive/correlationoptimizer6.q.out
    hive/trunk/ql/src/test/results/clientpositive/correlationoptimizer7.q.out
    hive/trunk/ql/src/test/results/clientpositive/correlationoptimizer8.q.out
    hive/trunk/ql/src/test/results/clientpositive/correlationoptimizer9.q.out
    hive/trunk/ql/src/test/results/clientpositive/create_like_view.q.out
    hive/trunk/ql/src/test/results/clientpositive/ctas_colname.q.out
    hive/trunk/ql/src/test/results/clientpositive/custom_input_output_format.q.out
    hive/trunk/ql/src/test/results/clientpositive/database.q.out
    hive/trunk/ql/src/test/results/clientpositive/filter_numeric.q.out
    hive/trunk/ql/src/test/results/clientpositive/groupby1_limit.q.out
    hive/trunk/ql/src/test/results/clientpositive/groupby1_map.q.out
    hive/trunk/ql/src/test/results/clientpositive/groupby1_map_skew.q.out
    hive/trunk/ql/src/test/results/clientpositive/groupby1_noskew.q.out
    hive/trunk/ql/src/test/results/clientpositive/groupby2_map.q.out
    hive/trunk/ql/src/test/results/clientpositive/groupby2_map_multi_distinct.q.out
    hive/trunk/ql/src/test/results/clientpositive/groupby2_noskew.q.out
    hive/trunk/ql/src/test/results/clientpositive/groupby2_noskew_multi_distinct.q.out
    hive/trunk/ql/src/test/results/clientpositive/groupby4_noskew.q.out
    hive/trunk/ql/src/test/results/clientpositive/groupby5_noskew.q.out
    hive/trunk/ql/src/test/results/clientpositive/groupby6_map.q.out
    hive/trunk/ql/src/test/results/clientpositive/groupby6_map_skew.q.out
    hive/trunk/ql/src/test/results/clientpositive/groupby6_noskew.q.out
    hive/trunk/ql/src/test/results/clientpositive/groupby7_map.q.out
    hive/trunk/ql/src/test/results/clientpositive/groupby7_map_multi_single_reducer.q.out
    hive/trunk/ql/src/test/results/clientpositive/groupby7_map_skew.q.out
    hive/trunk/ql/src/test/results/clientpositive/groupby7_noskew.q.out
    hive/trunk/ql/src/test/results/clientpositive/groupby7_noskew_multi_single_reducer.q.out
    hive/trunk/ql/src/test/results/clientpositive/groupby8_map.q.out
    hive/trunk/ql/src/test/results/clientpositive/groupby8_map_skew.q.out
    hive/trunk/ql/src/test/results/clientpositive/groupby8_noskew.q.out
    hive/trunk/ql/src/test/results/clientpositive/groupby_complex_types_multi_single_reducer.q.out
    hive/trunk/ql/src/test/results/clientpositive/groupby_cube1.q.out
    hive/trunk/ql/src/test/results/clientpositive/groupby_grouping_sets4.q.out
    hive/trunk/ql/src/test/results/clientpositive/groupby_map_ppr.q.out
    hive/trunk/ql/src/test/results/clientpositive/groupby_map_ppr_multi_distinct.q.out
    hive/trunk/ql/src/test/results/clientpositive/groupby_multi_insert_common_distinct.q.out
    hive/trunk/ql/src/test/results/clientpositive/groupby_multi_single_reducer.q.out
    hive/trunk/ql/src/test/results/clientpositive/groupby_rollup1.q.out
    hive/trunk/ql/src/test/results/clientpositive/groupby_sort_1.q.out
    hive/trunk/ql/src/test/results/clientpositive/groupby_sort_1_23.q.out
    hive/trunk/ql/src/test/results/clientpositive/groupby_sort_2.q.out
    hive/trunk/ql/src/test/results/clientpositive/groupby_sort_3.q.out
    hive/trunk/ql/src/test/results/clientpositive/groupby_sort_4.q.out
    hive/trunk/ql/src/test/results/clientpositive/groupby_sort_5.q.out
    hive/trunk/ql/src/test/results/clientpositive/groupby_sort_6.q.out
    hive/trunk/ql/src/test/results/clientpositive/groupby_sort_7.q.out
    hive/trunk/ql/src/test/results/clientpositive/groupby_sort_skew_1.q.out
    hive/trunk/ql/src/test/results/clientpositive/groupby_sort_skew_1_23.q.out
    hive/trunk/ql/src/test/results/clientpositive/index_auto.q.out
    hive/trunk/ql/src/test/results/clientpositive/index_auto_file_format.q.out
    hive/trunk/ql/src/test/results/clientpositive/index_auto_mult_tables.q.out
    hive/trunk/ql/src/test/results/clientpositive/index_auto_mult_tables_compact.q.out
    hive/trunk/ql/src/test/results/clientpositive/index_auto_multiple.q.out
    hive/trunk/ql/src/test/results/clientpositive/index_auto_partitioned.q.out
    hive/trunk/ql/src/test/results/clientpositive/index_auto_self_join.q.out
    hive/trunk/ql/src/test/results/clientpositive/index_auto_unused.q.out
    hive/trunk/ql/src/test/results/clientpositive/index_bitmap.q.out
    hive/trunk/ql/src/test/results/clientpositive/index_bitmap1.q.out
    hive/trunk/ql/src/test/results/clientpositive/index_bitmap2.q.out
    hive/trunk/ql/src/test/results/clientpositive/index_bitmap_auto_partitioned.q.out
    hive/trunk/ql/src/test/results/clientpositive/index_bitmap_compression.q.out
    hive/trunk/ql/src/test/results/clientpositive/index_bitmap_rc.q.out
    hive/trunk/ql/src/test/results/clientpositive/index_compact.q.out
    hive/trunk/ql/src/test/results/clientpositive/index_compact_1.q.out
    hive/trunk/ql/src/test/results/clientpositive/index_compact_2.q.out
    hive/trunk/ql/src/test/results/clientpositive/index_compact_3.q.out
    hive/trunk/ql/src/test/results/clientpositive/index_compression.q.out
    hive/trunk/ql/src/test/results/clientpositive/index_serde.q.out
    hive/trunk/ql/src/test/results/clientpositive/innerjoin.q.out
    hive/trunk/ql/src/test/results/clientpositive/input11_limit.q.out
    hive/trunk/ql/src/test/results/clientpositive/input1_limit.q.out
    hive/trunk/ql/src/test/results/clientpositive/input40.q.out
    hive/trunk/ql/src/test/results/clientpositive/input42.q.out
    hive/trunk/ql/src/test/results/clientpositive/input_lazyserde.q.out
    hive/trunk/ql/src/test/results/clientpositive/input_part9.q.out
    hive/trunk/ql/src/test/results/clientpositive/insert1.q.out
    hive/trunk/ql/src/test/results/clientpositive/join18_multi_distinct.q.out
    hive/trunk/ql/src/test/results/clientpositive/join25.q.out
    hive/trunk/ql/src/test/results/clientpositive/join26.q.out
    hive/trunk/ql/src/test/results/clientpositive/join27.q.out
    hive/trunk/ql/src/test/results/clientpositive/join28.q.out
    hive/trunk/ql/src/test/results/clientpositive/join29.q.out
    hive/trunk/ql/src/test/results/clientpositive/join30.q.out
    hive/trunk/ql/src/test/results/clientpositive/join31.q.out
    hive/trunk/ql/src/test/results/clientpositive/join32.q.out
    hive/trunk/ql/src/test/results/clientpositive/join32_lessSize.q.out
    hive/trunk/ql/src/test/results/clientpositive/join33.q.out
    hive/trunk/ql/src/test/results/clientpositive/join34.q.out
    hive/trunk/ql/src/test/results/clientpositive/join35.q.out
    hive/trunk/ql/src/test/results/clientpositive/join36.q.out
    hive/trunk/ql/src/test/results/clientpositive/join37.q.out
    hive/trunk/ql/src/test/results/clientpositive/join39.q.out
    hive/trunk/ql/src/test/results/clientpositive/join_1to1.q.out
    hive/trunk/ql/src/test/results/clientpositive/join_casesensitive.q.out
    hive/trunk/ql/src/test/results/clientpositive/join_filters.q.out
    hive/trunk/ql/src/test/results/clientpositive/join_filters_overlap.q.out
    hive/trunk/ql/src/test/results/clientpositive/join_map_ppr.q.out
    hive/trunk/ql/src/test/results/clientpositive/join_nulls.q.out
    hive/trunk/ql/src/test/results/clientpositive/join_nullsafe.q.out
    hive/trunk/ql/src/test/results/clientpositive/leftsemijoin.q.out
    hive/trunk/ql/src/test/results/clientpositive/list_bucket_dml_12.q.out
    hive/trunk/ql/src/test/results/clientpositive/list_bucket_dml_13.q.out
    hive/trunk/ql/src/test/results/clientpositive/list_bucket_dml_2.q.out
    hive/trunk/ql/src/test/results/clientpositive/list_bucket_dml_4.q.out
    hive/trunk/ql/src/test/results/clientpositive/list_bucket_dml_5.q.out
    hive/trunk/ql/src/test/results/clientpositive/list_bucket_dml_6.q.out
    hive/trunk/ql/src/test/results/clientpositive/list_bucket_dml_7.q.out
    hive/trunk/ql/src/test/results/clientpositive/list_bucket_dml_9.q.out
    hive/trunk/ql/src/test/results/clientpositive/list_bucket_query_multiskew_2.q.out
    hive/trunk/ql/src/test/results/clientpositive/list_bucket_query_oneskew_1.q.out
    hive/trunk/ql/src/test/results/clientpositive/list_bucket_query_oneskew_2.q.out
    hive/trunk/ql/src/test/results/clientpositive/list_bucket_query_oneskew_3.q.out
    hive/trunk/ql/src/test/results/clientpositive/load_dyn_part1.q.out
    hive/trunk/ql/src/test/results/clientpositive/load_dyn_part10.q.out
    hive/trunk/ql/src/test/results/clientpositive/load_dyn_part14.q.out
    hive/trunk/ql/src/test/results/clientpositive/load_dyn_part2.q.out
    hive/trunk/ql/src/test/results/clientpositive/load_dyn_part3.q.out
    hive/trunk/ql/src/test/results/clientpositive/load_dyn_part4.q.out
    hive/trunk/ql/src/test/results/clientpositive/load_dyn_part8.q.out
    hive/trunk/ql/src/test/results/clientpositive/load_dyn_part9.q.out
    hive/trunk/ql/src/test/results/clientpositive/mapjoin_memcheck.q.out
    hive/trunk/ql/src/test/results/clientpositive/mapjoin_subquery.q.out
    hive/trunk/ql/src/test/results/clientpositive/merge3.q.out
    hive/trunk/ql/src/test/results/clientpositive/merge4.q.out
    hive/trunk/ql/src/test/results/clientpositive/merge_dynamic_partition.q.out
    hive/trunk/ql/src/test/results/clientpositive/merge_dynamic_partition3.q.out
    hive/trunk/ql/src/test/results/clientpositive/mi.q.out
    hive/trunk/ql/src/test/results/clientpositive/multi_insert.q.out
    hive/trunk/ql/src/test/results/clientpositive/multi_insert_gby.q.out
    hive/trunk/ql/src/test/results/clientpositive/multi_insert_lateral_view.q.out
    hive/trunk/ql/src/test/results/clientpositive/multi_insert_move_tasks_share_dependencies.q.out
    hive/trunk/ql/src/test/results/clientpositive/newline.q.out
    hive/trunk/ql/src/test/results/clientpositive/nonblock_op_deduplicate.q.out
    hive/trunk/ql/src/test/results/clientpositive/orc_create.q.out
    hive/trunk/ql/src/test/results/clientpositive/orc_diff_part_cols.q.out
    hive/trunk/ql/src/test/results/clientpositive/orc_diff_part_cols2.q.out
    hive/trunk/ql/src/test/results/clientpositive/orc_empty_strings.q.out
    hive/trunk/ql/src/test/results/clientpositive/orc_predicate_pushdown.q.out
    hive/trunk/ql/src/test/results/clientpositive/orc_split_elimination.q.out
    hive/trunk/ql/src/test/results/clientpositive/parallel.q.out
    hive/trunk/ql/src/test/results/clientpositive/parquet_partitioned.q.out
    hive/trunk/ql/src/test/results/clientpositive/stats4.q.out
    hive/trunk/ql/src/test/results/clientpositive/subquery_in.q.out
    hive/trunk/ql/src/test/results/clientpositive/subquery_in_having.q.out
    hive/trunk/ql/src/test/results/clientpositive/subquery_views.q.out
    hive/trunk/ql/src/test/results/clientpositive/tez/bucket2.q.out
    hive/trunk/ql/src/test/results/clientpositive/tez/bucket3.q.out
    hive/trunk/ql/src/test/results/clientpositive/tez/custom_input_output_format.q.out
    hive/trunk/ql/src/test/results/clientpositive/tez/insert1.q.out
    hive/trunk/ql/src/test/results/clientpositive/tez/leftsemijoin.q.out
    hive/trunk/ql/src/test/results/clientpositive/tez/load_dyn_part1.q.out
    hive/trunk/ql/src/test/results/clientpositive/tez/load_dyn_part2.q.out
    hive/trunk/ql/src/test/results/clientpositive/tez/load_dyn_part3.q.out
    hive/trunk/ql/src/test/results/clientpositive/tez/subquery_in.q.out
    hive/trunk/ql/src/test/results/clientpositive/tez/tez_dml.q.out
    hive/trunk/ql/src/test/results/clientpositive/union22.q.out
    hive/trunk/ql/src/test/results/clientpositive/union24.q.out
    hive/trunk/ql/src/test/results/clientpositive/union26.q.out
    hive/trunk/ql/src/test/results/clientpositive/union31.q.out
    hive/trunk/ql/src/test/results/clientpositive/union32.q.out
    hive/trunk/ql/src/test/results/clientpositive/union_date.q.out
    hive/trunk/ql/src/test/results/clientpositive/union_top_level.q.out

Modified: hive/trunk/cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java
URL: http://svn.apache.org/viewvc/hive/trunk/cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java?rev=1598678&r1=1598677&r2=1598678&view=diff
==============================================================================
--- hive/trunk/cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java (original)
+++ hive/trunk/cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java Fri May 30 17:37:05 2014
@@ -50,6 +50,7 @@ import org.apache.hadoop.hive.common.Hiv
 import org.apache.hadoop.hive.common.LogUtils;
 import org.apache.hadoop.hive.common.LogUtils.LogInitializationException;
 import org.apache.hadoop.hive.common.io.CachingPrintStream;
+import org.apache.hadoop.hive.common.io.FetchConverter;
 import org.apache.hadoop.hive.conf.HiveConf;
 import org.apache.hadoop.hive.metastore.api.FieldSchema;
 import org.apache.hadoop.hive.ql.CommandNeedRetryException;
@@ -283,6 +284,9 @@ public class CliDriver {
             // print the results
             int counter = 0;
             try {
+              if (out instanceof FetchConverter) {
+                ((FetchConverter)out).fetchStarted();
+              }
               while (qp.getResults(res)) {
                 for (String r : res) {
                   out.println(r);
@@ -305,6 +309,10 @@ public class CliDriver {
               ret = cret;
             }
 
+            if (out instanceof FetchConverter) {
+              ((FetchConverter)out).fetchFinished();
+            }
+
             console.printInfo("Time taken: " + timeTaken + " seconds" +
                 (counter == 0 ? "" : ", Fetched: " + counter + " row(s)"));
           } else {

Added: hive/trunk/common/src/java/org/apache/hadoop/hive/common/io/DigestPrintStream.java
URL: http://svn.apache.org/viewvc/hive/trunk/common/src/java/org/apache/hadoop/hive/common/io/DigestPrintStream.java?rev=1598678&view=auto
==============================================================================
--- hive/trunk/common/src/java/org/apache/hadoop/hive/common/io/DigestPrintStream.java (added)
+++ hive/trunk/common/src/java/org/apache/hadoop/hive/common/io/DigestPrintStream.java Fri May 30 17:37:05 2014
@@ -0,0 +1,46 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hive.common.io;
+
+import org.apache.commons.codec.binary.Base64;
+
+import java.io.OutputStream;
+import java.security.MessageDigest;
+
+public class DigestPrintStream extends FetchConverter {
+
+  private final MessageDigest digest;
+
+  public DigestPrintStream(OutputStream out, String encoding) throws Exception {
+    super(out, false, encoding);
+    this.digest = MessageDigest.getInstance("MD5");
+  }
+
+  @Override
+  protected void process(String out) {
+    digest.update(out.getBytes());
+  }
+
+  @Override
+  public void processFinal() {
+    printDirect(new String(Base64.encodeBase64(digest.digest())));
+    digest.reset();
+  }
+}
+

Added: hive/trunk/common/src/java/org/apache/hadoop/hive/common/io/FetchConverter.java
URL: http://svn.apache.org/viewvc/hive/trunk/common/src/java/org/apache/hadoop/hive/common/io/FetchConverter.java?rev=1598678&view=auto
==============================================================================
--- hive/trunk/common/src/java/org/apache/hadoop/hive/common/io/FetchConverter.java (added)
+++ hive/trunk/common/src/java/org/apache/hadoop/hive/common/io/FetchConverter.java Fri May 30 17:37:05 2014
@@ -0,0 +1,77 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hive.common.io;
+
+import java.io.OutputStream;
+import java.io.PrintStream;
+import java.io.UnsupportedEncodingException;
+
+public abstract class FetchConverter extends PrintStream {
+
+  protected volatile boolean queryfound;
+  protected volatile boolean fetchStarted;
+
+  public FetchConverter(OutputStream out, boolean autoFlush, String encoding)
+      throws UnsupportedEncodingException {
+    super(out, autoFlush, encoding);
+  }
+
+  public void foundQuery(boolean queryfound) {
+    this.queryfound = queryfound;
+  }
+
+  public void fetchStarted() {
+    fetchStarted = true;
+  }
+
+  public void println(String out) {
+    if (byPass()) {
+      printDirect(out);
+    } else {
+      process(out);
+    }
+  }
+
+  protected final void printDirect(String out) {
+    super.println(out);
+  }
+
+  protected final boolean byPass() {
+    return !queryfound || !fetchStarted;
+  }
+
+  protected abstract void process(String out);
+
+  protected abstract void processFinal();
+
+  @Override
+  public void flush() {
+    if (byPass()) {
+      super.flush();
+    }
+  }
+
+  public void fetchFinished() {
+    if (!byPass()) {
+      processFinal();
+    }
+    super.flush();
+    fetchStarted = false;
+  }
+}

Added: hive/trunk/common/src/java/org/apache/hadoop/hive/common/io/SortAndDigestPrintStream.java
URL: http://svn.apache.org/viewvc/hive/trunk/common/src/java/org/apache/hadoop/hive/common/io/SortAndDigestPrintStream.java?rev=1598678&view=auto
==============================================================================
--- hive/trunk/common/src/java/org/apache/hadoop/hive/common/io/SortAndDigestPrintStream.java (added)
+++ hive/trunk/common/src/java/org/apache/hadoop/hive/common/io/SortAndDigestPrintStream.java Fri May 30 17:37:05 2014
@@ -0,0 +1,46 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hive.common.io;
+
+import org.apache.commons.codec.binary.Base64;
+
+import java.io.OutputStream;
+import java.security.MessageDigest;
+
+public class SortAndDigestPrintStream extends SortPrintStream {
+
+  private final MessageDigest digest;
+
+  public SortAndDigestPrintStream(OutputStream out, String encoding) throws Exception {
+    super(out, encoding);
+    this.digest = MessageDigest.getInstance("MD5");
+  }
+
+  @Override
+  public void processFinal() {
+    while (!outputs.isEmpty()) {
+      String row = outputs.removeFirst();
+      digest.update(row.getBytes());
+      printDirect(row);
+    }
+    printDirect(new String(Base64.encodeBase64(digest.digest())));
+    digest.reset();
+  }
+}
+

Added: hive/trunk/common/src/java/org/apache/hadoop/hive/common/io/SortPrintStream.java
URL: http://svn.apache.org/viewvc/hive/trunk/common/src/java/org/apache/hadoop/hive/common/io/SortPrintStream.java?rev=1598678&view=auto
==============================================================================
--- hive/trunk/common/src/java/org/apache/hadoop/hive/common/io/SortPrintStream.java (added)
+++ hive/trunk/common/src/java/org/apache/hadoop/hive/common/io/SortPrintStream.java Fri May 30 17:37:05 2014
@@ -0,0 +1,54 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hive.common.io;
+
+import com.google.common.collect.MinMaxPriorityQueue;
+
+import java.io.OutputStream;
+import java.util.Comparator;
+
+public class SortPrintStream extends FetchConverter {
+
+  private static final Comparator<String> STR_COMP = new Comparator<String>() {
+    @Override
+    public int compare(String o1, String o2) {
+      return o1.compareTo(o2);
+    }
+  };
+
+  protected final MinMaxPriorityQueue<String> outputs =
+      MinMaxPriorityQueue.orderedBy(STR_COMP).create();
+
+  public SortPrintStream(OutputStream out, String encoding) throws Exception {
+    super(out, false, encoding);
+  }
+
+  @Override
+  public void process(String out) {
+    assert out != null;
+    outputs.add(out);
+  }
+
+  @Override
+  public void processFinal() {
+    while (!outputs.isEmpty()) {
+      printDirect(outputs.removeFirst());
+    }
+  }
+}

Modified: hive/trunk/itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java
URL: http://svn.apache.org/viewvc/hive/trunk/itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java?rev=1598678&r1=1598677&r2=1598678&view=diff
==============================================================================
--- hive/trunk/itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java (original)
+++ hive/trunk/itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java Fri May 30 17:37:05 2014
@@ -21,6 +21,7 @@ package org.apache.hadoop.hive.ql;
 import static org.apache.hadoop.hive.metastore.MetaStoreUtils.DEFAULT_DATABASE_NAME;
 
 import java.io.BufferedInputStream;
+import java.io.BufferedOutputStream;
 import java.io.BufferedReader;
 import java.io.BufferedWriter;
 import java.io.File;
@@ -32,6 +33,7 @@ import java.io.FileWriter;
 import java.io.FilenameFilter;
 import java.io.IOException;
 import java.io.InputStreamReader;
+import java.io.OutputStream;
 import java.io.OutputStreamWriter;
 import java.io.PrintStream;
 import java.io.Serializable;
@@ -63,6 +65,9 @@ import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hbase.zookeeper.MiniZooKeeperCluster;
 import org.apache.hadoop.hive.cli.CliDriver;
 import org.apache.hadoop.hive.cli.CliSessionState;
+import org.apache.hadoop.hive.common.io.DigestPrintStream;
+import org.apache.hadoop.hive.common.io.SortAndDigestPrintStream;
+import org.apache.hadoop.hive.common.io.SortPrintStream;
 import org.apache.hadoop.hive.common.io.CachingPrintStream;
 import org.apache.hadoop.hive.conf.HiveConf;
 import org.apache.hadoop.hive.conf.HiveConf.ConfVars;
@@ -118,6 +123,9 @@ public class QTestUtil {
   private final TreeMap<String, String> qMap;
   private final Set<String> qSkipSet;
   private final Set<String> qSortSet;
+  private final Set<String> qSortQuerySet;
+  private final Set<String> qHashQuerySet;
+  private final Set<String> qSortNHashQuerySet;
   private static final String SORT_SUFFIX = ".sorted";
   public static final HashSet<String> srcTables = new HashSet<String>();
   private static MiniClusterType clusterType = MiniClusterType.none;
@@ -309,6 +317,9 @@ public class QTestUtil {
     qMap = new TreeMap<String, String>();
     qSkipSet = new HashSet<String>();
     qSortSet = new HashSet<String>();
+    qSortQuerySet = new HashSet<String>();
+    qHashQuerySet = new HashSet<String>();
+    qSortNHashQuerySet = new HashSet<String>();
     this.clusterType = clusterType;
 
     HadoopShims shims = ShimLoader.getHadoopShims();
@@ -400,15 +411,24 @@ public class QTestUtil {
       qSkipSet.add(qf.getName());
     }
 
-    if (checkNeedsSort(qf.getName(), query)) {
+    if (matches(SORT_BEFORE_DIFF, query)) {
       qSortSet.add(qf.getName());
+    } else if (matches(SORT_QUERY_RESULTS, query)) {
+      qSortQuerySet.add(qf.getName());
+    } else if (matches(HASH_QUERY_RESULTS, query)) {
+      qHashQuerySet.add(qf.getName());
+    } else if (matches(SORT_AND_HASH_QUERY_RESULTS, query)) {
+      qSortNHashQuerySet.add(qf.getName());
     }
   }
 
-  private boolean checkNeedsSort(String fileName, String query) {
-    Pattern pattern = Pattern.compile("-- SORT_BEFORE_DIFF");
-    Matcher matcher = pattern.matcher(query);
+  private static final Pattern SORT_BEFORE_DIFF = Pattern.compile("-- SORT_BEFORE_DIFF");
+  private static final Pattern SORT_QUERY_RESULTS = Pattern.compile("-- SORT_QUERY_RESULTS");
+  private static final Pattern HASH_QUERY_RESULTS = Pattern.compile("-- HASH_QUERY_RESULTS");
+  private static final Pattern SORT_AND_HASH_QUERY_RESULTS = Pattern.compile("-- SORT_AND_HASH_QUERY_RESULTS");
 
+  private boolean matches(Pattern pattern, String query) {
+    Matcher matcher = pattern.matcher(query);
     if (matcher.find()) {
       return true;
     }
@@ -820,10 +840,17 @@ public class QTestUtil {
       stdoutName = tname + ".out";
     }
 
-    File outf = new File(logDir);
-    outf = new File(outf, stdoutName);
-    FileOutputStream fo = new FileOutputStream(outf);
-    ss.out = new PrintStream(fo, true, "UTF-8");
+    File outf = new File(logDir, stdoutName);
+    OutputStream fo = new BufferedOutputStream(new FileOutputStream(outf));
+    if (qSortQuerySet.contains(tname)) {
+      ss.out = new SortPrintStream(fo, "UTF-8");
+    } else if (qHashQuerySet.contains(tname)) {
+      ss.out = new DigestPrintStream(fo, "UTF-8");
+    } else if (qSortNHashQuerySet.contains(tname)) {
+      ss.out = new SortAndDigestPrintStream(fo, "UTF-8");
+    } else {
+      ss.out = new PrintStream(fo, true, "UTF-8");
+    }
     ss.err = new CachingPrintStream(fo, true, "UTF-8");
     ss.setIsSilent(true);
     SessionState oldSs = SessionState.get();

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/QueryPlan.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/QueryPlan.java?rev=1598678&r1=1598677&r2=1598678&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/QueryPlan.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/QueryPlan.java Fri May 30 17:37:05 2014
@@ -656,6 +656,10 @@ public class QueryPlan implements Serial
     this.rootTasks = rootTasks;
   }
 
+  public boolean isForExplain() {
+    return rootTasks.size() == 1 && rootTasks.get(0) instanceof ExplainTask;
+  }
+
   public FetchTask getFetchTask() {
     return fetchTask;
   }

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/hooks/PreExecutePrinter.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/hooks/PreExecutePrinter.java?rev=1598678&r1=1598677&r2=1598678&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/hooks/PreExecutePrinter.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/hooks/PreExecutePrinter.java Fri May 30 17:37:05 2014
@@ -23,7 +23,9 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Set;
 
+import org.apache.hadoop.hive.common.io.FetchConverter;
 import org.apache.hadoop.hive.ql.hooks.HookContext.HookType;
+import org.apache.hadoop.hive.ql.plan.HiveOperation;
 import org.apache.hadoop.hive.ql.session.SessionState;
 import org.apache.hadoop.hive.ql.session.SessionState.LogHelper;
 import org.apache.hadoop.security.UserGroupInformation;
@@ -38,6 +40,12 @@ public class PreExecutePrinter implement
   public void run(HookContext hookContext) throws Exception {
     assert(hookContext.getHookType() == HookType.PRE_EXEC_HOOK);
     SessionState ss = SessionState.get();
+    if (ss != null && ss.out instanceof FetchConverter) {
+      boolean foundQuery = ss.getHiveOperation() == HiveOperation.QUERY &&
+              !hookContext.getQueryPlan().isForExplain();
+      ((FetchConverter)ss.out).foundQuery(foundQuery);
+    }
+
     Set<ReadEntity> inputs = hookContext.getInputs();
     Set<WriteEntity> outputs = hookContext.getOutputs();
     UserGroupInformation ugi = hookContext.getUgi();

Modified: hive/trunk/ql/src/test/queries/clientpositive/alter_char1.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/alter_char1.q?rev=1598678&r1=1598677&r2=1598678&view=diff
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/alter_char1.q (original)
+++ hive/trunk/ql/src/test/queries/clientpositive/alter_char1.q Fri May 30 17:37:05 2014
@@ -1,32 +1,34 @@
+-- SORT_QUERY_RESULTS
+
 drop table alter_char_1;
 
 create table alter_char_1 (key string, value string);
 insert overwrite table alter_char_1
   select key, value from src order by key limit 5;
 
-select * from alter_char_1 order by key;
+select * from alter_char_1;
 
 -- change column to char
 alter table alter_char_1 change column value value char(20);
 -- contents should still look the same
-select * from alter_char_1 order by key;
+select * from alter_char_1;
 
 -- change column to smaller char
 alter table alter_char_1 change column value value char(3);
 -- value column should be truncated now
-select * from alter_char_1 order by key;
+select * from alter_char_1;
 
 -- change back to bigger char
 alter table alter_char_1 change column value value char(20);
 -- column values should be full size again
-select * from alter_char_1 order by key;
+select * from alter_char_1;
 
 -- add char column
 alter table alter_char_1 add columns (key2 int, value2 char(10));
-select * from alter_char_1 order by key;
+select * from alter_char_1;
 
 insert overwrite table alter_char_1
   select key, value, key, value from src order by key limit 5;
-select * from alter_char_1 order by key;
+select * from alter_char_1;
 
 drop table alter_char_1;

Modified: hive/trunk/ql/src/test/queries/clientpositive/alter_varchar1.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/alter_varchar1.q?rev=1598678&r1=1598677&r2=1598678&view=diff
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/alter_varchar1.q (original)
+++ hive/trunk/ql/src/test/queries/clientpositive/alter_varchar1.q Fri May 30 17:37:05 2014
@@ -1,32 +1,34 @@
+-- SORT_QUERY_RESULTS
+
 drop table alter_varchar_1;
 
 create table alter_varchar_1 (key string, value string);
 insert overwrite table alter_varchar_1
   select key, value from src order by key limit 5;
 
-select * from alter_varchar_1 order by key;
+select * from alter_varchar_1;
 
 -- change column to varchar
 alter table alter_varchar_1 change column value value varchar(20);
 -- contents should still look the same
-select * from alter_varchar_1 order by key;
+select * from alter_varchar_1;
 
 -- change column to smaller varchar
 alter table alter_varchar_1 change column value value varchar(3);
 -- value column should be truncated now
-select * from alter_varchar_1 order by key;
+select * from alter_varchar_1;
 
 -- change back to bigger varchar
 alter table alter_varchar_1 change column value value varchar(20);
 -- column values should be full size again
-select * from alter_varchar_1 order by key;
+select * from alter_varchar_1;
 
 -- add varchar column
 alter table alter_varchar_1 add columns (key2 int, value2 varchar(10));
-select * from alter_varchar_1 order by key;
+select * from alter_varchar_1;
 
 insert overwrite table alter_varchar_1
   select key, value, key, value from src order by key limit 5;
-select * from alter_varchar_1 order by key;
+select * from alter_varchar_1;
 
 drop table alter_varchar_1;

Modified: hive/trunk/ql/src/test/queries/clientpositive/auto_join26.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/auto_join26.q?rev=1598678&r1=1598677&r2=1598678&view=diff
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/auto_join26.q (original)
+++ hive/trunk/ql/src/test/queries/clientpositive/auto_join26.q Fri May 30 17:37:05 2014
@@ -1,3 +1,5 @@
+--SORT_QUERY_RESULTS
+
 CREATE TABLE dest_j1(key INT, cnt INT);
 set hive.auto.convert.join = true;
 EXPLAIN
@@ -7,4 +9,4 @@ SELECT x.key, count(1) FROM src1 x JOIN 
 INSERT OVERWRITE TABLE dest_j1 
 SELECT  x.key, count(1) FROM src1 x JOIN src y ON (x.key = y.key) group by x.key;
 
-select * from dest_j1 x order by x.key;
+select * from dest_j1;

Modified: hive/trunk/ql/src/test/queries/clientpositive/auto_smb_mapjoin_14.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/auto_smb_mapjoin_14.q?rev=1598678&r1=1598677&r2=1598678&view=diff
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/auto_smb_mapjoin_14.q (original)
+++ hive/trunk/ql/src/test/queries/clientpositive/auto_smb_mapjoin_14.q Fri May 30 17:37:05 2014
@@ -2,6 +2,8 @@ set hive.enforce.bucketing = true;
 set hive.enforce.sorting = true;
 set hive.exec.reducers.max = 1;
 
+-- SORT_QUERY_RESULTS
+
 CREATE TABLE tbl1(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS;
 CREATE TABLE tbl2(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS;
 
@@ -64,8 +66,7 @@ join
     select a.key as key, a.value as val1, b.value as val2 from tbl1 a join tbl2 b on a.key = b.key
   ) subq2 group by key
 ) src2
-on src1.key = src2.key
-order by src1.key, src1.cnt1, src2.cnt1;
+on src1.key = src2.key;
 
 select src1.key, src1.cnt1, src2.cnt1 from
 (
@@ -81,8 +82,7 @@ join
     select a.key as key, a.value as val1, b.value as val2 from tbl1 a join tbl2 b on a.key = b.key
   ) subq2 group by key
 ) src2
-on src1.key = src2.key
-order by src1.key, src1.cnt1, src2.cnt1;
+on src1.key = src2.key;
 
 -- The subquery itself is being joined. Since the sub-query only contains selects and filters, it should 
 -- be converted to a sort-merge join.
@@ -271,8 +271,8 @@ from (
 insert overwrite table dest1 select key, val1
 insert overwrite table dest2 select key, val1, val2;
 
-select * from dest1 order by key, value;
-select * from dest2 order by key, val1, val2;
+select * from dest1;
+select * from dest2;
 
 DROP TABLE dest2;
 CREATE TABLE dest2(key int, cnt int);
@@ -292,5 +292,5 @@ from (
 insert overwrite table dest1 select key, val1
 insert overwrite table dest2 select key, count(*) group by key;
 
-select * from dest1 order by key, value;
-select * from dest2 order by key;
+select * from dest1;
+select * from dest2;

Modified: hive/trunk/ql/src/test/queries/clientpositive/auto_sortmerge_join_13.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/auto_sortmerge_join_13.q?rev=1598678&r1=1598677&r2=1598678&view=diff
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/auto_sortmerge_join_13.q (original)
+++ hive/trunk/ql/src/test/queries/clientpositive/auto_sortmerge_join_13.q Fri May 30 17:37:05 2014
@@ -2,6 +2,8 @@ set hive.enforce.bucketing = true;
 set hive.enforce.sorting = true;
 set hive.exec.reducers.max = 1;
 
+-- SORT_QUERY_RESULTS
+
 CREATE TABLE tbl1(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS;
 CREATE TABLE tbl2(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS;
 
@@ -35,8 +37,8 @@ from (
 INSERT OVERWRITE TABLE dest1 select key1, key2
 INSERT OVERWRITE TABLE dest2 select value1, value2;
 
-select * from dest1 order by k1, k2;
-select * from dest2 order by k1, k2;
+select * from dest1;
+select * from dest2;
 
 set hive.auto.convert.join.noconditionaltask=true;
 set hive.auto.convert.join.noconditionaltask.size=200;
@@ -57,8 +59,8 @@ from (
 INSERT OVERWRITE TABLE dest1 select key1, key2
 INSERT OVERWRITE TABLE dest2 select value1, value2;
 
-select * from dest1 order by k1, k2;
-select * from dest2 order by k1, k2;
+select * from dest1;
+select * from dest2;
 
 set hive.auto.convert.sortmerge.join.to.mapjoin=true;
 -- A SMB join followed by a mutli-insert
@@ -77,5 +79,5 @@ from (
 INSERT OVERWRITE TABLE dest1 select key1, key2
 INSERT OVERWRITE TABLE dest2 select value1, value2;
 
-select * from dest1 order by k1, k2;
-select * from dest2 order by k1, k2;
+select * from dest1;
+select * from dest2;

Modified: hive/trunk/ql/src/test/queries/clientpositive/auto_sortmerge_join_9.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/auto_sortmerge_join_9.q?rev=1598678&r1=1598677&r2=1598678&view=diff
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/auto_sortmerge_join_9.q (original)
+++ hive/trunk/ql/src/test/queries/clientpositive/auto_sortmerge_join_9.q Fri May 30 17:37:05 2014
@@ -2,6 +2,8 @@ set hive.enforce.bucketing = true;
 set hive.enforce.sorting = true;
 set hive.exec.reducers.max = 1;
 
+-- SORT_QUERY_RESULTS
+
 CREATE TABLE tbl1(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS;
 CREATE TABLE tbl2(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS;
 
@@ -27,21 +29,18 @@ select count(*) from (
 ) subq1;
 
 -- The join is being performed as part of sub-query. It should be converted to a sort-merge join
--- Add a order by at the end to make the results deterministic.
 explain
 select key, count(*) from 
 (
   select a.key as key, a.value as val1, b.value as val2 from tbl1 a join tbl2 b on a.key = b.key
 ) subq1
-group by key
-order by key;
+group by key;
 
 select key, count(*) from 
 (
   select a.key as key, a.value as val1, b.value as val2 from tbl1 a join tbl2 b on a.key = b.key
 ) subq1
-group by key
-order by key;
+group by key;
 
 -- The join is being performed as part of more than one sub-query. It should be converted to a sort-merge join
 explain
@@ -80,8 +79,7 @@ join
     select a.key as key, a.value as val1, b.value as val2 from tbl1 a join tbl2 b on a.key = b.key
   ) subq2 group by key
 ) src2
-on src1.key = src2.key
-order by src1.key, src1.cnt1, src2.cnt1;
+on src1.key = src2.key;
 
 select src1.key, src1.cnt1, src2.cnt1 from
 (
@@ -97,8 +95,7 @@ join
     select a.key as key, a.value as val1, b.value as val2 from tbl1 a join tbl2 b on a.key = b.key
   ) subq2 group by key
 ) src2
-on src1.key = src2.key
-order by src1.key, src1.cnt1, src2.cnt1;
+on src1.key = src2.key;
 
 -- The subquery itself is being joined. Since the sub-query only contains selects and filters, it should 
 -- be converted to a sort-merge join.
@@ -295,21 +292,18 @@ select count(*) from (
 ) subq1;
 
 -- The join is being performed as part of sub-query. It should be converted to a sort-merge join
--- Add a order by at the end to make the results deterministic.
 explain
 select key, count(*) from 
 (
   select a.key as key, a.value as val1, b.value as val2 from tbl1 a join tbl2 b on a.key = b.key
 ) subq1
-group by key
-order by key;
+group by key;
 
 select key, count(*) from 
 (
   select a.key as key, a.value as val1, b.value as val2 from tbl1 a join tbl2 b on a.key = b.key
 ) subq1
-group by key
-order by key;
+group by key;
 
 -- The join is being performed as part of more than one sub-query. It should be converted to a sort-merge join
 explain
@@ -348,8 +342,7 @@ join
     select a.key as key, a.value as val1, b.value as val2 from tbl1 a join tbl2 b on a.key = b.key
   ) subq2 group by key
 ) src2
-on src1.key = src2.key
-order by src1.key, src1.cnt1, src2.cnt1;
+on src1.key = src2.key;
 
 select src1.key, src1.cnt1, src2.cnt1 from
 (
@@ -365,8 +358,7 @@ join
     select a.key as key, a.value as val1, b.value as val2 from tbl1 a join tbl2 b on a.key = b.key
   ) subq2 group by key
 ) src2
-on src1.key = src2.key
-order by src1.key, src1.cnt1, src2.cnt1;
+on src1.key = src2.key;
 
 -- The subquery itself is being joined. Since the sub-query only contains selects and filters, it should 
 -- be converted to a sort-merge join.

Modified: hive/trunk/ql/src/test/queries/clientpositive/avro_evolved_schemas.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/avro_evolved_schemas.q?rev=1598678&r1=1598677&r2=1598678&view=diff
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/avro_evolved_schemas.q (original)
+++ hive/trunk/ql/src/test/queries/clientpositive/avro_evolved_schemas.q Fri May 30 17:37:05 2014
@@ -1,3 +1,5 @@
+-- SORT_QUERY_RESULTS
+
 -- verify that new fields in schema get propagated to table scans
 CREATE TABLE doctors_with_new_field 
 ROW FORMAT
@@ -38,5 +40,5 @@ DESCRIBE doctors_with_new_field;
 
 LOAD DATA LOCAL INPATH '../../data/files/doctors.avro' INTO TABLE doctors_with_new_field;
 
-SELECT * FROM doctors_with_new_field ORDER BY first_name;
+SELECT * FROM doctors_with_new_field;
 

Modified: hive/trunk/ql/src/test/queries/clientpositive/avro_joins.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/avro_joins.q?rev=1598678&r1=1598677&r2=1598678&view=diff
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/avro_joins.q (original)
+++ hive/trunk/ql/src/test/queries/clientpositive/avro_joins.q Fri May 30 17:37:05 2014
@@ -1,3 +1,5 @@
+-- SORT_QUERY_RESULTS
+
 -- verify that new joins bring in correct schemas (including evolved schemas)
 
 CREATE TABLE doctors4
@@ -73,7 +75,6 @@ DESCRIBE episodes;
 LOAD DATA LOCAL INPATH '../../data/files/episodes.avro' INTO TABLE episodes;
 
 SELECT e.title, e.air_date, d.first_name, d.last_name, d.extra_field, e.air_date
-FROM doctors4 d JOIN episodes e ON (d.number=e.doctor)
-ORDER BY d.last_name, e.title;
+FROM doctors4 d JOIN episodes e ON (d.number=e.doctor);
 
 

Modified: hive/trunk/ql/src/test/queries/clientpositive/avro_partitioned.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/avro_partitioned.q?rev=1598678&r1=1598677&r2=1598678&view=diff
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/avro_partitioned.q (original)
+++ hive/trunk/ql/src/test/queries/clientpositive/avro_partitioned.q Fri May 30 17:37:05 2014
@@ -1,3 +1,4 @@
+-- SORT_QUERY_RESULTS
 -- Verify that table scans work with partitioned Avro tables
 CREATE TABLE episodes
 ROW FORMAT
@@ -63,7 +64,7 @@ TBLPROPERTIES ('avro.schema.literal'='{
 SET hive.exec.dynamic.partition.mode=nonstrict;
 INSERT OVERWRITE TABLE episodes_partitioned PARTITION (doctor_pt) SELECT title, air_date, doctor, doctor as doctor_pt FROM episodes;
 
-SELECT * FROM episodes_partitioned WHERE doctor_pt > 6 ORDER BY air_date;
+SELECT * FROM episodes_partitioned WHERE doctor_pt > 6;
 
 -- Verify that Fetch works in addition to Map
 SELECT * FROM episodes_partitioned ORDER BY air_date LIMIT 5;
@@ -142,4 +143,4 @@ WITH SERDEPROPERTIES ('avro.schema.liter
 }');
 
 -- Try selecting from the evolved table
-SELECT * FROM episodes_partitioned_serdeproperties ORDER BY air_date;
+SELECT * FROM episodes_partitioned_serdeproperties;

Modified: hive/trunk/ql/src/test/queries/clientpositive/avro_sanity_test.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/avro_sanity_test.q?rev=1598678&r1=1598677&r2=1598678&view=diff
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/avro_sanity_test.q (original)
+++ hive/trunk/ql/src/test/queries/clientpositive/avro_sanity_test.q Fri May 30 17:37:05 2014
@@ -1,3 +1,5 @@
+-- SORT_QUERY_RESULTS
+
 -- verify that we can actually read avro files
 CREATE TABLE doctors 
 ROW FORMAT
@@ -32,5 +34,5 @@ DESCRIBE doctors;
 
 LOAD DATA LOCAL INPATH '../../data/files/doctors.avro' INTO TABLE doctors;
 
-SELECT * FROM doctors ORDER BY number;
+SELECT * FROM doctors;
 

Modified: hive/trunk/ql/src/test/queries/clientpositive/ba_table1.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/ba_table1.q?rev=1598678&r1=1598677&r2=1598678&view=diff
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/ba_table1.q (original)
+++ hive/trunk/ql/src/test/queries/clientpositive/ba_table1.q Fri May 30 17:37:05 2014
@@ -1,3 +1,5 @@
+-- SORT_QUERY_RESULTS
+
 drop table ba_test;
 
 -- This query tests a) binary type works correctly in grammar b) string can be cast into binary c) binary can be stored in a table d) binary data can be loaded back again and queried d) order-by on a binary key 
@@ -8,6 +10,6 @@ describe extended ba_test;
 
 from src insert overwrite table ba_test select cast (src.key as binary), cast (src.value as binary);
 
-select ba_key,ba_val from ba_test order by ba_key limit 10;
+select * from ba_test tablesample (10 rows);
 
 drop table ba_test;

Modified: hive/trunk/ql/src/test/queries/clientpositive/ba_table2.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/ba_table2.q?rev=1598678&r1=1598677&r2=1598678&view=diff
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/ba_table2.q (original)
+++ hive/trunk/ql/src/test/queries/clientpositive/ba_table2.q Fri May 30 17:37:05 2014
@@ -1,3 +1,5 @@
+-- SORT_QUERY_RESULTS
+
 drop table ba_test;
 
 -- All the test in ba_test1.q + using LazyBinarySerde instead of LazySimpleSerde
@@ -9,7 +11,7 @@ describe extended ba_test;
 
 from src insert overwrite table ba_test select cast (src.key as binary), cast (src.value as binary);
 
-select ba_key, ba_val from ba_test order by ba_val limit 10;
+select * from ba_test tablesample (10 rows);
 
 drop table ba_test;
 

Modified: hive/trunk/ql/src/test/queries/clientpositive/ba_table_udfs.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/ba_table_udfs.q?rev=1598678&r1=1598677&r2=1598678&view=diff
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/ba_table_udfs.q (original)
+++ hive/trunk/ql/src/test/queries/clientpositive/ba_table_udfs.q Fri May 30 17:37:05 2014
@@ -1,3 +1,5 @@
+-- SORT_QUERY_RESULTS
+
 USE default;
 
 CREATE TABLE dest1(bytes1 BINARY,
@@ -32,5 +34,4 @@ SELECT
   UNBASE64(BASE64(bytes1)),
   HEX(ENCODE(string, 'US-ASCII')),
   DECODE(ENCODE(string, 'US-ASCII'), 'US-ASCII')
-FROM dest1
-ORDER BY bytes2;
+FROM dest1;

Modified: hive/trunk/ql/src/test/queries/clientpositive/bucket1.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/bucket1.q?rev=1598678&r1=1598677&r2=1598678&view=diff
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/bucket1.q (original)
+++ hive/trunk/ql/src/test/queries/clientpositive/bucket1.q Fri May 30 17:37:05 2014
@@ -1,6 +1,8 @@
 set hive.enforce.bucketing = true;
 set hive.exec.reducers.max = 200;
 
+-- SORT_QUERY_RESULTS
+
 CREATE TABLE bucket1_1(key int, value string) CLUSTERED BY (key) INTO 100 BUCKETS;
 
 explain extended
@@ -10,4 +12,4 @@ select * from src;
 insert overwrite table bucket1_1
 select * from src;
 
-select * from bucket1_1 order by key;
+select * from bucket1_1;

Modified: hive/trunk/ql/src/test/queries/clientpositive/bucket2.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/bucket2.q?rev=1598678&r1=1598677&r2=1598678&view=diff
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/bucket2.q (original)
+++ hive/trunk/ql/src/test/queries/clientpositive/bucket2.q Fri May 30 17:37:05 2014
@@ -1,6 +1,8 @@
 set hive.enforce.bucketing = true;
 set hive.exec.reducers.max = 1;
 
+-- SORT_QUERY_RESULTS
+
 CREATE TABLE bucket2_1(key int, value string) CLUSTERED BY (key) INTO 2 BUCKETS;
 
 explain extended
@@ -11,6 +13,6 @@ insert overwrite table bucket2_1
 select * from src;
 
 explain
-select * from bucket2_1 tablesample (bucket 1 out of 2) s order by key;
+select * from bucket2_1 tablesample (bucket 1 out of 2) s;
 
-select * from bucket2_1 tablesample (bucket 1 out of 2) s order by key;
+select * from bucket2_1 tablesample (bucket 1 out of 2) s;

Modified: hive/trunk/ql/src/test/queries/clientpositive/bucket3.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/bucket3.q?rev=1598678&r1=1598677&r2=1598678&view=diff
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/bucket3.q (original)
+++ hive/trunk/ql/src/test/queries/clientpositive/bucket3.q Fri May 30 17:37:05 2014
@@ -1,6 +1,8 @@
 set hive.enforce.bucketing = true;
 set hive.exec.reducers.max = 1;
 
+-- SORT_QUERY_RESULTS
+
 CREATE TABLE bucket3_1(key int, value string) partitioned by (ds string) CLUSTERED BY (key) INTO 2 BUCKETS;
 
 explain extended
@@ -14,6 +16,6 @@ insert overwrite table bucket3_1 partiti
 select * from src;
 
 explain
-select * from bucket3_1 tablesample (bucket 1 out of 2) s where ds = '1' order by key;
+select * from bucket3_1 tablesample (bucket 1 out of 2) s where ds = '1';
 
-select * from bucket3_1 tablesample (bucket 1 out of 2) s where ds = '1' order by key;
+select * from bucket3_1 tablesample (bucket 1 out of 2) s where ds = '1';

Modified: hive/trunk/ql/src/test/queries/clientpositive/bucketmapjoin6.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/bucketmapjoin6.q?rev=1598678&r1=1598677&r2=1598678&view=diff
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/bucketmapjoin6.q (original)
+++ hive/trunk/ql/src/test/queries/clientpositive/bucketmapjoin6.q Fri May 30 17:37:05 2014
@@ -1,3 +1,5 @@
+-- SORT_QUERY_RESULTS
+
 set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat;
 create table tmp1 (a string, b string) clustered by (a) sorted by (a) into 10 buckets;
 
@@ -22,4 +24,4 @@ insert overwrite table tmp3
   select /*+ MAPJOIN(l) */ i.a, i.b, l.b
   from tmp1 i join tmp2 l ON i.a = l.a;
 
-select * from tmp3 order by a, b, c;
+select * from tmp3;

Modified: hive/trunk/ql/src/test/queries/clientpositive/char_1.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/char_1.q?rev=1598678&r1=1598677&r2=1598678&view=diff
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/char_1.q (original)
+++ hive/trunk/ql/src/test/queries/clientpositive/char_1.q Fri May 30 17:37:05 2014
@@ -1,3 +1,5 @@
+-- SORT_QUERY_RESULTS
+
 drop table char1;
 drop table char1_1;
 
@@ -11,22 +13,22 @@ select * from char1 order by key, value 
 -- insert overwrite, from same/different length char
 insert overwrite table char1
   select cast(key as char(10)), cast(value as char(15)) from src order by key, value limit 2;
-select key, value from char1 order by key, value;
+select key, value from char1;
 
 -- insert overwrite, from string
 insert overwrite table char1
   select key, value from src order by key, value limit 2;
-select key, value from char1 order by key, value;
+select key, value from char1;
 
 -- insert string from char
 insert overwrite table char1_1
   select key, value from char1 order by key, value limit 2;
-select key, value from char1_1 order by key, value;
+select key, value from char1_1;
 
 -- respect string length
 insert overwrite table char1 
   select key, cast(value as char(3)) from src order by key, value limit 2;
-select key, value from char1 order by key, value;
+select key, value from char1;
 
 drop table char1;
 drop table char1_1;

Modified: hive/trunk/ql/src/test/queries/clientpositive/char_join1.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/char_join1.q?rev=1598678&r1=1598677&r2=1598678&view=diff
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/char_join1.q (original)
+++ hive/trunk/ql/src/test/queries/clientpositive/char_join1.q Fri May 30 17:37:05 2014
@@ -1,3 +1,5 @@
+-- SORT_QUERY_RESULTS
+
 drop table char_join1_ch1;
 drop table char_join1_ch2;
 drop table char_join1_str;
@@ -22,13 +24,13 @@ load data local inpath '../../data/files
 load data local inpath '../../data/files/vc1.txt' into table char_join1_str;
 
 -- Join char with same length char
-select * from char_join1_ch1 a join char_join1_ch1 b on (a.c2 = b.c2) order by a.c1;
+select * from char_join1_ch1 a join char_join1_ch1 b on (a.c2 = b.c2);
 
 -- Join char with different length char
-select * from char_join1_ch1 a join char_join1_ch2 b on (a.c2 = b.c2) order by a.c1;
+select * from char_join1_ch1 a join char_join1_ch2 b on (a.c2 = b.c2);
 
 -- Join char with string
-select * from char_join1_ch1 a join char_join1_str b on (a.c2 = b.c2) order by a.c1;
+select * from char_join1_ch1 a join char_join1_str b on (a.c2 = b.c2);
 
 drop table char_join1_ch1;
 drop table char_join1_ch2;

Modified: hive/trunk/ql/src/test/queries/clientpositive/column_access_stats.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/column_access_stats.q?rev=1598678&r1=1598677&r2=1598678&view=diff
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/column_access_stats.q (original)
+++ hive/trunk/ql/src/test/queries/clientpositive/column_access_stats.q Fri May 30 17:37:05 2014
@@ -1,6 +1,7 @@
 SET hive.exec.post.hooks=org.apache.hadoop.hive.ql.hooks.CheckColumnAccessHook;
 SET hive.stats.collect.scancols=true;
 
+-- SORT_QUERY_RESULTS
 -- This test is used for testing the ColumnAccessAnalyzer
 
 CREATE TABLE T1(key STRING, val STRING) STORED AS TEXTFILE;
@@ -11,20 +12,20 @@ CREATE TABLE T3(key STRING, val STRING) 
 CREATE TABLE T4(key STRING, val STRING) PARTITIONED BY (p STRING);
 
 -- Simple select queries
-SELECT key FROM T1 ORDER BY key;
-SELECT key, val FROM T1 ORDER BY key, val;
+SELECT key FROM T1;
+SELECT key, val FROM T1;
 SELECT 1 FROM T1;
 SELECT key, val from T4 where p=1;
 SELECT val FROM T4 where p=1;
 SELECT p, val FROM T4 where p=1;
 
 -- More complicated select queries
-EXPLAIN SELECT key FROM (SELECT key, val FROM T1) subq1 ORDER BY key;
-SELECT key FROM (SELECT key, val FROM T1) subq1 ORDER BY key;
-EXPLAIN SELECT k FROM (SELECT key as k, val as v FROM T1) subq1 ORDER BY k;
-SELECT k FROM (SELECT key as k, val as v FROM T1) subq1 ORDER BY k;
-SELECT key + 1 as k FROM T1 ORDER BY k;
-SELECT key + val as k FROM T1 ORDER BY k;
+EXPLAIN SELECT key FROM (SELECT key, val FROM T1) subq1;
+SELECT key FROM (SELECT key, val FROM T1) subq1;
+EXPLAIN SELECT k FROM (SELECT key as k, val as v FROM T1) subq1;
+SELECT k FROM (SELECT key as k, val as v FROM T1) subq1;
+SELECT key + 1 as k FROM T1;
+SELECT key + val as k FROM T1;
 
 -- Work with union
 EXPLAIN
@@ -32,26 +33,26 @@ SELECT * FROM (
 SELECT key as c FROM T1
  UNION ALL
 SELECT val as c FROM T1
-) subq1 ORDER BY c;
+) subq1;
 
 SELECT * FROM (
 SELECT key as c FROM T1
  UNION ALL
 SELECT val as c FROM T1
-) subq1 ORDER BY c;
+) subq1;
 
 EXPLAIN
 SELECT * FROM (
 SELECT key as c FROM T1
  UNION ALL
 SELECT key as c FROM T1
-) subq1 ORDER BY c;
+) subq1;
 
 SELECT * FROM (
 SELECT key as c FROM T1
  UNION ALL
 SELECT key as c FROM T1
-) subq1 ORDER BY c;
+) subq1;
 
 -- Work with insert overwrite
 FROM T1
@@ -61,42 +62,35 @@ INSERT OVERWRITE TABLE T3 SELECT key, su
 -- Simple joins
 SELECT *
 FROM T1 JOIN T2
-ON T1.key = T2.key
-ORDER BY T1.key, T1.val, T2.key, T2.val;
+ON T1.key = T2.key ;
 
 EXPLAIN
 SELECT T1.key
 FROM T1 JOIN T2
-ON T1.key = T2.key
-ORDER BY T1.key;
+ON T1.key = T2.key;
 
 SELECT T1.key
 FROM T1 JOIN T2
-ON T1.key = T2.key
-ORDER BY T1.key;
+ON T1.key = T2.key;
 
 SELECT *
 FROM T1 JOIN T2
-ON T1.key = T2.key AND T1.val = T2.val
-ORDER BY T1.key, T1.val;
+ON T1.key = T2.key AND T1.val = T2.val;
 
 -- Map join
 SELECT /*+ MAPJOIN(a) */ * 
 FROM T1 a JOIN T2 b 
-ON a.key = b.key
-ORDER BY a.key, a.val, b.key, b.val;
+ON a.key = b.key;
 
 -- More joins
 EXPLAIN
 SELECT *
 FROM T1 JOIN T2
-ON T1.key = T2.key AND T1.val = 3 and T2.val = 3
-ORDER BY T1.key, T1.val;
+ON T1.key = T2.key AND T1.val = 3 and T2.val = 3;
 
 SELECT *
 FROM T1 JOIN T2
-ON T1.key = T2.key AND T1.val = 3 and T2.val = 3
-ORDER BY T1.key, T1.val;
+ON T1.key = T2.key AND T1.val = 3 and T2.val = 3;
 
 EXPLAIN
 SELECT subq1.val
@@ -108,8 +102,7 @@ JOIN 
 (
   SELECT val FROM T2 WHERE key = 6
 ) subq2 
-ON subq1.val = subq2.val
-ORDER BY subq1.val;
+ON subq1.val = subq2.val;
 
 SELECT subq1.val
 FROM 
@@ -120,8 +113,7 @@ JOIN 
 (
   SELECT val FROM T2 WHERE key = 6
 ) subq2 
-ON subq1.val = subq2.val
-ORDER BY subq1.val;
+ON subq1.val = subq2.val;
 
 -- Join followed by join
 EXPLAIN
@@ -140,8 +132,7 @@ FROM
   ON subq1.key = subq2.key
 ) T4
 JOIN T3
-ON T3.key = T4.key
-ORDER BY T3.key, T4.key;
+ON T3.key = T4.key;
 
 SELECT *
 FROM
@@ -158,8 +149,7 @@ FROM
   ON subq1.key = subq2.key
 ) T4
 JOIN T3
-ON T3.key = T4.key
-ORDER BY T3.key, T4.key;
+ON T3.key = T4.key;
 
 -- for partitioned table
 SELECT * FROM srcpart TABLESAMPLE (10 ROWS);

Modified: hive/trunk/ql/src/test/queries/clientpositive/columnarserde_create_shortcut.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/columnarserde_create_shortcut.q?rev=1598678&r1=1598677&r2=1598678&view=diff
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/columnarserde_create_shortcut.q (original)
+++ hive/trunk/ql/src/test/queries/clientpositive/columnarserde_create_shortcut.q Fri May 30 17:37:05 2014
@@ -1,3 +1,5 @@
+-- SORT_QUERY_RESULTS
+
 CREATE TABLE columnarserde_create_shortcut(a array<int>, b array<string>, c map<string,string>, d int, e string) STORED AS RCFILE;
 
 EXPLAIN
@@ -16,9 +18,9 @@ CREATE table columnShortcutTable (key ST
 FROM src
 INSERT OVERWRITE TABLE columnShortcutTable SELECT src.key, src.value LIMIT 10;
 describe columnShortcutTable;
-SELECT columnShortcutTable.* FROM columnShortcutTable ORDER BY key ASC, value ASC;
+SELECT * FROM columnShortcutTable;
 
 ALTER TABLE columnShortcutTable ADD COLUMNS (c string);
-SELECT columnShortcutTable.* FROM columnShortcutTable ORDER BY key ASC, value ASC;
+SELECT * FROM columnShortcutTable;
 ALTER TABLE columnShortcutTable REPLACE COLUMNS (key int);
-SELECT columnShortcutTable.* FROM columnShortcutTable ORDER BY key ASC;
+SELECT * FROM columnShortcutTable;

Modified: hive/trunk/ql/src/test/queries/clientpositive/combine1.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/combine1.q?rev=1598678&r1=1598677&r2=1598678&view=diff
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/combine1.q (original)
+++ hive/trunk/ql/src/test/queries/clientpositive/combine1.q Fri May 30 17:37:05 2014
@@ -7,11 +7,13 @@ set mapred.max.split.size=256;
 
 set mapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec;
 
+-- SORT_QUERY_RESULTS
+
 create table combine1_1(key string, value string) stored as textfile;
 
 insert overwrite table combine1_1
 select * from src;
 
 
-select key, value from combine1_1 ORDER BY key ASC, value ASC;
+select key, value from combine1_1;
 

Modified: hive/trunk/ql/src/test/queries/clientpositive/combine2.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/combine2.q?rev=1598678&r1=1598677&r2=1598678&view=diff
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/combine2.q (original)
+++ hive/trunk/ql/src/test/queries/clientpositive/combine2.q Fri May 30 17:37:05 2014
@@ -13,7 +13,7 @@ set hive.merge.smallfiles.avgsize=0;
 -- EXCLUDE_OS_WINDOWS
 -- excluded on windows because of difference in file name encoding logic
 
-
+-- SORT_QUERY_RESULTS
 
 create table combine2(key string) partitioned by (value string);
 
@@ -36,9 +36,9 @@ select * from (
 show partitions combine2;
 
 explain
-select key, value from combine2 where value is not null order by key;
+select key, value from combine2 where value is not null;
 
-select key, value from combine2 where value is not null order by key;
+select key, value from combine2 where value is not null;
 
 explain extended
 select count(1) from combine2 where value is not null;

Modified: hive/trunk/ql/src/test/queries/clientpositive/combine2_hadoop20.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/combine2_hadoop20.q?rev=1598678&r1=1598677&r2=1598678&view=diff
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/combine2_hadoop20.q (original)
+++ hive/trunk/ql/src/test/queries/clientpositive/combine2_hadoop20.q Fri May 30 17:37:05 2014
@@ -13,6 +13,7 @@ set hive.merge.smallfiles.avgsize=0;
 -- EXCLUDE_OS_WINDOWS
 -- excluded on windows because of difference in file name encoding logic
 
+-- SORT_QUERY_RESULTS
 
 create table combine2(key string) partitioned by (value string);
 
@@ -35,9 +36,9 @@ select * from (
 show partitions combine2;
 
 explain
-select key, value from combine2 where value is not null order by key;
+select key, value from combine2 where value is not null;
 
-select key, value from combine2 where value is not null order by key;
+select key, value from combine2 where value is not null;
 
 explain extended
 select count(1) from combine2 where value is not null;

Modified: hive/trunk/ql/src/test/queries/clientpositive/correlationoptimizer10.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/correlationoptimizer10.q?rev=1598678&r1=1598677&r2=1598678&view=diff
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/correlationoptimizer10.q (original)
+++ hive/trunk/ql/src/test/queries/clientpositive/correlationoptimizer10.q Fri May 30 17:37:05 2014
@@ -7,18 +7,21 @@ set hive.optimize.correlation=false;
 -- introduce a GroupByOperator before the ReduceSinkOperator of
 -- the right table (yy in queries below)
 -- of LEFT SEMI JOIN.
+
+-- SORT_AND_HASH_QUERY_RESULTS
+
 EXPLAIN
 SELECT xx.key, xx.cnt
 FROM
 (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx
 LEFT SEMI JOIN src yy
-ON xx.key=yy.key ORDER BY xx.key, xx.cnt;
+ON xx.key=yy.key;
 
 SELECT xx.key, xx.cnt
 FROM
 (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx
 LEFT SEMI JOIN src yy
-ON xx.key=yy.key ORDER BY xx.key, xx.cnt;
+ON xx.key=yy.key;
 
 set hive.optimize.correlation=true;
 EXPLAIN
@@ -26,13 +29,13 @@ SELECT xx.key, xx.cnt
 FROM
 (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx
 LEFT SEMI JOIN src yy
-ON xx.key=yy.key ORDER BY xx.key, xx.cnt;
+ON xx.key=yy.key;
 
 SELECT xx.key, xx.cnt
 FROM
 (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx
 LEFT SEMI JOIN src yy
-ON xx.key=yy.key ORDER BY xx.key, xx.cnt;
+ON xx.key=yy.key;
 
 set hive.optimize.correlation=false;
 -- When Correlation Optimizer is turned off, 4 MR jobs are needed.
@@ -46,85 +49,85 @@ EXPLAIN
 SELECT xx.key, xx.value
 FROM
 src1 xx
-LEFT SEMI JOIN 
-(SELECT x.key as key 
+LEFT SEMI JOIN
+(SELECT x.key as key
  FROM src x JOIN src y ON (x.key = y.key)
  WHERE x.key < 200 AND
        y.key > 20) yy
-ON xx.key=yy.key ORDER BY xx.key, xx.value;
+ON xx.key=yy.key;
 
 SELECT xx.key, xx.value
 FROM
 src1 xx
-LEFT SEMI JOIN 
-(SELECT x.key as key 
+LEFT SEMI JOIN
+(SELECT x.key as key
  FROM src x JOIN src y ON (x.key = y.key)
  WHERE x.key < 200 AND
        y.key > 20) yy
-ON xx.key=yy.key ORDER BY xx.key, xx.value;
+ON xx.key=yy.key;
 
 set hive.optimize.correlation=true;
 EXPLAIN
 SELECT xx.key, xx.value
 FROM
 src1 xx
-LEFT SEMI JOIN 
-(SELECT x.key as key 
+LEFT SEMI JOIN
+(SELECT x.key as key
  FROM src x JOIN src y ON (x.key = y.key)
  WHERE x.key < 200 AND
        y.key > 20) yy
-ON xx.key=yy.key ORDER BY xx.key, xx.value;
+ON xx.key=yy.key;
 
 SELECT xx.key, xx.value
 FROM
 src1 xx
-LEFT SEMI JOIN 
-(SELECT x.key as key 
+LEFT SEMI JOIN
+(SELECT x.key as key
  FROM src x JOIN src y ON (x.key = y.key)
  WHERE x.key < 200 AND
        y.key > 20) yy
-ON xx.key=yy.key ORDER BY xx.key, xx.value;
+ON xx.key=yy.key;
 
 set hive.optimize.correlation=false;
 -- When Correlation Optimizer is turned off, 4 MR jobs are needed.
 -- When Correlation Optimizer is turned on, 2 MR jobs are needed.
--- This test is used to test if we can use shared scan for 
+-- This test is used to test if we can use shared scan for
 -- xx, yy:x, and yy:y.
 EXPLAIN
 SELECT xx.key, xx.value
 FROM
 src xx
-LEFT SEMI JOIN 
-(SELECT x.key as key 
+LEFT SEMI JOIN
+(SELECT x.key as key
  FROM src x JOIN src y ON (x.key = y.key)
  WHERE x.key < 200 AND x.key > 180) yy
-ON xx.key=yy.key ORDER BY xx.key, xx.value;
+ON xx.key=yy.key;
 
 SELECT xx.key, xx.value
 FROM
 src xx
-LEFT SEMI JOIN 
-(SELECT x.key as key 
+LEFT SEMI JOIN
+(SELECT x.key as key
  FROM src x JOIN src y ON (x.key = y.key)
  WHERE x.key < 200 AND x.key > 180) yy
-ON xx.key=yy.key ORDER BY xx.key, xx.value;
+ON xx.key=yy.key;
 
 set hive.optimize.correlation=true;
 EXPLAIN
 SELECT xx.key, xx.value
 FROM
 src xx
-LEFT SEMI JOIN 
-(SELECT x.key as key 
+LEFT SEMI JOIN
+(SELECT x.key as key
  FROM src x JOIN src y ON (x.key = y.key)
  WHERE x.key < 200 AND x.key > 180) yy
-ON xx.key=yy.key ORDER BY xx.key, xx.value;
+ON xx.key=yy.key;
 
 SELECT xx.key, xx.value
 FROM
 src xx
-LEFT SEMI JOIN 
-(SELECT x.key as key 
+LEFT SEMI JOIN
+(SELECT x.key as key
  FROM src x JOIN src y ON (x.key = y.key)
  WHERE x.key < 200 AND x.key > 180) yy
-ON xx.key=yy.key ORDER BY xx.key, xx.value;
+ON xx.key=yy.key;

Modified: hive/trunk/ql/src/test/queries/clientpositive/correlationoptimizer15.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/correlationoptimizer15.q?rev=1598678&r1=1598677&r2=1598678&view=diff
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/correlationoptimizer15.q (original)
+++ hive/trunk/ql/src/test/queries/clientpositive/correlationoptimizer15.q Fri May 30 17:37:05 2014
@@ -1,5 +1,8 @@
 set hive.auto.convert.join=false;
 set hive.optimize.correlation=false;
+
+-- SORT_QUERY_RESULTS
+
 -- When Correlation Optimizer is turned off, 4 MR jobs are needed.
 -- When Correlation Optimizer is turned on, 2 MR jobs are needed.
 -- The first job will evaluate subquery xx and xx join yy.
@@ -14,7 +17,7 @@ SELECT xx.key, xx.cnt, yy.key
 FROM
 (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx
 JOIN src yy
-ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key;
+ON xx.key=yy.key;
 
 set hive.optimize.correlation=true;
 set hive.join.emit.interval=1;
@@ -23,10 +26,10 @@ SELECT xx.key, xx.cnt, yy.key
 FROM
 (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx
 JOIN src yy
-ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key;
+ON xx.key=yy.key;
 
 SELECT xx.key, xx.cnt, yy.key
 FROM
 (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx
 JOIN src yy
-ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key;
+ON xx.key=yy.key;