sql_utils/public/annotation.proto (43 lines of code) (raw):
//
// Copyright 2023 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
//
// http://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 = "proto2";
package bigquery_ml_utils;
import "sql_utils/public/simple_value.proto";
option cc_enable_arenas = true;
// Map entry from AnnotationSpec ID to AnnotationValue.
message AnnotationProto {
// Key for the map entry.
optional int64 id = 1;
// Value of the map entry.
optional SimpleValueProto value = 2;
}
// This represents the serialized form of the annotation map for
// bigquery_ml_utils::AnnotatedType.
message AnnotationMapProto {
// Indicates that an element of array or a field of struct is null. In
// ArrayAnnotationMap and StructAnnotationMap class, a null element/field
// indicates that the AnnotationMap for the element/field (and all its
// children if applicable) is empty.
// <is_null> can only be true for struct field or array element, or an error
// is throw during deserialization. If <is_null> is true, the rest of this
// proto is ignored.
optional bool is_null = 4;
repeated AnnotationProto annotations = 1;
// If AnnotatedType is a complex type, then exactly one of the two
// fields will be populated.
optional AnnotationMapProto array_element = 2;
repeated AnnotationMapProto struct_fields = 3;
}