// Code generated by protoc-gen-go. DO NOT EDIT.
// source: google/cloud/bigquery/storage/v1alpha2/table.proto

package storage

import (
	fmt "fmt"
	math "math"

	proto "github.com/golang/protobuf/proto"
	_ "google.golang.org/genproto/googleapis/api/annotations"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package

type TableFieldSchema_Type int32

const (
	// Illegal value
	TableFieldSchema_TYPE_UNSPECIFIED TableFieldSchema_Type = 0
	// 64K, UTF8
	TableFieldSchema_STRING TableFieldSchema_Type = 1
	// 64-bit signed
	TableFieldSchema_INT64 TableFieldSchema_Type = 2
	// 64-bit IEEE floating point
	TableFieldSchema_DOUBLE TableFieldSchema_Type = 3
	// Aggregate type
	TableFieldSchema_STRUCT TableFieldSchema_Type = 4
	// 64K, Binary
	TableFieldSchema_BYTES TableFieldSchema_Type = 5
	// 2-valued
	TableFieldSchema_BOOL TableFieldSchema_Type = 6
	// 64-bit signed usec since UTC epoch
	TableFieldSchema_TIMESTAMP TableFieldSchema_Type = 7
	// Civil date - Year, Month, Day
	TableFieldSchema_DATE TableFieldSchema_Type = 8
	// Civil time - Hour, Minute, Second, Microseconds
	TableFieldSchema_TIME TableFieldSchema_Type = 9
	// Combination of civil date and civil time
	TableFieldSchema_DATETIME TableFieldSchema_Type = 10
	// Geography object (go/googlesql_geography)
	TableFieldSchema_GEOGRAPHY TableFieldSchema_Type = 11
	// Numeric value (go/googlesql_numeric)
	TableFieldSchema_NUMERIC TableFieldSchema_Type = 12
)

var TableFieldSchema_Type_name = map[int32]string{
	0:  "TYPE_UNSPECIFIED",
	1:  "STRING",
	2:  "INT64",
	3:  "DOUBLE",
	4:  "STRUCT",
	5:  "BYTES",
	6:  "BOOL",
	7:  "TIMESTAMP",
	8:  "DATE",
	9:  "TIME",
	10: "DATETIME",
	11: "GEOGRAPHY",
	12: "NUMERIC",
}

var TableFieldSchema_Type_value = map[string]int32{
	"TYPE_UNSPECIFIED": 0,
	"STRING":           1,
	"INT64":            2,
	"DOUBLE":           3,
	"STRUCT":           4,
	"BYTES":            5,
	"BOOL":             6,
	"TIMESTAMP":        7,
	"DATE":             8,
	"TIME":             9,
	"DATETIME":         10,
	"GEOGRAPHY":        11,
	"NUMERIC":          12,
}

func (x TableFieldSchema_Type) String() string {
	return proto.EnumName(TableFieldSchema_Type_name, int32(x))
}

func (TableFieldSchema_Type) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_5b6e4e741ae7ca1f, []int{1, 0}
}

type TableFieldSchema_Mode int32

const (
	// Illegal value
	TableFieldSchema_MODE_UNSPECIFIED TableFieldSchema_Mode = 0
	TableFieldSchema_NULLABLE         TableFieldSchema_Mode = 1
	TableFieldSchema_REQUIRED         TableFieldSchema_Mode = 2
	TableFieldSchema_REPEATED         TableFieldSchema_Mode = 3
)

var TableFieldSchema_Mode_name = map[int32]string{
	0: "MODE_UNSPECIFIED",
	1: "NULLABLE",
	2: "REQUIRED",
	3: "REPEATED",
}

var TableFieldSchema_Mode_value = map[string]int32{
	"MODE_UNSPECIFIED": 0,
	"NULLABLE":         1,
	"REQUIRED":         2,
	"REPEATED":         3,
}

