You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by al...@apache.org on 2020/03/05 00:24:49 UTC

[beam] branch master updated: [BEAM-9360] Fix equivalence check for FieldType

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

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


The following commit(s) were added to refs/heads/master by this push:
     new d68d433  [BEAM-9360] Fix equivalence check for FieldType
     new 8d253ac  Merge pull request #10943 from [BEAM-9360] Fix equivalence check for FieldType
d68d433 is described below

commit d68d433fcfde22ee1b8159130c33d4b0c50fe38d
Author: Jozef Vilcek <jv...@zetaglobal.com>
AuthorDate: Sat Feb 22 10:03:53 2020 +0100

    [BEAM-9360] Fix equivalence check for FieldType
---
 .../main/java/org/apache/beam/sdk/schemas/Schema.java    |  3 ---
 .../java/org/apache/beam/sdk/schemas/SchemaTest.java     | 16 ++++++++++++++++
 2 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/schemas/Schema.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/schemas/Schema.java
index fc6eb5e..2ca53bd 100644
--- a/sdks/java/core/src/main/java/org/apache/beam/sdk/schemas/Schema.java
+++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/schemas/Schema.java
@@ -815,9 +815,6 @@ public class Schema implements Serializable {
       if (!getTypeName().equals(other.getTypeName())) {
         return false;
       }
-      if (!Objects.equals(getMetadata(), other.getMetadata())) {
-        return false;
-      }
 
       switch (getTypeName()) {
         case ROW:
diff --git a/sdks/java/core/src/test/java/org/apache/beam/sdk/schemas/SchemaTest.java b/sdks/java/core/src/test/java/org/apache/beam/sdk/schemas/SchemaTest.java
index 1369f59..cc47678 100644
--- a/sdks/java/core/src/test/java/org/apache/beam/sdk/schemas/SchemaTest.java
+++ b/sdks/java/core/src/test/java/org/apache/beam/sdk/schemas/SchemaTest.java
@@ -237,6 +237,22 @@ public class SchemaTest {
   }
 
   @Test
+  public void testFieldsWithDifferentMetadataAreEquivalent() {
+    Field foo = Field.of("foo", FieldType.STRING);
+    Field fooWithMetadata = Field.of("foo", FieldType.STRING.withMetadata("key", "value"));
+
+    Schema schema1 = Schema.builder().addField(foo).build();
+    Schema schema2 = Schema.builder().addField(foo).build();
+    assertEquals(schema1, schema2);
+    assertTrue(schema1.equivalent(schema2));
+
+    schema1 = Schema.builder().addField(foo).build();
+    schema2 = Schema.builder().addField(fooWithMetadata).build();
+    assertNotEquals(schema1, schema2);
+    assertTrue(schema1.equivalent(schema2));
+  }
+
+  @Test
   public void testNestedNotEquivalent() {
     Schema nestedSchema1 = Schema.builder().addInt64Field("foo").build();
     Schema nestedSchema2 = Schema.builder().addStringField("foo").build();