kbendick commented on a change in pull request #1336:
URL: https://github.com/apache/iceberg/pull/1336#discussion_r479702671
##########
File path: api/src/main/java/org/apache/iceberg/types/IndexByName.java
##########
@@ -25,39 +25,64 @@
import org.apache.iceberg.Schema;
import org.apache.iceberg.exceptions.ValidationException;
import org.apache.iceberg.relocated.com.google.common.base.Joiner;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap;
import org.apache.iceberg.relocated.com.google.common.collect.Lists;
import org.apache.iceberg.relocated.com.google.common.collect.Maps;
public class IndexByName extends TypeUtil.SchemaVisitor<Map<String, Integer>> {
private static final Joiner DOT = Joiner.on(".");
private final Deque<String> fieldNames = Lists.newLinkedList();
+ private final Deque<String> shortFieldNames = Lists.newLinkedList();
private final Map<String, Integer> nameToId = Maps.newHashMap();
+ private final Map<String, Integer> shortNameToId = Maps.newHashMap();
+
+ public Map<String, Integer> byName() {
Review comment:
I think if the doc commented read something like `Short names for
maps.... For example.... will produce short name 'l.x' in addition to _the
canonical long name_ 'l.element.x'`
That small addition in the doc comment would clarify things pretty heavily
for me, but I might be biased as I've read the explanation of short vs long
names now. Overall I am in favor of the short names though as they feel much
more natural over `l.element.x`.
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]