func (x TableFieldSchema_Mode) String() string {
	return proto.EnumName(TableFieldSchema_Mode_name, int32(x))
}

func (TableFieldSchema_Mode) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_5b6e4e741ae7ca1f, []int{1, 1}
}

// Schema of a table
type TableSchema struct {
	// Describes the fields in a table.
	Fields               []*TableFieldSchema `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func (m *TableSchema) Reset()         { *m = TableSchema{} }
func (m *TableSchema) String() string { return proto.CompactTextString(m) }
func (*TableSchema) ProtoMessage()    {}
func (*TableSchema) Descriptor() ([]byte, []int) {
	return fileDescriptor_5b6e4e741ae7ca1f, []int{0}
}

func (m *TableSchema) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TableSchema.Unmarshal(m, b)
}
func (m *TableSchema) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TableSchema.Marshal(b, m, deterministic)
}
func (m *TableSchema) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TableSchema.Merge(m, src)
}
func (m *TableSchema) XXX_Size() int {
	return xxx_messageInfo_TableSchema.Size(m)
}
func (m *TableSchema) XXX_DiscardUnknown() {
	xxx_messageInfo_TableSchema.DiscardUnknown(m)
}

var xxx_messageInfo_TableSchema proto.InternalMessageInfo

func (m *TableSchema) GetFields() []*TableFieldSchema {
	if m != nil {
		return m.Fields
	}
	return nil
}

// A field in TableSchema
type TableFieldSchema struct {
	// Required. The field name. The name must contain only letters (a-z, A-Z),
	// numbers (0-9), or underscores (_), and must start with a letter or
	// underscore. The maximum length is 128 characters.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Required. The field data type.
	Type TableFieldSchema_Type `protobuf:"varint,2,opt,name=type,proto3,enum=google.cloud.bigquery.storage.v1alpha2.TableFieldSchema_Type" json:"type,omitempty"`
	// Optional. The field mode. The default value is NULLABLE.
	Mode TableFieldSchema_Mode `protobuf:"varint,3,opt,name=mode,proto3,enum=google.cloud.bigquery.storage.v1alpha2.TableFieldSchema_Mode" json:"mode,omitempty"`
	// Optional. Describes the nested schema fields if the type property is set to STRUCT.
	Fields []*TableFieldSchema `protobuf:"bytes,4,rep,name=fields,proto3" json:"fields,omitempty"`
	// Optional. The field description. The maximum length is 1,024 characters.
	Description          string   `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *TableFieldSchema) Reset()         { *m = TableFieldSchema{} }
func (m *TableFieldSchema) String() string { return proto.CompactTextString(m) }
func (*TableFieldSchema) ProtoMessage()    {}
func (*TableFieldSchema) Descriptor() ([]byte, []int) {
	return fileDescriptor_5b6e4e741ae7ca1f, []int{1}
}

func (m *TableFieldSchema) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TableFieldSchema.Unmarshal(m, b)
}
func (m *TableFieldSchema) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TableFieldSchema.Marshal(b, m, deterministic)
}
func (m *TableFieldSchema) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TableFieldSchema.Merge(m, src)
}
func (m *TableFieldSchema) XXX_Size() int {
	return xxx_messageInfo_TableFieldSchema.Size(m)
}
func (m *TableFieldSchema) XXX_DiscardUnknown() {
	xxx_messageInfo_TableFieldSchema.DiscardUnknown(m)
}

var xxx_messageInfo_TableFieldSchema proto.InternalMessageInfo

func (m *TableFieldSchema) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

func (m *TableFieldSchema) GetType() TableFieldSchema_Type {
	if m != nil {
		return m.Type
	}
	return TableFieldSchema_TYPE_UNSPECIFIED
}

func (m *TableFieldSchema) GetMode() TableFieldSchema_Mode {
	if m != nil {
		return m.Mode
	}
	return TableFieldSchema_MODE_UNSPECIFIED
}

