You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by gu...@apache.org on 2013/11/12 19:23:14 UTC

svn commit: r1541190 [1/15] - in /hive/branches/tez: ./ ant/src/org/apache/hadoop/hive/ant/ beeline/ beeline/src/java/org/apache/hive/beeline/ cli/ cli/src/java/org/apache/hadoop/hive/cli/ common/ common/src/java/org/apache/hadoop/hive/common/ common/s...

Author: gunther
Date: Tue Nov 12 18:23:05 2013
New Revision: 1541190

URL: http://svn.apache.org/r1541190
Log:
Merge latest trunk into branch. (Gunther Hagleitner)

Added:
    hive/branches/tez/common/src/java/org/apache/hadoop/hive/common/type/HiveChar.java
      - copied unchanged from r1540821, hive/trunk/common/src/java/org/apache/hadoop/hive/common/type/HiveChar.java
    hive/branches/tez/common/src/test/org/apache/hadoop/hive/common/type/TestHiveBaseChar.java
      - copied unchanged from r1540821, hive/trunk/common/src/test/org/apache/hadoop/hive/common/type/TestHiveBaseChar.java
    hive/branches/tez/common/src/test/org/apache/hadoop/hive/common/type/TestHiveChar.java
      - copied unchanged from r1540821, hive/trunk/common/src/test/org/apache/hadoop/hive/common/type/TestHiveChar.java
    hive/branches/tez/data/files/keystore.jks
      - copied unchanged from r1540821, hive/trunk/data/files/keystore.jks
    hive/branches/tez/data/files/orc_split_elim.orc
      - copied unchanged from r1540821, hive/trunk/data/files/orc_split_elim.orc
    hive/branches/tez/data/files/truststore.jks
      - copied unchanged from r1540821, hive/trunk/data/files/truststore.jks
    hive/branches/tez/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcWithMiniHS2.java
      - copied unchanged from r1540821, hive/trunk/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcWithMiniHS2.java
    hive/branches/tez/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestSSL.java
      - copied unchanged from r1540821, hive/trunk/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestSSL.java
    hive/branches/tez/itests/hive-unit/src/test/java/org/apache/hive/jdbc/miniHS2/
      - copied from r1540821, hive/trunk/itests/hive-unit/src/test/java/org/apache/hive/jdbc/miniHS2/
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/CuckooSetBytes.java
      - copied unchanged from r1540821, hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/CuckooSetBytes.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/CuckooSetDouble.java
      - copied unchanged from r1540821, hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/CuckooSetDouble.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/CuckooSetLong.java
      - copied unchanged from r1540821, hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/CuckooSetLong.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FilterDoubleColumnInList.java
      - copied unchanged from r1540821, hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FilterDoubleColumnInList.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FilterLongColumnInList.java
      - copied unchanged from r1540821, hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FilterLongColumnInList.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FilterStringColumnInList.java
      - copied unchanged from r1540821, hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FilterStringColumnInList.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/io/orc/Metadata.java
      - copied unchanged from r1540821, hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/io/orc/Metadata.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/io/orc/StripeStatistics.java
      - copied unchanged from r1540821, hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/io/orc/StripeStatistics.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/metadata/InputEstimator.java
      - copied unchanged from r1540821, hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/InputEstimator.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/StageIDsRearranger.java
      - copied unchanged from r1540821, hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/StageIDsRearranger.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFToChar.java
      - copied unchanged from r1540821, hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFToChar.java
    hive/branches/tez/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestCuckooSet.java
      - copied unchanged from r1540821, hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestCuckooSet.java
    hive/branches/tez/ql/src/test/org/apache/hadoop/hive/ql/parse/TestSemanticAnalyzer.java
      - copied unchanged from r1540821, hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/parse/TestSemanticAnalyzer.java
    hive/branches/tez/ql/src/test/org/apache/hadoop/hive/ql/udf/TestUDFOPDivide.java
      - copied unchanged from r1540821, hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/TestUDFOPDivide.java
    hive/branches/tez/ql/src/test/queries/clientnegative/invalid_char_length_1.q
      - copied unchanged from r1540821, hive/trunk/ql/src/test/queries/clientnegative/invalid_char_length_1.q
    hive/branches/tez/ql/src/test/queries/clientnegative/invalid_char_length_2.q
      - copied unchanged from r1540821, hive/trunk/ql/src/test/queries/clientnegative/invalid_char_length_2.q
    hive/branches/tez/ql/src/test/queries/clientnegative/invalid_char_length_3.q
      - copied unchanged from r1540821, hive/trunk/ql/src/test/queries/clientnegative/invalid_char_length_3.q
    hive/branches/tez/ql/src/test/queries/clientpositive/alter_char1.q
      - copied unchanged from r1540821, hive/trunk/ql/src/test/queries/clientpositive/alter_char1.q
    hive/branches/tez/ql/src/test/queries/clientpositive/alter_char2.q
      - copied unchanged from r1540821, hive/trunk/ql/src/test/queries/clientpositive/alter_char2.q
    hive/branches/tez/ql/src/test/queries/clientpositive/char_1.q
      - copied unchanged from r1540821, hive/trunk/ql/src/test/queries/clientpositive/char_1.q
    hive/branches/tez/ql/src/test/queries/clientpositive/char_2.q
      - copied unchanged from r1540821, hive/trunk/ql/src/test/queries/clientpositive/char_2.q
    hive/branches/tez/ql/src/test/queries/clientpositive/char_cast.q
      - copied unchanged from r1540821, hive/trunk/ql/src/test/queries/clientpositive/char_cast.q
    hive/branches/tez/ql/src/test/queries/clientpositive/char_comparison.q
      - copied unchanged from r1540821, hive/trunk/ql/src/test/queries/clientpositive/char_comparison.q
    hive/branches/tez/ql/src/test/queries/clientpositive/char_join1.q
      - copied unchanged from r1540821, hive/trunk/ql/src/test/queries/clientpositive/char_join1.q
    hive/branches/tez/ql/src/test/queries/clientpositive/char_nested_types.q
      - copied unchanged from r1540821, hive/trunk/ql/src/test/queries/clientpositive/char_nested_types.q
    hive/branches/tez/ql/src/test/queries/clientpositive/char_udf1.q
      - copied unchanged from r1540821, hive/trunk/ql/src/test/queries/clientpositive/char_udf1.q
    hive/branches/tez/ql/src/test/queries/clientpositive/char_union1.q
      - copied unchanged from r1540821, hive/trunk/ql/src/test/queries/clientpositive/char_union1.q
    hive/branches/tez/ql/src/test/queries/clientpositive/ctas_char.q
      - copied unchanged from r1540821, hive/trunk/ql/src/test/queries/clientpositive/ctas_char.q
    hive/branches/tez/ql/src/test/queries/clientpositive/explain_rearrange.q
      - copied unchanged from r1540821, hive/trunk/ql/src/test/queries/clientpositive/explain_rearrange.q
    hive/branches/tez/ql/src/test/queries/clientpositive/nonmr_fetch_threshold.q
      - copied unchanged from r1540821, hive/trunk/ql/src/test/queries/clientpositive/nonmr_fetch_threshold.q
    hive/branches/tez/ql/src/test/queries/clientpositive/stats_invalidation.q
      - copied unchanged from r1540821, hive/trunk/ql/src/test/queries/clientpositive/stats_invalidation.q
    hive/branches/tez/ql/src/test/queries/clientpositive/subq_where_serialization.q
      - copied unchanged from r1540821, hive/trunk/ql/src/test/queries/clientpositive/subq_where_serialization.q
    hive/branches/tez/ql/src/test/queries/clientpositive/vectorization_part_project.q
      - copied unchanged from r1540821, hive/trunk/ql/src/test/queries/clientpositive/vectorization_part_project.q
    hive/branches/tez/ql/src/test/results/clientnegative/invalid_char_length_1.q.out
      - copied unchanged from r1540821, hive/trunk/ql/src/test/results/clientnegative/invalid_char_length_1.q.out
    hive/branches/tez/ql/src/test/results/clientnegative/invalid_char_length_2.q.out
      - copied unchanged from r1540821, hive/trunk/ql/src/test/results/clientnegative/invalid_char_length_2.q.out
    hive/branches/tez/ql/src/test/results/clientnegative/invalid_char_length_3.q.out
      - copied unchanged from r1540821, hive/trunk/ql/src/test/results/clientnegative/invalid_char_length_3.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/alter_char1.q.out
      - copied unchanged from r1540821, hive/trunk/ql/src/test/results/clientpositive/alter_char1.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/alter_char2.q.out
      - copied unchanged from r1540821, hive/trunk/ql/src/test/results/clientpositive/alter_char2.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/char_1.q.out
      - copied unchanged from r1540821, hive/trunk/ql/src/test/results/clientpositive/char_1.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/char_2.q.out
      - copied unchanged from r1540821, hive/trunk/ql/src/test/results/clientpositive/char_2.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/char_cast.q.out
      - copied unchanged from r1540821, hive/trunk/ql/src/test/results/clientpositive/char_cast.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/char_comparison.q.out
      - copied unchanged from r1540821, hive/trunk/ql/src/test/results/clientpositive/char_comparison.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/char_join1.q.out
      - copied unchanged from r1540821, hive/trunk/ql/src/test/results/clientpositive/char_join1.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/char_nested_types.q.out
      - copied unchanged from r1540821, hive/trunk/ql/src/test/results/clientpositive/char_nested_types.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/char_udf1.q.out
      - copied unchanged from r1540821, hive/trunk/ql/src/test/results/clientpositive/char_udf1.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/char_union1.q.out
      - copied unchanged from r1540821, hive/trunk/ql/src/test/results/clientpositive/char_union1.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/ctas_char.q.out
      - copied unchanged from r1540821, hive/trunk/ql/src/test/results/clientpositive/ctas_char.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/explain_rearrange.q.out
      - copied unchanged from r1540821, hive/trunk/ql/src/test/results/clientpositive/explain_rearrange.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/nonmr_fetch_threshold.q.out
      - copied unchanged from r1540821, hive/trunk/ql/src/test/results/clientpositive/nonmr_fetch_threshold.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/stats_invalidation.q.out
      - copied unchanged from r1540821, hive/trunk/ql/src/test/results/clientpositive/stats_invalidation.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/subq_where_serialization.q.out
      - copied unchanged from r1540821, hive/trunk/ql/src/test/results/clientpositive/subq_where_serialization.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/vectorization_part_project.q.out
      - copied unchanged from r1540821, hive/trunk/ql/src/test/results/clientpositive/vectorization_part_project.q.out
    hive/branches/tez/serde/src/java/org/apache/hadoop/hive/serde2/io/HiveBaseCharWritable.java
      - copied unchanged from r1540821, hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/io/HiveBaseCharWritable.java
    hive/branches/tez/serde/src/java/org/apache/hadoop/hive/serde2/io/HiveCharWritable.java
      - copied unchanged from r1540821, hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/io/HiveCharWritable.java
    hive/branches/tez/serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyHiveChar.java
      - copied unchanged from r1540821, hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyHiveChar.java
    hive/branches/tez/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyHiveCharObjectInspector.java
      - copied unchanged from r1540821, hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyHiveCharObjectInspector.java
    hive/branches/tez/serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryHiveChar.java
      - copied unchanged from r1540821, hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryHiveChar.java
    hive/branches/tez/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/HiveCharObjectInspector.java
      - copied unchanged from r1540821, hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/HiveCharObjectInspector.java
    hive/branches/tez/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/JavaHiveCharObjectInspector.java
      - copied unchanged from r1540821, hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/JavaHiveCharObjectInspector.java
    hive/branches/tez/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/SettableHiveCharObjectInspector.java
      - copied unchanged from r1540821, hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/SettableHiveCharObjectInspector.java
    hive/branches/tez/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableConstantHiveCharObjectInspector.java
      - copied unchanged from r1540821, hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableConstantHiveCharObjectInspector.java
    hive/branches/tez/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableHiveCharObjectInspector.java
      - copied unchanged from r1540821, hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableHiveCharObjectInspector.java
    hive/branches/tez/serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/BaseCharUtils.java
      - copied unchanged from r1540821, hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/BaseCharUtils.java
    hive/branches/tez/serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/CharTypeInfo.java
      - copied unchanged from r1540821, hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/CharTypeInfo.java
    hive/branches/tez/serde/src/test/org/apache/hadoop/hive/serde2/io/TestHiveCharWritable.java
      - copied unchanged from r1540821, hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/io/TestHiveCharWritable.java
    hive/branches/tez/shims/assembly/
      - copied from r1540821, hive/trunk/shims/assembly/
