This is an automated email from the ASF dual-hosted git repository.

blue pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iceberg.git


The following commit(s) were added to refs/heads/master by this push:
     new 5d7f5cd  Hive: Use fixed IDs in TestIcebergObjectInspector (#1157)
5d7f5cd is described below

commit 5d7f5cdacd9f8e3fb069ed65dcde635b6a97b90c
Author: Adrien Guillo <[email protected]>
AuthorDate: Thu Jul 2 09:52:05 2020 -0700

    Hive: Use fixed IDs in TestIcebergObjectInspector (#1157)
---
 .../TestIcebergObjectInspector.java                | 82 ++++++++++------------
 1 file changed, 36 insertions(+), 46 deletions(-)

diff --git 
a/mr/src/test/java/org/apache/iceberg/mr/mapred/serde/objectinspector/TestIcebergObjectInspector.java
 
b/mr/src/test/java/org/apache/iceberg/mr/mapred/serde/objectinspector/TestIcebergObjectInspector.java
index 908c9db..1cc345b 100644
--- 
a/mr/src/test/java/org/apache/iceberg/mr/mapred/serde/objectinspector/TestIcebergObjectInspector.java
+++ 
b/mr/src/test/java/org/apache/iceberg/mr/mapred/serde/objectinspector/TestIcebergObjectInspector.java
@@ -38,37 +38,33 @@ import static 
org.apache.iceberg.types.Types.NestedField.required;
 
 public class TestIcebergObjectInspector {
 
-  private int id = 0;
-
   private final Schema schema = new Schema(
-          required(id++, "binary_field", Types.BinaryType.get(), "binary 
comment"),
-          required(id++, "boolean_field", Types.BooleanType.get(), "boolean 
comment"),
-          required(id++, "date_field", Types.DateType.get(), "date comment"),
-          required(id++, "decimal_field", Types.DecimalType.of(38, 18), 
"decimal comment"),
-          required(id++, "double_field", Types.DoubleType.get(), "double 
comment"),
-          required(id++, "fixed_field", Types.FixedType.ofLength(3), "fixed 
comment"),
-          required(id++, "float_field", Types.FloatType.get(), "float 
comment"),
-          required(id++, "integer_field", Types.IntegerType.get(), "integer 
comment"),
-          required(id++, "long_field", Types.LongType.get(), "long comment"),
-          required(id++, "string_field", Types.StringType.get(), "string 
comment"),
-          required(id++, "timestamp_field", Types.TimestampType.withoutZone(), 
"timestamp comment"),
-          required(id++, "timestamptz_field", Types.TimestampType.withZone(), 
"timestamptz comment"),
-          required(id++, "uuid_field", Types.UUIDType.get(), "uuid comment"),
-          required(id++, "list_field",
-                  Types.ListType.ofRequired(id++, Types.StringType.get()), 
"list comment"),
-          required(id++, "map_field",
-                  Types.MapType.ofRequired(id++, id++, Types.StringType.get(), 
Types.IntegerType.get()),
+          required(1, "binary_field", Types.BinaryType.get(), "binary 
comment"),
+          required(2, "boolean_field", Types.BooleanType.get(), "boolean 
comment"),
+          required(3, "date_field", Types.DateType.get(), "date comment"),
+          required(4, "decimal_field", Types.DecimalType.of(38, 18), "decimal 
comment"),
+          required(5, "double_field", Types.DoubleType.get(), "double 
comment"),
+          required(6, "fixed_field", Types.FixedType.ofLength(3), "fixed 
comment"),
+          required(7, "float_field", Types.FloatType.get(), "float comment"),
+          required(8, "integer_field", Types.IntegerType.get(), "integer 
comment"),
+          required(9, "long_field", Types.LongType.get(), "long comment"),
+          required(10, "string_field", Types.StringType.get(), "string 
comment"),
+          required(11, "timestamp_field", Types.TimestampType.withoutZone(), 
"timestamp comment"),
+          required(12, "timestamptz_field", Types.TimestampType.withZone(), 
"timestamptz comment"),
+          required(13, "uuid_field", Types.UUIDType.get(), "uuid comment"),
+          required(14, "list_field",
+                  Types.ListType.ofRequired(15, Types.StringType.get()), "list 
comment"),
+          required(16, "map_field",
+                  Types.MapType.ofRequired(17, 18, Types.StringType.get(), 
Types.IntegerType.get()),
                   "map comment"),
-          required(id++, "struct_field", Types.StructType.of(
-                  Types.NestedField.required(id++, "nested_field", 
Types.StringType.get(), "nested field comment")),
+          required(19, "struct_field", Types.StructType.of(
+                  Types.NestedField.required(20, "nested_field", 
Types.StringType.get(), "nested field comment")),
                   "struct comment"
           )
   );
 
   @Test
   public void testIcebergObjectInspector() {
-    int fieldId = 0;
-
     ObjectInspector oi = IcebergObjectInspector.create(schema);
     Assert.assertNotNull(oi);
     Assert.assertEquals(ObjectInspector.Category.STRUCT, oi.getCategory());
@@ -77,123 +73,117 @@ public class TestIcebergObjectInspector {
 
     // binary
     StructField binaryField = soi.getStructFieldRef("binary_field");
-    Assert.assertEquals(fieldId++, binaryField.getFieldID());
+    Assert.assertEquals(1, binaryField.getFieldID());
     Assert.assertEquals("binary_field", binaryField.getFieldName());
     Assert.assertEquals("binary comment", binaryField.getFieldComment());
     Assert.assertEquals(IcebergBinaryObjectInspector.byteBuffer(), 
binaryField.getFieldObjectInspector());
 
     // boolean
     StructField booleanField = soi.getStructFieldRef("boolean_field");
-    Assert.assertEquals(fieldId++, booleanField.getFieldID());
+    Assert.assertEquals(2, booleanField.getFieldID());
     Assert.assertEquals("boolean_field", booleanField.getFieldName());
     Assert.assertEquals("boolean comment", booleanField.getFieldComment());
     Assert.assertEquals(getPrimitiveObjectInspector(boolean.class), 
booleanField.getFieldObjectInspector());
 
     // date
     StructField dateField = soi.getStructFieldRef("date_field");
-    Assert.assertEquals(fieldId++, dateField.getFieldID());
+    Assert.assertEquals(3, dateField.getFieldID());
     Assert.assertEquals("date_field", dateField.getFieldName());
     Assert.assertEquals("date comment", dateField.getFieldComment());
     Assert.assertEquals(IcebergDateObjectInspector.get(), 
dateField.getFieldObjectInspector());
 
     // decimal
     StructField decimalField = soi.getStructFieldRef("decimal_field");
-    Assert.assertEquals(fieldId++, decimalField.getFieldID());
+    Assert.assertEquals(4, decimalField.getFieldID());
     Assert.assertEquals("decimal_field", decimalField.getFieldName());
     Assert.assertEquals("decimal comment", decimalField.getFieldComment());
     Assert.assertEquals(IcebergDecimalObjectInspector.get(38, 18), 
decimalField.getFieldObjectInspector());
 
     // double
     StructField doubleField = soi.getStructFieldRef("double_field");
-    Assert.assertEquals(fieldId++, doubleField.getFieldID());
+    Assert.assertEquals(5, doubleField.getFieldID());
     Assert.assertEquals("double_field", doubleField.getFieldName());
     Assert.assertEquals("double comment", doubleField.getFieldComment());
     Assert.assertEquals(getPrimitiveObjectInspector(double.class), 
doubleField.getFieldObjectInspector());
 
     // fixed
     StructField fixedField = soi.getStructFieldRef("fixed_field");
-    Assert.assertEquals(fieldId++, fixedField.getFieldID());
+    Assert.assertEquals(6, fixedField.getFieldID());
     Assert.assertEquals("fixed_field", fixedField.getFieldName());
     Assert.assertEquals("fixed comment", fixedField.getFieldComment());
     Assert.assertEquals(IcebergBinaryObjectInspector.byteArray(), 
fixedField.getFieldObjectInspector());
 
     // float
     StructField floatField = soi.getStructFieldRef("float_field");
-    Assert.assertEquals(fieldId++, floatField.getFieldID());
+    Assert.assertEquals(7, floatField.getFieldID());
     Assert.assertEquals("float_field", floatField.getFieldName());
     Assert.assertEquals("float comment", floatField.getFieldComment());
     Assert.assertEquals(getPrimitiveObjectInspector(float.class), 
floatField.getFieldObjectInspector());
 
     // integer
     StructField integerField = soi.getStructFieldRef("integer_field");
-    Assert.assertEquals(fieldId++, integerField.getFieldID());
+    Assert.assertEquals(8, integerField.getFieldID());
     Assert.assertEquals("integer_field", integerField.getFieldName());
     Assert.assertEquals("integer comment", integerField.getFieldComment());
     Assert.assertEquals(getPrimitiveObjectInspector(int.class), 
integerField.getFieldObjectInspector());
 
     // long
     StructField longField = soi.getStructFieldRef("long_field");
-    Assert.assertEquals(fieldId++, longField.getFieldID());
+    Assert.assertEquals(9, longField.getFieldID());
     Assert.assertEquals("long_field", longField.getFieldName());
     Assert.assertEquals("long comment", longField.getFieldComment());
     Assert.assertEquals(getPrimitiveObjectInspector(long.class), 
longField.getFieldObjectInspector());
 
     // string
     StructField stringField = soi.getStructFieldRef("string_field");
-    Assert.assertEquals(fieldId++, stringField.getFieldID());
+    Assert.assertEquals(10, stringField.getFieldID());
     Assert.assertEquals("string_field", stringField.getFieldName());
     Assert.assertEquals("string comment", stringField.getFieldComment());
     Assert.assertEquals(getPrimitiveObjectInspector(String.class), 
stringField.getFieldObjectInspector());
 
     // timestamp without tz
     StructField timestampField = soi.getStructFieldRef("timestamp_field");
-    Assert.assertEquals(fieldId++, timestampField.getFieldID());
+    Assert.assertEquals(11, timestampField.getFieldID());
     Assert.assertEquals("timestamp_field", timestampField.getFieldName());
     Assert.assertEquals("timestamp comment", timestampField.getFieldComment());
     Assert.assertEquals(IcebergTimestampObjectInspector.get(false), 
timestampField.getFieldObjectInspector());
 
     // timestamp with tz
     StructField timestampTzField = soi.getStructFieldRef("timestamptz_field");
-    Assert.assertEquals(fieldId++, timestampTzField.getFieldID());
+    Assert.assertEquals(12, timestampTzField.getFieldID());
     Assert.assertEquals("timestamptz_field", timestampTzField.getFieldName());
     Assert.assertEquals("timestamptz comment", 
timestampTzField.getFieldComment());
     Assert.assertEquals(IcebergTimestampObjectInspector.get(true), 
timestampTzField.getFieldObjectInspector());
 
     // UUID
     StructField uuidField = soi.getStructFieldRef("uuid_field");
-    Assert.assertEquals(fieldId++, uuidField.getFieldID());
+    Assert.assertEquals(13, uuidField.getFieldID());
     Assert.assertEquals("uuid_field", uuidField.getFieldName());
     Assert.assertEquals("uuid comment", uuidField.getFieldComment());
     Assert.assertEquals(getPrimitiveObjectInspector(String.class), 
uuidField.getFieldObjectInspector());
 
     // list
     StructField listField = soi.getStructFieldRef("list_field");
-    Assert.assertEquals(fieldId++, listField.getFieldID());
+    Assert.assertEquals(14, listField.getFieldID());
     Assert.assertEquals("list_field", listField.getFieldName());
     Assert.assertEquals("list comment", listField.getFieldComment());
     Assert.assertEquals(getListObjectInspector(String.class), 
listField.getFieldObjectInspector());
 
-    // skip element id
-    fieldId++;
-
     // map
     StructField mapField = soi.getStructFieldRef("map_field");
-    Assert.assertEquals(fieldId++, mapField.getFieldID());
+    Assert.assertEquals(16, mapField.getFieldID());
     Assert.assertEquals("map_field", mapField.getFieldName());
     Assert.assertEquals("map comment", mapField.getFieldComment());
     Assert.assertEquals(getMapObjectInspector(String.class, int.class), 
mapField.getFieldObjectInspector());
 
-    // skip key and value ids
-    fieldId += 2;
-
     // struct
     StructField structField = soi.getStructFieldRef("struct_field");
-    Assert.assertEquals(fieldId, structField.getFieldID());
+    Assert.assertEquals(19, structField.getFieldID());
     Assert.assertEquals("struct_field", structField.getFieldName());
     Assert.assertEquals("struct comment", structField.getFieldComment());
 
     ObjectInspector expectedObjectInspector = new IcebergRecordObjectInspector(
-            (Types.StructType) schema.findType(fieldId), 
ImmutableList.of(getPrimitiveObjectInspector(String.class)));
+            (Types.StructType) schema.findType(19), 
ImmutableList.of(getPrimitiveObjectInspector(String.class)));
     Assert.assertEquals(expectedObjectInspector, 
structField.getFieldObjectInspector());
   }
 

Reply via email to