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();