Removed:
    hive/branches/tez/ql/src/test/queries/clientnegative/date_literal1.q
    hive/branches/tez/ql/src/test/results/clientnegative/date_literal1.q.out
    hive/branches/tez/serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/VarcharUtils.java
    hive/branches/tez/shims/src/assembly/uberjar.xml
Modified:
    hive/branches/tez/   (props changed)
    hive/branches/tez/ant/src/org/apache/hadoop/hive/ant/GenVectorCode.java
    hive/branches/tez/ant/src/org/apache/hadoop/hive/ant/GenVectorTestCode.java
    hive/branches/tez/beeline/pom.xml
    hive/branches/tez/beeline/src/java/org/apache/hive/beeline/Commands.java
    hive/branches/tez/beeline/src/java/org/apache/hive/beeline/SQLCompletor.java
    hive/branches/tez/cli/pom.xml
    hive/branches/tez/cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java
    hive/branches/tez/common/pom.xml
    hive/branches/tez/common/src/java/org/apache/hadoop/hive/common/ObjectPair.java
    hive/branches/tez/common/src/java/org/apache/hadoop/hive/common/StatsSetupConst.java
    hive/branches/tez/common/src/java/org/apache/hadoop/hive/common/type/HiveBaseChar.java
    hive/branches/tez/common/src/java/org/apache/hadoop/hive/common/type/HiveDecimal.java
    hive/branches/tez/common/src/java/org/apache/hadoop/hive/common/type/HiveVarchar.java
    hive/branches/tez/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
    hive/branches/tez/common/src/java/org/apache/hive/common/util/HiveStringUtils.java
    hive/branches/tez/common/src/test/org/apache/hadoop/hive/common/type/TestHiveDecimal.java
    hive/branches/tez/conf/hive-default.xml.template
    hive/branches/tez/contrib/pom.xml
    hive/branches/tez/contrib/src/java/org/apache/hadoop/hive/contrib/fileformat/base64/Base64TextInputFormat.java
    hive/branches/tez/contrib/src/java/org/apache/hadoop/hive/contrib/udaf/example/UDAFExampleMax.java
    hive/branches/tez/contrib/src/java/org/apache/hadoop/hive/contrib/udaf/example/UDAFExampleMin.java
    hive/branches/tez/data/conf/hive-log4j.properties
    hive/branches/tez/data/files/datatypes.txt
    hive/branches/tez/hbase-handler/pom.xml
    hive/branches/tez/hbase-handler/src/test/results/positive/hbase_stats.q.out
    hive/branches/tez/hbase-handler/src/test/results/positive/hbase_stats2.q.out
    hive/branches/tez/hbase-handler/src/test/results/positive/hbase_stats3.q.out
    hive/branches/tez/hbase-handler/src/test/results/positive/hbase_stats_empty_partition.q.out
    hive/branches/tez/hcatalog/storage-handlers/hbase/pom.xml
    hive/branches/tez/hcatalog/webhcat/svr/pom.xml
    hive/branches/tez/hwi/pom.xml
    hive/branches/tez/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcDriver2.java
    hive/branches/tez/itests/qtest/pom.xml
    hive/branches/tez/itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java
    hive/branches/tez/itests/util/src/main/java/org/apache/hadoop/hive/ql/udf/UDAFTestMax.java
    hive/branches/tez/jdbc/pom.xml
    hive/branches/tez/jdbc/src/java/org/apache/hive/jdbc/HiveBaseResultSet.java
    hive/branches/tez/jdbc/src/java/org/apache/hive/jdbc/HiveConnection.java
    hive/branches/tez/jdbc/src/java/org/apache/hive/jdbc/HiveQueryResultSet.java
    hive/branches/tez/jdbc/src/java/org/apache/hive/jdbc/HiveResultSetMetaData.java
    hive/branches/tez/jdbc/src/java/org/apache/hive/jdbc/JdbcColumn.java
    hive/branches/tez/jdbc/src/java/org/apache/hive/jdbc/JdbcColumnAttributes.java
    hive/branches/tez/jdbc/src/java/org/apache/hive/jdbc/Utils.java
    hive/branches/tez/metastore/pom.xml
    hive/branches/tez/metastore/scripts/upgrade/mysql/upgrade-0.12.0-to-0.13.0.mysql.sql
    hive/branches/tez/metastore/scripts/upgrade/oracle/upgrade-0.12.0-to-0.13.0.oracle.sql
    hive/branches/tez/metastore/scripts/upgrade/postgres/upgrade-0.12.0-to-0.13.0.postgres.sql
    hive/branches/tez/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java
    hive/branches/tez/metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreUtils.java
    hive/branches/tez/metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java
    hive/branches/tez/pom.xml
    hive/branches/tez/ql/pom.xml
    hive/branches/tez/ql/src/gen/protobuf/gen-java/org/apache/hadoop/hive/ql/io/orc/OrcProto.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/ExplainTask.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/FileSinkOperator.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/Operator.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/OperatorUtils.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/ReduceSinkOperator.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/StatsTask.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/Task.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/TopNHash.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/UDTFOperator.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/mr/ExecDriver.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/mr/ExecMapper.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/mr/ExecReducer.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/mr/HadoopJobExecHelper.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/mr/JobDebugger.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/mr/MapRedTask.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/MapRecordProcessor.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/ReduceRecordProcessor.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorReduceSinkOperator.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorizationContext.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/io/HiveInputFormat.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/io/HiveKey.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/io/orc/FileDump.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcFile.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcSplit.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/io/orc/Reader.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/io/orc/ReaderImpl.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/io/orc/WriterImpl.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/io/rcfile/merge/RCFileMergeMapper.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/io/rcfile/truncate/ColumnTruncateMapper.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/metadata/formatting/JsonMetaDataFormatter.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/metadata/formatting/TextMetaDataFormatter.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/optimizer/LimitPushdownOptimizer.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/optimizer/SimpleFetchOptimizer.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/optimizer/StatsOptimizer.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/optimizer/correlation/CorrelationOptimizer.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/PhysicalOptimizer.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/Vectorizer.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/parse/ASTNode.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/parse/BaseSemanticAnalyzer.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/parse/ExplainSemanticAnalyzer.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/parse/HiveLexer.g
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/parse/ParseUtils.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/plan/ExplainWork.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPDivide.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFComputeStats.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFConcat.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFLower.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFOPEqualOrGreaterThan.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFOPEqualOrLessThan.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFOPGreaterThan.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFOPLessThan.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFUpper.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFUtils.java
    hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDTF.java
    hive/branches/tez/ql/src/protobuf/org/apache/hadoop/hive/ql/io/orc/orc_proto.proto
    hive/branches/tez/ql/src/test/org/apache/hadoop/hive/ql/exec/TestFunctionRegistry.java
    hive/branches/tez/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/TestVectorizationContext.java
    hive/branches/tez/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorFilterExpressions.java
    hive/branches/tez/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorTypeCasts.java
    hive/branches/tez/ql/src/test/org/apache/hadoop/hive/ql/io/TestSymlinkTextInputFormat.java
    hive/branches/tez/ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestOrcFile.java
    hive/branches/tez/ql/src/test/queries/clientpositive/correlationoptimizer1.q
    hive/branches/tez/ql/src/test/queries/clientpositive/ctas_hadoop20.q
    hive/branches/tez/ql/src/test/queries/clientpositive/limit_pushdown.q
    hive/branches/tez/ql/src/test/queries/clientpositive/limit_pushdown_negative.q
    hive/branches/tez/ql/src/test/queries/clientpositive/orc_predicate_pushdown.q
    hive/branches/tez/ql/src/test/queries/clientpositive/stats_only_null.q
    hive/branches/tez/ql/src/test/resources/orc-file-dump-dictionary-threshold.out
    hive/branches/tez/ql/src/test/resources/orc-file-dump.out
    hive/branches/tez/ql/src/test/results/beelinepositive/udf_round.q.out
    hive/branches/tez/ql/src/test/results/clientnegative/stats_partialscan_autogether.q.out
    hive/branches/tez/ql/src/test/results/clientnegative/unset_table_property.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/alter_numbuckets_partitioned_table.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/alter_numbuckets_partitioned_table2.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/alter_partition_clusterby_sortby.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/alter_partition_coltype.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/alter_skewed_table.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/alter_table_not_sorted.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/alter_table_serde2.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/auto_join_reordering_values.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/auto_sortmerge_join_1.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/auto_sortmerge_join_11.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/auto_sortmerge_join_12.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/auto_sortmerge_join_2.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/auto_sortmerge_join_3.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/auto_sortmerge_join_4.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/auto_sortmerge_join_5.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/auto_sortmerge_join_7.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/auto_sortmerge_join_8.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/binary_output_format.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/bucket1.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/bucket2.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/bucket3.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/bucket4.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/bucket5.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/bucket_map_join_1.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/bucket_map_join_2.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/bucketcontext_1.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/bucketcontext_2.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/bucketcontext_3.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/bucketcontext_4.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/bucketcontext_5.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/bucketcontext_6.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/bucketcontext_7.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/bucketcontext_8.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/bucketizedhiveinputformat.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/bucketmapjoin1.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/bucketmapjoin10.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/bucketmapjoin11.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/bucketmapjoin12.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/bucketmapjoin13.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/bucketmapjoin2.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/bucketmapjoin3.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/bucketmapjoin4.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/bucketmapjoin5.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/bucketmapjoin7.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/bucketmapjoin8.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/bucketmapjoin9.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/bucketmapjoin_negative.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/bucketmapjoin_negative2.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/bucketmapjoin_negative3.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/columnstats_partlvl.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/columnstats_tbllvl.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/combine2_hadoop20.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/correlationoptimizer1.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/create_alter_list_bucketing_table1.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/ctas_colname.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/ctas_hadoop20.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/ctas_uses_database_location.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/describe_comment_nonascii.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/describe_table.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/disable_merge_for_bucketing.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/dynamic_partition_skip_default.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/filter_join_breaktask.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/groupby_map_ppr.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/groupby_map_ppr_multi_distinct.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/groupby_ppr.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/groupby_ppr_multi_distinct.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/groupby_sort_1.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/groupby_sort_6.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/groupby_sort_skew_1.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/infer_bucket_sort.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/infer_bucket_sort_bucketed_table.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/infer_bucket_sort_convert_join.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/infer_bucket_sort_dyn_part.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/infer_bucket_sort_grouping_operators.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/infer_bucket_sort_map_operators.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/infer_bucket_sort_merge.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/infer_bucket_sort_multi_insert.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/infer_bucket_sort_num_buckets.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/infer_bucket_sort_reducers_power_two.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/input23.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/input42.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/input_part1.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/input_part2.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/input_part7.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/input_part9.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/join17.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/join26.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/join32.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/join32_lessSize.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/join33.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/join34.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/join35.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/join9.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/join_filters_overlap.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/join_map_ppr.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/limit_pushdown.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/limit_pushdown_negative.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/list_bucket_dml_10.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/literal_decimal.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/load_dyn_part8.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/louter_join_ppr.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/merge3.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/metadata_only_queries.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/orc_predicate_pushdown.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/outer_join_ppr.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/parallel_orderby.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/pcr.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/ppd_join_filter.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/ppd_union_view.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/ppd_vc.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/ppr_allchildsarenull.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/push_or.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/rand_partitionpruner1.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/rand_partitionpruner2.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/rand_partitionpruner3.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/rcfile_default_format.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/reduce_deduplicate.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/regexp_extract.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/router_join_ppr.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/sample1.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/sample10.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/sample2.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/sample4.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/sample5.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/sample6.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/sample7.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/sample8.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/sample9.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/serde_user_properties.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/show_create_table_alter.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/show_tblproperties.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/smb_mapjoin_11.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/smb_mapjoin_12.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/smb_mapjoin_13.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/smb_mapjoin_15.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/sort_merge_join_desc_5.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/sort_merge_join_desc_6.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/sort_merge_join_desc_7.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/stats0.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/stats1.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/stats10.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/stats11.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/stats12.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/stats13.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/stats14.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/stats15.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/stats16.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/stats18.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/stats19.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/stats3.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/stats4.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/stats5.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/stats6.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/stats7.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/stats8.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/stats9.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/stats_empty_partition.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/stats_noscan_1.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/stats_noscan_2.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/stats_only_null.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/stats_partscan_1.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/transform_ppr1.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/transform_ppr2.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/truncate_column.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/udf_explode.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/udf_reflect2.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/udf_round.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/udf_round_2.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/udtf_explode.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/union22.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/union24.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/union_ppr.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/unset_table_view_property.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/vectorization_13.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/vectorization_limit.q.out
    hive/branches/tez/ql/src/test/results/clientpositive/vectorization_short_regress.q.out
    hive/branches/tez/ql/src/test/results/compiler/plan/case_sensitivity.q.xml
    hive/branches/tez/ql/src/test/results/compiler/plan/cast1.q.xml
    hive/branches/tez/ql/src/test/results/compiler/plan/groupby1.q.xml
    hive/branches/tez/ql/src/test/results/compiler/plan/groupby2.q.xml
    hive/branches/tez/ql/src/test/results/compiler/plan/groupby3.q.xml
    hive/branches/tez/ql/src/test/results/compiler/plan/groupby4.q.xml
    hive/branches/tez/ql/src/test/results/compiler/plan/groupby5.q.xml
    hive/branches/tez/ql/src/test/results/compiler/plan/groupby6.q.xml
    hive/branches/tez/ql/src/test/results/compiler/plan/input1.q.xml
    hive/branches/tez/ql/src/test/results/compiler/plan/input2.q.xml
    hive/branches/tez/ql/src/test/results/compiler/plan/input20.q.xml
    hive/branches/tez/ql/src/test/results/compiler/plan/input3.q.xml
    hive/branches/tez/ql/src/test/results/compiler/plan/input4.q.xml
    hive/branches/tez/ql/src/test/results/compiler/plan/input5.q.xml
    hive/branches/tez/ql/src/test/results/compiler/plan/input6.q.xml
    hive/branches/tez/ql/src/test/results/compiler/plan/input7.q.xml
    hive/branches/tez/ql/src/test/results/compiler/plan/input8.q.xml
    hive/branches/tez/ql/src/test/results/compiler/plan/input9.q.xml
    hive/branches/tez/ql/src/test/results/compiler/plan/input_part1.q.xml
    hive/branches/tez/ql/src/test/results/compiler/plan/input_testsequencefile.q.xml
    hive/branches/tez/ql/src/test/results/compiler/plan/input_testxpath.q.xml
    hive/branches/tez/ql/src/test/results/compiler/plan/input_testxpath2.q.xml
    hive/branches/tez/ql/src/test/results/compiler/plan/join1.q.xml
    hive/branches/tez/ql/src/test/results/compiler/plan/join2.q.xml
    hive/branches/tez/ql/src/test/results/compiler/plan/join3.q.xml
    hive/branches/tez/ql/src/test/results/compiler/plan/join4.q.xml
    hive/branches/tez/ql/src/test/results/compiler/plan/join5.q.xml
    hive/branches/tez/ql/src/test/results/compiler/plan/join6.q.xml
    hive/branches/tez/ql/src/test/results/compiler/plan/join7.q.xml
    hive/branches/tez/ql/src/test/results/compiler/plan/join8.q.xml
    hive/branches/tez/ql/src/test/results/compiler/plan/sample1.q.xml
    hive/branches/tez/ql/src/test/results/compiler/plan/sample2.q.xml
    hive/branches/tez/ql/src/test/results/compiler/plan/sample3.q.xml
    hive/branches/tez/ql/src/test/results/compiler/plan/sample4.q.xml
    hive/branches/tez/ql/src/test/results/compiler/plan/sample5.q.xml
    hive/branches/tez/ql/src/test/results/compiler/plan/sample6.q.xml
    hive/branches/tez/ql/src/test/results/compiler/plan/sample7.q.xml
    hive/branches/tez/ql/src/test/results/compiler/plan/subq.q.xml
    hive/branches/tez/ql/src/test/results/compiler/plan/udf1.q.xml
    hive/branches/tez/ql/src/test/results/compiler/plan/udf6.q.xml
    hive/branches/tez/ql/src/test/results/compiler/plan/udf_case.q.xml
    hive/branches/tez/ql/src/test/results/compiler/plan/udf_when.q.xml
    hive/branches/tez/ql/src/test/results/compiler/plan/union.q.xml
    hive/branches/tez/serde/pom.xml
    hive/branches/tez/serde/src/java/org/apache/hadoop/hive/serde2/SerDeUtils.java
    hive/branches/tez/serde/src/java/org/apache/hadoop/hive/serde2/binarysortable/BinarySortableSerDe.java
    hive/branches/tez/serde/src/java/org/apache/hadoop/hive/serde2/io/HiveVarcharWritable.java
    hive/branches/tez/serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyFactory.java
    hive/branches/tez/serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyUtils.java
    hive/branches/tez/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyHiveVarcharObjectInspector.java
    hive/branches/tez/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyPrimitiveObjectInspectorFactory.java
    hive/branches/tez/serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryFactory.java
    hive/branches/tez/serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinarySerDe.java
    hive/branches/tez/serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryUtils.java
    hive/branches/tez/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/ObjectInspectorConverters.java
    hive/branches/tez/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/ObjectInspectorUtils.java
    hive/branches/tez/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/PrimitiveObjectInspector.java
    hive/branches/tez/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/JavaHiveVarcharObjectInspector.java
    hive/branches/tez/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/PrimitiveObjectInspectorConverter.java
    hive/branches/tez/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/PrimitiveObjectInspectorFactory.java
    hive/branches/tez/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/PrimitiveObjectInspectorUtils.java
    hive/branches/tez/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableHiveVarcharObjectInspector.java
    hive/branches/tez/serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/TypeInfoFactory.java
    hive/branches/tez/serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/TypeInfoUtils.java
    hive/branches/tez/serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/VarcharTypeInfo.java
    hive/branches/tez/serde/src/test/org/apache/hadoop/hive/serde2/objectinspector/primitive/TestPrimitiveObjectInspectorFactory.java
    hive/branches/tez/serde/src/test/org/apache/hadoop/hive/serde2/typeinfo/TestTypeInfoUtils.java
    hive/branches/tez/service/if/TCLIService.thrift
    hive/branches/tez/service/pom.xml
    hive/branches/tez/service/src/gen/thrift/gen-cpp/TCLIService_constants.cpp
    hive/branches/tez/service/src/gen/thrift/gen-cpp/TCLIService_constants.h
    hive/branches/tez/service/src/gen/thrift/gen-cpp/TCLIService_types.cpp
    hive/branches/tez/service/src/gen/thrift/gen-cpp/TCLIService_types.h
    hive/branches/tez/service/src/gen/thrift/gen-javabean/org/apache/hive/service/cli/thrift/TCLIServiceConstants.java
    hive/branches/tez/service/src/gen/thrift/gen-javabean/org/apache/hive/service/cli/thrift/TOpenSessionResp.java
    hive/branches/tez/service/src/gen/thrift/gen-javabean/org/apache/hive/service/cli/thrift/TProtocolVersion.java
    hive/branches/tez/service/src/gen/thrift/gen-javabean/org/apache/hive/service/cli/thrift/TTypeId.java
    hive/branches/tez/service/src/gen/thrift/gen-py/TCLIService/constants.py
    hive/branches/tez/service/src/gen/thrift/gen-py/TCLIService/ttypes.py
    hive/branches/tez/service/src/gen/thrift/gen-rb/t_c_l_i_service_constants.rb
    hive/branches/tez/service/src/gen/thrift/gen-rb/t_c_l_i_service_types.rb
    hive/branches/tez/service/src/java/org/apache/hive/service/auth/HiveAuthFactory.java
    hive/branches/tez/service/src/java/org/apache/hive/service/cli/ColumnValue.java
    hive/branches/tez/service/src/java/org/apache/hive/service/cli/Type.java
    hive/branches/tez/service/src/java/org/apache/hive/service/cli/TypeQualifiers.java
    hive/branches/tez/service/src/java/org/apache/hive/service/cli/operation/SQLOperation.java
    hive/branches/tez/service/src/java/org/apache/hive/service/cli/session/SessionManager.java
    hive/branches/tez/service/src/java/org/apache/hive/service/cli/thrift/ThriftBinaryCLIService.java
    hive/branches/tez/shims/0.20/src/main/java/org/apache/hadoop/hive/shims/Hadoop20Shims.java
    hive/branches/tez/shims/common-secure/src/main/java/org/apache/hadoop/hive/shims/HadoopShimsSecure.java
    hive/branches/tez/shims/common/src/main/java/org/apache/hadoop/hive/shims/HadoopShims.java
    hive/branches/tez/shims/pom.xml

