1// Copyright 2021 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// Code generated by protoc-gen-go. DO NOT EDIT.
16// versions:
17// 	protoc-gen-go v1.26.0
18// 	protoc        v3.12.2
19// source: google/spanner/v1/type.proto
20
21package spanner
22
23import (
24	reflect "reflect"
25	sync "sync"
26
27	_ "google.golang.org/genproto/googleapis/api/annotations"
28	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
29	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
30)
31
32const (
33	// Verify that this generated code is sufficiently up-to-date.
34	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
35	// Verify that runtime/protoimpl is sufficiently up-to-date.
36	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
37)
38
39// `TypeCode` is used as part of [Type][google.spanner.v1.Type] to
40// indicate the type of a Cloud Spanner value.
41//
42// Each legal value of a type can be encoded to or decoded from a JSON
43// value, using the encodings described below. All Cloud Spanner values can
44// be `null`, regardless of type; `null`s are always encoded as a JSON
45// `null`.
46type TypeCode int32
47
48const (
49	// Not specified.
50	TypeCode_TYPE_CODE_UNSPECIFIED TypeCode = 0
51	// Encoded as JSON `true` or `false`.
52	TypeCode_BOOL TypeCode = 1
53	// Encoded as `string`, in decimal format.
54	TypeCode_INT64 TypeCode = 2
55	// Encoded as `number`, or the strings `"NaN"`, `"Infinity"`, or
56	// `"-Infinity"`.
57	TypeCode_FLOAT64 TypeCode = 3
58	// Encoded as `string` in RFC 3339 timestamp format. The time zone
59	// must be present, and must be `"Z"`.
60	//
61	// If the schema has the column option
62	// `allow_commit_timestamp=true`, the placeholder string
63	// `"spanner.commit_timestamp()"` can be used to instruct the system
64	// to insert the commit timestamp associated with the transaction
65	// commit.
66	TypeCode_TIMESTAMP TypeCode = 4
67	// Encoded as `string` in RFC 3339 date format.
68	TypeCode_DATE TypeCode = 5
69	// Encoded as `string`.
70	TypeCode_STRING TypeCode = 6
71	// Encoded as a base64-encoded `string`, as described in RFC 4648,
72	// section 4.
73	TypeCode_BYTES TypeCode = 7
74	// Encoded as `list`, where the list elements are represented
75	// according to
76	// [array_element_type][google.spanner.v1.Type.array_element_type].
77	TypeCode_ARRAY TypeCode = 8
78	// Encoded as `list`, where list element `i` is represented according
79	// to [struct_type.fields[i]][google.spanner.v1.StructType.fields].
80	TypeCode_STRUCT TypeCode = 9
81	// Encoded as `string`, in decimal format or scientific notation format.
82	// <br>Decimal format:
83	// <br>`[+-]Digits[.[Digits]]` or
84	// <br>`[+-][Digits].Digits`
85	//
86	// Scientific notation:
87	// <br>`[+-]Digits[.[Digits]][ExponentIndicator[+-]Digits]` or
88	// <br>`[+-][Digits].Digits[ExponentIndicator[+-]Digits]`
89	// <br>(ExponentIndicator is `"e"` or `"E"`)
90	TypeCode_NUMERIC TypeCode = 10
91	// Encoded as a JSON-formatted 'string' as described in RFC 7159. The
92	// following rules will be applied when parsing JSON input:
93	// - Whitespace will be stripped from the document.
94	// - If a JSON object has duplicate keys, only the first key will be
95	//   preserved.
96	// - Members of a JSON object are not guaranteed to have their order
97	//   preserved. JSON array elements will have their order preserved.
98	TypeCode_JSON TypeCode = 11
99)
100
101// Enum value maps for TypeCode.
102var (
103	TypeCode_name = map[int32]string{
104		0:  "TYPE_CODE_UNSPECIFIED",
105		1:  "BOOL",
106		2:  "INT64",
107		3:  "FLOAT64",
108		4:  "TIMESTAMP",
109		5:  "DATE",
110		6:  "STRING",
111		7:  "BYTES",
112		8:  "ARRAY",
113		9:  "STRUCT",
114		10: "NUMERIC",
115		11: "JSON",
116	}
117	TypeCode_value = map[string]int32{
118		"TYPE_CODE_UNSPECIFIED": 0,
119		"BOOL":                  1,
120		"INT64":                 2,
121		"FLOAT64":               3,
122		"TIMESTAMP":             4,
123		"DATE":                  5,
124		"STRING":                6,
125		"BYTES":                 7,
126		"ARRAY":                 8,
127		"STRUCT":                9,
128		"NUMERIC":               10,
129		"JSON":                  11,
130	}
131)
132
133func (x TypeCode) Enum() *TypeCode {
134	p := new(TypeCode)
135	*p = x
136	return p
137}
138
139func (x TypeCode) String() string {
140	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
141}
142
143func (TypeCode) Descriptor() protoreflect.EnumDescriptor {
144	return file_google_spanner_v1_type_proto_enumTypes[0].Descriptor()
145}
146
147func (TypeCode) Type() protoreflect.EnumType {
148	return &file_google_spanner_v1_type_proto_enumTypes[0]
149}
150
151func (x TypeCode) Number() protoreflect.EnumNumber {
152	return protoreflect.EnumNumber(x)
153}
154
155// Deprecated: Use TypeCode.Descriptor instead.
156func (TypeCode) EnumDescriptor() ([]byte, []int) {
157	return file_google_spanner_v1_type_proto_rawDescGZIP(), []int{0}
158}
159
160// `Type` indicates the type of a Cloud Spanner value, as might be stored in a
161// table cell or returned from an SQL query.
162type Type struct {
163	state         protoimpl.MessageState
164	sizeCache     protoimpl.SizeCache
165	unknownFields protoimpl.UnknownFields
166
167	// Required. The [TypeCode][google.spanner.v1.TypeCode] for this type.
168	Code TypeCode `protobuf:"varint,1,opt,name=code,proto3,enum=google.spanner.v1.TypeCode" json:"code,omitempty"`
169	// If [code][google.spanner.v1.Type.code] == [ARRAY][google.spanner.v1.TypeCode.ARRAY], then `array_element_type`
170	// is the type of the array elements.
171	ArrayElementType *Type `protobuf:"bytes,2,opt,name=array_element_type,json=arrayElementType,proto3" json:"array_element_type,omitempty"`
172	// If [code][google.spanner.v1.Type.code] == [STRUCT][google.spanner.v1.TypeCode.STRUCT], then `struct_type`
173	// provides type information for the struct's fields.
174	StructType *StructType `protobuf:"bytes,3,opt,name=struct_type,json=structType,proto3" json:"struct_type,omitempty"`
175}
176
177func (x *Type) Reset() {
178	*x = Type{}
179	if protoimpl.UnsafeEnabled {
180		mi := &file_google_spanner_v1_type_proto_msgTypes[0]
181		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
182		ms.StoreMessageInfo(mi)
183	}
184}
185
186func (x *Type) String() string {
187	return protoimpl.X.MessageStringOf(x)
188}
189
190func (*Type) ProtoMessage() {}
191
192func (x *Type) ProtoReflect() protoreflect.Message {
193	mi := &file_google_spanner_v1_type_proto_msgTypes[0]
194	if protoimpl.UnsafeEnabled && x != nil {
195		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
196		if ms.LoadMessageInfo() == nil {
197			ms.StoreMessageInfo(mi)
198		}
199		return ms
200	}
201	return mi.MessageOf(x)
202}
203
204// Deprecated: Use Type.ProtoReflect.Descriptor instead.
205func (*Type) Descriptor() ([]byte, []int) {
206	return file_google_spanner_v1_type_proto_rawDescGZIP(), []int{0}
207}
208
209func (x *Type) GetCode() TypeCode {
210	if x != nil {
211		return x.Code
212	}
213	return TypeCode_TYPE_CODE_UNSPECIFIED
214}
215
216func (x *Type) GetArrayElementType() *Type {
217	if x != nil {
218		return x.ArrayElementType
219	}
220	return nil
221}
222
223func (x *Type) GetStructType() *StructType {
224	if x != nil {
225		return x.StructType
226	}
227	return nil
228}
229
230// `StructType` defines the fields of a [STRUCT][google.spanner.v1.TypeCode.STRUCT] type.
231type StructType struct {
232	state         protoimpl.MessageState
233	sizeCache     protoimpl.SizeCache
234	unknownFields protoimpl.UnknownFields
235
236	// The list of fields that make up this struct. Order is
237	// significant, because values of this struct type are represented as
238	// lists, where the order of field values matches the order of
239	// fields in the [StructType][google.spanner.v1.StructType]. In turn, the order of fields
240	// matches the order of columns in a read request, or the order of
241	// fields in the `SELECT` clause of a query.
242	Fields []*StructType_Field `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty"`
243}
244
245func (x *StructType) Reset() {
246	*x = StructType{}
247	if protoimpl.UnsafeEnabled {
248		mi := &file_google_spanner_v1_type_proto_msgTypes[1]
249		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
250		ms.StoreMessageInfo(mi)
251	}
252}
253
254func (x *StructType) String() string {
255	return protoimpl.X.MessageStringOf(x)
256}
257
258func (*StructType) ProtoMessage() {}
259
260func (x *StructType) ProtoReflect() protoreflect.Message {
261	mi := &file_google_spanner_v1_type_proto_msgTypes[1]
262	if protoimpl.UnsafeEnabled && x != nil {
263		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
264		if ms.LoadMessageInfo() == nil {
265			ms.StoreMessageInfo(mi)
266		}
267		return ms
268	}
269	return mi.MessageOf(x)
270}
271
272// Deprecated: Use StructType.ProtoReflect.Descriptor instead.
273func (*StructType) Descriptor() ([]byte, []int) {
274	return file_google_spanner_v1_type_proto_rawDescGZIP(), []int{1}
275}
276
277func (x *StructType) GetFields() []*StructType_Field {
278	if x != nil {
279		return x.Fields
280	}
281	return nil
282}
283
284// Message representing a single field of a struct.
285type StructType_Field struct {
286	state         protoimpl.MessageState
287	sizeCache     protoimpl.SizeCache
288	unknownFields protoimpl.UnknownFields
289
290	// The name of the field. For reads, this is the column name. For
291	// SQL queries, it is the column alias (e.g., `"Word"` in the
292	// query `"SELECT 'hello' AS Word"`), or the column name (e.g.,
293	// `"ColName"` in the query `"SELECT ColName FROM Table"`). Some
294	// columns might have an empty name (e.g., `"SELECT
295	// UPPER(ColName)"`). Note that a query result can contain
296	// multiple fields with the same name.
297	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
298	// The type of the field.
299	Type *Type `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
300}
301
302func (x *StructType_Field) Reset() {
303	*x = StructType_Field{}
304	if protoimpl.UnsafeEnabled {
305		mi := &file_google_spanner_v1_type_proto_msgTypes[2]
306		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
307		ms.StoreMessageInfo(mi)
308	}
309}
310
311func (x *StructType_Field) String() string {
312	return protoimpl.X.MessageStringOf(x)
313}
314
315func (*StructType_Field) ProtoMessage() {}
316
317func (x *StructType_Field) ProtoReflect() protoreflect.Message {
318	mi := &file_google_spanner_v1_type_proto_msgTypes[2]
319	if protoimpl.UnsafeEnabled && x != nil {
320		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
321		if ms.LoadMessageInfo() == nil {
322			ms.StoreMessageInfo(mi)
323		}
324		return ms
325	}
326	return mi.MessageOf(x)
327}
328
329// Deprecated: Use StructType_Field.ProtoReflect.Descriptor instead.
330func (*StructType_Field) Descriptor() ([]byte, []int) {
331	return file_google_spanner_v1_type_proto_rawDescGZIP(), []int{1, 0}
332}
333
334func (x *StructType_Field) GetName() string {
335	if x != nil {
336		return x.Name
337	}
338	return ""
339}
340
341func (x *StructType_Field) GetType() *Type {
342	if x != nil {
343		return x.Type
344	}
345	return nil
346}
347
348var File_google_spanner_v1_type_proto protoreflect.FileDescriptor
349
350var file_google_spanner_v1_type_proto_rawDesc = []byte{
351	0x0a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72,
352	0x2f, 0x76, 0x31, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11,
353	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76,
354	0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69,
355	0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f,
356	0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61,
357	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
358	0x22, 0xc3, 0x01, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x34, 0x0a, 0x04, 0x63, 0x6f, 0x64,
359	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
360	0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65,
361	0x43, 0x6f, 0x64, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12,
362	0x45, 0x0a, 0x12, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74,
363	0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f,
364	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e,
365	0x54, 0x79, 0x70, 0x65, 0x52, 0x10, 0x61, 0x72, 0x72, 0x61, 0x79, 0x45, 0x6c, 0x65, 0x6d, 0x65,
366	0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3e, 0x0a, 0x0b, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74,
367	0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f,
368	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e,
369	0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x73, 0x74, 0x72, 0x75,
370	0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x93, 0x01, 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x75, 0x63,
371	0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3b, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18,
372	0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
373	0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74,
374	0x54, 0x79, 0x70, 0x65, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c,
375	0x64, 0x73, 0x1a, 0x48, 0x0a, 0x05, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e,
376	0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
377	0x2b, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e,
378	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76,
379	0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x2a, 0xa5, 0x01, 0x0a,
380	0x08, 0x54, 0x79, 0x70, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x54, 0x59, 0x50,
381	0x45, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49,
382	0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x4f, 0x4f, 0x4c, 0x10, 0x01, 0x12, 0x09,
383	0x0a, 0x05, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x4c, 0x4f,
384	0x41, 0x54, 0x36, 0x34, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54,
385	0x41, 0x4d, 0x50, 0x10, 0x04, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x41, 0x54, 0x45, 0x10, 0x05, 0x12,
386	0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x06, 0x12, 0x09, 0x0a, 0x05, 0x42,
387	0x59, 0x54, 0x45, 0x53, 0x10, 0x07, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x52, 0x52, 0x41, 0x59, 0x10,
388	0x08, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x55, 0x43, 0x54, 0x10, 0x09, 0x12, 0x0b, 0x0a,
389	0x07, 0x4e, 0x55, 0x4d, 0x45, 0x52, 0x49, 0x43, 0x10, 0x0a, 0x12, 0x08, 0x0a, 0x04, 0x4a, 0x53,
390	0x4f, 0x4e, 0x10, 0x0b, 0x42, 0xaf, 0x01, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f,
391	0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x42, 0x09,
392	0x54, 0x79, 0x70, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x67, 0x6f, 0x6f,
393	0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67,
394	0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
395	0x69, 0x73, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x3b, 0x73, 0x70,
396	0x61, 0x6e, 0x6e, 0x65, 0x72, 0xaa, 0x02, 0x17, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43,
397	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x53, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x56, 0x31, 0xca,
398	0x02, 0x17, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x53,
399	0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67,
400	0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x53, 0x70, 0x61, 0x6e, 0x6e,
401	0x65, 0x72, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
402}
403
404var (
405	file_google_spanner_v1_type_proto_rawDescOnce sync.Once
406	file_google_spanner_v1_type_proto_rawDescData = file_google_spanner_v1_type_proto_rawDesc
407)
408
409func file_google_spanner_v1_type_proto_rawDescGZIP() []byte {
410	file_google_spanner_v1_type_proto_rawDescOnce.Do(func() {
411		file_google_spanner_v1_type_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_spanner_v1_type_proto_rawDescData)
412	})
413	return file_google_spanner_v1_type_proto_rawDescData
414}
415
416var file_google_spanner_v1_type_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
417var file_google_spanner_v1_type_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
418var file_google_spanner_v1_type_proto_goTypes = []interface{}{
419	(TypeCode)(0),            // 0: google.spanner.v1.TypeCode
420	(*Type)(nil),             // 1: google.spanner.v1.Type
421	(*StructType)(nil),       // 2: google.spanner.v1.StructType
422	(*StructType_Field)(nil), // 3: google.spanner.v1.StructType.Field
423}
424var file_google_spanner_v1_type_proto_depIdxs = []int32{
425	0, // 0: google.spanner.v1.Type.code:type_name -> google.spanner.v1.TypeCode
426	1, // 1: google.spanner.v1.Type.array_element_type:type_name -> google.spanner.v1.Type
427	2, // 2: google.spanner.v1.Type.struct_type:type_name -> google.spanner.v1.StructType
428	3, // 3: google.spanner.v1.StructType.fields:type_name -> google.spanner.v1.StructType.Field
429	1, // 4: google.spanner.v1.StructType.Field.type:type_name -> google.spanner.v1.Type
430	5, // [5:5] is the sub-list for method output_type
431	5, // [5:5] is the sub-list for method input_type
432	5, // [5:5] is the sub-list for extension type_name
433	5, // [5:5] is the sub-list for extension extendee
434	0, // [0:5] is the sub-list for field type_name
435}
436
437func init() { file_google_spanner_v1_type_proto_init() }
438func file_google_spanner_v1_type_proto_init() {
439	if File_google_spanner_v1_type_proto != nil {
440		return
441	}
442	if !protoimpl.UnsafeEnabled {
443		file_google_spanner_v1_type_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
444			switch v := v.(*Type); i {
445			case 0:
446				return &v.state
447			case 1:
448				return &v.sizeCache
449			case 2:
450				return &v.unknownFields
451			default:
452				return nil
453			}
454		}
455		file_google_spanner_v1_type_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
456			switch v := v.(*StructType); i {
457			case 0:
458				return &v.state
459			case 1:
460				return &v.sizeCache
461			case 2:
462				return &v.unknownFields
463			default:
464				return nil
465			}
466		}
467		file_google_spanner_v1_type_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
468			switch v := v.(*StructType_Field); i {
469			case 0:
470				return &v.state
471			case 1:
472				return &v.sizeCache
473			case 2:
474				return &v.unknownFields
475			default:
476				return nil
477			}
478		}
479	}
480	type x struct{}
481	out := protoimpl.TypeBuilder{
482		File: protoimpl.DescBuilder{
483			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
484			RawDescriptor: file_google_spanner_v1_type_proto_rawDesc,
485			NumEnums:      1,
486			NumMessages:   3,
487			NumExtensions: 0,
488			NumServices:   0,
489		},
490		GoTypes:           file_google_spanner_v1_type_proto_goTypes,
491		DependencyIndexes: file_google_spanner_v1_type_proto_depIdxs,
492		EnumInfos:         file_google_spanner_v1_type_proto_enumTypes,
493		MessageInfos:      file_google_spanner_v1_type_proto_msgTypes,
494	}.Build()
495	File_google_spanner_v1_type_proto = out.File
496	file_google_spanner_v1_type_proto_rawDesc = nil
497	file_google_spanner_v1_type_proto_goTypes = nil
498	file_google_spanner_v1_type_proto_depIdxs = nil
499}
500