Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-16890

org.apache.hadoop.hive.serde2.io.HiveVarcharWritable - Adds Superfluous Wrapper

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Trivial
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.0.0
    • Labels:
      None

      Description

      Class org.apache.hadoop.hive.serde2.io.HiveVarcharWritable creates a superfluous wrapper and then immediately unwraps it. Don't bother wrapping in this scenario.

        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);
        }
      

        Attachments

        1. HIVE-16890.1.patch
          0.9 kB
          David Mollitor
        2. HIVE-16890.1.patch
          0.9 kB
          Naveen Gangam
        3. HIVE-16890.1.patch
          0.9 kB
          Naveen Gangam

          Activity

            People

            • Assignee:
              belugabehr David Mollitor
              Reporter:
              belugabehr David Mollitor
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: