Yiqun Zhang created ORC-904:
-------------------------------

             Summary: Optimize userMetadata data structure to avoid traversal
                 Key: ORC-904
                 URL: https://issues.apache.org/jira/browse/ORC-904
             Project: ORC
          Issue Type: Improvement
          Components: Java
            Reporter: Yiqun Zhang


ReaderImpl.java
{code:java}
  @Override
  public ByteBuffer getMetadataValue(String key) {
    for(OrcProto.UserMetadataItem item: userMetadata) {
      if (item.hasName() && item.getName().equals(key)) {
        return item.getValue().asReadOnlyByteBuffer();
      }
    }
    throw new IllegalArgumentException("Can't find user metadata " + key);
  }

  @Override
  public boolean hasMetadataValue(String key) {
    for(OrcProto.UserMetadataItem item: userMetadata) {
      if (item.hasName() && item.getName().equals(key)) {
        return true;
      }
    }
    return false;
  }
{code}
I think the data structure of userMetadata can be modified to map,  avoid 
traversal



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to