Propchange: hive/branches/tez/
------------------------------------------------------------------------------
  Merged /hive/trunk:r1538881-1540821

Modified: hive/branches/tez/ant/src/org/apache/hadoop/hive/ant/GenVectorCode.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ant/src/org/apache/hadoop/hive/ant/GenVectorCode.java?rev=1541190&r1=1541189&r2=1541190&view=diff
==============================================================================
--- hive/branches/tez/ant/src/org/apache/hadoop/hive/ant/GenVectorCode.java (original)
+++ hive/branches/tez/ant/src/org/apache/hadoop/hive/ant/GenVectorCode.java Tue Nov 12 18:23:05 2013
@@ -444,8 +444,10 @@ public class GenVectorCode extends Task 
   private String buildDir;
 
   private String expressionOutputDirectory;
+  private String expressionClassesDirectory;
   private String expressionTemplateDirectory;
   private String udafOutputDirectory;
+  private String udafClassesDirectory;
   private String udafTemplateDirectory;
   private GenVectorTestCode testCodeGen;
 
@@ -461,17 +463,24 @@ public class GenVectorCode extends Task 
     File generationDirectory = new File(templateBaseDir);
 
     String buildPath = joinPath(buildDir, "generated-sources", "java");
+    String compiledPath = joinPath(buildDir, "classes");
 
