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)