Skip to content
This repository was archived by the owner on Feb 24, 2026. It is now read-only.

Commit fb57909

Browse files
authored
fix: BQTableSchemaToProtoDescriptor setting of FieldOption. (#2743)
This is to unblock protocol buffer version updates.
1 parent 857c751 commit fb57909

1 file changed

Lines changed: 8 additions & 8 deletions

File tree

google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1/BQTableSchemaToProtoDescriptor.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
import com.google.protobuf.Descriptors;
2727
import com.google.protobuf.Descriptors.Descriptor;
2828
import com.google.protobuf.Descriptors.FileDescriptor;
29-
import com.google.protobuf.ExtensionLite;
29+
import com.google.protobuf.Message;
3030
import java.util.ArrayList;
3131
import java.util.HashMap;
3232
import java.util.List;
@@ -217,13 +217,13 @@ private static FieldDescriptorProto convertBQTableFieldToProtoField(
217217
// Sets columnName annotation when field name is not proto comptaible.
218218
if (!BigQuerySchemaUtil.isProtoCompatible(fieldName)) {
219219
fieldDescriptor.setName(BigQuerySchemaUtil.generatePlaceholderFieldName(fieldName));
220-
fieldDescriptor.setOptions(
221-
FieldOptions.newBuilder()
222-
.setExtension(
223-
(ExtensionLite<FieldOptions, String>) AnnotationsProto.columnName,
224-
// Remove ExtensionLite after protobuf linkage error is resolved.
225-
fieldName)
226-
.build());
220+
221+
// The following work around (instead of setting FieldOptions directly) for when
222+
// FieldOptions.Builder changes from GeneratedMessageV3 in 3.25 to GeneratedMessage in 4.28 as
223+
// it no longer depends on FieldOptions.
224+
Message.Builder fieldOptionBuilder = FieldOptions.newBuilder();
225+
fieldOptionBuilder.setField(AnnotationsProto.columnName.getDescriptor(), fieldName);
226+
fieldDescriptor.setOptions((FieldOptions) fieldOptionBuilder.build());
227227
}
228228
return fieldDescriptor.build();
229229
}

0 commit comments

Comments
 (0)