Jdurham2843 commented on a change in pull request #243: URL: https://github.com/apache/solr/pull/243#discussion_r702335793
########## File path: solr/solrj/src/java/org/apache/solr/client/solrj/io/Tuple.java ########## @@ -87,10 +87,20 @@ public Tuple(String k1, Object v1, String k2, Object v2) { * @param fields map containing keys and values to be copied to this tuple */ public Tuple(Map<String, ?> fields) { - // TODO Use bulk putAll operation that will properly size the map - // https://issues.apache.org/jira/browse/SOLR-15480 - for (Map.Entry<String, ?> entry : fields.entrySet()) { - put(entry.getKey(), entry.getValue()); + putAll(fields); + } + + /** + * A copy constructor + * @param original Tuple that will be copied + */ + public Tuple(Tuple original) { + this.putAll(original.fields); + if (original.fieldNames != null) { + this.fieldNames = new ArrayList<>(original.fieldNames); + } + if (original.fieldLabels != null) { + this.fieldLabels = new HashMap<>(original.fieldLabels); Review comment: I thought about the case where we rename `other.fieldNames` on collision, but I'm not sure where we would call them since the only real "identifier" that `Tuple`'s would have would be either their position (this || other) or there java object reference. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org For additional commands, e-mail: issues-h...@solr.apache.org