[ https://issues.apache.org/jira/browse/HIVE-16890?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Naveen Gangam updated HIVE-16890: --------------------------------- Attachment: HIVE-16890.1.patch > 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: Naveen Gangam > 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)