-    File exprOutput = new File(joinPath(buildPath, "org", "apache", "hadoop",
-        "hive", "ql", "exec", "vector", "expressions", "gen"));
+    String expression = joinPath("org", "apache", "hadoop",
+        "hive", "ql", "exec", "vector", "expressions", "gen");
+    File exprOutput = new File(joinPath(buildPath, expression));
+    File exprClasses = new File(joinPath(compiledPath, expression));
     expressionOutputDirectory = exprOutput.getAbsolutePath();
+    expressionClassesDirectory = exprClasses.getAbsolutePath();
 
     expressionTemplateDirectory =
         joinPath(generationDirectory.getAbsolutePath(), "ExpressionTemplates");
 
-    File udafOutput = new File(joinPath(buildPath, "org", "apache", "hadoop",
-        "hive", "ql", "exec", "vector", "expressions", "aggregates", "gen"));
+    String udaf = joinPath("org", "apache", "hadoop",
+        "hive", "ql", "exec", "vector", "expressions", "aggregates", "gen");
+    File udafOutput = new File(joinPath(buildPath, udaf));
+    File udafClasses = new File(joinPath(compiledPath, udaf));
     udafOutputDirectory = udafOutput.getAbsolutePath();
+    udafClassesDirectory = udafClasses.getAbsolutePath();
 
     udafTemplateDirectory =
         joinPath(generationDirectory.getAbsolutePath(), "UDAFTemplates");
@@ -502,7 +511,7 @@ public class GenVectorCode extends Task 
     try {
       this.generate();
     } catch (Exception e) {
-      new BuildException(e);
+      throw new BuildException(e);
     }
   }
 
@@ -569,14 +578,14 @@ public class GenVectorCode extends Task 
     String optionalNot = tdesc[1];
     String className = "FilterStringColumn" + (optionalNot.equals("!") ? "Not" : "")
         + "Between";
-    String outputFile = joinPath(this.expressionOutputDirectory, className + ".java");
-
-    // Read the template into a string, expand it, and write it.
-    String templateFile = joinPath(this.expressionTemplateDirectory, tdesc[0] + ".txt");
+        // Read the template into a string, expand it, and write it.
+    File templateFile = new File(joinPath(this.expressionTemplateDirectory, tdesc[0] + ".txt"));
     String templateString = readFile(templateFile);
     templateString = templateString.replaceAll("<ClassName>", className);
     templateString = templateString.replaceAll("<OptionalNot>", optionalNot);