func (m *TableFieldSchema) GetFields() []*TableFieldSchema {
	if m != nil {
		return m.Fields
	}
	return nil
}

func (m *TableFieldSchema) GetDescription() string {
	if m != nil {
		return m.Description
	}
	return ""
}

func init() {
	proto.RegisterEnum("google.cloud.bigquery.storage.v1alpha2.TableFieldSchema_Type", TableFieldSchema_Type_name, TableFieldSchema_Type_value)
	proto.RegisterEnum("google.cloud.bigquery.storage.v1alpha2.TableFieldSchema_Mode", TableFieldSchema_Mode_name, TableFieldSchema_Mode_value)
	proto.RegisterType((*TableSchema)(nil), "google.cloud.bigquery.storage.v1alpha2.TableSchema")
	proto.RegisterType((*TableFieldSchema)(nil), "google.cloud.bigquery.storage.v1alpha2.TableFieldSchema")
}

func init() {
	proto.RegisterFile("google/cloud/bigquery/storage/v1alpha2/table.proto", fileDescriptor_5b6e4e741ae7ca1f)
}

var fileDescriptor_5b6e4e741ae7ca1f = []byte{
	// 484 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x93, 0xdf, 0x8a, 0xd3, 0x40,
	0x14, 0xc6, 0x4d, 0x9b, 0xed, 0xb6, 0xa7, 0xab, 0x0c, 0x83, 0x60, 0xf0, 0xc6, 0x52, 0x50, 0x8a,
	0x17, 0x09, 0x56, 0x11, 0x41, 0xbc, 0x48, 0x9a, 0x69, 0x0d, 0x34, 0x7f, 0x4c, 0x26, 0x42, 0xbd,
	0x29, 0xd3, 0x66, 0x4c, 0x03, 0x69, 0x27, 0xa6, 0xd9, 0x85, 0xe2, 0x33, 0xf9, 0x30, 0xbe, 0x81,
	0x8f, 0x22, 0x93, 0xa4, 0x22, 0x7b, 0xe3, 0xe2, 0xde, 0xe5, 0x7c, 0xe7, 0x7c, 0xbf, 0x73, 0xf2,
	0x91, 0xc0, 0x34, 0x15, 0x22, 0xcd, 0xb9, 0xb1, 0xcd, 0xc5, 0x75, 0x62, 0x6c, 0xb2, 0xf4, 0xdb,
	0x35, 0x2f, 0x4f, 0xc6, 0xb1, 0x12, 0x25, 0x4b, 0xb9, 0x71, 0xf3, 0x8a, 0xe5, 0xc5, 0x8e, 0x4d,
	0x8d, 0x8a, 0x6d, 0x72, 0xae, 0x17, 0xa5, 0xa8, 0x04, 0x7e, 0xd1, 0x78, 0xf4, 0xda, 0xa3, 0x9f,
	0x3d, 0x7a, 0xeb, 0xd1, 0xcf, 0x9e, 0xa7, 0xcf, 0x5a, 0x36, 0x2b, 0x32, 0xe3, 0x6b, 0xc6, 0xf3,
	0x64, 0xbd, 0xe1, 0x3b, 0x76, 0x93, 0x89, 0xb2, 0x01, 0x8d, 0xd7, 0x30, 0xa4, 0x92, 0x1b, 0x6d,
	0x77, 0x7c, 0xcf, 0x70, 0x00, 0xbd, 0x7a, 0xec, 0xa8, 0x29, 0xa3, 0xee, 0x64, 0x38, 0x7d, 0xa7,
	0xdf, 0x6d, 0x91, 0x5e, 0x43, 0xe6, 0xd2, 0xda, 0x90, 0xc2, 0x96, 0x33, 0xfe, 0xa9, 0x02, 0xba,
	0xdd, 0xc4, 0x4f, 0x40, 0x3d, 0xb0, 0x3d, 0xd7, 0x94, 0x91, 0x32, 0x19, 0x58, 0xdd, 0x5f, 0x66,
	0x27, 0xac, 0x05, 0xfc, 0x19, 0xd4, 0xea, 0x54, 0x70, 0xad, 0x33, 0x52, 0x26, 0x8f, 0xa6, 0x1f,
	0xfe, 0x77, 0xbb, 0x4e, 0x4f, 0x05, 0x6f, 0xb9, 0x92, 0x27, 0xb9, 0x7b, 0x91, 0x70, 0xad, 0x7b,
	0x4f, 0xae, 0x2b, 0x92, 0x9a, 0xab, 0x84, 0x35, 0x0f, 0xc7, 0x7f, 0xf2, 0x52, 0xef, 0x97, 0x57,
	0x03, 0x6d, 0x61, 0xf8, 0x39, 0x0c, 0x13, 0x7e, 0xdc, 0x96, 0x59, 0x51, 0x65, 0xe2, 0xa0, 0xf5,
	0xce, 0x31, 0x29, 0xe1, 0xdf, 0xfa, 0xf8, 0x87, 0x02, 0xaa, 0x7c, 0x53, 0xfc, 0x18, 0x10, 0x5d,
	0x05, 0x64, 0x1d, 0x7b, 0x51, 0x40, 0x66, 0xce, 0xdc, 0x21, 0x36, 0x7a, 0x80, 0x01, 0x7a, 0x11,
	0x0d, 0x1d, 0x6f, 0x81, 0x14, 0x3c, 0x80, 0x0b, 0xc7, 0xa3, 0x6f, 0xdf, 0xa0, 0x8e, 0x94, 0x6d,
	0x3f, 0xb6, 0x96, 0x04, 0x75, 0xdb, 0x91, 0x78, 0x46, 0x91, 0x2a, 0x47, 0xac, 0x15, 0x25, 0x11,
	0xba, 0xc0, 0x7d, 0x50, 0x2d, 0xdf, 0x5f, 0xa2, 0x1e, 0x7e, 0x08, 0x03, 0xea, 0xb8, 0x24, 0xa2,
	0xa6, 0x1b, 0xa0, 0x4b, 0xd9, 0xb0, 0x4d, 0x4a, 0x50, 0x5f, 0x3e, 0xc9, 0x06, 0x1a, 0xe0, 0x2b,
	0xe8, 0x4b, 0xad, 0xae, 0x40, 0x1a, 0x16, 0xc4, 0x5f, 0x84, 0x66, 0xf0, 0x71, 0x85, 0x86, 0x78,
	0x08, 0x97, 0x5e, 0xec, 0x92, 0xd0, 0x99, 0xa1, 0xab, 0xf1, 0x1c, 0x54, 0x19, 0xa0, 0x3c, 0xd7,
	0xf5, 0xed, 0xdb, 0xe7, 0x5e, 0x41, 0xdf, 0x8b, 0x97, 0x4b, 0x53, 0x5e, 0xa6, 0xc8, 0x2a, 0x24,
	0x9f, 0x62, 0x27, 0x24, 0x36, 0xea, 0x34, 0x55, 0x40, 0x4c, 0x4a, 0x6c, 0xd4, 0xb5, 0xbe, 0xc3,
	0xcb, 0xad, 0xd8, 0xdf, 0x31, 0xea, 0x2f, 0x6e, 0x3b, 0x97, 0x8a, 0x9c, 0x1d, 0x52, 0x5d, 0x94,
	0xa9, 0x91, 0xf2, 0x43, 0xfd, 0xf9, 0x1b, 0x4d, 0x8b, 0x15, 0xd9, 0xf1, 0x5f, 0xbf, 0xdf, 0xfb,
	0x56, 0xd8, 0xf4, 0x6a, 0xe7, 0xeb, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xcd, 0x0b, 0xd9, 0x62,
	0xb7, 0x03, 0x00, 0x00,
}
