[
https://issues.apache.org/jira/browse/HIVE-16890?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16274701#comment-16274701
]
Naveen Gangam commented on HIVE-16890:
--------------------------------------
The test failures seem unrelated to the patch. The prior build also has the
same failures and more. Will commit the fix shortly.
> org.apache.hadoop.hive.serde2.io.HiveVarcharWritable - Adds Superfluous
> Wrapper
> -------------------------------------------------------------------------------
>
> Key: HIVE-16890
> URL: https://issues.apache.org/jira/browse/HIVE-16890
> Project: Hive
> Issue Type: Improvement
> Components: Serializers/Deserializers
> Reporter: BELUGA BEHR
> Assignee: BELUGA BEHR
> Priority: Trivial
> Attachments: HIVE-16890.1.patch, HIVE-16890.1.patch,
> HIVE-16890.1.patch
>
>
> Class {{org.apache.hadoop.hive.serde2.io.HiveVarcharWritable}} creates a
> superfluous wrapper and then immediately unwraps it. Don't bother wrapping
> in this scenario.
> {code}
> public void set(HiveVarchar val, int len) {
> set(val.getValue(), len);
> }
> public void set(String val, int maxLength) {
> value.set(HiveBaseChar.enforceMaxLength(val, maxLength));
> }
> public HiveVarchar getHiveVarchar() {
> return new HiveVarchar(value.toString(), -1);
> }
> // Here calls getHiveVarchar() which creates a new HiveVarchar object with
> a string in it
> // The object is passed to set(HiveVarchar val, int len)
> // The string is pulled out
> public void enforceMaxLength(int maxLength) {
> // Might be possible to truncate the existing Text value, for now just do
> something simple.
> if (value.getLength()>maxLength && getCharacterLength()>maxLength)
> set(getHiveVarchar(), maxLength);
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)