You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@orc.apache.org by "Yiqun Zhang (Jira)" <ji...@apache.org> on 2021/08/03 13:20:00 UTC

[jira] [Created] (ORC-904) Optimize userMetadata data structure to avoid traversal

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)