Skip to content

Commit b9e96e3

Browse files
fix: null field mode inconsistency (#2863)
* fix: null field mode inconsistency * chore: update null field mode test name --------- Co-authored-by: PhongChuong <[email protected]>
1 parent e1de34f commit b9e96e3

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/Field.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ public Builder setType(StandardSQLTypeName type, FieldList subFields) {
201201

202202
/** Sets the mode of the field. When not specified {@link Mode#NULLABLE} is used. */
203203
public Builder setMode(Mode mode) {
204-
this.mode = mode != null ? mode.name() : Data.<String>nullOf(String.class);
204+
this.mode = mode != null ? mode.name() : null;
205205
return this;
206206
}
207207

google-cloud-bigquery/src/test/java/com/google/cloud/bigquery/FieldTest.java

+12
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ public class FieldTest {
3030
private static final String FIELD_NAME1 = "StringField";
3131
private static final String FIELD_NAME2 = "IntegerField";
3232
private static final String FIELD_NAME3 = "RecordField";
33+
private static final String FIELD_NAME4 = "NullModeField";
34+
private static final String FIELD_NAME5 = "NullModeField2";
3335
private static final LegacySQLTypeName FIELD_TYPE1 = LegacySQLTypeName.STRING;
3436
private static final LegacySQLTypeName FIELD_TYPE2 = LegacySQLTypeName.INTEGER;
3537
private static final StandardSQLTypeName FIELD_TYPE1_STANDARD = StandardSQLTypeName.STRING;
@@ -79,6 +81,10 @@ public class FieldTest {
7981
.setMode(FIELD_MODE3)
8082
.setDescription(FIELD_DESCRIPTION3)
8183
.build();
84+
private static final Field STANDARD_FIELD_SCHEMA4 =
85+
Field.newBuilder(FIELD_NAME4, StandardSQLTypeName.INT64).setMode(null).build();
86+
private static final Field STANDARD_FIELD_SCHEMA5 =
87+
Field.newBuilder(FIELD_NAME5, StandardSQLTypeName.STRING).build();
8288

8389
@Test
8490
public void testToBuilder() {
@@ -96,6 +102,8 @@ public void testToBuilderWithStandardSQLTypeName() {
96102
compareFieldSchemas(STANDARD_FIELD_SCHEMA1, STANDARD_FIELD_SCHEMA1.toBuilder().build());
97103
compareFieldSchemas(STANDARD_FIELD_SCHEMA2, STANDARD_FIELD_SCHEMA2.toBuilder().build());
98104
compareFieldSchemas(STANDARD_FIELD_SCHEMA3, STANDARD_FIELD_SCHEMA3.toBuilder().build());
105+
compareFieldSchemas(STANDARD_FIELD_SCHEMA4, STANDARD_FIELD_SCHEMA4.toBuilder().build());
106+
compareFieldSchemas(STANDARD_FIELD_SCHEMA5, STANDARD_FIELD_SCHEMA5.toBuilder().build());
99107
Field field = STANDARD_FIELD_SCHEMA1.toBuilder().setDescription("New Description").build();
100108
assertEquals("New Description", field.getDescription());
101109
field = field.toBuilder().setDescription(FIELD_DESCRIPTION1).build();
@@ -162,6 +170,8 @@ public void testBuilderWithStandardSQLTypeName() {
162170
assertEquals(FIELD_TYPE3, STANDARD_FIELD_SCHEMA3.getType());
163171
assertEquals(FIELD_MODE3, STANDARD_FIELD_SCHEMA3.getMode());
164172
assertEquals(FIELD_DESCRIPTION3, STANDARD_FIELD_SCHEMA3.getDescription());
173+
assertEquals(null, STANDARD_FIELD_SCHEMA4.getMode());
174+
assertEquals(null, STANDARD_FIELD_SCHEMA5.getMode());
165175
assertEquals(
166176
FieldList.of(STANDARD_FIELD_SCHEMA1, STANDARD_FIELD_SCHEMA2),
167177
STANDARD_FIELD_SCHEMA3.getSubFields());
@@ -181,6 +191,8 @@ public void testToAndFromPbWithStandardSQLTypeName() {
181191
compareFieldSchemas(STANDARD_FIELD_SCHEMA1, Field.fromPb(STANDARD_FIELD_SCHEMA1.toPb()));
182192
compareFieldSchemas(STANDARD_FIELD_SCHEMA2, Field.fromPb(STANDARD_FIELD_SCHEMA2.toPb()));
183193
compareFieldSchemas(STANDARD_FIELD_SCHEMA3, Field.fromPb(STANDARD_FIELD_SCHEMA3.toPb()));
194+
compareFieldSchemas(STANDARD_FIELD_SCHEMA4, Field.fromPb(STANDARD_FIELD_SCHEMA4.toPb()));
195+
compareFieldSchemas(STANDARD_FIELD_SCHEMA5, Field.fromPb(STANDARD_FIELD_SCHEMA5.toPb()));
184196
Field field = Field.newBuilder(FIELD_NAME1, FIELD_TYPE1).build();
185197
compareFieldSchemas(field, Field.fromPb(field.toPb()));
186198
}

0 commit comments

Comments
 (0)