// Copyright 2022 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // https://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. syntax = "proto3"; import "google/protobuf/wrappers.proto"; package testdata; option go_package = "cloud.google.com/go/bigquery/storage/managedwriter/testdata"; enum Proto3ExampleEnum { P3_UNDEFINED = 0; P3_THING = 1; P3_OTHER_THING = 2; P3_THIRD_THING = 3; } // Validation message in proto3 syntax with default value behavior. message ValidationP3Defaults { double double_field = 1; float float_field = 2; int32 int32_field = 3; int64 int64_field = 4; uint32 uint32_field = 5; //uint64 uint64_field = 6; sint32 sint32_field = 7; sint64 sint64_field = 8; fixed32 fixed32_field = 9; //fixed64 fixed64_field = 10; sfixed32 sfixed32_field = 11; sfixed64 sfixed64_field = 12; bool bool_field = 13; string string_field = 14; bytes bytes_field = 15; Proto3ExampleEnum enum_field = 16; } // Validation message in proto2 syntax with field presence via optional keyword. message ValidationP3Optional { optional double double_field = 1; optional float float_field = 2; optional int32 int32_field = 3; optional int64 int64_field = 4; optional uint32 uint32_field = 5; //optional uint64 uint64_field = 6; optional sint32 sint32_field = 7; optional sint64 sint64_field = 8; optional fixed32 fixed32_field = 9; //optional fixed64 fixed64_field = 10; optional sfixed32 sfixed32_field = 11; optional sfixed64 sfixed64_field = 12; optional bool bool_field = 13; optional string string_field = 14; optional bytes bytes_field = 15; optional Proto3ExampleEnum enum_field = 16; } // Validation message in proto2 syntax with all well-known // wraper types. // Note: There are no well-known sint/fixed/sfixed. message ValidationP3Wrappers { google.protobuf.DoubleValue double_field = 1; google.protobuf.FloatValue float_field = 2; google.protobuf.Int32Value int32_field = 3; google.protobuf.Int64Value int64_field = 4; google.protobuf.UInt32Value uint32_field = 5; //google.protobuf.UInt64Value uint64_field = 6; sint32 sint32_field = 7; sint64 sint64_field = 8; fixed32 fixed32_field = 9; //fixed64 fixed64_field = 10; sfixed32 sfixed32_field = 11; sfixed64 sfixed64_field = 12; google.protobuf.BoolValue bool_field = 13; google.protobuf.StringValue string_field = 14; google.protobuf.BytesValue bytes_field = 15; Proto3ExampleEnum enum_field = 16; } // Validating the behavior of packed repeated scalar values. // Proto3 behavior is to pack values by default. message ValidationP3PackedRepeated { optional int64 id = 1; repeated double double_repeated = 2; repeated float float_repeated = 3; repeated int32 int32_repeated = 4; repeated int64 int64_repeated = 5; repeated uint32 uint32_repeated = 6; repeated sint32 sint32_repeated = 7; repeated sint64 sint64_repeated = 8; repeated fixed32 fixed32_repeated = 9; repeated sfixed32 sfixed32_repeated = 10; repeated sfixed64 sfixed64_repeated = 11; repeated bool bool_repeated = 12; repeated Proto3ExampleEnum enum_repeated = 13; }