BELUGA BEHR created HIVE-16890:
----------------------------------
Summary: 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
Priority: Trivial
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)