Author: gunther
Date: Mon Jul 28 23:20:54 2014
New Revision: 1614214
URL: http://svn.apache.org/r1614214
Log:
Merge latest trunk into cbo branch (Gunther Hagleitner)
Added:
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/io/AvroStorageFormatDescriptor.java
- copied unchanged from r1614211,
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/io/AvroStorageFormatDescriptor.java
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConstantPropagate.java
- copied unchanged from r1614211,
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConstantPropagate.java
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConstantPropagateProcCtx.java
- copied unchanged from r1614211,
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConstantPropagateProcCtx.java
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConstantPropagateProcFactory.java
- copied unchanged from r1614211,
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConstantPropagateProcFactory.java
hive/branches/cbo/ql/src/test/queries/clientpositive/avro_compression_enabled_native.q
- copied unchanged from r1614211,
hive/trunk/ql/src/test/queries/clientpositive/avro_compression_enabled_native.q
hive/branches/cbo/ql/src/test/queries/clientpositive/avro_decimal_native.q
- copied unchanged from r1614211,
hive/trunk/ql/src/test/queries/clientpositive/avro_decimal_native.q
hive/branches/cbo/ql/src/test/queries/clientpositive/avro_joins_native.q
- copied unchanged from r1614211,
hive/trunk/ql/src/test/queries/clientpositive/avro_joins_native.q
hive/branches/cbo/ql/src/test/queries/clientpositive/avro_native.q
- copied unchanged from r1614211,
hive/trunk/ql/src/test/queries/clientpositive/avro_native.q
hive/branches/cbo/ql/src/test/queries/clientpositive/avro_partitioned_native.q
- copied unchanged from r1614211,
hive/trunk/ql/src/test/queries/clientpositive/avro_partitioned_native.q
hive/branches/cbo/ql/src/test/queries/clientpositive/avro_schema_evolution_native.q
- copied unchanged from r1614211,
hive/trunk/ql/src/test/queries/clientpositive/avro_schema_evolution_native.q
hive/branches/cbo/ql/src/test/queries/clientpositive/constprog1.q
- copied unchanged from r1614211,
hive/trunk/ql/src/test/queries/clientpositive/constprog1.q
hive/branches/cbo/ql/src/test/queries/clientpositive/constprog2.q
- copied unchanged from r1614211,
hive/trunk/ql/src/test/queries/clientpositive/constprog2.q
hive/branches/cbo/ql/src/test/queries/clientpositive/constprog_dp.q
- copied unchanged from r1614211,
hive/trunk/ql/src/test/queries/clientpositive/constprog_dp.q
hive/branches/cbo/ql/src/test/queries/clientpositive/constprog_type.q
- copied unchanged from r1614211,
hive/trunk/ql/src/test/queries/clientpositive/constprog_type.q
hive/branches/cbo/ql/src/test/results/clientpositive/avro_compression_enabled_native.q.out
- copied unchanged from r1614211,
hive/trunk/ql/src/test/results/clientpositive/avro_compression_enabled_native.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/avro_decimal_native.q.out
- copied unchanged from r1614211,
hive/trunk/ql/src/test/results/clientpositive/avro_decimal_native.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/avro_joins_native.q.out
- copied unchanged from r1614211,
hive/trunk/ql/src/test/results/clientpositive/avro_joins_native.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/avro_native.q.out
- copied unchanged from r1614211,
hive/trunk/ql/src/test/results/clientpositive/avro_native.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/avro_partitioned_native.q.out
- copied unchanged from r1614211,
hive/trunk/ql/src/test/results/clientpositive/avro_partitioned_native.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/avro_schema_evolution_native.q.out
- copied unchanged from r1614211,
hive/trunk/ql/src/test/results/clientpositive/avro_schema_evolution_native.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/constprog1.q.out
- copied unchanged from r1614211,
hive/trunk/ql/src/test/results/clientpositive/constprog1.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/constprog2.q.out
- copied unchanged from r1614211,
hive/trunk/ql/src/test/results/clientpositive/constprog2.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/constprog_dp.q.out
- copied unchanged from r1614211,
hive/trunk/ql/src/test/results/clientpositive/constprog_dp.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/constprog_type.q.out
- copied unchanged from r1614211,
hive/trunk/ql/src/test/results/clientpositive/constprog_type.q.out
hive/branches/cbo/serde/src/java/org/apache/hadoop/hive/serde2/avro/TypeInfoToSchema.java
- copied unchanged from r1614211,
hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/avro/TypeInfoToSchema.java
hive/branches/cbo/serde/src/test/org/apache/hadoop/hive/serde2/avro/TestTypeInfoToSchema.java
- copied unchanged from r1614211,
hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/avro/TestTypeInfoToSchema.java
hive/branches/cbo/serde/src/test/resources/
- copied from r1614211, hive/trunk/serde/src/test/resources/
Modified:
hive/branches/cbo/ (props changed)
hive/branches/cbo/.gitignore
hive/branches/cbo/common/pom.xml
hive/branches/cbo/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
hive/branches/cbo/conf/hive-default.xml.template
hive/branches/cbo/contrib/src/test/results/clientpositive/udf_example_add.q.out
hive/branches/cbo/contrib/src/test/results/clientpositive/udf_example_format.q.out
hive/branches/cbo/hbase-handler/src/test/results/positive/hbase_ppd_key_range.q.out
hive/branches/cbo/hbase-handler/src/test/results/positive/hbase_pushdown.q.out
hive/branches/cbo/hbase-handler/src/test/results/positive/ppd_key_ranges.q.out
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/exec/ColumnInfo.java
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/exec/ExprNodeEvaluator.java
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/exec/MapJoinOperator.java
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/exec/ReduceSinkOperator.java
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/exec/SelectOperator.java
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezProcessor.java
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorizationContext.java
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/ConstantVectorExpression.java
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/io/IOConstants.java
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/io/parquet/read/ParquetRecordReaderWrapper.java
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/lockmgr/HiveLockObject.java
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/lockmgr/zookeeper/ZooKeeperHiveLockManager.java
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ColumnPrunerProcFactory.java
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/optimizer/Optimizer.java
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/optimizer/SortedMergeJoinProc.java
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeConstantDesc.java
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/ppd/PredicatePushDown.java
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/HivePrivilegeObject.java
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/stats/StatsUtils.java
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/UDFCurrentDB.java
hive/branches/cbo/ql/src/main/resources/META-INF/services/org.apache.hadoop.hive.ql.io.StorageFormatDescriptor
hive/branches/cbo/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestConstantVectorExpression.java
hive/branches/cbo/ql/src/test/org/apache/hadoop/hive/ql/io/TestStorageFormatDescriptor.java
hive/branches/cbo/ql/src/test/queries/clientpositive/authorization_9.q
hive/branches/cbo/ql/src/test/queries/clientpositive/smb_mapjoin_18.q
hive/branches/cbo/ql/src/test/queries/clientpositive/subquery_views.q
hive/branches/cbo/ql/src/test/queries/clientpositive/union27.q
hive/branches/cbo/ql/src/test/results/clientnegative/cluster_tasklog_retrieval.q.out
hive/branches/cbo/ql/src/test/results/clientnegative/insert_into1.q.out
hive/branches/cbo/ql/src/test/results/clientnegative/insert_into2.q.out
hive/branches/cbo/ql/src/test/results/clientnegative/insert_into3.q.out
hive/branches/cbo/ql/src/test/results/clientnegative/insert_into4.q.out
hive/branches/cbo/ql/src/test/results/clientnegative/lockneg1.q.out
hive/branches/cbo/ql/src/test/results/clientnegative/lockneg_try_db_lock_conflict.q.out
hive/branches/cbo/ql/src/test/results/clientnegative/lockneg_try_drop_locked_db.q.out
hive/branches/cbo/ql/src/test/results/clientnegative/lockneg_try_lock_db_in_use.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/annotate_stats_filter.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/annotate_stats_part.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/annotate_stats_select.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/authorization_9.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/auto_join14_hadoop20.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/cast1.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/cluster.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/column_access_stats.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/combine2_hadoop20.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/create_view.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/cross_product_check_1.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/cross_product_check_2.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/cte_1.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/explain_logical.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/groupby_ppd.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/groupby_sort_1.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/groupby_sort_1_23.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/groupby_sort_skew_1.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/groupby_sort_skew_1_23.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/index_auto_empty.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/index_auto_file_format.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/index_auto_multiple.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/index_auto_partitioned.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/index_auto_update.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/index_bitmap_auto_partitioned.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/index_stale.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/index_stale_partitioned.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/infer_const_type.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/input18.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/input23.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/input26.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/input38.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/input39_hadoop20.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/input6.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/input_part2.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/input_part4.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/input_part6.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/insert1.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/join14_hadoop20.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/join38.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/join_cond_pushdown_1.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/join_cond_pushdown_3.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/join_cond_pushdown_unqual1.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/join_cond_pushdown_unqual3.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/join_view.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/lateral_view_ppd.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/list_bucket_dml_1.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/list_bucket_dml_11.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/list_bucket_dml_12.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/list_bucket_dml_13.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/list_bucket_dml_14.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/list_bucket_dml_2.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/list_bucket_dml_3.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/list_bucket_dml_4.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/list_bucket_dml_5.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/list_bucket_dml_6.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/list_bucket_dml_7.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/list_bucket_dml_8.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/list_bucket_dml_9.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/list_bucket_query_multiskew_1.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/list_bucket_query_multiskew_2.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/list_bucket_query_multiskew_3.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/list_bucket_query_oneskew_1.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/list_bucket_query_oneskew_2.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/literal_double.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/macro.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/mapjoin1.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/multi_insert.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/multi_insert_move_tasks_share_dependencies.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/nullgroup4.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/nullgroup4_multi_distinct.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/num_op_type_conv.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/orc_predicate_pushdown.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/pcr.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/ppd2.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/ppd_clusterby.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/ppd_constant_where.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/ppd_join4.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/ppd_outer_join5.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/ppd_repeated_alias.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/ppd_udf_case.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/ppd_udf_col.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/ppd_union_view.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/query_result_fileformat.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/quotedid_basic.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/quotedid_partition.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/regex_col.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/regexp_extract.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/sample8.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/select_dummy_source.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/select_unquote_and.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/select_unquote_not.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/select_unquote_or.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/set_processor_namespaces.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/set_variable_sub.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/smb_mapjoin_18.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/smb_mapjoin_25.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/stats_empty_dyn_part.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/subq_where_serialization.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/subquery_exists.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/subquery_exists_having.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/subquery_in.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/subquery_in_having.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/subquery_multiinsert.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/subquery_notexists.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/subquery_notexists_having.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/subquery_notin.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/subquery_notin_having.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/subquery_unqualcolumnrefs.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/subquery_views.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/tez/cross_product_check_1.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/tez/cross_product_check_2.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/tez/insert1.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/tez/subquery_exists.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/tez/subquery_in.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/tez/transform_ppr1.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/transform_ppr1.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/truncate_column_list_bucket.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/type_cast_1.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/type_widening.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/udf1.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/udf4.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/udf5.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/udf6.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/udf7.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/udf9.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/udf_10_trims.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/udf_E.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/udf_PI.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/udf_abs.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/udf_ascii.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/udf_between.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/udf_case.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/udf_coalesce.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/udf_current_database.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/udf_degrees.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/udf_elt.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/udf_format_number.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/udf_hash.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/udf_hour.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/udf_if.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/udf_instr.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/udf_isnull_isnotnull.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/udf_like.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/udf_locate.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/udf_lower.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/udf_lpad.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/udf_minute.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/udf_nvl.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/udf_parse_url.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/udf_printf.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/udf_radians.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/udf_reflect2.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/udf_repeat.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/udf_rpad.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/udf_second.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/udf_sign.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/udf_space.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/udf_when.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/union20.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/union27.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/union33.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/union_remove_19.q.out
hive/branches/cbo/ql/src/test/results/clientpositive/union_view.q.out
hive/branches/cbo/ql/src/test/results/compiler/plan/cast1.q.xml
hive/branches/cbo/ql/src/test/results/compiler/plan/input6.q.xml
hive/branches/cbo/ql/src/test/results/compiler/plan/join8.q.xml
hive/branches/cbo/ql/src/test/results/compiler/plan/udf1.q.xml
hive/branches/cbo/ql/src/test/results/compiler/plan/udf4.q.xml
hive/branches/cbo/ql/src/test/results/compiler/plan/udf6.q.xml
hive/branches/cbo/ql/src/test/results/compiler/plan/udf_case.q.xml
hive/branches/cbo/ql/src/test/results/compiler/plan/udf_when.q.xml
hive/branches/cbo/serde/src/java/org/apache/hadoop/hive/serde2/avro/AvroDeserializer.java
hive/branches/cbo/serde/src/java/org/apache/hadoop/hive/serde2/avro/AvroSerDe.java
hive/branches/cbo/serde/src/java/org/apache/hadoop/hive/serde2/avro/AvroSerdeUtils.java
hive/branches/cbo/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableHiveDecimalObjectInspector.java
Propchange: hive/branches/cbo/
------------------------------------------------------------------------------
Merged /hive/trunk:r1613335-1614211
Modified: hive/branches/cbo/.gitignore
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/.gitignore?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
--- hive/branches/cbo/.gitignore (original)
+++ hive/branches/cbo/.gitignore Mon Jul 28 23:20:54 2014
@@ -25,3 +25,4 @@ hcatalog/core/target
hcatalog/webhcat/java-client/target
hcatalog/storage-handlers/hbase/target
hcatalog/webhcat/svr/target
+conf/hive-default.xml.template
Modified: hive/branches/cbo/common/pom.xml
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/common/pom.xml?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
--- hive/branches/cbo/common/pom.xml (original)
+++ hive/branches/cbo/common/pom.xml Mon Jul 28 23:20:54 2014
@@ -108,6 +108,35 @@
</dependency>
</dependencies>
</profile>
+
+ <profile>
+ <id>dist</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>generate-template</id>
+ <phase>package</phase>
+ <configuration>
+ <target>
+ <property name="compile.classpath"
refid="maven.runtime.classpath"/>
+ <taskdef name="templategen"
classname="org.apache.hadoop.hive.ant.GenHiveTemplate"
+ classpath="${compile.classpath}"/>
+ <templategen
templateFile="${basedir}/../conf/hive-default.xml.template"/>
+ </target>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
</profiles>
<build>
@@ -149,21 +178,6 @@
<goal>run</goal>
</goals>
</execution>
- <execution>
- <id>generate-template</id>
- <phase>package</phase>
- <configuration>
- <target>
- <property name="compile.classpath"
refid="maven.runtime.classpath"/>
- <taskdef name="templategen"
classname="org.apache.hadoop.hive.ant.GenHiveTemplate"
- classpath="${compile.classpath}"/>
- <templategen
templateFile="${basedir}/../conf/hive-default.xml.template"/>
- </target>
- </configuration>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
</executions>
</plugin>
<plugin>
Modified:
hive/branches/cbo/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
--- hive/branches/cbo/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
(original)
+++ hive/branches/cbo/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
Mon Jul 28 23:20:54 2014
@@ -989,6 +989,8 @@ public class HiveConf extends Configurat
"Whether to transitively replicate predicate filters over equijoin
conditions."),
HIVEPPDREMOVEDUPLICATEFILTERS("hive.ppd.remove.duplicatefilters", true,
"Whether to push predicates down into storage handlers. Ignored when
hive.optimize.ppd is false."),
+ // Constant propagation optimizer
+ HIVEOPTCONSTANTPROPAGATION("hive.optimize.constant.propagation", true,
"Whether to enable constant propagation optimizer"),
HIVEMETADATAONLYQUERIES("hive.optimize.metadataonly", true, ""),
HIVENULLSCANOPTIMIZE("hive.optimize.null.scan", true, "Dont scan relations
which are guaranteed to not generate any rows"),
HIVEOPTPPD_STORAGE("hive.optimize.ppd.storage", true,
@@ -2256,7 +2258,6 @@ public class HiveConf extends Configurat
return hiveServer2SiteUrl;
}
-
/**
* @return the user name set in hadoop.job.ugi param or the current user
from System
* @throws IOException
Modified: hive/branches/cbo/conf/hive-default.xml.template
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/conf/hive-default.xml.template?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
--- hive/branches/cbo/conf/hive-default.xml.template (original)
+++ hive/branches/cbo/conf/hive-default.xml.template Mon Jul 28 23:20:54 2014
@@ -1726,6 +1726,11 @@
<description>Whether to push predicates down into storage handlers.
Ignored when hive.optimize.ppd is false.</description>
</property>
<property>
+ <key>hive.optimize.constant.propagation</key>
+ <value>true</value>
+ <description>Whether to enable constant propagation optimizer</description>
+ </property>
+ <property>
<key>hive.optimize.metadataonly</key>
<value>true</value>
<description/>
Modified:
hive/branches/cbo/contrib/src/test/results/clientpositive/udf_example_add.q.out
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/contrib/src/test/results/clientpositive/udf_example_add.q.out?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
---
hive/branches/cbo/contrib/src/test/results/clientpositive/udf_example_add.q.out
(original)
+++
hive/branches/cbo/contrib/src/test/results/clientpositive/udf_example_add.q.out
Mon Jul 28 23:20:54 2014
@@ -36,7 +36,7 @@ STAGE PLANS:
alias: src
Statistics: Num rows: 0 Data size: 5812 Basic stats: PARTIAL
Column stats: COMPLETE
Select Operator
- expressions: example_add(1, 2) (type: int), example_add(1, 2, 3)
(type: int), example_add(1, 2, 3, 4) (type: int), example_add(1.1, 2.2) (type:
double), example_add(1.1, 2.2, 3.3) (type: double), example_add(1.1, 2.2, 3.3,
4.4) (type: double), example_add(1, 2, 3, 4.4) (type: double)
+ expressions: 3 (type: int), 6 (type: int), 10 (type: int),
3.3000000000000003 (type: double), 6.6 (type: double), 11.0 (type: double),
10.4 (type: double)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5,
_col6
Statistics: Num rows: 0 Data size: 5812 Basic stats: PARTIAL
Column stats: COMPLETE
Limit
Modified:
hive/branches/cbo/contrib/src/test/results/clientpositive/udf_example_format.q.out
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/contrib/src/test/results/clientpositive/udf_example_format.q.out?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
---
hive/branches/cbo/contrib/src/test/results/clientpositive/udf_example_format.q.out
(original)
+++
hive/branches/cbo/contrib/src/test/results/clientpositive/udf_example_format.q.out
Mon Jul 28 23:20:54 2014
@@ -30,7 +30,7 @@ STAGE PLANS:
alias: src
Statistics: Num rows: 0 Data size: 5812 Basic stats: PARTIAL
Column stats: COMPLETE
Select Operator
- expressions: example_format('abc') (type: string),
example_format('%1$s', 1.1) (type: string), example_format('%1$s %2$e', 1.1,
1.2) (type: string), example_format('%1$x %2$o %3$d', 10, 10, 10) (type: string)
+ expressions: 'abc' (type: string), '1.1' (type: string), '1.1
1.200000e+00' (type: string), 'a 12 10' (type: string)
outputColumnNames: _col0, _col1, _col2, _col3
Statistics: Num rows: 0 Data size: 5812 Basic stats: PARTIAL
Column stats: COMPLETE
Limit
Modified:
hive/branches/cbo/hbase-handler/src/test/results/positive/hbase_ppd_key_range.q.out
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/hbase-handler/src/test/results/positive/hbase_ppd_key_range.q.out?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
---
hive/branches/cbo/hbase-handler/src/test/results/positive/hbase_ppd_key_range.q.out
(original)
+++
hive/branches/cbo/hbase-handler/src/test/results/positive/hbase_ppd_key_range.q.out
Mon Jul 28 23:20:54 2014
@@ -193,10 +193,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: hbase_pushdown
- filterExpr: (key >= UDFToString((40 + 50))) (type: boolean)
+ filterExpr: (key >= '90') (type: boolean)
Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column
stats: NONE
Filter Operator
- predicate: (key >= UDFToString((40 + 50))) (type: boolean)
+ predicate: (key >= '90') (type: boolean)
Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column
stats: NONE
Select Operator
expressions: key (type: string), value (type: string)
Modified:
hive/branches/cbo/hbase-handler/src/test/results/positive/hbase_pushdown.q.out
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/hbase-handler/src/test/results/positive/hbase_pushdown.q.out?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
---
hive/branches/cbo/hbase-handler/src/test/results/positive/hbase_pushdown.q.out
(original)
+++
hive/branches/cbo/hbase-handler/src/test/results/positive/hbase_pushdown.q.out
Mon Jul 28 23:20:54 2014
@@ -43,7 +43,7 @@ STAGE PLANS:
predicate: (key = 90) (type: boolean)
Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column
stats: NONE
Select Operator
- expressions: key (type: int), value (type: string)
+ expressions: 90 (type: int), value (type: string)
outputColumnNames: _col0, _col1
Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column
stats: NONE
File Output Operator
@@ -235,7 +235,7 @@ STAGE PLANS:
predicate: (((key = 80) and (key = 90)) and (value like '%90%'))
(type: boolean)
Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column
stats: NONE
Select Operator
- expressions: key (type: int), value (type: string)
+ expressions: 90 (type: int), value (type: string)
outputColumnNames: _col0, _col1
Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column
stats: NONE
File Output Operator
@@ -398,7 +398,7 @@ STAGE PLANS:
predicate: (key = 90) (type: boolean)
Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column
stats: NONE
Select Operator
- expressions: key (type: int), value (type: string)
+ expressions: 90 (type: int), value (type: string)
outputColumnNames: _col0, _col1
Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column
stats: NONE
File Output Operator
Modified:
hive/branches/cbo/hbase-handler/src/test/results/positive/ppd_key_ranges.q.out
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/hbase-handler/src/test/results/positive/ppd_key_ranges.q.out?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
---
hive/branches/cbo/hbase-handler/src/test/results/positive/ppd_key_ranges.q.out
(original)
+++
hive/branches/cbo/hbase-handler/src/test/results/positive/ppd_key_ranges.q.out
Mon Jul 28 23:20:54 2014
@@ -191,7 +191,7 @@ STAGE PLANS:
predicate: (((key >= 9) and (key < 17)) and (key = 11)) (type:
boolean)
Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column
stats: NONE
Select Operator
- expressions: key (type: int), value (type: string)
+ expressions: 11 (type: int), value (type: string)
outputColumnNames: _col0, _col1
Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column
stats: NONE
File Output Operator
Modified:
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/exec/ColumnInfo.java
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/exec/ColumnInfo.java?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
---
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/exec/ColumnInfo.java
(original)
+++
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/exec/ColumnInfo.java
Mon Jul 28 23:20:54 2014
@@ -220,4 +220,8 @@ public class ColumnInfo implements Seria
return true;
}
+
+ public void setObjectinspector(ObjectInspector writableObjectInspector) {
+ this.objectInspector = writableObjectInspector;
+ }
}
Modified:
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/exec/ExprNodeEvaluator.java
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/exec/ExprNodeEvaluator.java?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
---
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/exec/ExprNodeEvaluator.java
(original)
+++
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/exec/ExprNodeEvaluator.java
Mon Jul 28 23:20:54 2014
@@ -104,4 +104,9 @@ public abstract class ExprNodeEvaluator<
public ExprNodeEvaluator[] getChildren() {
return null;
}
+
+ @Override
+ public String toString() {
+ return "ExprNodeEvaluator[" + expr + "]";
+ }
}
Modified:
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/exec/MapJoinOperator.java
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/exec/MapJoinOperator.java?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
---
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/exec/MapJoinOperator.java
(original)
+++
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/exec/MapJoinOperator.java
Mon Jul 28 23:20:54 2014
@@ -131,7 +131,7 @@ public class MapJoinOperator extends Abs
int bigPos = conf.getPosBigTable();
List<ObjectInspector> valueOI = new ArrayList<ObjectInspector>();
for (int i = 0; i < valueIndex.length; i++) {
- if (valueIndex[i] >= 0) {
+ if (valueIndex[i] >= 0 && !joinKeysObjectInspectors[bigPos].isEmpty()) {
valueOI.add(joinKeysObjectInspectors[bigPos].get(valueIndex[i]));
} else {
valueOI.add(inspectors.get(i));
Modified:
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/exec/ReduceSinkOperator.java
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/exec/ReduceSinkOperator.java?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
---
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/exec/ReduceSinkOperator.java
(original)
+++
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/exec/ReduceSinkOperator.java
Mon Jul 28 23:20:54 2014
@@ -272,6 +272,7 @@ public class ReduceSinkOperator extends
// TODO: this is fishy - we init object inspectors based on first tag.
We
// should either init for each tag, or if rowInspector doesn't
really
// matter, then we can create this in ctor and get rid of
firstRow.
+ LOG.info("keys are " + conf.getOutputKeyColumnNames() + " num
distributions: " + conf.getNumDistributionKeys());
keyObjectInspector = initEvaluatorsAndReturnStruct(keyEval,
distinctColIndices,
conf.getOutputKeyColumnNames(), numDistributionKeys, rowInspector);
Modified:
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/exec/SelectOperator.java
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/exec/SelectOperator.java?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
---
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/exec/SelectOperator.java
(original)
+++
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/exec/SelectOperator.java
Mon Jul 28 23:20:54 2014
@@ -32,8 +32,7 @@ import org.apache.hadoop.hive.serde2.obj
/**
* Select operator implementation.
*/
-public class SelectOperator extends Operator<SelectDesc> implements
- Serializable {
+public class SelectOperator extends Operator<SelectDesc> implements
Serializable {
private static final long serialVersionUID = 1L;
protected transient ExprNodeEvaluator[] eval;
@@ -60,10 +59,9 @@ public class SelectOperator extends Oper
}
}
output = new Object[eval.length];
- LOG.info("SELECT "
- + ((StructObjectInspector) inputObjInspectors[0]).getTypeName());
- outputObjInspector = initEvaluatorsAndReturnStruct(eval, conf
- .getOutputColumnNames(), inputObjInspectors[0]);
+ LOG.info("SELECT " + ((StructObjectInspector)
inputObjInspectors[0]).getTypeName());
+ outputObjInspector = initEvaluatorsAndReturnStruct(eval,
conf.getOutputColumnNames(),
+ inputObjInspectors[0]);
initializeChildren(hconf);
}
@@ -81,8 +79,7 @@ public class SelectOperator extends Oper
} catch (HiveException e) {
throw e;
} catch (RuntimeException e) {
- throw new HiveException("Error evaluating "
- + conf.getColList().get(i).getExprString(), e);
+ throw new HiveException("Error evaluating " +
conf.getColList().get(i).getExprString(), e);
}
forward(output, outputObjInspector);
}
Modified:
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezProcessor.java
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezProcessor.java?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
---
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezProcessor.java
(original)
+++
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezProcessor.java
Mon Jul 28 23:20:54 2014
@@ -16,9 +16,9 @@
* limitations under the License.
*/
package org.apache.hadoop.hive.ql.exec.tez;
+
import java.io.IOException;
import java.text.NumberFormat;
-import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
@@ -101,7 +101,7 @@ public class TezProcessor implements Log
private void setupMRLegacyConfigs(TezProcessorContext processorContext) {
// Hive "insert overwrite local directory" uses task id as dir name
// Setting the id in jobconf helps to have the similar dir name as MR
- StringBuilder taskAttemptIdBuilder = new StringBuilder("task");
+ StringBuilder taskAttemptIdBuilder = new StringBuilder("attempt_");
taskAttemptIdBuilder.append(processorContext.getApplicationId().getClusterTimestamp())
.append("_")
.append(jobIdFormat.format(processorContext.getApplicationId().getId()))
Modified:
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorizationContext.java
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorizationContext.java?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
---
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorizationContext.java
(original)
+++
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorizationContext.java
Mon Jul 28 23:20:54 2014
@@ -717,13 +717,15 @@ public class VectorizationContext {
private VectorExpression getConstantVectorExpression(Object constantValue,
TypeInfo typeInfo,
Mode mode) throws HiveException {
- String type = typeInfo.getTypeName();
+ String type = typeInfo.getTypeName();
String colVectorType = getNormalizedTypeName(type);
int outCol = -1;
if (mode == Mode.PROJECTION) {
outCol = ocm.allocateOutputColumn(colVectorType);
}
- if (decimalTypePattern.matcher(type).matches()) {
+ if (constantValue == null) {
+ return new ConstantVectorExpression(outCol, type, true);
+ } else if (decimalTypePattern.matcher(type).matches()) {
VectorExpression ve = new ConstantVectorExpression(outCol, (Decimal128)
constantValue);
ve.setOutputType(typeInfo.getTypeName());
return ve;
Modified:
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/ConstantVectorExpression.java
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/ConstantVectorExpression.java?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
---
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/ConstantVectorExpression.java
(original)
+++
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/ConstantVectorExpression.java
Mon Jul 28 23:20:54 2014
@@ -41,6 +41,7 @@ public class ConstantVectorExpression ex
private double doubleValue = 0;
private byte[] bytesValue = null;
private Decimal128 decimalValue = null;
+ private boolean isNullValue = false;
private Type type;
private int bytesValueLength = 0;
@@ -74,34 +75,58 @@ public class ConstantVectorExpression ex
this(outputColumn, "decimal");
setDecimalValue(value);
}
-
+
+ /*
+ * Support for null constant object
+ */
+ public ConstantVectorExpression(int outputColumn, String typeString, boolean
isNull) {
+ this(outputColumn, typeString);
+ isNullValue = isNull;
+ }
+
private void evaluateLong(VectorizedRowBatch vrg) {
LongColumnVector cv = (LongColumnVector) vrg.cols[outputColumn];
cv.isRepeating = true;
- cv.noNulls = true;
- cv.vector[0] = longValue;
+ cv.noNulls = !isNullValue;
+ if (!isNullValue) {
+ cv.vector[0] = longValue;
+ } else {
+ cv.isNull[0] = true;
+ }
}
private void evaluateDouble(VectorizedRowBatch vrg) {
DoubleColumnVector cv = (DoubleColumnVector) vrg.cols[outputColumn];
cv.isRepeating = true;
- cv.noNulls = true;
- cv.vector[0] = doubleValue;
+ cv.noNulls = !isNullValue;
+ if (!isNullValue) {
+ cv.vector[0] = doubleValue;
+ } else {
+ cv.isNull[0] = true;
+ }
}
private void evaluateBytes(VectorizedRowBatch vrg) {
BytesColumnVector cv = (BytesColumnVector) vrg.cols[outputColumn];
cv.isRepeating = true;
- cv.noNulls = true;
+ cv.noNulls = !isNullValue;
cv.initBuffer();
- cv.setVal(0, bytesValue, 0, bytesValueLength);
+ if (!isNullValue) {
+ cv.setVal(0, bytesValue, 0, bytesValueLength);
+ } else {
+ cv.isNull[0] = true;
+ }
}
private void evaluateDecimal(VectorizedRowBatch vrg) {
DecimalColumnVector dcv = (DecimalColumnVector) vrg.cols[outputColumn];
dcv.isRepeating = true;
- dcv.noNulls = true;
- dcv.vector[0].update(decimalValue);
+ dcv.noNulls = !isNullValue;
+ if (!isNullValue) {
+ dcv.vector[0].update(decimalValue);
+ } else {
+ dcv.isNull[0] = true;
+ }
}
@Override
Modified:
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/io/IOConstants.java
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/io/IOConstants.java?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/io/IOConstants.java
(original)
+++ hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/io/IOConstants.java
Mon Jul 28 23:20:54 2014
@@ -33,6 +33,8 @@ public final class IOConstants {
public static final String ORCFILE = "ORCFILE";
public static final String PARQUET = "PARQUET";
public static final String PARQUETFILE = "PARQUETFILE";
+ public static final String AVRO = "AVRO";
+ public static final String AVROFILE = "AVROFILE";
@VisibleForTesting
public static final String CUSTOM_TEXT_SERDE = "CustomTextSerde";
Modified:
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/io/parquet/read/ParquetRecordReaderWrapper.java
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/io/parquet/read/ParquetRecordReaderWrapper.java?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
---
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/io/parquet/read/ParquetRecordReaderWrapper.java
(original)
+++
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/io/parquet/read/ParquetRecordReaderWrapper.java
Mon Jul 28 23:20:54 2014
@@ -104,9 +104,9 @@ public class ParquetRecordReaderWrapper
} else {
realReader = null;
eof = true;
- if (valueObj == null) { // Should initialize the value for createValue
- valueObj = new ArrayWritable(Writable.class, new Writable[schemaSize]);
- }
+ }
+ if (valueObj == null) { // Should initialize the value for createValue
+ valueObj = new ArrayWritable(Writable.class, new Writable[schemaSize]);
}
}
Modified:
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/lockmgr/HiveLockObject.java
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/lockmgr/HiveLockObject.java?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
---
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/lockmgr/HiveLockObject.java
(original)
+++
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/lockmgr/HiveLockObject.java
Mon Jul 28 23:20:54 2014
@@ -70,6 +70,9 @@ public class HiveLockObject {
lockTime = elem[1];
lockMode = elem[2];
queryStr = elem[3];
+ if (elem.length >= 5) {
+ clientIp = elem[4];
+ }
}
public String getQueryId() {
Modified:
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/lockmgr/zookeeper/ZooKeeperHiveLockManager.java
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/lockmgr/zookeeper/ZooKeeperHiveLockManager.java?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
---
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/lockmgr/zookeeper/ZooKeeperHiveLockManager.java
(original)
+++
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/lockmgr/zookeeper/ZooKeeperHiveLockManager.java
Mon Jul 28 23:20:54 2014
@@ -28,6 +28,7 @@ import org.apache.hadoop.hive.ql.lockmgr
import org.apache.hadoop.hive.ql.metadata.*;
import org.apache.hadoop.hive.ql.session.SessionState.LogHelper;
import org.apache.zookeeper.CreateMode;
+import org.apache.zookeeper.data.Stat;
import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.Watcher;
import org.apache.zookeeper.ZooDefs.Ids;
@@ -296,45 +297,77 @@ public class ZooKeeperHiveLockManager im
private ZooKeeperHiveLock lock (HiveLockObject key, HiveLockMode mode,
boolean keepAlive, boolean parentCreated) throws LockException {
- int tryNum = 1;
+ int tryNum = 0;
ZooKeeperHiveLock ret = null;
+ Set<String> conflictingLocks = new HashSet<String>();
do {
+ tryNum++;
try {
if (tryNum > 1) {
Thread.sleep(sleepTime);
prepareRetry();
}
- ret = lockPrimitive(key, mode, keepAlive, parentCreated);
+ ret = lockPrimitive(key, mode, keepAlive, parentCreated,
conflictingLocks);
if (ret != null) {
break;
}
- tryNum++;
} catch (Exception e1) {
- tryNum++;
if (e1 instanceof KeeperException) {
KeeperException e = (KeeperException) e1;
switch (e.code()) {
case CONNECTIONLOSS:
case OPERATIONTIMEOUT:
- LOG.warn("Possibly transient ZooKeeper exception: ", e);
- break;
+ LOG.debug("Possibly transient ZooKeeper exception: ", e);
+ continue;
default:
LOG.error("Serious Zookeeper exception: ", e);
break;
}
}
if (tryNum >= numRetriesForLock) {
+ console.printError("Unable to acquire " + key.getData().getLockMode()
+ + ", " + mode + " lock " + key.getDisplayName() + " after "
+ + tryNum + " attempts.");
+ LOG.error("Exceeds maximum retries with errors: ", e1);
+ printConflictingLocks(key,mode,conflictingLocks);
+ conflictingLocks.clear();
throw new LockException(e1);
}
}
} while (tryNum < numRetriesForLock);
+ if (ret == null) {
+ console.printError("Unable to acquire " + key.getData().getLockMode()
+ + ", " + mode + " lock " + key.getDisplayName() + " after "
+ + tryNum + " attempts.");
+ printConflictingLocks(key,mode,conflictingLocks);
+ }
+ conflictingLocks.clear();
return ret;
}
+ private void printConflictingLocks(HiveLockObject key, HiveLockMode mode,
+ Set<String> conflictingLocks) {
+ if (!conflictingLocks.isEmpty()) {
+ HiveLockObjectData requestedLock = new
HiveLockObjectData(key.getData().toString());
+ LOG.debug("Requested lock " + key.getDisplayName()
+ + ":: mode:" + requestedLock.getLockMode() + "," + mode
+ + "; query:" + requestedLock.getQueryStr());
+ for (String conflictingLock : conflictingLocks) {
+ HiveLockObjectData conflictingLockData = new
HiveLockObjectData(conflictingLock);
+ LOG.debug("Conflicting lock to " + key.getDisplayName()
+ + ":: mode:" + conflictingLockData.getLockMode()
+ + ";query:" + conflictingLockData.getQueryStr()
+ + ";queryId:" + conflictingLockData.getQueryId()
+ + ";clientIp:" + conflictingLockData.getClientIp());
+ }
+ }
+ }
+
private ZooKeeperHiveLock lockPrimitive(HiveLockObject key,
- HiveLockMode mode, boolean keepAlive, boolean parentCreated)
+ HiveLockMode mode, boolean keepAlive, boolean parentCreated,
+ Set<String> conflictingLocks)
throws KeeperException, InterruptedException {
String res;
@@ -394,9 +427,19 @@ public class ZooKeeperHiveLockManager im
}
if ((childSeq >= 0) && (childSeq < seqNo)) {
- zooKeeper.delete(res, -1);
- console.printError("conflicting lock present for "
- + key.getDisplayName() + " mode " + mode);
+ try {
+ zooKeeper.delete(res, -1);
+ } finally {
+ if (LOG.isDebugEnabled()) {
+ Stat stat = new Stat();
+ try {
+ String data = new String(zooKeeper.getData(child, false, stat));
+ conflictingLocks.add(data);
+ } catch (Exception e) {
+ //ignored
+ }
+ }
+ }
return null;
}
}
Modified:
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ColumnPrunerProcFactory.java
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ColumnPrunerProcFactory.java?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
---
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ColumnPrunerProcFactory.java
(original)
+++
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ColumnPrunerProcFactory.java
Mon Jul 28 23:20:54 2014
@@ -30,6 +30,7 @@ import java.util.Stack;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.hive.ql.exec.AbstractMapJoinOperator;
import org.apache.hadoop.hive.ql.exec.ColumnInfo;
import org.apache.hadoop.hive.ql.exec.CommonJoinOperator;
import org.apache.hadoop.hive.ql.exec.FilterOperator;
@@ -87,6 +88,7 @@ public final class ColumnPrunerProcFacto
* Node Processor for Column Pruning on Filter Operators.
*/
public static class ColumnPrunerFilterProc implements NodeProcessor {
+ @Override
public Object process(Node nd, Stack<Node> stack, NodeProcessorCtx ctx,
Object... nodeOutputs) throws SemanticException {
FilterOperator op = (FilterOperator) nd;
@@ -120,6 +122,7 @@ public final class ColumnPrunerProcFacto
* Node Processor for Column Pruning on Group By Operators.
*/
public static class ColumnPrunerGroupByProc implements NodeProcessor {
+ @Override
public Object process(Node nd, Stack<Node> stack, NodeProcessorCtx ctx,
Object... nodeOutputs) throws SemanticException {
GroupByOperator op = (GroupByOperator) nd;
@@ -154,6 +157,7 @@ public final class ColumnPrunerProcFacto
}
public static class ColumnPrunerScriptProc implements NodeProcessor {
+ @Override
@SuppressWarnings("unchecked")
public Object process(Node nd, Stack<Node> stack, NodeProcessorCtx ctx,
Object... nodeOutputs) throws SemanticException {
@@ -224,6 +228,7 @@ public final class ColumnPrunerProcFacto
* and update the RR & signature on the PTFOp.
*/
public static class ColumnPrunerPTFProc extends ColumnPrunerScriptProc {
+ @Override
public Object process(Node nd, Stack<Node> stack, NodeProcessorCtx ctx,
Object... nodeOutputs) throws SemanticException {
@@ -327,6 +332,7 @@ public final class ColumnPrunerProcFacto
* The Default Node Processor for Column Pruning.
*/
public static class ColumnPrunerDefaultProc implements NodeProcessor {
+ @Override
public Object process(Node nd, Stack<Node> stack, NodeProcessorCtx ctx,
Object... nodeOutputs) throws SemanticException {
ColumnPrunerProcCtx cppCtx = (ColumnPrunerProcCtx) ctx;
@@ -351,6 +357,7 @@ public final class ColumnPrunerProcFacto
* store needed columns in tableScanDesc.
*/
public static class ColumnPrunerTableScanProc implements NodeProcessor {
+ @Override
public Object process(Node nd, Stack<Node> stack, NodeProcessorCtx ctx,
Object... nodeOutputs) throws SemanticException {
TableScanOperator scanOp = (TableScanOperator) nd;
@@ -426,6 +433,7 @@ public final class ColumnPrunerProcFacto
* The Node Processor for Column Pruning on Reduce Sink Operators.
*/
public static class ColumnPrunerReduceSinkProc implements NodeProcessor {
+ @Override
public Object process(Node nd, Stack<Node> stack, NodeProcessorCtx ctx,
Object... nodeOutputs) throws SemanticException {
ReduceSinkOperator op = (ReduceSinkOperator) nd;
@@ -435,6 +443,7 @@ public final class ColumnPrunerProcFacto
List<String> colLists = new ArrayList<String>();
ArrayList<ExprNodeDesc> keys = conf.getKeyCols();
+ LOG.debug("Reduce Sink Operator " + op.getIdentifier() + " key:" + keys);
for (ExprNodeDesc key : keys) {
colLists = Utilities.mergeUniqElems(colLists, key.getCols());
}
@@ -456,7 +465,6 @@ public final class ColumnPrunerProcFacto
if (childCols != null) {
boolean[] flags = new boolean[valCols.size()];
- Map<String, ExprNodeDesc> exprMap = op.getColumnExprMap();
for (String childCol : childCols) {
int index = valColNames.indexOf(Utilities.removeValueTag(childCol));
@@ -497,6 +505,7 @@ public final class ColumnPrunerProcFacto
* The Node Processor for Column Pruning on Lateral View Join Operators.
*/
public static class ColumnPrunerLateralViewJoinProc implements NodeProcessor
{
+ @Override
public Object process(Node nd, Stack<Node> stack, NodeProcessorCtx ctx,
Object... nodeOutputs) throws SemanticException {
LateralViewJoinOperator op = (LateralViewJoinOperator) nd;
@@ -585,6 +594,7 @@ public final class ColumnPrunerProcFacto
* The Node Processor for Column Pruning on Select Operators.
*/
public static class ColumnPrunerSelectProc implements NodeProcessor {
+ @Override
public Object process(Node nd, Stack<Node> stack, NodeProcessorCtx ctx,
Object... nodeOutputs) throws SemanticException {
SelectOperator op = (SelectOperator) nd;
@@ -748,6 +758,12 @@ public final class ColumnPrunerProcFacto
nm = oldRR.reverseLookup(outputCol);
}
+ // In case there are multiple columns referenced to the same column
name, we won't
+ // do row resolve once more because the ColumnInfo in row resolver is
already removed
+ if (nm == null) {
+ continue;
+ }
+
// Only remove information of a column if it is not a key,
// i.e. this column is not appearing in keyExprs of the RS
if (ExprNodeDescUtils.indexOf(outputColExpr, keyExprs) == -1) {
@@ -795,6 +811,7 @@ public final class ColumnPrunerProcFacto
* The Node Processor for Column Pruning on Join Operators.
*/
public static class ColumnPrunerJoinProc implements NodeProcessor {
+ @Override
public Object process(Node nd, Stack<Node> stack, NodeProcessorCtx ctx,
Object... nodeOutputs) throws SemanticException {
JoinOperator op = (JoinOperator) nd;
@@ -817,9 +834,10 @@ public final class ColumnPrunerProcFacto
* The Node Processor for Column Pruning on Map Join Operators.
*/
public static class ColumnPrunerMapJoinProc implements NodeProcessor {
+ @Override
public Object process(Node nd, Stack<Node> stack, NodeProcessorCtx ctx,
Object... nodeOutputs) throws SemanticException {
- MapJoinOperator op = (MapJoinOperator) nd;
+ AbstractMapJoinOperator<MapJoinDesc> op =
(AbstractMapJoinOperator<MapJoinDesc>) nd;
pruneJoinOperator(ctx, op, op.getConf(), op.getColumnExprMap(), op
.getConf().getRetainList(), true);
return null;
@@ -878,6 +896,7 @@ public final class ColumnPrunerProcFacto
List<Operator<? extends OperatorDesc>> childOperators = op
.getChildOperators();
+ LOG.info("JOIN " + op.getIdentifier() + " oldExprs: " + conf.getExprs());
List<String> childColLists = cppCtx.genColLists(op);
if (childColLists == null) {
return;
@@ -985,6 +1004,7 @@ public final class ColumnPrunerProcFacto
rs.add(col);
}
+ LOG.info("JOIN " + op.getIdentifier() + " newExprs: " + conf.getExprs());
op.setColumnExprMap(newColExprMap);
conf.setOutputColumnNames(outputCols);
op.getSchema().setSignature(rs);
Modified:
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/optimizer/Optimizer.java
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/optimizer/Optimizer.java?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
---
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/optimizer/Optimizer.java
(original)
+++
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/optimizer/Optimizer.java
Mon Jul 28 23:20:54 2014
@@ -67,6 +67,9 @@ public class Optimizer {
HiveConf.getBoolVar(hiveConf,
HiveConf.ConfVars.HIVE_MAP_GROUPBY_SORT)) {
transformations.add(new GroupByOptimizer());
}
+ if (HiveConf.getBoolVar(hiveConf,
HiveConf.ConfVars.HIVEOPTCONSTANTPROPAGATION)) {
+ transformations.add(new ConstantPropagate());
+ }
transformations.add(new ColumnPruner());
if (HiveConf.getBoolVar(hiveConf,
HiveConf.ConfVars.HIVE_OPTIMIZE_SKEWJOIN_COMPILETIME)) {
transformations.add(new SkewJoinOptimizer());
Modified:
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/optimizer/SortedMergeJoinProc.java
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/optimizer/SortedMergeJoinProc.java?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
---
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/optimizer/SortedMergeJoinProc.java
(original)
+++
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/optimizer/SortedMergeJoinProc.java
Mon Jul 28 23:20:54 2014
@@ -18,13 +18,17 @@
package org.apache.hadoop.hive.ql.optimizer;
+import java.util.HashMap;
+import java.util.Map;
import java.util.Stack;
import org.apache.hadoop.hive.ql.exec.JoinOperator;
+import org.apache.hadoop.hive.ql.exec.MapJoinOperator;
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.parse.ParseContext;
+import org.apache.hadoop.hive.ql.parse.QBJoinTree;
import org.apache.hadoop.hive.ql.parse.SemanticException;
public class SortedMergeJoinProc extends AbstractSMBJoinProc implements
NodeProcessor {
@@ -42,6 +46,11 @@ public class SortedMergeJoinProc extends
JoinOperator joinOp = (JoinOperator) nd;
SortBucketJoinProcCtx smbJoinContext = (SortBucketJoinProcCtx) procCtx;
+ Map<MapJoinOperator, QBJoinTree> mapJoinMap =
pGraphContext.getMapJoinContext();
+ if (mapJoinMap == null) {
+ mapJoinMap = new HashMap<MapJoinOperator, QBJoinTree>();
+ pGraphContext.setMapJoinContext(mapJoinMap);
+ }
boolean convert =
canConvertJoinToSMBJoin(
Modified:
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeConstantDesc.java
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeConstantDesc.java?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
---
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeConstantDesc.java
(original)
+++
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeConstantDesc.java
Mon Jul 28 23:20:54 2014
@@ -34,6 +34,7 @@ import org.apache.hadoop.hive.serde2.typ
*/
public class ExprNodeConstantDesc extends ExprNodeDesc implements Serializable
{
private static final long serialVersionUID = 1L;
+ final protected transient static char[] hexArray =
"0123456789ABCDEF".toCharArray();
private Object value;
public ExprNodeConstantDesc() {
@@ -83,6 +84,15 @@ public class ExprNodeConstantDesc extend
if (typeInfo.getTypeName().equals(serdeConstants.STRING_TYPE_NAME)) {
return "'" + value.toString() + "'";
+ } else if (typeInfo.getTypeName().equals(serdeConstants.BINARY_TYPE_NAME))
{
+ byte[] bytes = (byte[]) value;
+ char[] hexChars = new char[bytes.length * 2];
+ for (int j = 0; j < bytes.length; j++) {
+ int v = bytes[j] & 0xFF;
+ hexChars[j * 2] = hexArray[v >>> 4];
+ hexChars[j * 2 + 1] = hexArray[v & 0x0F];
+ }
+ return new String(hexChars);
} else {
return value.toString();
}
Modified:
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/ppd/PredicatePushDown.java
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/ppd/PredicatePushDown.java?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
---
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/ppd/PredicatePushDown.java
(original)
+++
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/ppd/PredicatePushDown.java
Mon Jul 28 23:20:54 2014
@@ -21,11 +21,14 @@ import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.Map;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.hive.ql.exec.CommonJoinOperator;
import org.apache.hadoop.hive.ql.exec.FilterOperator;
import org.apache.hadoop.hive.ql.exec.LateralViewForwardOperator;
import org.apache.hadoop.hive.ql.exec.LateralViewJoinOperator;
import org.apache.hadoop.hive.ql.exec.LimitOperator;
+import org.apache.hadoop.hive.ql.exec.Operator;
import org.apache.hadoop.hive.ql.exec.PTFOperator;
import org.apache.hadoop.hive.ql.exec.ScriptOperator;
import org.apache.hadoop.hive.ql.exec.TableScanOperator;
@@ -77,6 +80,7 @@ import org.apache.hadoop.hive.ql.parse.S
*/
public class PredicatePushDown implements Transform {
+ private static final Log LOG = LogFactory.getLog(PredicatePushDown.class);
private ParseContext pGraphContext;
@Override
@@ -126,6 +130,7 @@ public class PredicatePushDown implement
topNodes.addAll(pGraphContext.getTopOps().values());
ogw.startWalking(topNodes, null);
+ LOG.debug("After PPD:\n" + Operator.toString(pctx.getTopOps().values()));
return pGraphContext;
}
Modified:
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/HivePrivilegeObject.java
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/HivePrivilegeObject.java?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
---
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/HivePrivilegeObject.java
(original)
+++
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/HivePrivilegeObject.java
Mon Jul 28 23:20:54 2014
@@ -35,7 +35,9 @@ public class HivePrivilegeObject impleme
public int compareTo(HivePrivilegeObject o) {
int compare = type.compareTo(o.type);
if (compare == 0) {
- compare = dbname.compareTo(o.dbname);
+ compare = dbname != null ?
+ (o.dbname != null ? dbname.compareTo(o.dbname) : 1) :
+ (o.dbname != null ? -1 : 0);
}
if (compare == 0) {
compare = objectName != null ?
Modified:
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/stats/StatsUtils.java
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/stats/StatsUtils.java?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
---
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/stats/StatsUtils.java
(original)
+++
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/stats/StatsUtils.java
Mon Jul 28 23:20:54 2014
@@ -263,6 +263,10 @@ public class StatsUtils {
int avgRowSize = 0;
for (String neededCol : neededColumns) {
ColumnInfo ci = getColumnInfoForColumn(neededCol, schema);
+ if (ci == null) {
+ // No need to collect statistics of index columns
+ continue;
+ }
ObjectInspector oi = ci.getObjectInspector();
String colType = ci.getTypeName();
if (colType.equalsIgnoreCase(serdeConstants.STRING_TYPE_NAME)
Modified:
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/UDFCurrentDB.java
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/UDFCurrentDB.java?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
---
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/UDFCurrentDB.java
(original)
+++
hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/UDFCurrentDB.java
Mon Jul 28 23:20:54 2014
@@ -54,7 +54,7 @@ public class UDFCurrentDB extends Generi
@Override
public Object evaluate(DeferredObject[] arguments) throws HiveException {
- throw new IllegalStateException("never");
+ return SessionState.get().getCurrentDatabase();
}
@Override
Modified:
hive/branches/cbo/ql/src/main/resources/META-INF/services/org.apache.hadoop.hive.ql.io.StorageFormatDescriptor
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/main/resources/META-INF/services/org.apache.hadoop.hive.ql.io.StorageFormatDescriptor?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
---
hive/branches/cbo/ql/src/main/resources/META-INF/services/org.apache.hadoop.hive.ql.io.StorageFormatDescriptor
(original)
+++
hive/branches/cbo/ql/src/main/resources/META-INF/services/org.apache.hadoop.hive.ql.io.StorageFormatDescriptor
Mon Jul 28 23:20:54 2014
@@ -3,3 +3,4 @@ org.apache.hadoop.hive.ql.io.SequenceFil
org.apache.hadoop.hive.ql.io.RCFileStorageFormatDescriptor
org.apache.hadoop.hive.ql.io.ORCFileStorageFormatDescriptor
org.apache.hadoop.hive.ql.io.ParquetFileStorageFormatDescriptor
+org.apache.hadoop.hive.ql.io.AvroStorageFormatDescriptor
Modified:
hive/branches/cbo/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestConstantVectorExpression.java
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestConstantVectorExpression.java?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
---
hive/branches/cbo/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestConstantVectorExpression.java
(original)
+++
hive/branches/cbo/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestConstantVectorExpression.java
Mon Jul 28 23:20:54 2014
@@ -45,28 +45,36 @@ public class TestConstantVectorExpressio
ConstantVectorExpression bytesCve = new ConstantVectorExpression(2,
str.getBytes());
Decimal128 decVal = new Decimal128(25.8, (short) 1);
ConstantVectorExpression decimalCve = new ConstantVectorExpression(3,
decVal);
-
+ ConstantVectorExpression nullCve = new ConstantVectorExpression(4,
"string", true);
+
int size = 20;
- VectorizedRowBatch vrg =
VectorizedRowGroupGenUtil.getVectorizedRowBatch(size, 4, 0);
+ VectorizedRowBatch vrg =
VectorizedRowGroupGenUtil.getVectorizedRowBatch(size, 5, 0);
LongColumnVector lcv = (LongColumnVector) vrg.cols[0];
DoubleColumnVector dcv = new DoubleColumnVector(size);
BytesColumnVector bcv = new BytesColumnVector(size);
DecimalColumnVector dv = new DecimalColumnVector(5, 1);
+ BytesColumnVector bcvn = new BytesColumnVector(size);
vrg.cols[1] = dcv;
vrg.cols[2] = bcv;
vrg.cols[3] = dv;
+ vrg.cols[4] = bcvn;
longCve.evaluate(vrg);
doubleCve.evaluate(vrg);
bytesCve.evaluate(vrg);
decimalCve.evaluate(vrg);
+ nullCve.evaluate(vrg);
assertTrue(lcv.isRepeating);
assertTrue(dcv.isRepeating);
assertTrue(bcv.isRepeating);
assertEquals(17, lcv.vector[0]);
assertTrue(17.34 == dcv.vector[0]);
+ assertTrue(bcvn.isRepeating);
+ assertTrue(bcvn.isNull[0]);
+ assertTrue(!bcvn.noNulls);
+
byte[] alphaBytes = "alpha".getBytes();
assertTrue(bcv.length[0] == alphaBytes.length);
assertTrue(sameFirstKBytes(alphaBytes, bcv.vector[0], alphaBytes.length));
Modified:
hive/branches/cbo/ql/src/test/org/apache/hadoop/hive/ql/io/TestStorageFormatDescriptor.java
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/test/org/apache/hadoop/hive/ql/io/TestStorageFormatDescriptor.java?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
---
hive/branches/cbo/ql/src/test/org/apache/hadoop/hive/ql/io/TestStorageFormatDescriptor.java
(original)
+++
hive/branches/cbo/ql/src/test/org/apache/hadoop/hive/ql/io/TestStorageFormatDescriptor.java
Mon Jul 28 23:20:54 2014
@@ -38,5 +38,7 @@ public class TestStorageFormatDescriptor
(new ORCFileStorageFormatDescriptor()).getNames());
Assert.assertEquals(Sets.newHashSet(IOConstants.PARQUET,
IOConstants.PARQUETFILE),
(new ParquetFileStorageFormatDescriptor()).getNames());
+ Assert.assertEquals(Sets.newHashSet(IOConstants.AVRO,
IOConstants.AVROFILE),
+ (new AvroStorageFormatDescriptor()).getNames());
}
}
Modified: hive/branches/cbo/ql/src/test/queries/clientpositive/authorization_9.q
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/test/queries/clientpositive/authorization_9.q?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/test/queries/clientpositive/authorization_9.q
(original)
+++ hive/branches/cbo/ql/src/test/queries/clientpositive/authorization_9.q Mon
Jul 28 23:20:54 2014
@@ -2,6 +2,7 @@
create table dummy (key string, value string);
+grant select to user hive_test_user;
grant select on database default to user hive_test_user;
grant select on table dummy to user hive_test_user;
grant select (key, value) on table dummy to user hive_test_user;
@@ -10,16 +11,21 @@ show grant user hive_test_user on databa
show grant user hive_test_user on table dummy;
show grant user hive_test_user on all;
+grant select to user hive_test_user2;
grant select on database default to user hive_test_user2;
grant select on table dummy to user hive_test_user2;
grant select (key, value) on table dummy to user hive_test_user2;
show grant on all;
+show grant user hive_test_user on all;
+show grant user hive_test_user2 on all;
+revoke select from user hive_test_user;
revoke select on database default from user hive_test_user;
revoke select on table dummy from user hive_test_user;
revoke select (key, value) on table dummy from user hive_test_user;
+revoke select from user hive_test_user2;
revoke select on database default from user hive_test_user2;
revoke select on table dummy from user hive_test_user2;
revoke select (key, value) on table dummy from user hive_test_user2;
Modified: hive/branches/cbo/ql/src/test/queries/clientpositive/smb_mapjoin_18.q
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/test/queries/clientpositive/smb_mapjoin_18.q?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/test/queries/clientpositive/smb_mapjoin_18.q
(original)
+++ hive/branches/cbo/ql/src/test/queries/clientpositive/smb_mapjoin_18.q Mon
Jul 28 23:20:54 2014
@@ -36,8 +36,10 @@ select count(*) from test_table2 where d
select count(*) from test_table2 tablesample (bucket 1 out of 2) s where ds =
'1';
select count(*) from test_table2 tablesample (bucket 2 out of 2) s where ds =
'1';
+set hive.optimize.constant.propagation=false;
-- Insert data into the bucketed table by selecting from another bucketed table
-- This should be a map-only operation, one of the buckets should be empty
+
EXPLAIN
INSERT OVERWRITE TABLE test_table2 PARTITION (ds = '2')
SELECT a.key, a.value FROM test_table1 a WHERE a.ds = '1' and a.key = 238;
@@ -45,6 +47,7 @@ SELECT a.key, a.value FROM test_table1 a
INSERT OVERWRITE TABLE test_table2 PARTITION (ds = '2')
SELECT a.key, a.value FROM test_table1 a WHERE a.ds = '1' and a.key = 238;
+set hive.optimize.constant.propagation=true;
select count(*) from test_table2 where ds = '2';
select count(*) from test_table2 where ds = '2' and hash(key) % 2 = 0;
select count(*) from test_table2 where ds = '2' and hash(key) % 2 = 1;
Modified: hive/branches/cbo/ql/src/test/queries/clientpositive/subquery_views.q
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/test/queries/clientpositive/subquery_views.q?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/test/queries/clientpositive/subquery_views.q
(original)
+++ hive/branches/cbo/ql/src/test/queries/clientpositive/subquery_views.q Mon
Jul 28 23:20:54 2014
@@ -26,6 +26,11 @@ where b.key not in
)
;
+explain
+select *
+from cv2 where cv2.key in (select key from cv2 c where c.key < '11');
+;
+
select *
from cv2 where cv2.key in (select key from cv2 c where c.key < '11');
;
Modified: hive/branches/cbo/ql/src/test/queries/clientpositive/union27.q
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/test/queries/clientpositive/union27.q?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/test/queries/clientpositive/union27.q (original)
+++ hive/branches/cbo/ql/src/test/queries/clientpositive/union27.q Mon Jul 28
23:20:54 2014
@@ -1,4 +1,5 @@
create table jackson_sev_same as select * from src;
create table dim_pho as select * from src;
create table jackson_sev_add as select * from src;
+explain select b.* from jackson_sev_same a join (select * from dim_pho union
all select * from jackson_sev_add)b on a.key=b.key and b.key=97;
select b.* from jackson_sev_same a join (select * from dim_pho union all
select * from jackson_sev_add)b on a.key=b.key and b.key=97;
Modified:
hive/branches/cbo/ql/src/test/results/clientnegative/cluster_tasklog_retrieval.q.out
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/test/results/clientnegative/cluster_tasklog_retrieval.q.out?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
---
hive/branches/cbo/ql/src/test/results/clientnegative/cluster_tasklog_retrieval.q.out
(original)
+++
hive/branches/cbo/ql/src/test/results/clientnegative/cluster_tasklog_retrieval.q.out
Mon Jul 28 23:20:54 2014
@@ -2,12 +2,12 @@ PREHOOK: query: -- TaskLog retrieval upo
CREATE TEMPORARY FUNCTION evaluate_npe AS
'org.apache.hadoop.hive.ql.udf.generic.GenericUDFEvaluateNPE'
PREHOOK: type: CREATEFUNCTION
-PREHOOK: Output: database:default
+PREHOOK: Output: evaluate_npe
POSTHOOK: query: -- TaskLog retrieval upon Null Pointer Exception in Cluster
CREATE TEMPORARY FUNCTION evaluate_npe AS
'org.apache.hadoop.hive.ql.udf.generic.GenericUDFEvaluateNPE'
POSTHOOK: type: CREATEFUNCTION
-POSTHOOK: Output: database:default
+POSTHOOK: Output: evaluate_npe
PREHOOK: query: FROM src
SELECT evaluate_npe(src.key) LIMIT 1
PREHOOK: type: QUERY
Modified:
hive/branches/cbo/ql/src/test/results/clientnegative/insert_into1.q.out
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/test/results/clientnegative/insert_into1.q.out?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/test/results/clientnegative/insert_into1.q.out
(original)
+++ hive/branches/cbo/ql/src/test/results/clientnegative/insert_into1.q.out Mon
Jul 28 23:20:54 2014
@@ -13,8 +13,5 @@ PREHOOK: query: LOCK TABLE insert_into1_
PREHOOK: type: LOCKTABLE
POSTHOOK: query: LOCK TABLE insert_into1_neg SHARED
POSTHOOK: type: LOCKTABLE
-conflicting lock present for default@insert_into1_neg mode EXCLUSIVE
-conflicting lock present for default@insert_into1_neg mode EXCLUSIVE
-conflicting lock present for default@insert_into1_neg mode EXCLUSIVE
-conflicting lock present for default@insert_into1_neg mode EXCLUSIVE
+Unable to acquire IMPLICIT, EXCLUSIVE lock default@insert_into1_neg after 5
attempts.
FAILED: Error in acquiring locks: Locks on the underlying objects cannot be
acquired. retry after some time
Modified:
hive/branches/cbo/ql/src/test/results/clientnegative/insert_into2.q.out
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/test/results/clientnegative/insert_into2.q.out?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/test/results/clientnegative/insert_into2.q.out
(original)
+++ hive/branches/cbo/ql/src/test/results/clientnegative/insert_into2.q.out Mon
Jul 28 23:20:54 2014
@@ -13,8 +13,5 @@ PREHOOK: query: LOCK TABLE insert_into1_
PREHOOK: type: LOCKTABLE
POSTHOOK: query: LOCK TABLE insert_into1_neg EXCLUSIVE
POSTHOOK: type: LOCKTABLE
-conflicting lock present for default@insert_into1_neg mode EXCLUSIVE
-conflicting lock present for default@insert_into1_neg mode EXCLUSIVE
-conflicting lock present for default@insert_into1_neg mode EXCLUSIVE
-conflicting lock present for default@insert_into1_neg mode EXCLUSIVE
+Unable to acquire IMPLICIT, EXCLUSIVE lock default@insert_into1_neg after 5
attempts.
FAILED: Error in acquiring locks: Locks on the underlying objects cannot be
acquired. retry after some time
Modified:
hive/branches/cbo/ql/src/test/results/clientnegative/insert_into3.q.out
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/test/results/clientnegative/insert_into3.q.out?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/test/results/clientnegative/insert_into3.q.out
(original)
+++ hive/branches/cbo/ql/src/test/results/clientnegative/insert_into3.q.out Mon
Jul 28 23:20:54 2014
@@ -27,8 +27,5 @@ PREHOOK: query: LOCK TABLE insert_into3_
PREHOOK: type: LOCKTABLE
POSTHOOK: query: LOCK TABLE insert_into3_neg PARTITION (ds='1') SHARED
POSTHOOK: type: LOCKTABLE
-conflicting lock present for default@insert_into3_neg@ds=1 mode EXCLUSIVE
-conflicting lock present for default@insert_into3_neg@ds=1 mode EXCLUSIVE
-conflicting lock present for default@insert_into3_neg@ds=1 mode EXCLUSIVE
-conflicting lock present for default@insert_into3_neg@ds=1 mode EXCLUSIVE
+Unable to acquire IMPLICIT, EXCLUSIVE lock default@insert_into3_neg@ds=1 after
5 attempts.
FAILED: Error in acquiring locks: Locks on the underlying objects cannot be
acquired. retry after some time
Modified:
hive/branches/cbo/ql/src/test/results/clientnegative/insert_into4.q.out
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/test/results/clientnegative/insert_into4.q.out?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/test/results/clientnegative/insert_into4.q.out
(original)
+++ hive/branches/cbo/ql/src/test/results/clientnegative/insert_into4.q.out Mon
Jul 28 23:20:54 2014
@@ -27,8 +27,5 @@ PREHOOK: query: LOCK TABLE insert_into3_
PREHOOK: type: LOCKTABLE
POSTHOOK: query: LOCK TABLE insert_into3_neg PARTITION (ds='1') EXCLUSIVE
POSTHOOK: type: LOCKTABLE
-conflicting lock present for default@insert_into3_neg@ds=1 mode EXCLUSIVE
-conflicting lock present for default@insert_into3_neg@ds=1 mode EXCLUSIVE
-conflicting lock present for default@insert_into3_neg@ds=1 mode EXCLUSIVE
-conflicting lock present for default@insert_into3_neg@ds=1 mode EXCLUSIVE
+Unable to acquire IMPLICIT, EXCLUSIVE lock default@insert_into3_neg@ds=1 after
5 attempts.
FAILED: Error in acquiring locks: Locks on the underlying objects cannot be
acquired. retry after some time
Modified: hive/branches/cbo/ql/src/test/results/clientnegative/lockneg1.q.out
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/test/results/clientnegative/lockneg1.q.out?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/test/results/clientnegative/lockneg1.q.out
(original)
+++ hive/branches/cbo/ql/src/test/results/clientnegative/lockneg1.q.out Mon Jul
28 23:20:54 2014
@@ -29,5 +29,5 @@ POSTHOOK: query: LOCK TABLE tstsrc SHARE
POSTHOOK: type: LOCKTABLE
PREHOOK: query: LOCK TABLE tstsrc EXCLUSIVE
PREHOOK: type: LOCKTABLE
-conflicting lock present for default@tstsrc mode EXCLUSIVE
+Unable to acquire EXPLICIT, EXCLUSIVE lock default@tstsrc after 1 attempts.
FAILED: Execution Error, return code 1 from
org.apache.hadoop.hive.ql.exec.DDLTask
Modified:
hive/branches/cbo/ql/src/test/results/clientnegative/lockneg_try_db_lock_conflict.q.out
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/test/results/clientnegative/lockneg_try_db_lock_conflict.q.out?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
---
hive/branches/cbo/ql/src/test/results/clientnegative/lockneg_try_db_lock_conflict.q.out
(original)
+++
hive/branches/cbo/ql/src/test/results/clientnegative/lockneg_try_db_lock_conflict.q.out
Mon Jul 28 23:20:54 2014
@@ -8,5 +8,5 @@ POSTHOOK: query: lock database lockneg4
POSTHOOK: type: LOCKDATABASE
PREHOOK: query: lock database lockneg4 shared
PREHOOK: type: LOCKDATABASE
-conflicting lock present for lockneg4 mode SHARED
+Unable to acquire EXPLICIT, SHARED lock lockneg4 after 1 attempts.
FAILED: Execution Error, return code 1 from
org.apache.hadoop.hive.ql.exec.DDLTask
Modified:
hive/branches/cbo/ql/src/test/results/clientnegative/lockneg_try_drop_locked_db.q.out
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/test/results/clientnegative/lockneg_try_drop_locked_db.q.out?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
---
hive/branches/cbo/ql/src/test/results/clientnegative/lockneg_try_drop_locked_db.q.out
(original)
+++
hive/branches/cbo/ql/src/test/results/clientnegative/lockneg_try_drop_locked_db.q.out
Mon Jul 28 23:20:54 2014
@@ -10,5 +10,5 @@ PREHOOK: query: show locks database lock
PREHOOK: type: SHOWLOCKS
POSTHOOK: query: show locks database lockneg9
POSTHOOK: type: SHOWLOCKS
-conflicting lock present for lockneg9 mode EXCLUSIVE
+Unable to acquire IMPLICIT, EXCLUSIVE lock lockneg9 after 1 attempts.
FAILED: Error in acquiring locks: Locks on the underlying objects cannot be
acquired. retry after some time
Modified:
hive/branches/cbo/ql/src/test/results/clientnegative/lockneg_try_lock_db_in_use.q.out
URL:
http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/test/results/clientnegative/lockneg_try_lock_db_in_use.q.out?rev=1614214&r1=1614213&r2=1614214&view=diff
==============================================================================
---
hive/branches/cbo/ql/src/test/results/clientnegative/lockneg_try_lock_db_in_use.q.out
(original)
+++
hive/branches/cbo/ql/src/test/results/clientnegative/lockneg_try_lock_db_in_use.q.out
Mon Jul 28 23:20:54 2014
@@ -38,5 +38,5 @@ POSTHOOK: type: SHOWLOCKS
lockneg2@tstsrcpart SHARED
PREHOOK: query: lock database lockneg2 exclusive
PREHOOK: type: LOCKDATABASE
-conflicting lock present for lockneg2 mode EXCLUSIVE
+Unable to acquire EXPLICIT, EXCLUSIVE lock lockneg2 after 1 attempts.
FAILED: Execution Error, return code 1 from
org.apache.hadoop.hive.ql.exec.DDLTask