hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chaoyu Tang" <ctang...@gmail.com>
Subject Re: Review Request 33171: HIVE-10307:Support to use number literals in partition column
Date Mon, 27 Apr 2015 18:34:22 GMT

-----------------------------------------------------------
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


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message