-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/33171/
-----------------------------------------------------------
(Updated April 27, 2015, 6:34 p.m.)
Review request for hive, Ashutosh Chauhan, Szehon Ho, and Xuefu Zhang.
Changes
-------
Updated archive_partspec1.q.out to reflect the test output change after
rebasing to today's code.
Bugs: HIVE-10307
https://issues.apache.org/jira/browse/HIVE-10307
Repository: hive-git
Description
-------
Data types like TinyInt, SmallInt, BigInt or Decimal can be expressed as
literals with postfix like Y, S, L, or BD appended to the number. These
literals work in most Hive queries, but do not when they are used as partition
column value. This patch is to address the issue of number literals used in
partition specification.
Highlights of the changes:
1. Validate, convert and normalize the partVal in partSpec to match its column
type when hive.partition.check.column.type is set to true (default). It not
only applies to opertion insert which used to be controlled by
"hive.typecheck.on.insert", but also for other partition operations (e.g. alter
table .. partition, partition statistics etc). The hive.typecheck.on.insert is
now removed.
2. Convert and normalize legacy partition column data by using alter table
partition .. rename with hive.partition.check.old.column.type.in.rename set to
true. this property only allows the partVal in old PartSpec to skip the type
check, conversion in partition rename.
Diffs (updated)
-----
common/src/java/org/apache/hadoop/hive/conf/HiveConf.java c9ee423
ql/src/java/org/apache/hadoop/hive/ql/parse/BaseSemanticAnalyzer.java f49ad0c
ql/src/java/org/apache/hadoop/hive/ql/parse/ColumnStatsSemanticAnalyzer.java
e8066be
ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java 76a0eee
ql/src/test/queries/clientpositive/alter_partition_coltype.q 8c9945c
ql/src/test/results/clientnegative/archive_partspec1.q.out da4817c
ql/src/test/results/clientnegative/archive_partspec5.q.out c18de52
ql/src/test/results/clientpositive/partition_timestamp.q.out bc6ab10
ql/src/test/results/clientpositive/partition_timestamp2.q.out 365df69
Diff: https://reviews.apache.org/r/33171/diff/
Testing
-------
1. Manaully tests covering various number literals (Y, S, L, BD)
2. new qfile test (partition_coltype_literals.q)
3. Precommit build
Thanks,
Chaoyu Tang