You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Syam (JIRA)" <ji...@apache.org> on 2017/11/05 20:23:00 UTC

[jira] [Created] (HIVE-17984) getMaxLength is not returning the previously set length in ORC file

Syam created HIVE-17984:
---------------------------

             Summary: getMaxLength is not returning the previously set length in ORC file
                 Key: HIVE-17984
                 URL: https://issues.apache.org/jira/browse/HIVE-17984
             Project: Hive
          Issue Type: Bug
          Components: Hive, ORC
         Environment: tested it against hive-exec 2.1
            Reporter: Syam


getMaxLength is not returning the correct length for char/varchar datatypes.
I see that getMaxLength is returning 255 for CHAR type and 65535 for VARCHAR type.
When I checked the same file using orcfiledump utility, I could see the correct lengths.

Here is the snippet the code:

 Reader _reader = OrcFile.createReader(new Path(_fileName),OrcFile.readerOptions(conf).filesystem(fs)) ;
      TypeDescription metarec = _reader.getSchema() ;
      List <TypeDescription> cols = metarec.getChildren();
      List <String> colNames = metarec.getFieldNames();
      for (int i=0; i < cols.size(); i++)
      {
          TypeDescription fieldSchema = cols.get(i);

          switch (fieldSchema.getCategory())
          {
           case CHAR:
             header += "char(" + fieldSchema.getMaxLength() + ")" ;
             break;
           ----------			 
		   ----------
		   }
	  }

Please let me know your pointers please.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)