-    writeFile(outputFile, templateString);
+
+    writeFile(templateFile.lastModified(), expressionOutputDirectory, expressionClassesDirectory,
+        className, templateString);
   }
 
   private void generateFilterColumnBetween(String[] tdesc) throws IOException {
@@ -586,17 +595,17 @@ public class GenVectorCode extends Task 
     String className = "Filter" + getCamelCaseType(operandType) + "Column" +
       (optionalNot.equals("!") ? "Not" : "") + "Between";
     String inputColumnVectorType = getColumnVectorType(operandType);
-    String outputFile = joinPath(this.expressionOutputDirectory, className + ".java");
 
     // Read the template into a string, expand it, and write it.
-    String templateFile = joinPath(this.expressionTemplateDirectory, tdesc[0] + ".txt");
+    File templateFile = new File(joinPath(this.expressionTemplateDirectory, tdesc[0] + ".txt"));
     String templateString = readFile(templateFile);
     templateString = templateString.replaceAll("<ClassName>", className);
     templateString = templateString.replaceAll("<InputColumnVectorType>", inputColumnVectorType);
     templateString = templateString.replaceAll("<OperandType>", operandType);
     templateString = templateString.replaceAll("<OptionalNot>", optionalNot);
 
-    writeFile(outputFile, templateString);
+    writeFile(templateFile.lastModified(), expressionOutputDirectory, expressionClassesDirectory,
+        className, templateString);
   }
 
   private void generateColumnCompareColumn(String[] tdesc) throws IOException {
@@ -620,8 +629,7 @@ public class GenVectorCode extends Task 
     String writableType = getOutputWritableType(valueType);
     String inspectorType = getOutputObjectInspector(valueType);
 
-    String outputFile = joinPath(this.udafOutputDirectory, className + ".java");
-    String templateFile = joinPath(this.udafTemplateDirectory, tdesc[0] + ".txt");
+    File templateFile = new File(joinPath(this.udafTemplateDirectory, tdesc[0] + ".txt"));
 
     String templateString = readFile(templateFile);
     templateString = templateString.replaceAll("<ClassName>", className);
@@ -632,8 +640,8 @@ public class GenVectorCode extends Task 
     templateString = templateString.replaceAll("<DescriptionValue>", descValue);
     templateString = templateString.replaceAll("<OutputType>", writableType);
     templateString = templateString.replaceAll("<OutputTypeInspector>", inspectorType);
-    writeFile(outputFile, templateString);
-
+    writeFile(templateFile.lastModified(), udafOutputDirectory, udafClassesDirectory,
+        className, templateString);
   }
 
   private void generateVectorUDAFMinMaxString(String[] tdesc) throws Exception {
@@ -642,16 +650,15 @@ public class GenVectorCode extends Task 
     String descName = tdesc[3];
     String descValue = tdesc[4];
 
-    String outputFile = joinPath(this.udafOutputDirectory, className + ".java");
-    String templateFile = joinPath(this.udafTemplateDirectory, tdesc[0] + ".txt");
+    File templateFile = new File(joinPath(this.udafTemplateDirectory, tdesc[0] + ".txt"));
 
     String templateString = readFile(templateFile);
     templateString = templateString.replaceAll("<ClassName>", className);
     templateString = templateString.replaceAll("<OperatorSymbol>", operatorSymbol);
     templateString = templateString.replaceAll("<DescriptionName>", descName);
     templateString = templateString.replaceAll("<DescriptionValue>", descValue);
-    writeFile(outputFile, templateString);
-
+    writeFile(templateFile.lastModified(), udafOutputDirectory, udafClassesDirectory,
+        className, templateString);
   }
 
   private void generateVectorUDAFSum(String[] tdesc) throws Exception {
@@ -662,8 +669,7 @@ public class GenVectorCode extends Task 
     String writableType = getOutputWritableType(valueType);
     String inspectorType = getOutputObjectInspector(valueType);
 
-    String outputFile = joinPath(this.udafOutputDirectory, className + ".java");
-    String templateFile = joinPath(this.udafTemplateDirectory, tdesc[0] + ".txt");
+    File templateFile = new File(joinPath(this.udafTemplateDirectory, tdesc[0] + ".txt"));
 
     String templateString = readFile(templateFile);
     templateString = templateString.replaceAll("<ClassName>", className);
@@ -671,7 +677,8 @@ public class GenVectorCode extends Task 
     templateString = templateString.replaceAll("<InputColumnVectorType>", columnType);
     templateString = templateString.replaceAll("<OutputType>", writableType);
     templateString = templateString.replaceAll("<OutputTypeInspector>", inspectorType);
-    writeFile(outputFile, templateString);
+    writeFile(templateFile.lastModified(), udafOutputDirectory, udafClassesDirectory,
+        className, templateString);
   }
 
   private void generateVectorUDAFAvg(String[] tdesc) throws IOException {
@@ -679,14 +686,14 @@ public class GenVectorCode extends Task 
     String valueType = tdesc[2];
     String columnType = getColumnVectorType(valueType);
 
-    String outputFile = joinPath(this.udafOutputDirectory, className + ".java");
-    String templateFile = joinPath(this.udafTemplateDirectory, tdesc[0] + ".txt");
+    File templateFile = new File(joinPath(this.udafTemplateDirectory, tdesc[0] + ".txt"));
 
     String templateString = readFile(templateFile);
     templateString = templateString.replaceAll("<ClassName>", className);
     templateString = templateString.replaceAll("<ValueType>", valueType);
     templateString = templateString.replaceAll("<InputColumnVectorType>", columnType);
-    writeFile(outputFile, templateString);
+    writeFile(templateFile.lastModified(), udafOutputDirectory, udafClassesDirectory,
+        className, templateString);
   }
 
   private void generateVectorUDAFVar(String[] tdesc) throws IOException {
@@ -697,8 +704,7 @@ public class GenVectorCode extends Task 
     String descriptionValue = tdesc[5];
     String columnType = getColumnVectorType(valueType);
 
-    String outputFile = joinPath(this.udafOutputDirectory, className + ".java");
-    String templateFile = joinPath(this.udafTemplateDirectory, tdesc[0] + ".txt");
+    File templateFile = new File(joinPath(this.udafTemplateDirectory, tdesc[0] + ".txt"));
 
     String templateString = readFile(templateFile);
     templateString = templateString.replaceAll("<ClassName>", className);
@@ -707,7 +713,8 @@ public class GenVectorCode extends Task 
     templateString = templateString.replaceAll("<VarianceFormula>", varianceFormula);
     templateString = templateString.replaceAll("<DescriptionName>", descriptionName);
     templateString = templateString.replaceAll("<DescriptionValue>", descriptionValue);
-    writeFile(outputFile, templateString);
+    writeFile(templateFile.lastModified(), udafOutputDirectory, udafClassesDirectory,
+        className, templateString);
   }
 
   private void generateFilterStringScalarCompareColumn(String[] tdesc) throws IOException {
@@ -752,15 +759,15 @@ public class GenVectorCode extends Task 
 
   private void generateStringColumnCompareScalar(String[] tdesc, String className)
       throws IOException {
-   String operatorSymbol = tdesc[2];
-   String outputFile = joinPath(this.expressionOutputDirectory, className + ".java");
-   // Read the template into a string;
-   String templateFile = joinPath(this.expressionTemplateDirectory, tdesc[0] + ".txt");
-   String templateString = readFile(templateFile);
-   // Expand, and write result
-   templateString = templateString.replaceAll("<ClassName>", className);
-   templateString = templateString.replaceAll("<OperatorSymbol>", operatorSymbol);
-   writeFile(outputFile, templateString);
+    String operatorSymbol = tdesc[2];
+    // Read the template into a string;
+    File templateFile = new File(joinPath(this.expressionTemplateDirectory, tdesc[0] + ".txt"));
+    String templateString = readFile(templateFile);
+    // Expand, and write result
+    templateString = templateString.replaceAll("<ClassName>", className);
+    templateString = templateString.replaceAll("<OperatorSymbol>", operatorSymbol);
+    writeFile(templateFile.lastModified(), expressionOutputDirectory, expressionClassesDirectory,
+        className, templateString);
   }
 
   private void generateFilterColumnCompareColumn(String[] tdesc) throws IOException {
@@ -780,8 +787,7 @@ public class GenVectorCode extends Task 
     String outputColumnVectorType = inputColumnVectorType;
     String returnType = operandType;
     String className = getCamelCaseType(operandType) + "ColUnaryMinus";
-    String outputFile = joinPath(this.expressionOutputDirectory, className + ".java");
-    String templateFile = joinPath(this.expressionTemplateDirectory, tdesc[0] + ".txt");
+        File templateFile = new File(joinPath(this.expressionTemplateDirectory, tdesc[0] + ".txt"));
     String templateString = readFile(templateFile);
     // Expand, and write result
     templateString = templateString.replaceAll("<ClassName>", className);
@@ -789,7 +795,8 @@ public class GenVectorCode extends Task 
     templateString = templateString.replaceAll("<OutputColumnVectorType>", outputColumnVectorType);
     templateString = templateString.replaceAll("<OperandType>", operandType);
     templateString = templateString.replaceAll("<ReturnType>", returnType);
-    writeFile(outputFile, templateString);
+    writeFile(templateFile.lastModified(), expressionOutputDirectory, expressionClassesDirectory,
+        className, templateString);
   }
 
   // template, <ClassNamePrefix>, <ReturnType>, <OperandType>, <FuncName>, <OperandCast>, <ResultCast>
@@ -801,8 +808,7 @@ public class GenVectorCode extends Task 
     String outputColumnVectorType = this.getColumnVectorType(returnType);
     String className = classNamePrefix + getCamelCaseType(operandType) + "To"
       + getCamelCaseType(returnType);
-    String outputFile = joinPath(this.expressionOutputDirectory, className + ".java");
-    String templateFile = joinPath(this.expressionTemplateDirectory, tdesc[0] + ".txt");
+        File templateFile = new File(joinPath(this.expressionTemplateDirectory, tdesc[0] + ".txt"));
     String templateString = readFile(templateFile);
     String funcName = tdesc[4];
     String operandCast = tdesc[5];
@@ -818,7 +824,8 @@ public class GenVectorCode extends Task 
     templateString = templateString.replaceAll("<OperandCast>", operandCast);
     templateString = templateString.replaceAll("<ResultCast>", resultCast);
     templateString = templateString.replaceAll("<Cleanup>", cleanup);
-    writeFile(outputFile, templateString);
+    writeFile(templateFile.lastModified(), expressionOutputDirectory, expressionClassesDirectory,
+        className, templateString);
   }
 
   private void generateColumnArithmeticColumn(String [] tdesc) throws IOException {
@@ -880,10 +887,9 @@ public class GenVectorCode extends Task 
     String inputColumnVectorType1 = this.getColumnVectorType(operandType1);
     String inputColumnVectorType2 = this.getColumnVectorType(operandType2);
     String operatorSymbol = tdesc[4];
-    String outputFile = joinPath(this.expressionOutputDirectory, className + ".java");
 
     //Read the template into a string;
-    String templateFile = joinPath(this.expressionTemplateDirectory, tdesc[0] + ".txt");
+    File templateFile = new File(joinPath(this.expressionTemplateDirectory, tdesc[0] + ".txt"));
     String templateString = readFile(templateFile);
     templateString = templateString.replaceAll("<ClassName>", className);
     templateString = templateString.replaceAll("<InputColumnVectorType1>", inputColumnVectorType1);
@@ -894,7 +900,8 @@ public class GenVectorCode extends Task 
     templateString = templateString.replaceAll("<OperandType2>", operandType2);
     templateString = templateString.replaceAll("<ReturnType>", returnType);
     templateString = templateString.replaceAll("<CamelReturnType>", getCamelCaseType(returnType));
-    writeFile(outputFile, templateString);
+    writeFile(templateFile.lastModified(), expressionOutputDirectory, expressionClassesDirectory,
+        className, templateString);
 
     if(returnType==null){
       testCodeGen.addColumnColumnFilterTestCases(
@@ -918,10 +925,9 @@ public class GenVectorCode extends Task 
     String outputColumnVectorType = this.getColumnVectorType(returnType);
     String inputColumnVectorType = this.getColumnVectorType(operandType1);
     String operatorSymbol = tdesc[4];
-    String outputFile = joinPath(this.expressionOutputDirectory, className + ".java");
 
     //Read the template into a string;
-    String templateFile = joinPath(this.expressionTemplateDirectory, tdesc[0] + ".txt");
+    File templateFile = new File(joinPath(this.expressionTemplateDirectory, tdesc[0] + ".txt"));
     String templateString = readFile(templateFile);
     templateString = templateString.replaceAll("<ClassName>", className);
     templateString = templateString.replaceAll("<InputColumnVectorType>", inputColumnVectorType);
@@ -930,7 +936,8 @@ public class GenVectorCode extends Task 
     templateString = templateString.replaceAll("<OperandType1>", operandType1);
     templateString = templateString.replaceAll("<OperandType2>", operandType2);
     templateString = templateString.replaceAll("<ReturnType>", returnType);
-    writeFile(outputFile, templateString);
+    writeFile(templateFile.lastModified(), expressionOutputDirectory, expressionClassesDirectory,
+        className, templateString);
 
     if(returnType==null) {
       testCodeGen.addColumnScalarFilterTestCases(
@@ -956,10 +963,9 @@ public class GenVectorCode extends Task 
      String outputColumnVectorType = this.getColumnVectorType(returnType);
      String inputColumnVectorType = this.getColumnVectorType(operandType2);
      String operatorSymbol = tdesc[4];
-     String outputFile = joinPath(this.expressionOutputDirectory, className + ".java");
 
      //Read the template into a string;
-     String templateFile = joinPath(this.expressionTemplateDirectory, tdesc[0] + ".txt");
+     File templateFile = new File(joinPath(this.expressionTemplateDirectory, tdesc[0] + ".txt"));
      String templateString = readFile(templateFile);
      templateString = templateString.replaceAll("<ClassName>", className);
      templateString = templateString.replaceAll("<InputColumnVectorType>", inputColumnVectorType);
@@ -968,7 +974,8 @@ public class GenVectorCode extends Task 
      templateString = templateString.replaceAll("<OperandType1>", operandType1);
      templateString = templateString.replaceAll("<OperandType2>", operandType2);
      templateString = templateString.replaceAll("<ReturnType>", returnType);
-     writeFile(outputFile, templateString);
+     writeFile(templateFile.lastModified(), expressionOutputDirectory, expressionClassesDirectory,
+        className, templateString);
 
      if(returnType==null) {
        testCodeGen.addColumnScalarFilterTestCases(
@@ -1008,14 +1015,29 @@ public class GenVectorCode extends Task 
     generateScalarBinaryOperatorColumn(tdesc, returnType, className);
   }
 
+  static void writeFile(long templateTime, String outputDir, String classesDir,
+       String className, String str) throws IOException {
+    File outputFile = new File(outputDir, className + ".java");
+    File outputClass = new File(classesDir, className + ".class");
+    if (outputFile.lastModified() > templateTime && outputFile.length() == str.length() &&
+        outputClass.lastModified() > templateTime) {
+      // best effort
+      return;
+    }
+    writeFile(outputFile, str);
+  }
 
-   static void writeFile(String outputFile, String str) throws IOException {
+  static void writeFile(File outputFile, String str) throws IOException {
     BufferedWriter w = new BufferedWriter(new FileWriter(outputFile));
     w.write(str);
     w.close();
   }
 
-   static String readFile(String templateFile) throws IOException {
+  static String readFile(String templateFile) throws IOException {
+    return readFile(new File(templateFile));
+  }
+
+  static String readFile(File templateFile) throws IOException {
     BufferedReader r = new BufferedReader(new FileReader(templateFile));
     String line = r.readLine();
     StringBuilder b = new StringBuilder();

Modified: hive/branches/tez/ant/src/org/apache/hadoop/hive/ant/GenVectorTestCode.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ant/src/org/apache/hadoop/hive/ant/GenVectorTestCode.java?rev=1541190&r1=1541189&r2=1541190&view=diff
==============================================================================
--- hive/branches/tez/ant/src/org/apache/hadoop/hive/ant/GenVectorTestCode.java (original)
+++ hive/branches/tez/ant/src/org/apache/hadoop/hive/ant/GenVectorTestCode.java Tue Nov 12 18:23:05 2013
@@ -18,6 +18,7 @@
 
 package org.apache.hadoop.hive.ant;
 
+import java.io.File;
 import java.io.IOException;
 import java.util.HashMap;
 
@@ -235,7 +236,7 @@ public class GenVectorTestCode {
 
       String outputFile = GenVectorCode.joinPath(this.testOutputDir, testClass + ".java");
 
-      GenVectorCode.writeFile(outputFile, templateString);
+      GenVectorCode.writeFile(new File(outputFile), templateString);
     }
   }
 

Modified: hive/branches/tez/beeline/pom.xml
URL: http://svn.apache.org/viewvc/hive/branches/tez/beeline/pom.xml?rev=1541190&r1=1541189&r2=1541190&view=diff
==============================================================================
--- hive/branches/tez/beeline/pom.xml (original)
+++ hive/branches/tez/beeline/pom.xml Tue Nov 12 18:23:05 2013
@@ -47,11 +47,15 @@
       <groupId>org.apache.hive</groupId>
       <artifactId>hive-shims</artifactId>
       <version>${project.version}</version>
-      <classifier>uberjar</classifier>
       <scope>runtime</scope>
     </dependency>
     <!-- inter-project -->
     <dependency>
+      <groupId>commons-cli</groupId>
+      <artifactId>commons-cli</artifactId>
+      <version>${commons-cli.version}</version>
+    </dependency>
+    <dependency>
       <groupId>commons-lang</groupId>
       <artifactId>commons-lang</artifactId>
       <version>${commons-lang.version}</version>

Modified: hive/branches/tez/beeline/src/java/org/apache/hive/beeline/Commands.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/beeline/src/java/org/apache/hive/beeline/Commands.java?rev=1541190&r1=1541189&r2=1541190&view=diff
==============================================================================
--- hive/branches/tez/beeline/src/java/org/apache/hive/beeline/Commands.java (original)
+++ hive/branches/tez/beeline/src/java/org/apache/hive/beeline/Commands.java Tue Nov 12 18:23:05 2013
@@ -674,7 +674,10 @@ public class Commands {
 
     // use multiple lines for statements not terminated by ";"
     try {
-      while (!(line.trim().endsWith(";")) && beeLine.getOpts().isAllowMultiLineCommand()) {
+      //When using -e, console reader is not initialized and command is a single line
+      while (beeLine.getConsoleReader() != null && !(line.trim().endsWith(";"))
+        && beeLine.getOpts().isAllowMultiLineCommand()) {
+
         StringBuilder prompt = new StringBuilder(beeLine.getPrompt());
         for (int i = 0; i < prompt.length() - 1; i++) {
           if (prompt.charAt(i) != '>') {
@@ -691,6 +694,7 @@ public class Commands {
       beeLine.handleException(e);
     }
 
+
     if (line.endsWith(";")) {
       line = line.substring(0, line.length() - 1);
     }

Modified: hive/branches/tez/beeline/src/java/org/apache/hive/beeline/SQLCompletor.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/beeline/src/java/org/apache/hive/beeline/SQLCompletor.java?rev=1541190&r1=1541189&r2=1541190&view=diff
==============================================================================
--- hive/branches/tez/beeline/src/java/org/apache/hive/beeline/SQLCompletor.java (original)
+++ hive/branches/tez/beeline/src/java/org/apache/hive/beeline/SQLCompletor.java Tue Nov 12 18:23:05 2013
@@ -45,7 +45,7 @@ class SQLCompletor extends SimpleComplet
     // add the default SQL completions
     String keywords = new BufferedReader(new InputStreamReader(
         SQLCompletor.class.getResourceAsStream(
-            "sql-keywords.properties"))).readLine();
+            "/sql-keywords.properties"))).readLine();
 
     // now add the keywords from the current connection
     try {

Modified: hive/branches/tez/cli/pom.xml
URL: http://svn.apache.org/viewvc/hive/branches/tez/cli/pom.xml?rev=1541190&r1=1541189&r2=1541190&view=diff
==============================================================================
--- hive/branches/tez/cli/pom.xml (original)
+++ hive/branches/tez/cli/pom.xml Tue Nov 12 18:23:05 2013
@@ -57,7 +57,6 @@
       <groupId>org.apache.hive</groupId>
       <artifactId>hive-shims</artifactId>
       <version>${project.version}</version>
-      <classifier>uberjar</classifier>
     </dependency>
     <dependency>
       <groupId>org.apache.hive</groupId>

Modified: hive/branches/tez/cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java?rev=1541190&r1=1541189&r2=1541190&view=diff
==============================================================================
--- hive/branches/tez/cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java (original)
+++ hive/branches/tez/cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java Tue Nov 12 18:23:05 2013
@@ -716,7 +716,7 @@ public class CliDriver {
     }
 
     // CLI remote mode is a thin client: only load auxJars in local mode
-    if (!ss.isRemoteMode() && !ShimLoader.getHadoopShims().usesJobShell()) {
+    if (!ss.isRemoteMode()) {
       // hadoop-20 and above - we need to augment classpath using hiveconf
       // components
       // see also: code in ExecDriver.java

Modified: hive/branches/tez/common/pom.xml
URL: http://svn.apache.org/viewvc/hive/branches/tez/common/pom.xml?rev=1541190&r1=1541189&r2=1541190&view=diff
==============================================================================
--- hive/branches/tez/common/pom.xml (original)
+++ hive/branches/tez/common/pom.xml Tue Nov 12 18:23:05 2013
@@ -37,7 +37,6 @@
       <groupId>org.apache.hive</groupId>
       <artifactId>hive-shims</artifactId>
       <version>${project.version}</version>
-      <classifier>uberjar</classifier>
     </dependency>
     <!-- inter-project -->
     <dependency>

Modified: hive/branches/tez/common/src/java/org/apache/hadoop/hive/common/ObjectPair.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/common/src/java/org/apache/hadoop/hive/common/ObjectPair.java?rev=1541190&r1=1541189&r2=1541190&view=diff
==============================================================================
--- hive/branches/tez/common/src/java/org/apache/hadoop/hive/common/ObjectPair.java (original)
+++ hive/branches/tez/common/src/java/org/apache/hadoop/hive/common/ObjectPair.java Tue Nov 12 18:23:05 2013
@@ -74,4 +74,8 @@ public class ObjectPair<F, S> {
     return this.getFirst().equals(that.getFirst()) &&
         this.getSecond().equals(that.getSecond());
   }
+
+  public String toString() {
+    return first + ":" + second;
+  }
 }

Modified: hive/branches/tez/common/src/java/org/apache/hadoop/hive/common/StatsSetupConst.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/common/src/java/org/apache/hadoop/hive/common/StatsSetupConst.java?rev=1541190&r1=1541189&r2=1541190&view=diff
==============================================================================
--- hive/branches/tez/common/src/java/org/apache/hadoop/hive/common/StatsSetupConst.java (original)
+++ hive/branches/tez/common/src/java/org/apache/hadoop/hive/common/StatsSetupConst.java Tue Nov 12 18:23:05 2013
@@ -17,8 +17,8 @@
  */
 package org.apache.hadoop.hive.common;
 
-import java.util.ArrayList;
-import java.util.List;
+import java.util.Map;
+
 
 
 /**
@@ -66,33 +66,34 @@ public class StatsSetupConst {
   /**
    * @return List of all supported statistics
    */
-  public static List<String> getSupportedStats() {
-    List<String> supportedStats = new ArrayList<String>();
-    supportedStats.add(NUM_FILES);
-    supportedStats.add(ROW_COUNT);
-    supportedStats.add(TOTAL_SIZE);
-    supportedStats.add(RAW_DATA_SIZE);
-    return supportedStats;
-  }
+  public static final String[] supportedStats = new String[] 
+	{NUM_FILES,ROW_COUNT,TOTAL_SIZE,RAW_DATA_SIZE};
 
   /**
    * @return List of all statistics that need to be collected during query execution. These are
    * statistics that inherently require a scan of the data.
    */
-  public static List<String> getStatsToBeCollected() {
-    List<String> collectableStats = new ArrayList<String>();
-    collectableStats.add(ROW_COUNT);
-    collectableStats.add(RAW_DATA_SIZE);
-    return collectableStats;
-  }
+  public static final String[] statsRequireCompute = new String[] {ROW_COUNT,RAW_DATA_SIZE};
 
   /**
    * @return List of statistics that can be collected quickly without requiring a scan of the data.
    */
-  public static List<String> getStatsFastCollection() {
-    List<String> fastStats = new ArrayList<String>();
-    fastStats.add(NUM_FILES);
-    fastStats.add(TOTAL_SIZE);
-    return fastStats;
+  public static final String[] fastStats = new String[] {NUM_FILES,TOTAL_SIZE};
+  
+  // This string constant is used by stats task to indicate to AlterHandler that
+  // alterPartition/alterTable is happening via statsTask.
+  public static final String STATS_GENERATED_VIA_STATS_TASK = "STATS_GENERATED_VIA_STATS_TASK";
+
+  // This string constant will be persisted in metastore to indicate whether corresponding
+  // table or partition's statistics are accurate or not.
+  public static final String COLUMN_STATS_ACCURATE = "COLUMN_STATS_ACCURATE";
+  
+  public static final String TRUE = "true";
+  
+  public static final String FALSE = "false";
+  
+  public static boolean areStatsUptoDate(Map<String,String> params) {
+	String statsAcc = params.get(COLUMN_STATS_ACCURATE);
+	return statsAcc == null ? false : statsAcc.equals(TRUE);
   }
 }

Modified: hive/branches/tez/common/src/java/org/apache/hadoop/hive/common/type/HiveBaseChar.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/common/src/java/org/apache/hadoop/hive/common/type/HiveBaseChar.java?rev=1541190&r1=1541189&r2=1541190&view=diff
==============================================================================
--- hive/branches/tez/common/src/java/org/apache/hadoop/hive/common/type/HiveBaseChar.java (original)
+++ hive/branches/tez/common/src/java/org/apache/hadoop/hive/common/type/HiveBaseChar.java Tue Nov 12 18:23:05 2013
@@ -21,7 +21,6 @@ import org.apache.commons.lang.StringUti
 
 public abstract class HiveBaseChar {
   protected String value;
-  protected int characterLength = -1;
 
   protected HiveBaseChar() {
   }
@@ -31,20 +30,11 @@ public abstract class HiveBaseChar {
    * @param val new value
    */
   public void setValue(String val, int maxLength) {
-    characterLength = -1;
     value = HiveBaseChar.enforceMaxLength(val, maxLength);
   }
 
   public void setValue(HiveBaseChar val, int maxLength) {
-    if ((maxLength < 0)
-        || (val.characterLength > 0 && val.characterLength <= maxLength)) {
-      // No length enforcement required, or source length is less than max length.
-      // We can copy the source value as-is.
-      value = val.value;
-      this.characterLength = val.characterLength;
-    } else {
-      setValue(val.value, maxLength);
-    }
+    setValue(val.value, maxLength);
   }
 
   public static String enforceMaxLength(String val, int maxLength) {
@@ -53,7 +43,7 @@ public abstract class HiveBaseChar {
     if (maxLength > 0) {
       int valLength = val.codePointCount(0, val.length());
       if (valLength > maxLength) {
-        // Truncate the excess trailing spaces to fit the character length.
+        // Truncate the excess chars to fit the character length.
         // Also make sure we take supplementary chars into account.
         value = val.substring(0, val.offsetByCodePoints(0, maxLength));
       }
@@ -61,14 +51,40 @@ public abstract class HiveBaseChar {
     return value;
   }
 
+  public static String getPaddedValue(String val, int maxLength) {
+    if (maxLength < 0) {
+      return val;
+    }
+
+    int valLength = val.codePointCount(0, val.length());
+    if (valLength > maxLength) {
+      return enforceMaxLength(val, maxLength);
+    }
+
+    if (maxLength > valLength) {
+      // Make sure we pad the right amount of spaces; valLength is in terms of code points,
+      // while StringUtils.rpad() is based on the number of java chars.
+      int padLength = val.length() + (maxLength - valLength);
+      val = StringUtils.rightPad(val, padLength);
+    }
+    return val;
+  }
+
   public String getValue() {
     return value;
   }
 
   public int getCharacterLength() {
-    if (characterLength < 0) {
-      characterLength = value.codePointCount(0, value.length());
-    }
-    return characterLength;
+    return value.codePointCount(0, value.length());
+  }
+
+  @Override
+  public int hashCode() {
+    return getValue().hashCode();
+  }
+
+  @Override
+  public String toString() {
+    return getValue();
   }
 }

Modified: hive/branches/tez/common/src/java/org/apache/hadoop/hive/common/type/HiveDecimal.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/common/src/java/org/apache/hadoop/hive/common/type/HiveDecimal.java?rev=1541190&r1=1541189&r2=1541190&view=diff
==============================================================================
--- hive/branches/tez/common/src/java/org/apache/hadoop/hive/common/type/HiveDecimal.java (original)
+++ hive/branches/tez/common/src/java/org/apache/hadoop/hive/common/type/HiveDecimal.java Tue Nov 12 18:23:05 2013
@@ -222,7 +222,13 @@ public class HiveDecimal implements Comp
 
     int maxScale = Math.min(MAX_SCALE, Math.min(MAX_PRECISION - intDigits, bd.scale()));
     if (bd.scale() > maxScale ) {
-      bd = allowRounding ? bd.setScale(maxScale, RoundingMode.HALF_UP) : null;
+      if (allowRounding) {
+        bd = bd.setScale(maxScale, RoundingMode.HALF_UP);
+        // Trimming is again necessary, because rounding may introduce new trailing 0's.
+        bd = trim(bd);
+      } else {
+        bd = null;
+      }
     }
 
     return bd;

Modified: hive/branches/tez/common/src/java/org/apache/hadoop/hive/common/type/HiveVarchar.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/common/src/java/org/apache/hadoop/hive/common/type/HiveVarchar.java?rev=1541190&r1=1541189&r2=1541190&view=diff
==============================================================================
--- hive/branches/tez/common/src/java/org/apache/hadoop/hive/common/type/HiveVarchar.java (original)
+++ hive/branches/tez/common/src/java/org/apache/hadoop/hive/common/type/HiveVarchar.java Tue Nov 12 18:23:05 2013
@@ -51,11 +51,6 @@ public class HiveVarchar extends HiveBas
     super.setValue(hc.getValue(), -1);
   }
 
-  @Override
-  public String toString() {
-    return getValue();
-  }
-
   public int compareTo(HiveVarchar rhs) {
     if (rhs == this) {
       return 0;
@@ -69,9 +64,4 @@ public class HiveVarchar extends HiveBas
     }
     return this.getValue().equals(rhs.getValue());
   }
-
-  @Override
-  public int hashCode() {
-    return getValue().hashCode();
-  }
 }

Modified: hive/branches/tez/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java?rev=1541190&r1=1541189&r2=1541190&view=diff
==============================================================================
--- hive/branches/tez/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java (original)
+++ hive/branches/tez/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java Tue Nov 12 18:23:05 2013
@@ -341,6 +341,7 @@ public class HiveConf extends Configurat
     METASTORE_PARTITION_NAME_WHITELIST_PATTERN(
         "hive.metastore.partition.name.whitelist.pattern", ""),
     METASTORE_TRY_DIRECT_SQL("hive.metastore.try.direct.sql", true),
+    METASTORE_TRY_DIRECT_SQL_DDL("hive.metastore.try.direct.sql.ddl", true),
     METASTORE_DISALLOW_INCOMPATIBLE_COL_TYPE_CHANGES(
         "hive.metastore.disallow.incompatible.col.type.changes", false),
 
@@ -507,6 +508,9 @@ public class HiveConf extends Configurat
     HIVE_ORC_FILE_MEMORY_POOL("hive.exec.orc.memory.pool", 0.5f), // 50%
     // Define the version of the file to write
     HIVE_ORC_WRITE_FORMAT("hive.exec.orc.write.format", null),
+    // Define the default ORC stripe size
+    HIVE_ORC_DEFAULT_STRIPE_SIZE("hive.exec.orc.default.stripe.size",
+        256L * 1024 * 1024),
 
     HIVE_ORC_DICTIONARY_KEY_SIZE_THRESHOLD("hive.exec.orc.dictionary.key.size.threshold", 0.8f),
 
@@ -664,6 +668,7 @@ public class HiveConf extends Configurat
     // 'minimal', 'more' (and 'all' later)
     HIVEFETCHTASKCONVERSION("hive.fetch.task.conversion", "minimal",
         new StringsValidator("minimal", "more")),
+    HIVEFETCHTASKCONVERSIONTHRESHOLD("hive.fetch.task.conversion.threshold", -1l),
 
     HIVEFETCHTASKAGGR("hive.fetch.task.aggr", false),
 
@@ -760,9 +765,15 @@ public class HiveConf extends Configurat
 
     // Configuration for async thread pool in SessionManager
     // Number of async threads
-    HIVE_SERVER2_ASYNC_EXEC_THREADS("hive.server2.async.exec.threads", 50),
+    HIVE_SERVER2_ASYNC_EXEC_THREADS("hive.server2.async.exec.threads", 100),
     // Number of seconds HiveServer2 shutdown will wait for async threads to terminate
     HIVE_SERVER2_ASYNC_EXEC_SHUTDOWN_TIMEOUT("hive.server2.async.exec.shutdown.timeout", 10L),
+    // Size of the wait queue for async thread pool in HiveServer2.
+    // After hitting this limit, the async thread pool will reject new requests.
+    HIVE_SERVER2_ASYNC_EXEC_WAIT_QUEUE_SIZE("hive.server2.async.exec.wait.queue.size", 100),
+    // Number of seconds that an idle HiveServer2 async thread (from the thread pool)
+    // will wait for a new task to arrive before terminating
+    HIVE_SERVER2_ASYNC_EXEC_KEEPALIVE_TIME("hive.server2.async.exec.keepalive.time", 10),
 
 
     // HiveServer2 auth configuration
@@ -778,6 +789,9 @@ public class HiveConf extends Configurat
     HIVE_SERVER2_TABLE_TYPE_MAPPING("hive.server2.table.type.mapping", "CLASSIC",
         new StringsValidator("CLASSIC", "HIVE")),
     HIVE_SERVER2_SESSION_HOOK("hive.server2.session.hook", ""),
+    HIVE_SERVER2_USE_SSL("hive.server2.use.SSL", false),
+    HIVE_SERVER2_SSL_KEYSTORE_PATH("hive.server2.keystore.path", ""),
+    HIVE_SERVER2_SSL_KEYSTORE_PASSWORD("hive.server2.keystore.password", ""),
 
     HIVE_SECURITY_COMMAND_WHITELIST("hive.security.command.whitelist", "set,reset,dfs,add,delete,compile"),
 
@@ -834,7 +848,11 @@ public class HiveConf extends Configurat
     HIVE_RPC_QUERY_PLAN("hive.rpc.query.plan", false),
 
     // Whether to generate the splits locally or in the AM (tez only)
-    HIVE_AM_SPLIT_GENERATION("hive.compute.splits.in.am", true);
+      HIVE_AM_SPLIT_GENERATION("hive.compute.splits.in.am", true),
+
+    // none, idonly, traverse, execution
+    HIVESTAGEIDREARRANGE("hive.stageid.rearrange", "none"),
+    HIVEEXPLAINDEPENDENCYAPPENDTASKTYPES("hive.explain.dependency.append.tasktype", false),
     ;
 
     public final String varname;
@@ -1066,7 +1084,7 @@ public class HiveConf extends Configurat
 
   public static void setFloatVar(Configuration conf, ConfVars var, float val) {
     assert (var.valClass == Float.class) : var.varname;
-    ShimLoader.getHadoopShims().setFloatConf(conf, var.varname, val);
+    conf.setFloat(var.varname, val);
   }
 
   public float getFloatVar(ConfVars var) {

Modified: hive/branches/tez/common/src/java/org/apache/hive/common/util/HiveStringUtils.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/common/src/java/org/apache/hive/common/util/HiveStringUtils.java?rev=1541190&r1=1541189&r2=1541190&view=diff
==============================================================================
--- hive/branches/tez/common/src/java/org/apache/hive/common/util/HiveStringUtils.java (original)
+++ hive/branches/tez/common/src/java/org/apache/hive/common/util/HiveStringUtils.java Tue Nov 12 18:23:05 2013
@@ -39,6 +39,7 @@ import java.util.StringTokenizer;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hive.common.classification.InterfaceAudience;
 import org.apache.hadoop.hive.common.classification.InterfaceStability;
+import org.apache.hadoop.io.Text;
 
 /**
  * HiveStringUtils
@@ -807,4 +808,22 @@ public class HiveStringUtils {
     return sb.toString();
   }
 
+  /**
+   * Checks if b is the first byte of a UTF-8 character.
+   *
+   */
+  public static boolean isUtfStartByte(byte b) {
+    return (b & 0xC0) != 0x80;
+  }
+
+  public static int getTextUtfLength(Text t) {
+    byte[] data = t.getBytes();
+    int len = 0;
+    for (int i = 0; i < t.getLength(); i++) {
+      if (isUtfStartByte(data[i])) {
+        len++;
+      }
+    }
+    return len;
+  }
 }