-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/33171/
-----------------------------------------------------------

(Updated April 16, 2015, 9:38 p.m.)


Review request for hive, Ashutosh Chauhan, Szehon Ho, and Xuefu Zhang.


Changes
-------

Missed a couple of changed files. Added.


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 e138800 
  ql/src/java/org/apache/hadoop/hive/ql/parse/BaseSemanticAnalyzer.java 19234b5 
  ql/src/java/org/apache/hadoop/hive/ql/parse/ColumnStatsSemanticAnalyzer.java 
e8066be 
  ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java 8302067 
  ql/src/test/queries/clientpositive/alter_partition_coltype.q 8c9945c 
  ql/src/test/queries/clientpositive/partition_coltype_literals.q PRE-CREATION 
  ql/src/test/queries/clientpositive/partition_type_check.q c9bca99 
  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_coltype_literals.q.out 
PRE-CREATION 
  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

Reply via email to